多核处理器的优点和缺点

文章描述:-2022年4月14日发(作者:潘音)三、多核处理器的优点和缺点从应用需求上去看,越来越多的用户在使用过程中都会涉及到多任务应用环境,日常应用中用到的非常典型的有两种应用模式。一种应用模式是一个程序采用了线程级并行编程,那么这个程序在运行时可以把并行的线程同时交付给两个核心分别处理,因而程序运行速度得到极大提高。这类程序有的是为多路工作站或服务器设计的专业程序,例如专业图像处理程序、非线视频编缉程

-

多核处理器的优点和缺点
2022年4月14日发
(作者:潘音)

三、多核处理器的优点和缺点

从应用需求上去看,越来越多的用户在使用过程中都会涉及到多任务应用环境,

日常应用中用到的非常典型的有两种应用模式。

一种应用模式是一个程序采用了线程级并行编程,那么这个程序在运行时可以

把并行的线程同时交付给两个核心分别处理,因而程序运行速度得到极大提高。

这类程序有的是为多路工作站或服务器设计的专业程序,例如专业图像处理程

序、非线视频编缉程序、动画制作程序或科学计算程序等。对于这类程序,两个

物理核心和两颗处理器基本上是等价的,所以,这些程序往往可以不作任何改动

就直接运行在双核电脑上。

还有一些更常见的日常应用程序,例如Office、IE等,同样也是采用线程级并

行编程,可以在运行时同时调用多个线程协同工作,所以在双核处理器上的运

行速度也会得到较大提升。例如,打开IE浏览器上网。看似简单的一个操作,

实际上浏览器进程会调用代码解析、Flash播放、多媒体播放、Java、脚本解析

等一系列线程,这些线程可以并行地被双核处理器处理,因而运行速度大大加快

〔实际上IE浏览器的运行还涉及到许多进程级的交互通信,这里不再详述〕。由

此可见,对于已经采用并行编程的软件,不管是专业软件,还是日常应用软件,

在多核处理器上的运行速度都会大大提高。

日常应用中的另一种模式是同时运行多个程序。许多程序没有采用并行编程,例

如一些文件压缩软件、部分游戏软件等等。对于这些单线程的程序,单独运行

在多核处理器上与单独运行在同样参数的单核处理器上没有明显的差异。但是,

由于日常使用的最最基本的程序——操作系统——是支持并行处理的,所以,

当在多核处理器上同时运行多个单线程程序的时候,操作系统会把多个程序的指

令分别发送给多个核心,从而使得同时完成多个程序的速度大大加快。

另外,虽然单一的单线程程序无法表达出多核处理器的优势,但是多核处理器依

然为程序设计者提供了一个很好的平台,使得他们可以通过对原有的单线程序

进行并行设计优化,以实现更好的程序运行效果。

上面介绍了多核心处理器在软件上面的应用,但游戏其实也是软件的一种,作

为一种特殊的软件,对PC发展作出了较大的奉献。一些多线程游戏已经能够发

挥出多核处理器的优势,对于单线程游戏,相信游戏厂商也将会改变编程策略,

例如,一些游戏厂商正在对原来的一些单线程游戏进行优化,采用并行编程使得

游戏运行得更快。有的游戏可以使用一个线程实现人物动画,而使用另一个线程

来载入地图信息。或者使用一个线程来实现图像渲染中的矩阵运算,而使用另

一个来实现更高的人工智能运算。如今,大量的支持多核心的游戏涌现出来,从

而使得多核处理器的优势能得到进一步的发挥。

但布赖恩特直言不讳地指出,要想让多核完全发挥效力,需要硬件业和软件业更

多革命性的更新。其中,可编程性是多核处理器面临的最大问题。一旦核心多过

八个,就需要执行程序能够并行处理。尽管在并行计算上,人类已经探索了超

过40年,但编写、调试、优化并行处理程序的能力还非常弱。

易观国际分析师李也认为,“出于技术的挑战,双核甚至多核处理器被强加给了

