acm-header
登录

ACM通信

的观点

Accelerator-Level并行性


CPU和速度计,插图

虽然过去的信息技术(IT)进步已经改变了社会,但未来的进步带来了更大的希望。例如,我们才刚刚开始从人工智能——尤其是机器学习——带来的变革中获益,预计将在医学、科学、教育、商业和政府方面取得深远进展。人们常常忘记,IT影响的基础是可编程硬件的显著改进。硬件改进提供了解锁新功能的性能。然而,与上世纪90年代和21世纪初不同的是,未来的性能目标必须在更少的技术进步(摩尔定律和丹纳德尺度法)下实现。那么,如何以能够创造巨大客户价值的成本提供AR/VR、自动驾驶汽车和健康可穿戴设备呢?

一种已经出现的方法是使用加速器:快速执行目标计算类的硬件组件,通常用更少的能量。加速器的灵活性可以从高(GP-GPU)到低(固定功能块)不等。最近的工作倾向于专注于特定的应用领域,如图形学(在gpu普及之前)、深度机器学习、物理模拟和基因组学。此外,大多数研究加速器,包括出现在通信256专注于使用单一加速器的cpu,一个早期预测是使用多个加速器。1

uf1.jpg
数字现代片上系统(SoC)架构。现代soc中的cpu(白色部分)只占模具面积的很小一部分。SoC的其余部分由不同的加速器组成,如DSP、GPU、ISP、NPU、视频和音频编解码器。

在我们看来,许多未来的计算系统将通过使用多个加速器获得更高的效率,每个加速器有效地针对正在进行的计算的一个方面,就像瑞士军刀有特定的工具用于特定的任务一样。智能手机通过同时使用多个加速器预示了这一未来,但与瑞士军刀不同的是,这些加速器通常使用独立开发的软件堆栈并行运行。

我们断言,目前还没有“科学”来讨论和系统地回答如何最好地促进广泛、灵活和有效地使用多种加速器的基本问题。在这个观点中,我们揭露这个机会(什么),但要求我们的读者决定如何最好地处理它。我们回顾了过去利用并行级别的计算机系统改进,并介绍了加速器级并行(ALP)作为框架新挑战的方法,并扩展了智能手机ALP的“点”成功。

回到顶部

过去、现在和未来的平行性

随着技术的发展提供了更多更小的晶体管,计算机处理器架构师通过并行使用晶体管将晶体管的优势转化为更快的处理。有效地使用重复晶体管加倍要求晶体管并行度的新水平。图1回顾过去和现在,并描述并行性的不同层次(y-轴),随着计算机技术在过去几十年的发展而出现(x设在)。

f1.jpg
图1所示。多年来的并行快照,展示了如何通过不同类型的体系结构机制利用各种形式的并行。

图1位级并行(BLP)指的是并行执行基本操作(算术等)。它在早期的计算机中很常见,后来在商品系统中增强了更大的字大小。指令级并行(ILP)是通过流水线、超标量和不断增加的推测并行执行逻辑顺序的指令。线程级并行性(TLP)是使用多个处理器核心,最初由离散处理器开始,后来集成为片上核心。数据级并行(DLP)是指通过数组和管道在多个数据操作数上执行类似的操作,这种操作通过通用图形处理单元(gp - gpu)获得了广泛的成功。

在这个观点中,在图1,我们断言另一个主要的并行级别正在出现:加速级并行(ALP)。我们定义高山作为工作负载组件在多个加速器上并发执行的并行性。ALP的目标是以类似于ILP同时使用多个功能单元的方式同时解锁多个加速器。ALP并不取代其他并行级别,而是建立在它们的基础上,因为大多数加速器在内部使用BLP、ILP、TLP和DLP中的一个或多个。此外,就像ILP在堆栈的不同级别(从微架构级的超标量和乱序执行到编译器级的指令调度)得到了利用一样,ALP为新颖的硬件和软件设计和优化提供了许多自由度。它还为新的运行时资源管理提供了可能性,这类似于跨cpu和gpu的异构调度,但增加了跨大量硬件加速器实时调度任务的复杂性。

如今,ALP正在兴起。用于移动、边缘和云计算的现代芯片组开始同时使用多个加速器。接下来,我们将介绍移动soc中ALP的案例研究,以了解目前ALP是如何被使用的,尽管形式有些有限,然后为未来更广泛地利用ALP的工作奠定基础。

回到顶部

移动soc是使用ALP实现多加速器的先兆

由于对极高能源效率的需求,移动soc是ALP的早期采用者。对于四个主要供应商——苹果、高通、三星和华为的soc来说,只有不到50%的模具用于cpu,如本观点第一页的图片所示。该领域的大部分致力于专门的加速器,如数字信号处理器、图像信号处理器、GPU、神经处理器和视频编码器/解码器,以及音频、网络和视频的I/O接口。

在智能手机soc中,工作负载在多个加速器并发使用(而非独占使用)时显示ALP是很常见的。图2展示了一个4K、每秒60帧的视频捕获用例,有两条路径。一条路径通向显示器,将实时内容呈现给最终用户,另一条路径通向闪存,保存内容以供离线查看。在本例中,数据通过并行(两条路径)和流水线(都是由cpu编排的)方式遍历加速器。在其他用例中,如交互式多方视频会议应用程序,数据流和CPU编排可能更加动态和复杂。尽管如此,我们预计加速器将越来越多地处理“数据面”计算,而cpu则保留“控制面”任务。这样做将使固定电力预算的计算更加丰富,从智能手机到汽车再到云计算都有价值。

f2.jpg
图2。ALP在智能手机上4K视频捕获用例中的作用。7

