由于GPU首先必须考虑到图形渲染,这就注定了它无法获得高度灵活性,GPU通用计算更多只是单个应用上的有限延伸。Intel“万亿级计算”以不同的契合点进入,即优先于上述通用计算,架构灵活性成为重要的因素。该项目的科学家认为,超级多核架构是实现上述万亿级计算的唯一可行方向,因此整个项目都围绕超级多核计算架构的构建来进行(图2)。
图2 超级多核架构是实现万亿级计算的唯一可行方向,而其平台看上去也与普通平台大相径庭
现在的GPU虽然拥有超过1Teraflops的计算能力,但它所指的是单精度浮点,双精度浮点性能一般只有其十分之一。但是,超多核处理器的计算核心之间必须频繁交换大量的数据,核心通信都通过芯片上的互连(interconnection)网络负责,事实上这也是超多核处理器设计中难度大的部分。
如果处理器只有两个核心,那么核心间通信可以通过共享缓存,如果核心数量更多一些,那么可以为它们开辟直连通道,但如果要满足超过80个核心的高效通信,设计者们必须非常谨慎。简而言之,片上互连网络的设计必须考虑三个因素,即功耗、芯片面积以及设计复杂度。
片上互连网络是个耗电大户,耗电量高达芯片整体耗电量的三分之一。如增加片上互连网络带宽,就会增加能耗。所以设计者一方面要考虑实际带宽的需求,也必须考虑到电源管理技术方面的限制,达到按需供应,以节约电能。
片上互连网络也是由芯片中的一部分晶体管构成的,在芯片上占用的面积可超过内核晶核面积的五分之一。倘若用了太多的晶体管作互连网络,用于计算功能的晶体管数量就会减少。因此设计者们必须找到一个合理的比例,不能牺牲太多计算功能区域,也就是说互连网络的片上面积是有限制的。
在各种类型的网络结构中,总线(BUS)简单,但一次只能收或是发一个消息;双向的环结构(Ring)可以做到同时收发,链路速度也快,但是内核大量增加后效率不高。增加到二维的网状网络(mesh)是理想选择:它可以处理大量并发消息,又有大量的路由可供选择。如果继续增加维度,在交叉开关矩阵(Crossbar)的控制下,任意核心都可以同其它任意核心建立通信,这样的高维网络显然拥有更好的性能,但设计难度也大。
在详细分析的基础上,Intel的研究者认为,在万亿级系统中,芯片整体带宽要达到TB/s(每秒万亿字节)的水平,链路带宽要在数百GB/s级别。研究人员在基于性能、芯片面积和能耗等相关因素后,确定将采用二维网状网络作为万亿级芯片的片上互连方案。这个方案兼顾能源消耗、晶体管开销和传输性能,但它仍然只是权宜之计。Intel雄心勃勃计划用光传输来代替电子传输,以彻底解决超多核处理器间的核心通信问题─光传输可以轻松做到TB/s的总带宽和数百GB/s的核心直连,同时功耗、发热极低,晶体管占用很小,是超多核处理器的佳选择。我们必须注意,光传输并不是纯粹的构想,Intel在多年前就认为现有的电路技术将会遭遇瓶颈,光传输将取而代之。为此,Intel与加州大学圣芭芭拉分校联手进行硅光技术的基础研究,双方致力于将光传输与半导体硅技术结合起来,并获得斐然成果。Intel希望在未来的万亿级处理器中,全面采用硅光传输来代替现有的电路传输。