(图片来源于:Christine Daniloff/麻省理工学院)

引言

摩尔定律正走向失效,计算机芯片性能进一步提高面临挑战。然而,多内核技术,可提高单芯片并行处理能力,改善其性能。但是,多个内核间的通信和协同工作,一直影响多核芯片性能的关键因素。最近,研究人员研发了一种新方法,使用硬件协调多个处理器内核,显著加速核间通信,改善整体性能。


摩尔定律和多核技术


  • 摩尔定律正走向终结


1971年,英特尔推出的全球第一颗通用型微处理器4004,由2300个晶体管构成。当时,公司的联合创始人之一戈登摩尔(Gordon Moore),就提出每过18个月,芯片上可以集成的晶体管数目将增加一倍。这就是著名的“摩尔定律”。

随着芯片上集成的晶体管数增多,运芯片的运算速度即主频则越快。但是,随着主频接近4GHz,计算机性能提高的瓶颈出现了:单纯提升主频,无法显著提高系统整体性能。另外,随着主频的提高,发热的问题也更加突出,处理器可靠性也受到巨大影响。正如IntelligentThings在多篇文章中所提及的,“摩尔定律”正在走向终结。

  • 多核技术及应用


然而,多核技术的出现,给人们“柳暗花明又一村”的感觉。所谓的多核即多个内核,是指一个芯片处理器中集成两个或者多个完整内核。单芯片通过集成多个内核,可以提高执行程序并行性。多个内核并行执行代码,可提高主频,降低功耗。所以,各大芯片厂家例如英特尔、AMD、ARM、高通、华为等等,纷纷推出了它们各自的多核处理芯片。



(图片来源于:维基百科)


之前,IntelligentThings也介绍过一款具有1000个内核的处理器芯片(点此阅读),这款芯片由加州大学戴维斯分校电子和计算机工程系团队开发,最大计算速率达每秒1.78万亿次指令,包含6.21亿个晶体管。



(图片来源: Andy Fell/加州大学戴维斯分校)


多核间的通信成为瓶颈


但是,多核技术相对于单核技术来说,性能的提高并“不是”核与核简单的加法:即64核芯片的性能是单核芯片的64倍。整体性能,除了单纯依靠核的数量增多外,还涉及到因素很多,然而主要是可编程性,因为实际利用多核处理器处理程序时,面临并行计算,内核执行的程序需要进行核之间的数据共享与同步,从而设计到多核间通信问题。


  • 共享内存方法的缺陷


随着多核系统内核的增加,核间(C2C)通信越来越多地影响到芯片整体性能提高。传统的内核间通信,是通过分享内存的办法进行。然而,分享内存的通信方式,会带来相干性失效和缓存遗漏,同时需要巨大的性能和网络开销。虽然,之前IntelligentThings也在《新型芯片Swarm:让并行编程更简单》(点此阅读)介绍过一款Swarm芯片,通过设计“布隆过滤器”(一种硬件电路),实现事务性内存机制,解决共享内存遇到的问题,保证多处理器并行运行且相互不冲突,有序更新共享内存位置的数据,避免多任务之间的冲突。


  • 软件队列加大时间开销


许多重要的工作任务,都需要C2C通信,并且会增加运算开销。线程运行在不同的内核上,多内核之间的任务协同,需要通过软件队列收发软件命令来进行,从而增加了通信负担和时间开销


新方法


  • 简介


北卡罗莱纳州立大学和英特尔公司的研究人员一起开发了一种新方法,通过内置的硬件取代软件指令,协调多个处理器内核的操作,显著地加速核间通信

  • CAF

北卡罗来纳州立大学电子与计算机工程系的教授,这项论文的合著者Yan Solihin称这种方法为“核间通信加速框架”(CAF),可以将通信性能提高2到12倍。换句话说,从开始到结束的执行时间,可以快2倍或者更多。


  • QMD

CAF设计的关键,就是队列管理器(QMD),这是一种附着于芯片处理器网络上的一种小型设备。OMD能够进行简单的计算,有效的处理核间通信请求,而无须依赖软件例程。因为它可以进行基本计算,QMD可用于聚合来自多核的数据,将一些基本计算的功能加快15%

  • 后续研究

研究人员目前正在继续开发一种芯片上的设备,可以加速更多基于多内核的计算。

论文和研究团队

这项论文,题为:“CAF:核间通信加速框架”,将发表于9月11日至15日,在以色列海法召开的并行体系结构和编译技术第25界年度会议上。论文首席作者是北卡罗来纳州立大学的前博士生Yipeng Wang,合著者包括英特尔公司的Ren Wang、Andrew Herdrich 、James Tsai。

参考资料

【1】https://news.ncsu.edu/2016/09/hardware-boosts-core-to-core-communication/


多核芯片性能显著改善:科学家设计硬件加速核间通信
Tagged on: