搜档网
当前位置:搜档网 › 多核处理器在计算方面的优势

多核处理器在计算方面的优势

多核处理器在计算方面的优势
多核处理器在计算方面的优势

面对飞速增长的流媒体信息和网络应用的全球化趋势,企业和消费者要求电脑处理器提供更多的便利,更明显的优势,采用多核处理器的x86服务器就是在这种背景下应运而生。目前,数据库、创作3D图像、同时运行多项任务、数学分析和网络服务等各种各样的应用,对计算性能的要求永无止境。如何在更好的性价比条件下,有效地满足现在与未来的需求,成为企业用户面临的必然选择。

双核处理器:计算技术发展的重要趋势

从技术层面来看,多核处理器,较之当前的单核处理器,能带来更多的性能和生产力优势,因而最终将成为一种广泛普及的计算模式。多核处理器还将在推动PC安全性和虚拟技术方面起到关键作用,虚拟技术的发展能够提供更好的保护、更高的资源使用率和更可观的商业运算市场价值。

向多核处理器的迈进是一个重要的技术发展趋势。双核处理器技术的引入是提高处理器性能另一个行之有效的方法。因为处理器实际性能是处理器在每个时钟周期内所能处理器指令数的总量,因此增加一个内核,处理器每个时钟周期内可执行的单元数将增加一倍。在这里我们必须强调一点的是,如果你想让系统达到最大性能,你必须充分利用两个内核中的所有可执行单元:即让所有执行单元都有活可干!

当这些处理器面世时,它们将会立即对企业和消费者带来极大的便利。多核处理器可以通过为工作负担较重的场合——尤其是那些已经在使用多线程应用的场合?D?D提供显着提升的性能,促进服务器/工作站业务环境的发展。根据现有的计划,我们可以看到,一些国际领先的处理器厂商计划在2005年中国推出第一个面向服务器和工作站市场的双核处理器。届时,企业计算的x86服务器市场将全面进入双核时代,从而拉开了多核服务器全新应用时代的帷幕;而这个时代帷幕一旦拉开,将把X86服务器的应用提升到一个前所未有的高度,使客户在举足之间轻松提升性能,更加有效地运行应用,提高工作负担较重的应用,例如数据采集、数学分析和Web服务,提高更高的生产效率。

双核服务器:企业服务器的必由之路

计算机处理器的设计在近20年来以一个常速在不断进化发展。计算机持续向大众市场发展和扩散和我们提出的要求都在不断推动着向更强大的处理器前进的趋势。市场对更高性能处理器的要求与对更成熟的软件应用程序的需求紧密相关。例如,如今全球盛行的电子邮件,在十年以前只是一项限制性很强而且价格昂贵的技术。如今,软件应用程序,从帮助大型企业更好地管理和保护他们的关键业务数据和网络到允许家用PC机编辑家庭录像、处理数字照片和将下载音乐烧制成CD,几乎无所不在。

我们可以想象的是:将来,软件应用程序可能创造几可乱真的模拟世界,让人们难以分辨他们在眼前的计算机监视屏上看到的内容与窗户外面的真实世界有何不同;然而,这样的进步只有在目前现有的、不昂贵的计算机技术性能得到显着提高的情况下才有可能发生。

有的厂商,如AMD从上世纪九十年代开始就一直在为这些计算领域的进步而打算,它第一个公宣布公司当时开发的处理器结构,根据在单一处理器上安置多个核心的基础理念,设计出了64位x86处理器构架。多核设计增强了整体系统性能,开拓了一个成熟的平台,能够更有效地处理当今世界上更复杂的软件应用程序。

x86计算行业正在迈向多核处理器新时代。多核处理器提供了直接和高性价比的技术,可以解决当今处理器设计所面临的各种挑战——减少在持续提高单核处理器的频率,或“时钟速度”,的过程中出现的热量和能耗等副产品。同时,新兴的90纳米生产技术让处理器制造商能够为注重性能、灵活性和价值的客户研制出成熟的技术。多核处理器有助于突破当今单核技术的性能局限,为处理今后更先进的软件提供足够的性能和能力。

现在,目前的操作系统,例如MS Windows,Linux和Solaris都能从多核处理器中受益。由于市场需求将不断增长,多核处理器为促进合理的、日益加速的性能发展提供了一个理想的平台。

继在64位计算方面大获成功之后,多核处理器技术领域创新,体现了IT产业对于帮助客户克服挑战,为实现未来的可能性提供突破性技术的高度重视。在同一个处理器中放置多个内核是一种切实可行的技术,能够充分利用现有的单内核处理器的架构优势。

多核服务器:让企业计算更上层楼

多核x86处理器采用了独特的设计,能够以更低的频率处理更高的工作负担,因而能够避免通常由多处理器设计导致的功率需求(和散热问题)。目前为对称多处理(SMP)多线程应用优化的企业IT系统,能够利用多内核处理器获得显着的性能提升,但具体的性能会随着应用的不同而有所不同。这种合理性能提升的基础是现有的硬件和接口设计,从而让企业IT经理能够在不对原有系统产生严重影响的情况下,添加更加复杂的系统层次,例如虚拟和安全。

针对服务器/工作站环境,多核处理器提供了强大动力,为依赖x86构架作为企业IT网络的中枢要求今天的服务器具有运行更多复杂应用程序的性能。基于多核处理器的服务器能够提升数据中心的性能,使预算紧张的情况得到全面改善,全面提升公司发展动力。同时,各种提高现有资源使用率的办法,例如服务器整合和虚拟技术等,已成为缩减成本的

极具吸引力的选择,而基于多核处理器的服务器将是非常重要的一个帮助。

多核处理器可以在不改变基础设施的情况下,提高数据中心的生产率。服务器的整合将会变得更加经济,因为更少的主机可以处理更多的工作负担。多核处理器在性价比、功效和可扩展性方面具有极大的优势。在性能之外,多核处理器将极大地加强虚拟功能和安全性。现在,IT经理正在利用虚拟技术在处理器级别分配任务,从而大幅度提高IT系统的处理能力的实际可用性。利用多核处理器,这种分配可以在不降低系统总体性能的情况下进行,并将可信任的应用从不可信任的应用中抽离出来。

在安全性成为至关重要问题的今天,同样,一些旨在阻止病毒和其他网络威胁的、更加复杂的实时安全应用可以在后台运行,为平台提供额外的安全性,从而提供更加健全的保护。利用多核处理器,安全性的提高将对最终用户完全透明。同时,因为人们需要在不增加硬件占地面积的情况下提高处理能力,刀片服务器将获得新的吸引力。