产业,而产业却并没有事先做好准备”。或许正是出于对这种失衡的担忧,中国

国家智能电脑中心主任孙凝辉告诉《财经》记者,“十年以后,多核这条道路可

能就到头了”。在他看来,一味增加并行的处理单元是行不通的。并行电脑的发

展历史说明,并行粒度超过100以后,程序就很难写,能做到128个以上的应

用程序很少。CPU到了100个核以上后,现在并行电脑系统遇到的问题,在CPU

一样会存在。“如果解决不了主流应用并行化的问题,主流CPU发展到100个核

就到头了。现在还不知道什么样的革命性的进展能解决这些问题。”孙补充说。

实际上,市场研究公司In-Stat分析师吉姆克雷格(JimMcGregor)就承认,虽然

英特尔已向外界展示了80核处理器原型,但尴尬的是,目前还没有能够利用这

一处理器的操作系统。中科院软件所并行计算实验室副主任张云泉也持类似的

观点。他对《财经》记者表示,这个问题实际一直就存在,但原来在超级电脑

上才会遇到,所以,讨论也多局限在学术界。而现在,所有用户都要面对这样的

问题。

目前,多核心技术在应用上的优势有两个方面:为用户带来更强大的计算性能;

更重要的,则是可满足用户同时进行多任务处理和多任务计算环境的要求。两

大巨头都给消费者描绘出了使用多核处理器在执行多项任务时的美妙前景:同

时可以检查邮件、刻录CD、修改照片、剪辑视频,并且同时可以运行杀毒软

件。或者利用同一台电脑,父亲在查看财务报表,女儿在打游戏,母亲在给远方

的朋友打网络。但并不是所有家庭只有一台电脑,也不是所有用户都要用电

脑一下子做那么多事,更何况目前的大部分应用程序还并不能自动分割成多任

务,分别交给多个核心去执行。所以,对于大多数用户来说,多核所带来的实际

益处,很可能并不明显。而多核所带来的挑战,或者说麻烦,却是实实在在的。

美国卡内基梅隆大学电脑系教授朗道布赖恩特(RandalEBryant)在接受《财经》

记者采访时就坦称,“这给软件业制造了巨大的问题”。

四、多核处理器的应用情况

并行计算技术是云计算的核心技术,也是最具挑战性的技术之一。多核处理器

的出现增加了并行的层次性能使得并行程序的开发比以往更难。而当前业内并无

有效的并行计算解决方案,无论是编程模型、开发语言还是开发工具,距离开发

者的期望都有很大的差距。自动的并行化解决方案在过去的30年间已经被证明

基本是死胡同,但传统的手工式的并行程序开发方式又难以为普通的程序员所掌

握。Intel、微软、SU、Cray等业内巨头正投入大量人力物力进行相关的研究,

但真正成熟的产品在短期内很难出现。可扩展性是云计算时代并行计算的主要考

量点之一,应用性能必须能随着用户的请求、系统规模的增大有效的扩展。当前

目前大部分并行应用在超过一千个的处理器(核)上都难以获得有效的加速性能,

未来的许多并行应用必须能有效扩展到成千上万个处理器上。这对开发者是巨大

的挑战。

从Power、UltraSPARCT1、安腾到双核Opteron、至强Xeon,各个领域都显

示出,多核处理器计算平台势必成为服务器的主流或者说是强势计算平台,但

这只是上游硬件厂商的乐观预计。并不是所有的操作系统和应用软件都做好了

迎接多核平台的准备,尤其是在数十年来均为单一线程开发应用的x86服务器

领域。微软软件架构师HerbSutter曾指出:软件开发者对多核处理器时代的来临

准备不足。他说,软件开发社区认识到处理器厂商被迫采用多核设计以应对处

理器速度提升带来的发热问题,但却没有清楚地了解这样的设计为软件开发带来

多少额外的工作。

在过去一段长时间里,x86系统上软件的性能随着来自Intel和AMD处理器速

度越来越快而不断提高,开发者只需对现有软件程序作轻微改动就能坐观其性能

