【IT168 专稿】最近,关于CPU与GPU混合计算的话题很热,比如,11月初国防科技大学发布的我国首台千万亿次超级计算机天河一号,就是采用了6144个通用处理器(英特尔至强CPU)和5120个加速处理器(AMD GPU);又比如,国内服务器厂商浪潮在上周与中科院北京基因研究所达成合作,在研制第三代基因测序仪中将使用GPU配合CPU来进行大规模计算。
由于拥有更多计算内核的GPU(常常达到数百颗)在大并发量且任务相似的并行计算方面具有特别的优势,而CPU则专长于逻辑选择、判断跳转和IO通信计算,二者有机搭配,计算性能可实现从几倍到几百倍的增长。因而,相对于传统的计算集群,“CPU+GPU”计算系统能极大提升某些应用的计算性能,同时降低成本、能耗和占地空间,甚至实现桌面化超算。然而,由于过去绝大部分应用都在使用CPU进行计算,其与计算平台相匹配的软件、算法也都是在此基础上进行开发的,导致了采用“CPU+GPU”架构的计算系统,性能难以完全释放,应用范围也受到限制,软件开发,特别是商业软件的开发困难重重。参见:CPU与GPU 战争才刚刚开始
CPU与GPU两种架构会走向融合
12月9日,英特尔高级院士庞思立(Stephen S. Pawlowski)来到北京,接受了IT168等媒体的采访。庞思立目前担任英特尔架构事业部首席技术官兼英特尔公司中央架构与规划部门总经理,负责确保英特尔架构所有产品的一致性,以及英特尔酷睿和凌动平台在安全性和管理性等方面的应用实施。他就目前大家关心的CPU与GPU架构谈了英特尔的看法。
英特尔高级院士、架构事业部首席技术官庞思立(Stephen S. Pawlowski)
他谈到,CPU引入多线程、多核、众核等技术,并行性能也是越来越强,在向高吞吐量计算演进,而GPU也不再受限于以往的固定功能,在向通用计算演进,但这两种架构都需要有好的可编程性,而实际上,程序员们已经习惯了X86架构,因此,最终这两种架构会走向融合,也就是说,不管用什么样的硬件,软件开发人员都可以使用IA指令集来编程,让软件可以同时跑在CPU和GPU上面,而不是象现在这样需要分别针对这两种架构去编程。
CPU与GPU两种架构走向融合
现在市场上的一些混合架构大多采用Nvidia或AMD的GPU,编程环境有CUDA或OpenCL,虽然之前市场都很期待英特尔明年推出其GPU产品Larrabee和同时支持CPU与GPU的Ct编程语言。不过,近日又有传言称Larrabee可能被取消,庞思立在回答媒体相关提问时没有正面回答,“有关Larrabee的路线图将在明年后期公布,我不方便透露太多。”但他同时也表示,“Larrabee是IA架构的分支发展方向,它满足的是高吞吐量的需求。在未来,我们不排除Larrabee涉足其他的计算领域的可能,发展中将有更多的演变。”
未来众核 软件编程很关键
跟GPU计划的磕磕绊绊不同,在CPU方面,英特尔的步伐非常坚定。根据其钟摆(Tick-Tock,Tick代表制程技术进步,Tock代表处理器微架构更新)模式,在双路服务器领域,2009年是基于45纳米工艺的全新微架构Nehalem(至强5500系列),2010年则会推出采用全新32纳米工艺的Westmere(至强5600系列),到2011年,又会将架构升级到SandyBridge。而在四路以上的服务器领域,这一步伐相对要“稳重”一些,明年初英特尔会将现在的至强7400升级到新的Nehalem架构上面,即Nehalem-EX。届时市场上将会出现一批基于Nehalem-EX的八路服务器,目标直指RISC小型机市场。
英特尔多核技术与指令集的扩展
虽然这两年英特尔的多核处理器在核心数量上还会保持在四核、六核、八核这样的水平,但值得一提的是,就在几天前,英特尔研究院院士、万亿级计算研究总监詹姆斯•郝尔德在北京向媒体介绍了一款集成了48个IA核心,功耗只有25-125瓦特的研究型芯片——“单芯片云计算机”(SCC),旨在提高未来几十年的片上性能、芯片通信方式并降低能耗,让未来智能化处理器可以驱动计算机利用“视觉”实现人机互动。一般而言,云数据中心往往需要数十乃至数千个计算机通过有线网络互连而成,并行执行大量任务,处理海量数据。而这款“单芯片云计算机”,用类似的方法,将所有的计算机和网络都集成在了一个只有邮票大小的单个芯片上。这样做的好处是能耗更低,可靠性更高,密度更高,效率更高,而且也有好的可编程性。
在一个芯片上实现云计算数据中心
其中最有挑战性的可能是软件编程。对于现有的单核、双核、四核、八核处理器,一般采用的是共享内存的编程模式,需要支持缓存的一致性,而在云计算环境中,集群系统一般使用消息传递的方式。而这款“单芯片云计算机”正是在硬件芯片层面实现了对消息传递的支持和优化,而对于共享内存的编程则改用软件来实现。由于消除了硬件缓存一致性,可以大大降低复杂性和能耗。而且,经过证明,类似集群、云计算的消息传递方式可扩展到具有1000个内核的处理器上。
“SCC上的一些技术研究,如Message Buffer,主要是针对非缓存一致性的应用系统,减少核与核之间的通信延迟,”庞思立表示,它们“有可能”会用到至强等主流处理器上面来。
对于未来的英特尔多核/众核架构,有可能采用功能较全的大内核,也有可能是功能简单的小内核,也可能是这两种内核的组合。庞思立告诉记者,“大核针对的是单线程应用,而多线程并行用多个小核更加合适,根据不同的应用需求,英特尔会考虑不同组合,但都要求软件环境必须就绪。”
平台技术跟进 期待“光速”互连
伴随多核/众核芯片的发展,计算性能越来越强,而I/O、存储等平台技术也在跟进当中,如PCI-E 3.0、USB3.0、万兆以太网、固态硬盘等,都少不了英特尔的身影。庞思立此番还表示,英特尔正在研究扩展未来“硅光子”的用途,在平台级、芯片级实现低成本的光速互连。
将“光速”互连扩展到平台级、芯片级
据了解,光纤通信在长距离数据传输领域中的应用非常成功,但在短距离数据传输领域很难,随着距离的缩短,难度也相应加大,而要实现低成本的大规模应用就更难了。英特尔其实早在上世纪九十年代中期就开始对硅光子技术进行研究,用光导线替代目前计算机中的电线路能够“爆炸式”地提高传输带宽。就在今年旧金山的秋季IDF上,英特尔就公布了一种新的技术:Light Peak高速光纤互连技术,可以提供10Gbps的传输速率和长达100米的传输距离(和通常的千兆以太网铜缆一致,而速率提高10倍),适合连接外部设备或者内部存储设备。
英特尔在秋季IDF上展示的Light Peak高速光纤互连技术
小结:IA架构一统天下
总之,我们看到,无论是用于手持设备上的低功耗凌动(Atom)处理器,还是用于高性能计算、服务器领域的至强处理器,无论是现在的多核,还是未来的众核,无论是普通的CPU还是GPU,英特尔有一点是想得很清楚的:统一用IA架构,以利用现有的成熟的X86软件编程环境,后者对于硬件的成功,以及对用户投资的保护都非常关键。英特尔在很多个场合都谈到过这一观点。毕竟,做不到一点,就意味着要重新去构建一个新的生态系统,而代价和风险就太大了。