多核CPU面临的挑战与机遇

文章描述:-2022年4月14日发(作者:龚文祯)多核CPU面临的挑战与机遇——如何发挥多核CPU的性能09计算机科学与技术一班31樊如霞多核CPU面临的挑战与机遇——如何发挥多核CPU的性能取代过去的单一中央处理器,计算机目前正在步入多核时代。尽管这项技术对我们而言并不是新鲜事物,但这是这种类型的体系架构首次大规模运用于商用个人电脑和服务器市场。这场变革将影响到每位计算机用户。多核技术的触

-

多核CPU面临的挑战与机遇
2022年4月14日发
(作者:龚文祯)

多核CPU面临的挑战与机遇——如何发挥多核CPU的性能

09计算机科学与技术一班

2009118231

樊如霞

多核CPU面临的挑战与机遇

——如何发挥多核CPU的性能

取代过去的单一中央处理器,计算机目前正在步入多核时代。尽管这项技术对我们而

言并不是新鲜事物,但这是这种类型的体系架构首次大规模运用于商用个人电脑和服务器

市场。这场变革将影响到每位计算机用户。多核技术的触角已经深入到服务器,笔记本电

脑甚至游戏机控制台领域。从最终用户的角度来看,这种变革的影响是潜移默化的。程序

设计者们发现要实现多核设计的性能也是一项充满挑战的艰巨任务,特别是现在还没有一

劳永逸的办法和自动化技术能适应多核系统上运行的现行软件。

多核CPU就是基板上集成有多个单核CPU,早期PD双核需要北桥来控制分配

任务,核心之间存在抢二级缓存的情况,后期酷睿自己集成了任务分配系统,再搭配

操作系统就能真正同时开工,2个核心同时处理2“份”任务,速度快了,万一1个核

心死机,起码另一个U还可以继续处理关机、关闭软件等任务。

与单核处理器相比,多核处理器在体系结构、软件、功耗和安全性设计等方面面

临着巨大的挑战,但也蕴含着巨大的潜能。

CMP和SMT一样,致力于发掘计算的粗粒度并行性。CMP可以看做是随着大规模

集成电路技术的发展,在芯片容量足够大时,就可以将大规模并行处理机结构中的SMP

(对称多处理机)或DSM(分布共享处理机)节点集成到同一芯片内,各个处理器并

行执行不同的线程或进程。在基于SMP结构的单芯片多处理机中,处理器之间通过片

外Cache或者是片外的共享存储器来进行通信。而基于DSM结构的单芯片多处理器中,

处理器间通过连接分布式存储器的片内高速交叉开关网络进行通信。由于SMP和DSM已经是非常成熟的技术了,CMP结构设计比较容易,只是后端设

计和芯片制造工艺的要求较高而已。正因为这样,CMP成为了最先被应用于商用CPU

的“未来”高性能处理器结构。

虽然多核能利用集成度提高带来的诸多好处,让芯片的性能成倍地增加,但很明

显的是原来系统级的一些问题便引入到了处理器内部。

多核处理器的革命给整个计算机领域带来了前所未有的挑战和机遇。一方面,多核意

味着在同样的空间内实现更多的计算功效。另一方面,处理器体系架构的根本性变化要想

充分利用这些处理器,比起之前的设计就更具挑战性。

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

日常应用中用到的非常典型的有两种应用模式。一种应用模式是一个程序采用了线程级并行编程,那么这个程序在运行时可以把

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

序有的是为多路工作站或服务器设计的专业程序,例如专业图像处理程序、非线视频

编缉程序、动画制作程序或科学计算程序等。对于这类程序,两个物理核心和两颗处

理器基本上是等价的,所以,这些程序往往可以不作任何改动就直接运行在双核电脑

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

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

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

器进程会调用代码解析、Flash播放、多媒体播放、Java、脚本解析等一系列线程,

这些线程可以并行地被双核处理器处理,因而运行速度大大加快(实际上IE浏览器

的运行还涉及到许多进程级的交互通信,这里不再详述)。由此可见,对于已经采用

并行编程的软件,不管是专业软件,还是日常应用软件,在多核处理器上的运行速度

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

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

处理器上与单独运行在同样参数的单核处理器上没有明显的差别。但是,由于日常使

用的最最基本的程序——操作系统——是支持并行处理的,所以,当在多核处理器上