虽然多核CPU的发展令人兴奋,但如何保护用户已有的投资也将成为处理器厂商们面临的重要挑战?现在,用户的投资越来越拮据的情况下,如果无法保护用户的投资,则很难说服用户来接受新的产品。因此,对Intel和AMD来说,这又是一个新的挑战。Intel 此前推出的安腾芯片就是一个很好的例证。根据相关资料显示,与现在的竞争架构不同的是,AMD双核处理器的实现方式是非破坏性的,简单得令人难以置信,它从底层设计开始就考虑到了支持多核功能,它将不仅与目前的单核处理器兼容,非常容易升级到双核。

可以想见,多核处理器带来的是真真切切的客户利益和价值,多核处理器标志着处理器设计的一个自然进化过程,在软件具有支持能力的时候将性能大幅度提升,并且将功能增强到单核处理器所无法企及的一个水平。正是因为这些实实在在的利益,多核处理器无疑将成为服务器的一个重要发展趋势,而2005年x86服务器市场将属于双核时代。

多内核x86处理器设计可以充分发挥现有的单内核处理器所具有的先进性和简约性。通过“直连架构”技术,将64位服务器处理器直接连接到内存、I/O和缓存,可以消除传统的瓶颈,大幅度减少内存延时问题。目前的技术已经可以直接连接同一个处理器中的两个内核,下一代的多内核处理器可以无缝地共享内存控制器,因为它们是现有的单和多内核处理器晶圆的内置组件,从而利用直连架构更显着地提升性能。

总而言之,基于双核x86处理器的服务器平台使海量数据处理、大规模网络应用、复杂科学计算及大型图形建模为特征的企业级或行业关键应用领域,在处理能力、扩展性,稳定性、可靠性、易管理性等方面实现更大突破,性价比更高,而且能更有效地保护用户的投资。这种处理器能够充分保护用户投资,与客户的业务实现动成长;超大容量内存访问已经迎刃而解,64位的内存寻址完全能够满足未来的计算需求;而且在处理器内部集成了内存控制器和超传输技术,使得内存带宽和I/O带宽可以线性增长,解决了CPU的共享内存

等资源的瓶颈问题。

AMD的多核处理器设计可以充分发挥现有的单内核处理器所具有的先进性和简约性。通过将AMD64服务器处理器中的直连架构直接连接到内存、I/O和缓存,可以消除传统的瓶颈,大幅度减少内存延时问题。目前,AMD直接连接同一个处理器中的两个内核。多核处理器可以无缝地共享内存控制器(因为它们是现有的单和多内核处理器晶圆的内置组件),从而能够利用这种架构显着地提升性能。AMD64技术还将在32位或64位环境中,为多内核处理器提供更高的速度和内存访问能力。

本文章由太原牛皮癣专科医院:https://www.sodocs.net/doc/1517098071.html,/整理发布,欢迎分享!转载请注明出处,谢谢!

MSC_MARC单机多核并行计算示例教学文案

M S C_M A R C单机多核并行计算示例

MSC MARC2011单机多核并行计算示例 并行计算可以有效利用本地或者网络计算机计算资源,提高计算效率,特别是针对一些计算规模相对较大的问题。本文作为MARC单机多核并行计算的一个示例。 测试平台:WIN7 64Bit MARC2011 0、提前设置 将电脑名字最好改为administrator,或者通过修改电脑名称,会使user和display后面的名子保持一致。 改电脑名字: 计算机右键—属性—更改设置—更改—计算机名

1、启动多核运算 打开dos界面输入 (1)D:按enter回车键(d为marc所在盘)

(2)cd+空格+ D:\MSC.Software\Marc\2010\marc2010\intelmpi\win64\bin按 enter回车键 (3)ismpd+空格+ –install 按enter回车键 (4)出现上图中的 关闭窗口。 2、基本配置 (1)在MARC安装目录下的intelmpi\win64\bin目录(32Bit计算机选择 win32文件夹),运行wmpiregister.exe. (2)输入用户名(登陆windows的账户名,通常为administrator)及密码(若密码为空,需要重新设置一个密码),点击register按钮,下面的对话框中会出现“Password encrypted into the Registry”信息。

(3)运行ismpd.exe,或者到dos提示符下,进入该目录,运行ismpd -install。 假如提示都正常的话,到此即完成进行并行计算的前提条件了。 3、测试 (1)在MARC安装目录下的intelmpi\win64\bin目录(32Bit计算机选择win32文件夹),运行wmpiconfig.exe (2)依次点击下面1和2.

多核处理器的发展前景和存在问题综述

多核处理器的发展前景和存在问题综述 目录 1.概述 (2) 2.处理器的发展趋势 (2) 从单核到多核 (3) 同构多处理器与异构多处理器 (3) 多核处理器发展面临的挑战 (4) 多核与多线程技术 (4) 3.多核处理器的高速缓存一致性问题 (4) 增强一致性的基本方案 (5) 目录式Proximity-aware 协议 (5) 4.多核加速串行程序的主要方法 (8) 并行编译器 (8) 推测多线程 (9) 基于线程的预执行机制 (9) 5. 总结 (10) 参考文献 (11)

1. 概述 在过去的几十年时间里,处理器的性能一直按照莫尔定律在发展。提高处理器性能的基本方法就是不断提升主频。从初期的几十MHz到不久前IBM的Power 6达到了,设计人员甚至想过提升到7G~8GHz。不过,进入2002年以来,CPU 提升主频的困难越来越大,因为主频的提升带来了散热和功耗的大幅增加等问题。在几年前,英特尔和AMD都调整了研究方向,开始研究在同一CPU中放置多个执行内核。 说到底,出现多核处理器的最根本原因是人们对计算能力永无止境的追求。尽管这些年来,处理器从来没有停止过前进的脚步,但每一次性能的突破,换来的只是对更高性能的需求,特别是在油气勘探、气象预报、虚拟现实、人工智能等高度依赖于计算能力的场合,对性能的渴求更加迫切。 既然单处理器的发展已经到了瓶颈,而多核将会引领以后处理器发展的潮流,那么我们就看看多核处理器带给我们什么样的性能提升,多核处理器要全面应用到各个领域所需解决的问题。 多核的好处非常明显。首先,由于是多个执行内核可以同时进行运算,因此可以显著提升计算能力,而每个内核的主频可以比以前低,因而总体功耗增加不大。其次,与多CPU相比,多核处理器采用与单CPU相同的硬件架构,用户在提升计算能力的同时无需进行任何硬件上的改变,这对用户来说非常方便。 然而,多核处理器要发挥它的作用必须要解决许多问题,不像CPU的频率提升,无论如何你都可以从中受益,要从多核处理器中受益,首先在设计多核处理器时,要注意不同核心之间的通信与数据的一致性,另外,在软件层次上也需要对多核进行改进,以充分利用多核的性能。 本文结合了几篇最新的多核方面的论文和一些网上评论,从处理器的发展趋势,前景以及存在的挑战几个方面介绍了多核的相关问题。文章第二部分主要介绍处理器的发展趋势,第三部分主要阐述多核的一个关键问题高速缓存一致性已经如何通过预取来提高带宽,第四部分主要阐述多核在提高串行程序性能方面的作用。 2. 处理器的发展趋势