在随着硬件性能的上升而不断提升。不过,多核设计概念的出现迫使软件世界不

得不直面并行性(将单个任务拆分成多个小块以便分别处理之后再重新组合的

能力)问题。当然,为服务器设计软件的开发者已经解决了一些此类难题,因为

多核处理器和多路系统在服务器市场已经存在多年(在传统的Unix领域),一些

运行在RISC架构多核多路系统上的应用程序已经被设计成多线程以利用系统

的并行处理能力。但是,在x86领域,应用程序开发者多年来一直停留在单线

程世界,生产所谓的“顺序软件”。

现在的情况是软件开发者必须出新的开发软件的方法,面向对象编程的兴起

增加了汇编语言的复杂性,并行编程也需要新的抽象层次。另一方面,处理器设

计厂商在设计产品时也应该将软件开发者考虑在内,“处理器的首要着眼点应该

是可编程性,而不是速度。”Sutter说。多核处理器要想发挥出威力,关键在于

并行化软件支持,多核设计带动并行化计算的推进,而给软件带来的影响更是革

命性的。

Intel很早就通过超线程技术实现了逻辑上的双处理器系统,可以并行计算,但

这不过是对处理器闲置资源的一种充分利用而已,并且这种充分利用只有在特定

的条件下,尤其是针对流水线比较长且两种运算并不相互交叉的时候,才会有较

高的效率,如编码解码、长期重复某种矩阵运算以及一些没有经过仔细编写的

软件等。

即使IBM的Power5架构,也需要跟最新的操作系统进行融合,加上运行在其

上的软件,才有可能利用并发多线程。虚拟化技术在一定程度上能够处理一些

因为多核带来的问题,可以让应用软件和操作系统在透明的环境下对处理器资

源进行分配和管理。

目前在对称多处理器方面,操作系统对资源的分配和管理并没有本质的改变,多

以对称的方式进行平均分配。也就是说,在操作系统层面,当一个任务到来时,

剥离成为两个并行的线程,因为线程之间需要交流以及操作系统监管,它导致的

效率损失要比硬件层面大得多。并且,多数软件并没有充分考虑到双核乃至多核

的运行情况,导致线程的平均分配时间以及线程之间的沟通时间都会大大增加,

尤其是当线程需要反复访问内存的时候。目前,多数操作系统还没有完全实现自

由的资源分配,如IBM是通过AIX5.3L来支持Power5上的虚拟化功能,才实

现了资源的动态调配和划分的。

从长远来看,需要使用虚拟化技术才可能实现操作系统对任务的具体划分,这很

可能改变一些通用的编程模式。

五、多核处理器新近的发展

近年来电脑技术取得了巨大的进步。但是在未来的十年,主流电脑技术中新的工

作量、使用模式的出现及变化对未来的电脑平台提出的要求与过去取得的进展也

差不多,这些巨大的要求包括:更高的性能、更低的功率密度、更好的功能可扩

展性。作为电脑技术门下的一员,多核处理器技术同样面临相同的挑战。未来的

处理器将是的社会和技术发展趋势的响应和直接产物,这些趋势包括:渗透性连

接和主动性计算、数据的增长和高性能计算、因特网作为电脑和管道、全球化。

这些趋势对未来的处理器有几个清晰的指向,处理器的架构需要进化,才能在下

一个十年支持性能的增长和市场的需求。至少要满足以下几个关键需求:通用性

能、功耗管理、特殊性能和适应性、可靠性安全性及易管理性、生态系统支持和

稳定性、大众市场经济。为了满足这些需求,Intel多核处理器将不仅仅靠他们的

基本性能,而且靠其丰富多样的电脑通信能力,电源管理等其他要素,使得Intel

学习文档仅供参考

的处理器架构发展计划包括以下的关键特性:芯片层次的处理器、特殊用途的硬

件、大型存储器子系统、微核心、虚拟、硅及工艺技术、兼容性和生态系统授权。

为了实现上述的预期目标,Intel面临这许多的挑战:电源和热量管理、平行度、