同时运行多个单线程程序的时候,操作系统会把多个程序的指令分别发送给多个核

心,从而使得同时完成多个程序的速度大大加快。另外,虽然单一的单线程程序无法体现出多核处理器的优势,但是多核处理器依

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

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

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

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

核处理器的优势,对于单线程游戏,相信游戏厂商也将会改变编程策略,例如,一些

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

快。有的游戏可以使用一个线程实现人物动画,而使用另一个线程来载入地图信息。

或者使用一个线程来实现图像渲染中的矩阵运算,而使用另一个来实现更高的人工智

能运算。如今,大量的支持多核心的游戏涌现出来,从而使得多核处理器的优势能得

到进一步的发挥。

从最终用户的角度来看多核对工作负载的影响更为直接。举例来说,你的工作负载要

同时执行不同的任务,此时多核系统就能马上发挥它的性能优势所在。

应用程序的设计者们为了满足多核的需求需要花费时间对代码进行升级和测试。在并行

程序设计上没有简单或者自动化的捷径可循,因此多核菜单(MCCB)的设计就需要付出更多

的努力。除了研发多核应用软件需要花费额外的心血外,还要适应不断涌现的全新概念,以

充分发挥多核CPU的性能。

从定义上说,所有的多核系统都必须共享内存。设计内存子系统能让核心之间的争夺最

小化,但是仍然会出现内存空间为两个或者更多内核所用的时候。这种情况在很多时候就会

导致性能问题或者性能衰减。

与传统的单核处理器不同,多核系统的每个核心都必须共享本地资源。除了内存之外,

这些资源还包括硬盘,网络连接,PCI总线和个人电脑,工作站或者服务器的其他组件。

在多核系统中,应用程序在那个核心上运行取决于操作系统。操作系统会尽可能的让所

有的核心的工作负载均等。通过在核心间对程序进行迁移来实现分配。如果万一程序迁移所

在的核心无法使用同样的高速缓存或者本地内存资源,那么程序就会丧失高速缓存数据的优

势所在,性能也会因此衰减。

多核也会引发程序设计中新的错误类型。这种情况的出现是因为在核心间新的时间动态

分配出现了问题。当核心都在互相等待和冻结或者他们不能保持同步时,这种情况就会发生

从而报错。程序设计者们必须在编译应用程序时对这一点有清醒的认识。

最后一个问题就是程序模式。在多核系统中,核心是通过内存共享数据和通讯。程序设

计者们实现的途径是取决于他们惯常编写代码的程序模式。对于所有的多核程序设计来说,

没有单一的标准方式(程序语言或者API)是可以通行无阻的。处于多核菜单的设计目的,我

们将程序设计方法分成两类:

主流方法:这种设计方法就是公开/标准API(应用编程接口),从过往经验看API已经在

并行程序设计上取得了成功,具有丰富的编程经验基础来向程序设计者提供支持。采用API

的编程方法在灵活性和将来的升级支持方面都是风险较低的选择。但对于特别问题处理方面

却并非最佳的编程方式。

新生力量:这些编程方法是新生力量,在将来也颇具潜力。但是并非所有的方法都具备

这样的实力,成为大型项目程序的选择(比如说有些尚处于试验阶段)。虽然他们在实现并行

程序方面更为出,但作为一项新兴的技术要进行推广还有一定风险。

另外,在计算机多核CPU逐步普及的同时,也存在着巨大的挑战。

面临的挑战之一就是软件,概述如下:

现有的软件如果不做改变,就无法利用目前不断进步的处理器所提供的多核性能。为了充分利用多核,程序需要同时做很多事情。这种行为通常被称为并行计算。并行

程序如果编译正确,执行指令的速度将比传统的串行程序要快很多,因为它能将工作负载

按照不同需求分配给处理器的不同核心。而传统的串行程序只能利用一个核心。确实这种

程序编译方式也只能识别一个核心!

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

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

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

编写、调试、优化并行处理程序的能力还非常弱。易观国际分析师李也认为,“出于技术的挑战,双核甚至多核处理器被强加给了

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

智能计算机中心主任孙凝辉告诉《财经》记者,“十年以后,多核这条道路可能就到

头了”。在他看来,一味增加并行的处理单元是行不通的。并行计算机的发展历史表

明,并行粒度超过100以后,程序就很难写,能做到128个以上的应用程序很少。CPU