多核处理器的主要实现架构及其设计挑战

多核处理器的主要实现架构及其设计挑战 2008年03月01日 为得到更高的处理性能,曾经唯一的做法是提高单一处理器的频率,但当这一做法因为功耗和发热的非线性增长而变得难以为继时,集成多个处理器核心的器件便应运而生。谈到多核处理器,ARM的中国总裁谭军先生给出的定义是:“多核处理器是指在同一个核内具有多个处理器内核,它们可以通过内部的缓存来控制,有选择性的开/关。” 总体上,多核处理器架构分为同质架构和异质架构两大类。MIPS 科技公司产品营销总监P ete Del Vecchio认为:“当SoC 的功能被分解进彼此次之间通信非常有限的的多个子系统时,异质架构的多核系统最为适用。”他还表示:“同质架构的多核系统设计使分配到不同处理器的任务共享的数据可以自动保持一致。这种多核系统比较容易编程,可提供直接的机制,在不同处理器之间动态地迁移任务。” 各种应用于通用领域和嵌入式领域的多核处理器都可以归入到上面提到的这两种架构。TI 采用的是将DSP与CPU核心相结合的混合结构。TI通用DSP业务发展经理郑小龙表示:“DSP速度极快适于实时处理,CPU控制能力全面适合非实时处理,TI的混合结构多核处理器将二者的优点充分结合,构成一个极其高效的SoC。”MIPS的Pete Del Vecchio表示:“目前,MIPS主要致力于最大限度地提高单处理器的频率。”但他同时表示:“已有获得授权的厂商在利用各种MIPS 内核,不论是在异构还是同构多核实现方法方面均取得了巨大的成功。例如,Sigma Designs 开发的一款芯片采用两个MIPS内核,一个用来处理应用软件/OS,另一个用于系统安全。” Freescale的多核平台包含2到32个Power Architecture 的e500-mc Power内核,该平台在高端包含了一个基于互联的片上控制网络,它可以减少由于拥塞而带来的性能降低。ARM在2007年推出了当最多具备四核时性能可达8,000DMIPS 的Cortex-A9处理器。英特尔目前多核处理器采用的微架构是著名的酷睿微架构,酷睿微架构具备以下重要特性: 1. 英特尔宽区动态执行; 2. 英特尔智能内存访问; 3. 英特尔高级数字媒体增强; 4. 英特尔高级智能高速缓存; 5. 英特尔智能功率特性。 在实施多核处理器的过程中,在硬件和软件两方面业界都面临一系列挑战。TI的郑小龙认为:“挑战首先表现在系统配置方面,其次表现在软件协调开发方面。”ARM通过已经被业界证明成功的MPCore 技术看到了以下几大设计挑战:1. 预先整合的并且通过验证的可扩展多核处理技术;2. 整合的中断分配和处理器间的通信;3. 先进的Snoop控制单元,支持增强的缓存一致性。应对这些挑战,谭军表示:“ARM在Cortex-A9 MPCore中在以下几个方面进一步加强了MPCore 技术:1. 加速器一致性端口(ACP);2. 先进的总线接口单元;3. 具有中断虚拟的多核ARM TrustZone技术;4. 通用中断控制器(GIC)。

多核编程与并行计算实验报告 (1)

多核编程与并行计算实验报告 姓名: 日期:2014年 4月20日 实验一 // exa1.cpp : Defines the entry point for the console application.

// #include"stdafx.h" #include #include #include #include using namespace std; void ThreadFunc1(PVOID param) { while(1) { Sleep(1000); cout<<"This is ThreadFunc1"<

实验二 // exa2.cpp : Defines the entry point for the console application. // #include"stdafx.h" #include #include using namespace std; DWORD WINAPI FunOne(LPVOID param){ while(true) { Sleep(1000); cout<<"hello! "; } return 0; } DWORD WINAPI FunTwo(LPVOID param){ while(true) { Sleep(1000); cout<<"world! ";

多核处理器

多核处理器 多核处理器是指在一枚处理器中集成两个或多个完整的计算引擎(内核)。多核技术的开发源于工程师们认识到,仅仅提高单核芯片的速度会产生过多热量且无法带来相应的性能改善,先前的处理器产品就是如此。他们认识到,在先前产品中以那种速率,处理器产生的热量很快会超过太阳表面。即便是没有热量问题,其性价比也令人难以接受,速度稍快的处理器价格要高很多。 最新新闻 中国发布全球首款全系统多核高精度导航定位芯片 全球首款全系统多核高精度导航定位系统级芯片,13日在第六届中国卫星[2.10% 资金研报]学术年会期间对外发布。专家表示,这意味着国产芯片不仅具备国际竞争力,还从“跟踪者”跃升为“引领者”。...详情 内容来自 中文名多核处理器 定义集成两个或多个完整的计算引擎 第一颗通用型微处理器4004 技术优势采用了线程级并行编程 目录 1技术发展 2发展历程 3技术优势 4技术瓶颈 5技术原理 6技术关键 ?核结构研究 ?程序执行模型 ?Cache设计 ?核间通信技术 ?总线设计 ?操作系统设计 ?低功耗设计 ?存储器墙 ?可靠性及安全性设计 7技术意义 8技术种类 9技术应用 10应用 11英特尔 1技术发展 256线程的CPU 256线程的CPU 英特尔工程师们开发了多核芯片,使之满足“横向扩展”(而非“纵向扩充”)方法,从而提高性能。该架构实现了“分治法”战略。通过划分任务,线程应用能够充分利用多个执行内核,并可在特定的时间内执行更多任务。多核处理器是单枚芯片(也称为“硅核”),能够直

