领先新型计算系统 “CPU+”有望主导处理器市场
2017-03-09
作者:虞志益 教授
来源:中山大学-美国卡内基梅隆大学
传统的以处理器(CPU)为核心的计算系统正面临前所未有的挑战。一方面,已持续了50年的摩尔定律已明显放缓了前进的步伐,依赖集成电路制造技术进步所带来“红利”正逐渐消失。另一方面,成指数增长的大数据应用对计算系统提出了更高的存储容量及存储访问的需求。具有重大创新的新型计算系统即将出现。
潜在的新型计算系统包括量子计算机、神经网络计算机、异构计算等。其中,异构计算以“CPU+”的形式出现,具有较好的可行性及通用性,并能大幅提升系统性能和功耗效率,有望率先成熟并主导处理器市场。
异构计算系统包括几类形式:
1)CPU+GPU:在芯片或系统中集成多个CPU和图形处理器(GPU),利用CPU运行操作系统和执行串行任务,用GPU处理3D图形渲染、数学密集型计算。两者结合,提升系统的性能和功耗效率。AMD、NVIDIA、IBM等企业在此领域投入了大量研究。很多系统产品(如天河超级计算机)集成了数量众多的CPU芯片和GPU芯片。
2)CPU+FPGA:在芯片或系统中集成CPU和FPGA,以兼具计算、并行化、可重构等优点。Altera和Xilinx的很多产品都集成了ARM等CPU。Intel收购Altera之后,预计将会出现很多Intel CPU +Altera FPGA的产品。
3)CPU+ASIC:集成CPU和ASIC,能针对某些特定应用大幅提升性能和功耗效率,不过这种产品的通用性不强。
异构计算的关键技术包括高速互连、共享内存的通信方式及统一化编程等。
CPU和GPU/FPGA之间需要高速、高带宽的数据交互,特别是当CPU与GPU/FPGA不在同一芯片时,高速互连尤为重要。IBM与NVIDIA合作开发了Power处理器与GPU之间的高速接口NVLink,带宽可达40GB/s。此外,硅基光互连也是一个重要的高速互连研究方向。IBM还联合AMD、Google等公司联合推出了OpenCAPI总线技术,以支持CPU与外部加速器的高速互连。
CPU和GPU需要有共享的统一寻址的内存访问机制来提升数据交互的能力。为此,AMD、ARM、Qualcomm等公司建立了HSA(Heterogeneous System Architecture)联盟并设立相关技术标准,使CPU和GPU能高效地协同处理。
目前的CPU、GPU、FPGA采用不同的编程语言及编程模式。为实现系统的无缝整合,还需要统一的编程。现有的面向异构计算的语言有OpenCL(Open Computing Language)、OpenMP、OpenACC等。这些编程方式还未得到全面的推广,需进一步提升其效率及普及性。
异构系统已产生一些成功的例子。如天河一号A配备了14 336颗Intel Xeon CPU,7 168颗NVIDIA GPU,以及2 048 颗飞腾处理器。天河二号包含16 000个运算节点,每节点配备两颗Intel Xeon CPU、三颗Xeon Phi协处理器。Xilinx的Spartan6集成了MicroBlaze嵌入式CPU及FPGA,Zynq集成了ARM Cortex-A9 CPU及FPGA。Altera的Arria V集成了ARM CPU及FPGA。Intel 的Xeon E5 2600 v4处理器据称集成了FPGA,每瓦性能可提升70%。
“异构计算”方兴未艾,还有很多科技及产业的关键问题有待解决。希望《电子技术应用》杂志2017年3期的“异构计算”专栏可以起到抛砖引玉的效果,吸引学术界及产业届更多的研究人员投入其中,推动异构计算的快速发展。