到了100个核以上后,现在并行计算机系统遇到的问题,在CPU一样会存在。“如果

解决不了主流应用并行化的问题,主流CPU发展到100个核就到头了。现在还不知道

什么样的革命性的进展能解决这些问题。”孙补充说。实际上,市场研究公司In-Stat分析师吉姆克雷格(JimMcGregor)就承认,虽然

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

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

《财经》记者表示,这个问题实际一直就存在,但原来在超级计算机上才会遇到,所

以,讨论也多局限在学术界。而现在,所有用户都要面对这样的问题。

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

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

都给消费者描绘出了使用多核处理器在执行多项任务时的美妙前景:同时可以检查邮

件、刻录CD、修改照片、剪辑视频,并且同时可以运行杀毒软件。或者利用同一台电

脑,父亲在查看财务报表,女儿在打游戏,母亲在给远方的朋友打网络电话。但并不

是所有家庭只有一台电脑,也不是所有用户都要用电脑一下子做那么多事,更何况目

前的大部分应用程序还并不能自动分割成多任务,分别交给多个核心去执行。所以,

对于大多数用户来说,多核所带来的实际益处,很可能并不明显。而多核所带来的挑

战,或者说麻烦,却是实实在在的。美国卡内基梅隆大学计算机系教授朗道布赖恩特

(RandalEBryant)在接受《财经》记者采访时就坦称,“这给软件业制造了巨大的

问题”。

总之,多核处理器的出现,对计算机体系结构的发展来讲有着深远的影响。

在未来的一段时间之内,多核处理器将在处理器市场上占有统治地位。但是如何

充分利用多核处理器的性能,更好的发挥出多核的优势,让每个核能够同时处理

任务,提高系统利用率,不仅需要硬件上的资源重复,多核互联,还需要更好的

分配任务,分配能够使多个核同时工作,不互相争夺共享资源的任务,是当前软

件工作者和硬件工作者协同工作的重点所在。

参考文献:多核处理器的影响与挑战(转)多核处理器浅议多核处理器技术

-

多核CPU面临的挑战与机遇

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

发表评论

评论列表 (有 17 条评论,693人围观)
说不出再见V铁粉30 minutes ago Google Chrome 93.0.4577.82 Windows 10 x64
程序就很难写
吸脂减肥手术多少钱V铁粉15 minutes ago Google Chrome 93.0.4577.82 Windows 10 x64
主流CPU发展到100个核就到头了
步步巅峰V铁粉30 minutes ago Google Chrome 93.0.4577.82 Windows 10 x64
“出于技术的挑战
dell鼠标驱动V铁粉21 minutes ago Google Chrome 93.0.4577.82 Windows 10 x64
或许正是出于对这种失衡的担心
冠县租房信息V铁粉8 minutes ago Google Chrome 93.0.4577.82 Windows 10 x64
多核心技术在应用上的优势有两个方面:为用户带来更强大的计算性能;更重要的
立马V铁粉9 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铁粉4 minutes ago Google Chrome 93.0.4577.82 Windows 10 x64
这种情况在很多时候就会导致性能问题或者性能衰减
青春期孩子的教育V铁粉1 minute ago Google Chrome 93.0.4577.82 Windows 10 x64
这类程序有的是为多路工作站或服务器设计的专业程序
免费建立自己的网站V铁粉11 minutes ago Google Chrome 93.0.4577.82 Windows 10 x64
多核这条道路可能就到头了”
刘焕荣V铁粉5 minutes ago Google Chrome 93.0.4577.82 Windows 10 x64
例如
ie7proV铁粉8 minutes ago Google Chrome 93.0.4577.82 Windows 10 x64
脚本解析等一系列线程
提取shshV铁粉28 minutes ago Google Chrome 93.0.4577.82 Windows 10 x64
处理器间通过连接分布式存储器的片内高速交叉开关网络进行通信
远眺图V铁粉25 minutes ago Google Chrome 93.0.4577.82 Windows 10 x64
并且同时可以运行杀毒软件
东莞地税网上办税大厅V铁粉22 minutes ago Google Chrome 93.0.4577.82 Windows 10 x64
从应用需求上去看
cooldockV铁粉27 minutes ago Google Chrome 93.0.4577.82 Windows 10 x64
相信游戏厂商也将会改变编程策略

最近发表

随便看看

热门文章

标签列表