接插入单一的处理器插槽中,但操作系统会利用所有相关的资源,将每个执行内核作为分立的逻辑处理器。通过在两个执行内核之间划分任务,多核处理器可在特定的时钟周期内执行更多任务。多核架构能够使软件更出色地运行,并创建一个促进未来的软件编写更趋完善的架构。尽管认真的软件厂商还在探索全新的软件并发处理模式,但是,随着向多核处理器的移植,现有软件无需被修改就可支持多核平台。操作系统专为充分利用多个处理器而设计,且无需修改就可运行。为了充分利用多核技术,应用开发人员需要在程序设计中融入更多思路,但设计流程与对称多处理(SMP)系统的设计流程相同,并且现有的单线程应用也将继续运行。得益于线程技术的应用在多核处理器上运行时将显示出卓越的性能可扩充性。此类软件包括多媒体应用(内容创建、,以及本地和数据流回放)、工程和其他技术计算应用以及诸如应用服务器和数据库等中间非标轴承https://www.sodocs.net/doc/1517098071.html,层与后层服务器应用。多核技术能够使服务器并行处理任务,而在以前,这可能需要使用多个处理器,多核系统更易于扩充,并且能够在更纤巧的外形中融入更强大的处理性能,这种外形所用的功耗更低、计算功耗产生的热量更少。多核技术是处理器发展的必然。推动微处理器性能不断提高的因素主要有两个:半导体工艺技术的飞速进步和体系结构的不断发展。半导体工艺技术的每一次进步都为微处理器体系结构的研究提出了新的问题,开辟了新的领域;体系结构的进展又在半导体工艺技术发展的基础上进一步提高了微处理器的性能。这两个因素是相互影响,相互促进的。一般说来,工艺和电路技术的发展使得处理器性能提高约20倍,体系结构的发展使得处理器性能提高约4倍,编译技术的发展使得处理器性能提高约1.4倍。但是今天,这种规律性的东西却很难维持。多核的出现是技术发展和应用需求的必然产物。 2发展历程 1971年,英特尔推出的全球第一颗通用型微处理器4004,由2300个晶体管构成。当时,公司的联合创始人之一戈登摩尔(Gordon Moore),就提出后来被业界奉为信条的“摩尔定律”——每过18个月,芯片上可以集成的晶体管数目将增加一倍。 在一块芯片上集成的晶体管数目越多,意味着运算速度即主频就更快。今天英特尔的奔腾(Pentium)四至尊版840处理器,晶体管数量已经增加至2.5亿个,相比当年的4004增加了10万倍。其主频也从最初的740kHz(每秒钟可进行74万次运算),增长到现在的3.9GHz(每秒钟运算39亿次)以上。 当然,CPU主频的提高,或许在一定程度上也要归功于1975年进入这个领域的AMD公司的挑战。正是这样的“双雄会”,使得众多计算机用户有机会享受不断上演的“速度与激情”。一些仍不满足的发烧友甚至选择了自己超频,因为在玩很多游戏时,更快的速度可以带来额外的饕餮享受。 但到了2005年,当主频接近4GHz时,英特尔和AMD发现,速度也会遇到自己的极限:那就是单纯的主频提升,已经无法明显提升系统整体性能。 以英特尔发布的采用NetBurst架构的奔腾四CPU为例,它包括Willamette、Northwood和Prescott等三种采用不同核心的产品。利用冗长的运算流水线,即增加每个时钟周期同时执行的运算个数,就达到较高的主频。这三种处理器的最高频率,分别达到了2.0G、3.4G和3.8G。 按照当时的预测,奔腾四在该架构下,最终可以把主频提高到10GHz。但由于流水线过长,使得单位频率效能低下,加上由于缓存的增加和漏电流控制不利造成功耗大幅度增加,3.6GHz奔腾四芯片在性能上反而还不如早些时推出的3.4GHz产品。所以,Prescott产品系列只达到3.8G,就戛然而止。 英特尔上海公司一位工程师在接受记者采访时表示,Netburst微架构的好处在于方便提升频率,可以让产品的主频非常高。但性能提升并不明显,频率提高50%,性能提升可能微不

片上众核处理器硬件同步机制研究

片上众核处理器硬件同步机制研究* 徐卫志1,2刘志勇1范东睿1焦帅1,2张浩1宋风龙1雷峥蒙1,2余磊1,2 1(中国科学院计算技术研究所系统结构重点实验室北京 100190) 2(中国科学院研究生院北京 100039) 摘要同步机制是片上多核/众核处理器正确执行和协同通信的关键,其效率对处理器的性能非常重要。本文针对片上众核体系结构,提出了两种硬件粗粒度同步机制,集中式同步机制和分布式同步机制,分别通过片上的集中式锁管理器和分布式锁管理器来实现;以片上同构众核处理器Godson-T模拟器为平台,通过量化评估程序,评估比较了提出的两种硬件支持的同步机制与基于原语的软件同步机制的性能。结果表明,硬件支持可以使得片上众核处理器的同步机制性能明显提高,而分布式锁管理器的扩展性要好于集中式锁管理器。 关键词片上众核处理器;同步;硬件支持;集中式锁管理器;分布式锁管理器 中图法分类号: TP302 文献标识码: A 1 引言 传统单核处理器采用指令级并行的技术提高性能,借助于超标量和流水处理提高处理器的主频,但是随着主频的提高却使得功耗和散热问题难以依靠现有的技术解决。而半导体工艺的发展,使得片上可集成的晶体管数目日益增多,因而体系结构设计者为了在性能进一步提升的同时降低功耗和散热,提出了线程级粗粒度并行的片上多核/众核处理器[1]。片上多核/众核处理器与传统多处理器相比,其优点是片上处理能力强、带宽高、通信距离短、传输速度快等,多个线程之间的数据通信效率高,因而需要高效的同步机制与之匹配。 同步操作保证多个线程之间的数据传播,临界区的互斥访问使得多个线程对共享存储的写操作等同于串行执行,保证程序执行语义的正确性。因而,同步操作的性能对片上众核处理器而言非常重要,直接影响了多个线程协同执行的速度。 在传统多处理器系统中,已有许多针对于互斥操作的研究,主要可以分为两类,一类是设计更好的软件算法,第二类是为其提供专用的硬件支持等。软件锁的缺点在于同步开销大、扩展性差、存储空间要求高等。例如,Test&Set锁[2]是基于原子指令Test&Set的软件锁,它需要每个参与同步的线程不断地执行Test&Set指令,每一次执行Test&Set指令,就检查并修改对应的内存块,造成大量的访存操作和网络操作,当线程数增多时,Test&Set锁的扩展性很差。虽然已经有一些改进的基于原子指令的软件同步方法,但是原子指令实现困难,代价高,当片上集成了成百上千个处理器核时,软件锁难以满足众核处理器的性能需求,势必形成“synchronization wall”。 虽然基于同步原语的软件锁相对于硬件锁较灵活,但是在众核片上支持硬件锁,可以充分利用片上通信速度快的特点,大大提高同步操作的效率,从而提高整个芯片的计算能力。文献[3]针对于众核处理器Cyclops-64,提出了专用的硬件同步状态缓存器SSB,用于支持细粒度的同步操作,目的是有效利用众核处理器的片上处理能力。然而,硬件支持对于片上众核处理器中粗粒度同步机制的性能影响仍没有相关的研究。 因而,我们提出了基于片上众核体系结构的两种硬件粗粒度同步机制,使用专门的片上锁管理器来实现同步,包括集中式锁管理器和分布式锁管理器,从不同角度评估了硬件支持对片上众核结构同步机制的性能提升,将集中式同步机制,分布式同步机制,以及软件同步机制进行了比较。结果表明,硬件支持可以使得片上众核处理器的同步机制性能明显提高,而分布式锁管理器比集中式锁管理器扩展性更好。 本文如下组织:第2节介绍多核/众核同步机制的相关研究工作,包括基于原语的同步机制实现方式,硬件同步,细粒度同步,事务内存等;第3节提出片上众核结构中专用硬件支持的同步机制,包括集中式同步管理器与分布式同步管理器,为了评估需要,在片上众核结构中也实现了Ticket Lock;第4节介绍模拟平台和试验结果,并对结果进行分析,对软件锁和硬件锁,集中式锁管理器和分布式锁锁管理器进行比较;第5节总结本文,并提出进一步的工作。 *本课题得到国家自然科学基金重点项目(60736012)、国家“九七三”重点基础研究发展规划项目基金(2005CB321600)、国家“八六三”高技术研究发展计划项目基金(2009AA01Z103)、国家杰出青年科学基金(60925009 )、国家自然科学基金创新研究群体科学基金(60921002)、北京市自然科学基金(4092044)资助。 徐卫志(1982年生),男,山东龙口人,博士研究生,主要研究方向为高性能计算机体系结构、并行算法等;刘志勇(1946年生),男,博士,研究员,博士生导师,主要研究领域为算法、计算机系统结构、并行处理、片上存储系统等;范东睿(1979年生),男,博士,副研究员,主要研究方向为低功耗处理器设计;张浩,博士,助理研究员;宋风龙,博士;雷峥蒙,硕士研究生;余磊,博士研究生。

