当今的计算机设备越来越多地开始使用GPU、人工智能(AI)和机器学习(ML)硬件加速器或数字信号处理单元,这在一定程度上能提高计算机的性能,但由于这些组件只能分别处理信息,依次地将信息从一个处理单元移动到下一个处理单元,实际上对硬件的性能产生了巨大的浪费。
最近,加利福尼亚大学河滨分校的研究团队通过引入同时和异构多线程(SHMT)框架,可以同时利用ARM多核处理器、英伟达GPU和谷歌张量处理器(Google TPU)等硬件加速器,在不额外增加新的处理器的情况下,让系统实现速度的大幅提升和和能耗的显著降低。
传统的编程和执行模型只能将代码区域专门委托给一种处理器进行处理,而其他计算资源闲置,SHMT则不同,SHMT可以将同一函数的计算分解为多种类型的计算资源,并利用异构硬件同时并行处理。
不同的执行模型:(a)传统异构计算机(b)具有软件流水线的传统异构计算机(c)SHMT
为了达成这种效果,研究团队做出了多方面的努力:
SHMT概述
研究团队使用NVIDIA的Jetson Nano和Google的Edge TPU构建了一个示例性SHMT原型,之所以选定该系统平台进行测试,是因为其处理能力以及可用的处理器和加速器类型类似于现代智能手机或移动设备的硬件组件,可以更好的评估SHMT的真实性能。同时,Maxwell GPU和Edge TPU之间的计算能力比率与数据中心服务器上的计算能力比率相似,因此可用于评估SHMT在云服务器上的相对性能,该平台具体配置如下:
SHMT原型平台
测试结果显示,与计算速度最快的加速器的情况相比,SHMT实现了1.95倍的加速,并且由于SHMT利用低功耗硬件加速器与GPU一起辅助程序执行,因此降低了51.0%的能耗。
事实上,现代计算机系统已经是异构形式的,由多种类型的硬件架构组成,但是传统的执行模型通常未能充分利用好这些硬件设备,若能够将SHMT框架拓展到更多的设备上,将大幅提高现有设备的性能,并且不会增加额外的硬件成本。