复杂化管理、安全性与易管理性、可变性和可靠性计算、高速互连。

英特尔工程师们开发了多核芯片,使之满足“横向扩展”〔而非“纵向扩充”〕方

法,从而提高性能。该架构实现了“分治法”战略。通过划分任务,线程应

用能够充分利用多个执行内核,并可在特定的时间内执行更多任务。多核处理

器是单枚芯片〔也称为“硅核”〕,能够直接插入单一的处理器插槽中,但操作

系统会利用所有相关的资源,将每个执行内核作为分立的逻辑处理器。通过在两

个执行内核之间划分任务,多核处理器可在特定的时钟周期内执行更多任务。

多核架构能够使软件更出地运行,并创建一个促进未来的软件编写更趋完善的

架构。尽管认真的软件厂商还在探索全新的软件并发处理模式,但是,随着向多

核处理器的移植,现有软件无需被修改就可支持多核平台。操作系统专为充分利

用多个处理器而设计,且无需修改就可运行。为了充分利用多核技术,应用开

发人员需要在程序设计中融入更多思路,但设计流程与对称多处理(SMP)系

统的设计流程相同,并且现有的单线程应用也将继续运行。得益于线程技术的

应用在多核处理器上运行时将显示出卓越的性能可扩充性。此类软件包括多媒

体应用〔内容创建、编辑,以及本地和数据流回放〕、工程和其他技术计算应用

以及诸如应用服务器和数据库等中间层与后层服务器应用。多核技术能够使服务

器并行处理任务,而在以前,这可能需要使用多个处理器,多核系统更易于扩

充,并且能够在更纤巧的外形中融入更强大的处理性能,这种外形所用的功耗

更低、计算功耗产生的热量更少。多核技术是处理器发展的必然。推动微处理

器性能不断提高的因素主要有两个:半导体工艺技术的飞速进步和体系结构的

不断发展。半导体工艺技术的每一次进步都为微处理器体系结构的研究提出了

新的问题,开辟了新的领域;体系结构的进展又在半导体工艺技术发展的基础上

进一步提高了微处理器的性能。这两个因素是相互影响,相互促进的。一般说来,

工艺和电路技术的发展使得处理器性能提高约20倍,体系结构的发展使得处理

器性能提高约4倍,编译技术的发展使得处理器性能提高约1.4倍。但是今天,

这种规律性的东西却很难维持。多核的出现是技术发展和应用需求的必然产物。

-

多核处理器的优点和缺点

发布时间:2022-04-14 08:35:17
文章版权声明:除非注明,否则均为IT技术网-学习WEB前端开发等IT技术的网络平台原创文章,转载或复制请以超链接形式并注明出处。

发表评论

评论列表 (有 10 条评论,521人围观)
李承鹏V铁粉10 minutes ago Google Chrome 93.0.4577.82 Windows 10 x64
另一方面
葵花籽的功效与作用V铁粉10 minutes ago Google Chrome 93.0.4577.82 Windows 10 x64
他说
杭州银泰城V铁粉19 minutes ago Google Chrome 93.0.4577.82 Windows 10 x64
应用程序开发者多年来一直停留在单线程世界
白癜风论坛V铁粉12 minutes ago Google Chrome 93.0.4577.82 Windows 10 x64
也就是说
西游降魔票房V铁粉14 minutes ago Google Chrome 93.0.4577.82 Windows 10 x64
目前
新手做网站V铁粉24 minutes ago Google Chrome 93.0.4577.82 Windows 10 x64
对于单线程游戏
富力又一城二手房V铁粉28 minutes ago Google Chrome 93.0.4577.82 Windows 10 x64
它导致的效率损失要比硬件层面大得多
阿克苏二手房V铁粉4 minutes ago Google Chrome 93.0.4577.82 Windows 10 x64
-
黑龙江新闻V铁粉20 minutes ago Google Chrome 93.0.4577.82 Windows 10 x64
多核的出现是技术发展和应用需求的必然产物

最近发表

随便看看

热门文章

标签列表