多核处理器在计算方面的优势

面对飞速增长的流媒体信息和网络应用的全球化趋势,企业和消费者要求电脑处理器提供更多的便利,更明显的优势,采用多核处理器的x86服务器就是在这种背景下应运而生。目前,数据库、创作3D图像、同时运行多项任务、数学分析和网络服务等各种各样的应用,对计算性能的要求永无止境。如何在更好的性价比条件下,有效地满足现在与未来的需求,成为企业用户面临的必然选择。 双核处理器:计算技术发展的重要趋势 从技术层面来看,多核处理器,较之当前的单核处理器,能带来更多的性能和生产力优势,因而最终将成为一种广泛普及的计算模式。多核处理器还将在推动PC安全性和虚拟技术方面起到关键作用,虚拟技术的发展能够提供更好的保护、更高的资源使用率和更可观的商业运算市场价值。 向多核处理器的迈进是一个重要的技术发展趋势。双核处理器技术的引入是提高处理器性能另一个行之有效的方法。因为处理器实际性能是处理器在每个时钟周期内所能处理器指令数的总量,因此增加一个内核,处理器每个时钟周期内可执行的单元数将增加一倍。在这里我们必须强调一点的是,如果你想让系统达到最大性能,你必须充分利用两个内核中的所有可执行单元:即让所有执行单元都有活可干! 当这些处理器面世时,它们将会立即对企业和消费者带来极大的便利。多核处理器可以通过为工作负担较重的场合——尤其是那些已经在使用多线程应用的场合?D?D提供显着提升的性能,促进服务器/工作站业务环境的发展。根据现有的计划,我们可以看到,一些国际领先的处理器厂商计划在2005年中国推出第一个面向服务器和工作站市场的双核处理器。届时,企业计算的x86服务器市场将全面进入双核时代,从而拉开了多核服务器全新应用时代的帷幕;而这个时代帷幕一旦拉开,将把X86服务器的应用提升到一个前所未有的高度,使客户在举足之间轻松提升性能,更加有效地运行应用,提高工作负担较重的应用,例如数据采集、数学分析和Web服务,提高更高的生产效率。 双核服务器:企业服务器的必由之路 计算机处理器的设计在近20年来以一个常速在不断进化发展。计算机持续向大众市场发展和扩散和我们提出的要求都在不断推动着向更强大的处理器前进的趋势。市场对更高性能处理器的要求与对更成熟的软件应用程序的需求紧密相关。例如,如今全球盛行的电子邮件,在十年以前只是一项限制性很强而且价格昂贵的技术。如今,软件应用程序,从帮助大型企业更好地管理和保护他们的关键业务数据和网络到允许家用PC机编辑家庭录像、处理数字照片和将下载音乐烧制成CD,几乎无所不在。

拥抱多核时代-GIS并行计算

告别免费午餐拥抱多核时代 —SuperMap空间分析并行计算实践Written by:Objects 2013-3-12 11:20:00 SuperMap空间分析并行计算实践 信息技术(InformationTechnologies,简称IT)领域,绝大多数定律都会随着技术的进步被人们淡忘,但有一些却可以经受住时间的考验,对信息技术发展带来持久而深远的影响,“摩尔定律”便是其中典型代表。“摩尔定律”支配下的信息技术,64位系统和多核计算日益普及,如何充分利用64位系统和多核环境下的计算资源成为系统设计和开发人员必 须面对的问题。地理信息系统(Geographic InformationSystem,简称GIS)中的空间分析服务具有算法逻辑复杂、数据规模庞大的特点,属于一种计算密集型服务。针对该特点,我们将并行计算技术引入传统空间分析计算过程,充分利用64位大内存和多核计算资源,大幅提升空间分析 计算性能。 一、摩尔定律下的免费午餐 摩尔定律是由英特尔创始人之一戈登·摩尔(Gordon Moore)提出。其内容为:当价格不变时,集成电路上可容纳的电子元件数目,约每隔24个月(现在普遍流行的说法是每隔18个月)便会增加一倍,性能也将提升一倍。换言之,相同性能的芯片产品,每隔18个月价钱就会降 低一半。该定律自1965年提出以来,始终较好的预测了半导体产业的

发展趋势,又由于半导体产业的巨大影响力,该定律辐射到包括微处理器、移动电话、个人电脑、互联网等在内的众多IT领域。几十年来,包括处理器速度、内存容量、网络传播速度等关键IT指标的发展大都符合摩尔定律的描述。我们有理由认为,摩尔定律在一定程度上揭示与展现了信息技术令人惊讶的进步速度。诞生于1946年的世界上第一台电子计算机,其计算速度是每秒5000次加减法运算,而今天个人电脑的计算速度是每秒500亿次浮点运算。三十五年前的英特尔8086处理器仅有三万个晶体管,而今天一个基于Nehalem架构的英特尔酷睿i7处理器集成了7.74亿个晶体管。

多核处理器的优点和缺点