移动soc显然依赖于ALP实现低功耗和高效执行。然而,他们还没有充分利用ALP的潜力,我们认为这是恢复CPU几十年来提供的灵活性所必需的。例如,在上面的示例中,数据流以及应用程序任务和加速器之间的绑定是固定的。除了处理相机图像输入外,ISP不能以编程方式重新用于其他任务。为此,我们相信我们需要更好的科学和工程来实现ALP的利用。

回到顶部

基于ALP的多路加速器系统研究

约翰·亨尼斯和大卫·帕特森在2018年的图灵奖演讲中断言,我们正处于计算机架构的一个新的黄金时代。3.我们断言,由Hennessy和Patterson提出的挑战应该被推广到计算机科学和工程的一个新的黄金时代,在ALP中使用多个加速器是一个机会,为研究开辟了新的前景,因为加速器被集成到复杂soc中。我们不知道所有的可能性,但我们在这里讨论一些想法,以种子研究方向。

一个关键的挑战是开发抽象和实现,使程序员能够针对整个SoC和实现者整体设计其软件和硬件。我们从单指令多线程(SIMT)模型中获得灵感,该模型有效地抽象了GPU硬件丰富的并行性和调度机制。SIMT既支持gpu从图形工作负载扩展到通用的DLP使用,又支持抽象之下的软硬件实现改进。

随着ALP的出现,我们期望必须发明新的范式来灵活和有效地开发它的潜力。今天的情况并非如此。与类似于simt的整体观点相反,今天的soc只在有限的细分领域利用ALP,每个加速器都充当一个“筒仓”,拥有自己的编程模型,通常还有自己的(特定于领域的)语言、运行时、软件开发工具包(SDK)和驱动程序接口。虽然使用多个没有抽象的加速器可以在受限的情况下工作(例如,对于10-20个电话用例),但它不太可能使ALP普遍有用。我们如何才能超越不同语言、sdk等的每个加速器软件孤岛?调度/排序加速器或分区/虚拟化加速器(可能是流数据流)的抽象和机制是什么?什么属于运行时而不是操作系统硬件抽象层之上/之下?

由于加速器和ALP的异构特性,甚至比以前的并行级别更需要ALP的开发,它可能需要软硬件协同设计。此外,这也可能激励计算机辅助设计工具链的创新,以促进异质设计空间的快速探索。ALP的实现应该追求全局最优的软硬件系统,而现在许多好的工作都集中在使每个加速器“局部”最优上。虽然良好的加速器是必不可少的,但局部最优加速器的集合不太可能是全局最优的。因此,我们需要更好的模型4以及从加速器、内存和互连组件整体设计soc的方法,更像是如何从alu、寄存器文件和总线制作处理器核心。两种情况下的分析都集中在并行操作上:ALP用于soc, ILP用于核心。

更详细地说,有许多ALP问题需要更好的答案和更好的方法来系统地确定答案。例如,从计算的角度来看,我们缺乏关于如何选择、大小、效率以及有时如何组合类似加速器的基础科学。同样,从内存的角度来看,什么时候片上内存应该是加速器私有的还是共享的?什么时候这个内存应该是软件可见的临时缓存还是软件透明的缓存?从集成的角度来看,我们如何在加速器之间最好地通信数据(共享内存或队列)和控制(轮询、中断或其他)?从操作的角度来看,一旦部署了SoC,我们是否可以通过(非凸)优化调度异构并行资源,还是必须采用启发式方法?总之,需要一种更系统的方法来设计许多加速器作为块,以创建整体的ALP系统,出色的性能和成本目标。

回到顶部

结论

本观点认为,在ALP中使用多个加速器有望提高未来的计算效率,我们还不知道如何在细分市场之外更好地实现这一目标,我们可以共同努力实现这一目标。我们已经确定了什么机会是,但留给我们的读者如何最好是解决它。

回到顶部

参考文献

1.微处理器的未来。Commun。ACM 54, 5(2011年5月),67-77;doi: 10.1145/1941487.1941507

2.Dally, w.j., Turakhia, Y.和Han, S.领域特定的硬件加速器。Commun。ACM 63, 7(2020年7月),48-57;doi: 10.1145 / 3361682

3.计算机架构的新黄金时代。Commun。ACM 62, 2(2019年2月),48-60;doi: 10.1145 / 3282307

4.Hill, M.D.和Reddi, V.J. Gables:移动soc的屋顶线模型。在高性能计算机体系结构学报,2019 IEEE 25th国际研讨会。2019.

5.Jouppi, N.P.等。深度神经网络的领域特定架构。Commun。ACM 61, 9(2018年9月),50-59;10.1145 / 3154484

6.Nowatzki, T, Gangadhar, V.和Sankaralingam, K.异构von Neumann/数据流微处理器。Commun。ACM 62, 6(2019年6月),83-91;10.1145 / 3323923

7.Reddi, V.J, Yoon, H和Knies, A. 20亿台设备,而且还在增加。IEEE微(Jan.-Feb。2018), 6-21。

回到顶部

作者

马克·d·希尔markhill@cs.wisc.edu)是微软的硬件合作架构师,也是美国威斯康辛州麦迪逊市威斯康辛大学的名誉教授。

Vijay Janapa Reddivj@eecs.harvard.edu)是美国马萨诸塞州剑桥市哈佛大学John A. Paulson工程与应用科学学院(SEAS)的副教授。

回到顶部

脚注

Mark D. Hill在加入微软之前对这项工作也有贡献。


版权归作者所有。
向所有者/作者请求(重新)发布权限

数字图书馆是由计算机协会出版的。版权所有©2021 ACM, Inc.


没有发现记录

登录为完全访问
»忘记密码? »创建ACM Web帐号
文章内容:
Baidu
map