三、多核处理器的优点和缺点 从应用需求上去看,越来越多的用户在使用过程中都会涉及到多任务应用环境,日常应用中用到的非常典型的有两种应用模式。 一种应用模式是一个程序采用了线程级并行编程,那么这个程序在运行时可以把并行的线程同时交付给两个核心分别处理,因而程序运行速度得到极大提高。这类程序有的是为多路工作站或服务器设计的专业程序,例如专业图像处理程序、非线视频编缉程序、动画制作程序或科学计算程序等。对于这类程序,两个物理核心和两颗处理器基本上是等价的,所以,这些程序往往可以不作任何改动就直接运行在双核电脑上。 还有一些更常见的日常应用程序,例如、等,同样也是采用线程级并行编程,可以在运行时同时调用多个线程协同工作,所以在双核处理器上的运行速度也会得到较大提升。例如,打开浏览器上网。看似简单的一个操作,实际上浏览器进程会调用代码解析、播放、多媒体播放、、脚本解析等一系列线程,这些线程可以并行地被双核处理器处理,因而运行速度大大加快(实际上浏览器的运行还涉及到许多进程级的交互通信,这里不再详述)。由此可见,对于已经采用并行编程的软件,不管是专业软件,还是日常应用软件,在多核处理器上的运行速度都会大大提高。 日常应用中的另一种模式是同时运行多个程序。许多程序没有采用并行编程,例如一些文件压缩软件、部分游戏软件等等。对于这些单线程的程序,单独运行在多核处理器上与单独运行在同样参数的单核处理器上没有明显的差别。但是,由于日常使用的最最基本的程序——操作系统——是支持并行处理的,所以,当在多核处理器上同时运行多个单线程程序的时候,操作系统会把多个程序的指令分别发送给多个核心,从而使得同时完成多个程序的速度大大加快。 另外,虽然单一的单线程程序无法体现出多核处理器的优势,但是多核处理器依然为程序设计者提供了一个很好的平台,使得他们可以通过对原有的单线程序进行并行设计优化,以实现更好的程序运行效果。 上面介绍了多核心处理器在软件上面的应用,但游戏其实也是软件的一种,作为一种特殊的软件,对发展作出了较大的贡献。一些多线程游戏已经能够发挥出多核处理器的优势,对于单线程游戏,相信游戏厂商也将会改变编程策略,例如,一些游戏厂商正在对原来的一些单线程游戏进行优化,采用并行编程使得游戏运行得更快。有的游戏可以使用一个线程实现人物动画,而使用另一个线程来载入地图信息。或者使用一个线程来实现图像渲染中的矩阵运算,而使用另一个来实现更高的人工智能运算。如今,大量的支持多核心的游戏涌现出来,从而使得多核处理器的优势能得到进一步的发挥。 但布赖恩特直言不讳地指出,要想让多核完全发挥效力,需要硬件业和软件业更多革命性的更新。其中,可编程性是多核处理器面临的最大问题。一旦核心多过八个,就需要执行程序能够并行处理。尽管在并行计算上,人类已经探索了超过年,但编写、调试、优化并行处理程序的能力还非常弱。 易观国际分析师李也认为,“出于技术的挑战,双核甚至多核处理器被强加给了产业,而产业却并没有事先做好准备”。或许正是出于对这种失衡的担心,中国国家智能计算机中心主任孙凝辉告诉《财经》记者,“十年以后,多核这条道路可能就到头了”。在他看来,一味增加并行的处理单元是行不通的。并行计算机的发展历史表明,并行粒度超过以后,程序就很难写,能做到个以上的应用程

MSC-MARC单机多核并行计算示例

MSC MARC2011单机多核并行计算示例 并行计算可以有效利用本地或者网络计算机计算资源,提高计算效率,特别是针对一些计算规模相对较大的问题。本文作为MARC单机多核并行计算的一个示例。 测试平台:WIN7 64Bit MARC2011 0、提前设置 将电脑名字最好改为administrator,或者通过修改电脑名称,会使user和display后面的名子保持一致。 改电脑名字: 计算机右键—属性—更改设置—更改—计算机名

1、启动多核运算 打开dos界面输入 (1)D:按enter回车键(d为marc所在盘) (2)cd+空格+ D:\MSC.Software\Marc\2010\marc2010\intelmpi\win64\bin按enter回车键 (3)ismpd+空格+ –install 按enter回车键 (4)出现上图中的

关闭窗口。 2、基本配置 (1)在MARC安装目录下的intelmpi\win64\bin目录(32Bit计算机选择win32文件夹),运行wmpiregister.exe. (2)输入用户名(登陆windows的账户名,通常为administrator)及密码(若密码为空,需要重新设置一个密码),点击register按钮,下面的对话框中会出现“Password encrypted into the Registry”信息。 (3)运行ismpd.exe,或者到dos提示符下,进入该目录,运行ismpd -install。 假如提示都正常的话,到此即完成进行并行计算的前提条件了。 3、测试 (1)在MARC安装目录下的intelmpi\win64\bin目录(32Bit计算机选择win32文件夹),运行wmpiconfig.exe (2)依次点击下面1和2.

操作系统对多核处理器的支持方法

随着多核处理器的发展,对软件开发有非常大的影响,而且核心的瓶颈在软件上。软件开发在多核环境下的核心是多线程开发。这个多线程不仅代表了软件实现上多线程,要求在硬件上也采用多线程技术。可以说多核提供了可以大幅提升性能的机制,多核软件就是可以真正利用这一特点的策略。只有与多核硬件相适应的软件,才能真正地发挥多核的性能。多核对软件的要求包括对多核操作系统的要求和对应用软件的要求。 多核操作系统的关注点在于进程的分配和调度。进程的分配将进程分配到合理的物理核上,因为不同的核在共享性和历史运行情况都是不同的。有的物理核能够共享二级cache,而有的却是独立的。如果将有数据共享的进程分配给有共享二级cache的核上,将大大提升性能;反之,就有可能影响性能。进程调度会涉及到比较广泛的问题,比如负载均衡、实时性等。 面向多核体系结构的操作系统调度目前多核软件的一个热点,其中研究的热点主要有下面几方面:程序的并行研究;多进程的时间相关性研究;任务的分配与调度;缓存的错误共享;一致性访问研究;进程间通信;多处理器核内部资源竞争等等。这些探讨相互独立又相互依赖。考虑一个系统的性能时必须将其中的几点同时加以考虑,有时候对一些点的优化会造成另一些点的性能下降,需要用程序进行性能优化评测,所以合适的多核系统软件方案正在形成过程中。 任务的分配是多核时代提出的新概念。在单核时代,没有核的任务分配的问题,一共只有一个核的资源可被使用。而在多核体系下,有多个核可以被使用。如果系统中有几个进程需要分配,是将他们均匀地分配到各个处理器核,还是一起分配到一个处理器核,或是按照一定的算法进行分配。并且这个分配还受底层系统结构的影响,系统是SMP构架还是CMP构架,在CMP构架中会共享二级缓存的核的数量,这是影响分配算法的因子。任务分配结束后,需要考虑任务调度。对于不同的核,每个处理器核可以有自己独立的调度算法来执行不同的任务(实时任务或者交互性任务),也可以使用一致的调度算法。此外,还可以考虑一个进程上一个时间运行在一个核上,下一个时间片是选择继续运行在这个核上,还是进行线程迁移;怎样直接调度实时任务和普通任务;系统的核资源是否要进行负载均衡等等。任务调度是目前研究的热点之一。 在单核处理器中,常见的调度策略有先到先服务(FCFS),最短作业调度(SJF),优先级调度(Priority-scheduling algorithm),轮转法调度(round-robin RR),多级队列调度(multilevel queue-schedule algorithm)等。例如在Linux操作系统中对实时任务采取FCFS和RR两种调度,普通任务调度采取优先级调度。 对于多核处理器系统的调度,目前还没有明确的标准与规范。由于系统有多个处理器核可用,必须进行负载分配,有可能为每个处理器核提供单独的队列。在这种情况下,一个具有空队列的处理器就会空闲,而另一个处理器会很忙。所以如何处理好负载均衡问题是这种调度策略的关键问题所在。为了解决这种情况,可以考虑共同就绪队列,所有处理器公用一个就绪队列。但是这无疑对进程上下文切换、锁的转换增加了执行时间,降低了性能。另外一种想法就是选择一个处理器来为其他处理器调度,因而创建了主从结构。有的系统将主从结构作进一步扩

多核处理器架构及调试

多核处理器架构及调试 认识多核基本架构多核处理器在同一个芯片中植入了多个处理器引擎,这就可以提供更高的CPU性能、功能特性和分区能力。一般说来,多核有两种实现形式。第一,SMP(Symmetricmultiprocessing,对称多处理)。在这种情况下,开发人员面对的是单一的抽象化硬件平台,由SMP操作系统来决定具体由哪一个内核来运行哪个任务,其中每个内核都是相同的,而且在同一个操作系统的管理控制之下,共享同一个内存。第二,AMP(Asymmetricmultiprocessi 认识多核基本架构 多核处理器在同一个芯片中植入了多个处理器引擎,这就可以提供更高的CPU 性能、功能特性和分区能力。一般说来,多核有两种实现形式。 第一,SMP( Symmetric multiprocessing,对称多处理)。在这种情况下,开发人员面对的是单一的抽象化硬件平台,由SMP操作系统来决定具体由哪一个内核来运行哪个任务,其中每个内核都是相同的,而且在同一个操作系统的管理控制之下,共享同一个内存。 第二,AMP(Asymmetric multiprocessing,非对称多处理)。在这种情况下,各个处理器内核都运行着各自独立的操作系统。这种独立性意味着,其中各个处理器内核既可以是同构的,并且运行同样的操作系统,也可以是异构的并运行各自不同的操作系统。 多核环境显著增加了系统复杂度,因而在对操作系统和与多核相关的硬件进行调试的时候,就必须采用一整套更有效的工具。另外,尽管大家都认为多核就是指在同一个芯片中放入多个内核,但是在实际开发工作中所遇到的多处理问题,实际上不仅仅局限于在单一芯片中的多个内核。事实上,不论这些处理器内核是在同一个芯片之中,或者分布在同一个电路板中的多个芯片之中,甚至同一个系统中的多个电路板之中,开发人员都必须解决好多处理环境中的调试问题。相对于最近出现的单一芯片多核架构,有多个处理器芯片和多个处理器电路板组成的复杂系统已经存在很多年了。因此,多处理架构的调试问题其实早已存在,只是单一芯片内多核架构的普及将多处理系统调试问题更加尖锐地摆在了开发人员面前。 从这个意义上,多年前就开始从事多处理环境软件开发的厂商就积累了更丰富的经验,在应对多核软件开发方面站在了更为有利的地位。例如 Wind River 公司经典的实时操作系统VxWorks在多年前最初的设计思路就是基于多处理架构的,因此不论从运行环境还是开发调试工具任何一方面看,对于多核环境的适应能力都比其他工具要强得多。 认识多核调试难点

浅谈多核CPU、多线程与并行计算

0.前言 最近发觉自己博客转帖的太多,于是决定自己写一个原创的。笔者用过MPI 和C#线程池,参加过比赛,有所感受,将近一年来,对多线程编程兴趣一直不减,一直有所关注,决定写篇文章,算是对知识的总结吧。有说的不对的地方,欢迎各位大哥们指正:) 1.CPU发展趋势 核心数目依旧会越来越多,依据摩尔定律,由于单个核心性能提升有着严重的瓶颈问题,普通的桌面PC有望在2017年末2018年初达到24核心(或者16核32线程),我们如何来面对这突如其来的核心数目的增加?编程也要与时俱进。笔者斗胆预测,CPU各个核心之间的片内总线将会采用4路组相连:),因为全相连太过复杂,单总线又不够给力。而且应该是非对称多核处理器,可能其中会混杂几个DSP处理器或流处理器。 2.多线程与并行计算的区别 (1)多线程的作用不只是用作并行计算,他还有很多很有益的作用。 还在单核时代,多线程就有很广泛的应用,这时候多线程大多用于降低阻塞(意思是类似于 while(1) { if(flag==1) break;

sleep(1); } 这样的代码)带来的CPU资源闲置,注意这里没有浪费CPU资源,去掉sleep(1)就是纯浪费了。 阻塞在什么时候发生呢?一般是等待IO操作(磁盘,数据库,网络等等)。此时如果单线程,CPU会干转不干实事(与本程序无关的事情都算不干实事,因为执行其他程序对我来说没意义),效率低下(针对这个程序而言),例如一个IO操作要耗时10毫秒,CPU就会被阻塞接近10毫秒,这是何等的浪费啊!要知道CPU是数着纳秒过日子的。 所以这种耗时的IO操作就用一个线程Thread去代为执行,创建这个线程的函数(代码)部分不会被IO操作阻塞,继续干这个程序中其他的事情,而不是干等待(或者去执行其他程序)。 同样在这个单核时代,多线程的这个消除阻塞的作用还可以叫做“并发”,这和并行是有着本质的不同的。并发是“伪并行”,看似并行,而实际上还是一个CPU在执行一切事物,只是切换的太快,我们没法察觉罢了。例如基于UI 的程序(俗话说就是图形界面),如果你点一个按钮触发的事件需要执行10秒钟,那么这个程序就会假死,因为程序在忙着执行,没空搭理用户的其他操作;而如果你把这个按钮触发的函数赋给一个线程,然后启动线程去执行,那么程序就不会假死,继续响应用户的其他操作。但是,随之而来的就是线程的互斥和同步、死锁等问题,详细见有关文献。 现在是多核时代了,这种线程的互斥和同步问题是更加严峻的,单核时代大都算并发,多核时代真的就大为不同,为什么呢?具体细节请参考有关文献。我

从多核到众核处理器

从多核到众核处理器 此文由客座作者Zheng Li所写,欢迎大家follow他的twitter: https://www.sodocs.net/doc/1517098071.html,/biglizheng 其实“多核”这个词已经流行很多年了,世界上第一款商用的非嵌入式多核处理器是2002年IBM推出的POWER4。当然,多核这个词汇的流行主要归功与AMD和Intel的广告,Intel 与AMD的真假四核之争,以及如今的电脑芯片市场上全是多核处理器的事实。接下来,学术界的研究人员开始讨论未来成百上千核的处理器了。有一个与多核匹配的词叫片上网络(Networks on Chip),讲的是多核里的网络式互连结构,甚至有人预测未来将互连网集成到片上这种概念了。当然,这样的名词是很吸引眼球的,不过什么东西都得从实际出发,这篇文章也就简单地分析了为什么有多核这个事情,以及多核系统的挑战。 为什么有多核处理器? 事先需要提及的是,一个常见误区就是多核和众核处理器的发展来源于应用和市场驱动。实际上,应用和市场希望单核处理器的寿命越来越长,而物理限制是多核以及未来众核处理器出现和发展的动力。之后我们来谈论一下,首先,为什么有多核处理器?从Intel 80286 到Intel Pentium 4大概二十多年的时间都是单核处理器的天下,为什么最近几年单核处理器却销声匿迹了?是什么导致了多核时代的到来? 这里需要知道一个经验定律和三个限制,他们是多核处理器的最本质缘由。这个定理就是摩尔定律。Gordon Moore博士是Intel的创始人之一。早在他参与创建Intel之前的1965年,他就提出,在至少十年内,每个芯片上集成的晶体管数(集成度)会每两年翻一番。后来,大家把这个周期缩短到十八个月。这个指数规律的发展速度是令人难以置信的,大家都听过那个国王按几何级数赏赐大臣谷粒,从而使得国库被掏空的传说。而摩尔定律讲得就是现实中晶体管数量几何级数倍增的故事,更令人难以置信的是这个速度保持到今天已经快五十年了。人类历史上应该还没有任何技术是指数发展这么久的。题外话一句,若干年前,互联网骨干网带宽曾经这么指数了几年,曾有人将其总结为一个定律忽悠一堆人研究光纤通讯,后来发现带宽没法按照指数定律涨了,许多搞光电的人也就找不到工作了。扯远了点,整个 IT产业之所以风光了这么多年,摩尔定律是本质的因素。 当无数的硅公硅婆和软件民工们将晶体管数目的增长转换为计算机等IT产品的性能时,摩尔定律也就有了两个推论,每十八个月,计算机等 IT 产品的性能会翻一番;相同性能的计算机等 IT 产品,每十八个月价钱会降一半。后面这个推论很可怕的一件事情,他说,如果你IT产品像菜市场的商贩一年年复一年的卖同样的东西,那么你IT产品的价钱会指数下降。从某种意义上来说摩尔定律逼迫着所有的IT企业不断的按指数规律提高产品的性能,并且创新出新的产品。但不幸的是,这种从晶体管数转换为性能增长的过程日趋困难。 时至今日,集成度还在以摩尔定律的速度增长,但是性能的增长遇到了三个物理规律的限制。第一是功耗,第二是互连线延时,第三是设计复杂度。

多核处理器1

多核处理器 摘要: 多核处理器也称为片上多处理器(chip multi-processor,CMP),或单芯片多处理器。自1996年美国斯坦福大学首次提出片上多处理器(CMP)思想和首个多核结构原型,到2001年mM推出第一个商用多核处理器POWER4,再到2005年Intel和AMD多核处理器的大规模应用,最后到现在多核成为市场主流,多核处理器经历了十几年的发展。在这个过程中,多核处理器的应用范围已覆盖了多媒体计算、嵌入式设备、个人计算机、商用服务器和高性能计算机等众多领域,多核技术及其相关研究也迅速发展,比如多核结构设计方法、片上互连技术、可重构技术、下一代众核技术等。然而,多核处理器的技术并未成熟,多核的潜力尚未完全挖掘,仍然存在许多待研究的问题。 二.什么是多核处理器 2.1什么是多核处理器 多核处理器是指在一枚处理器中集成两个或多个完整的计算引擎(内核)。多核技术的开发源于工程师们认识到,仅仅提高单核芯片的速度会产生过多热量且无法带来相应的性能改善,先前的处理器产品就是如此。他们认识到,在先前产品中以那种速率,处理器产生的热量很快会超过太阳表面。即便是没有热量问题,其性价比也令人难以接受,速度稍快的处理器价格要高很多。英特尔工程师们开发了多核芯片,使之满足横向扩展(而非纵向扩充)方法,从而提高性能。该架构实现了分治法战略。通过划分任务,线程应用能够充分利用多个执行内核,并可在特定的时间内执行更多任务。多核处理器是单枚芯片(也称为硅核),能够直接插入单一的处理器插槽中,但操作系统会利用所有相关的资源,将每个执行内核作为分立的逻辑处理器。通过在两个执行内核之间划分任务,多核处理器可在特定的时钟周期内执行更多任务。多核架构能够使软件更出色地运行,并创建一个促进未来的软件编写更趋完善的架构。尽管认真的软件厂商还在探索全新的软件并发处理模式,但是,随着向多核处理器的移植,现有软件无需被修改就可支持多核平台。操作系统专为充分利用多个处理器而设计,且无需修改就可运行。为了充分利用多核技术,应用开发人员需要在程序设计中融入更多思路,但设计流程与对称多处理(SMP)系统的设计流程相同,并且现有的单线程应用也将继续运行。得益于线程技术的应用在多核处理器上运行时将显示出卓越的性能可扩充性。此类软件包括多媒体应用(内容创建、编辑,以及本地和数据流回放)、工程和其他技术计算应用以及诸如应用服务器和数据库等中间层与后层服务器应用。多核技术能够使服务器并行处理任务,而在以前,这可能需要使用多个处理器,多核系统更易于扩充,并且能够在更纤巧的外形中融入更强大的处理性能,这种外形所用的功耗更低、计算功耗产生的热量更少。多核技术是处理器发展的必然。推动微处理器性能不断提高的因素主要有两个:半导体工艺技术的飞速进步和体系结构的不断发展。半导体工艺技术的每一次进步都为微处理器体系结构的研究提出了新的问题,开辟了新的领域;体系结构的进展又在半导体工艺技术发展的基础上进一步提高了微处理器的性能。这两个因素是相互影响,相互促进的。一般说来,工艺和电路技术的发展使得处理器性能提高约20倍,体系结构的发展使得处理器性能提高约4倍,编译技术的发展使得处理器性能提高约1.4倍。但是今天,这种规律性的东西却很难维

相关主题