Multi—Roofline模型:一种新的异构计算平台性能评估方法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Multi—Roofline模型:一种新的异构计算平台性能评估方法

作者:乔汇东胡瑛田娟秀

来源:《信息技术时代·下旬刊》2018年第03期

摘要:本文提出了一種新的性能评估模型——multi-roofline模型。作为roofline模型的延伸,multi-roofline模型可以为异构计算平台提供二元域算法建模,分析算法在异构计算平台上所能取得的理论极限,并能帮助找到算法的理论瓶颈,为算法在异构计算资源上的部署提供有力支持。

关键词:二元域运算;理论性能预测;multi-roofline

1.引言

随着计算机硬件的不断发展,在不同的计算平台下如何评估特定算法过程可能取得的效果,在当前处理器发展的新阶段具有重要的意义,尤其是当运行算法需要在大量并行节点间展开,而每个运算节点采用的是异构处理器这种特殊的计算平台。此时必须研究在计算节点上采用何种计算资源组合能取得较好的计算效果。通用性能模型中,2008年Samuel Williams等[1]提出的roofline模型受到了较多的关注。其模型简洁的使用运算强度、运算性能峰值和带宽峰值三个基本参数来分析任意算法在任意平台上可能取得的理论极限,为一般性的浮点算法在任意平台上运算性能的初步评估提供了一个有力的分析手段。后续在其研究基础之上,又有boat hull[2]等较为通用的性能模型被提出。而Aleksandar Ilic等人提出的cache-aware roofline[3]模型则通过深入分析处理器内部存储结构,解释了部分原roofline模型无法解释的性能瓶颈现象。同时,还有Luis Tanica等人依据上述理论基础开发了如SchedMon、KerMon和SpyMon[4]等软件工具,可以以上述模型为基础,自动分析计算应用的瓶颈所在,为计算应用选择处理器或者计算应用的算法优化提供了二元域直接的帮助。

2.二元域运算roofline性能模型建模

按照roofline模型原理,这里定义二元域运算模型计算式为:

其中原公式中的浮点运算性能峰值被比特运算性能峰值所代替,但比特运算性能峰值同样是硬件参数,虽然不可以直接从硬件资料中获取,也可以通过硬件手册中资料计算得到。由此,以Xeon E5-2670芯片为例,其二元域运算的性能曲线建模如图1。

模型图1说明,任意二元域算法的比特运算强度BOI需要超过104才有可能在Xeon E5-2670处理器上发挥最大计算性能。

3.异构计算平台中的性能模型multi-roofline建模

这里以著名的天河超算为例,天河的计算节点拥有丰富的处理器资源,每个节点都有主处理器和多种协处理器,根据算法特点选择哪个处理器作为主要计算平台是构建性能模型进行分析比较的主要目标。协处理器与主处理器之间数据协同出于最理想情况分析考虑,任务数据能通过DMA通道直接进入内存,协处理器以访问内存的方式与主机交互数据。

此时,运算模块性能计算式为:

其中参数“模块最大运算性能”应由该协处理器的roofline模型分析得出;参数TI为数据吞吐强度,其单位与BOI一致,定义为:

数据吞吐量是指从主处理器往协处理器派发任务和回收任务的数据量,即整个计算任务的输入输出数据量,与计算BOI的数据访存量不同,一般会小于数据访存量(因为访存可能对同一数据多次存取),所以通常有TI ≧ BOI。而根据roofline模型,模块最大运算性能有:

式中是指协处理器访问本地内存的最高速度,是指协处理器的最大比特运算能力。此时,异构计算平台中,协处理器的运算性能公式演变为:

因此,不同于单纯的roofline模型,异构计算平台中协处理器算法运算性能的评估,涉及到5个参数,其中完全取决于硬件性能的参数为、访存带宽和DMA带宽,而算法特性决定的参数为BOI和TI,由此形成的roofline模型,这里称为multi-roofline这里进一步定义了吞吐系数a为:通过TI与BOI的定义,也可以得到:

将a代入协处理器的运算性能计算式得:

由于峰值操作性能、内存访存带宽、DMA带宽等由硬件决定,为三个常数。容易发现若算法若满足:

则其性能主要受制于访存带宽,反之,则主要受制于DMA带宽。

这里以采用PCI.Express总线的Tesla m2050协处理器模块的multi-roofline性能建模为例,其建模结果如下图:

图2 Tesla m2050性能曲线

由图2可见吞吐系数a决定性能曲线在纵坐标的截距,在图2中,当算法的a超过18.5时,曲线截距不再上移,此时算法所能取得的性能完全由算法的运算强度BOI决定,而a低于18.5时,该算法将主要受制于DMA带宽。

显然,利用multi-roofline模型建模后,只要分析出算法的BOI和a就可以迅速评估算法的理论极限,以之可以找到合适的部署方式或针对算法瓶颈进行相应修改以提高计算性能。

4.结束语

multi-roofline模型可以为任意二元域算法在异构计算平台上的计算性能进行性能建模,从而为特定的计算应用选择合适的异构处理资源提供理论支持。因此,利用它能极大的提高有关计算应用对处理器的利用效率,并为计算资源的部署提供前期预测,具有重要的理论应用价值。

参考文献

[1]S. Williams,A. Waterman,and D. Patterson. Roofline: an Insightful Visual Performance Model for Multicore Architectures. Communications of the ACM,52(4),p65-76,2009.

[2]C. Nugteren and H. Corporaal. The Boat Hull Model: Enabling Performance Prediction for Parallel Computing Prior to Code Development . CF '12 - Proceedings of the ACM Computing Frontiers Conference,p203-212,2012.

[3]Aleksandar Ilic,Frederico Pratas,and Leonel Sousa. Cache-aware Roofline model:Upgrading the loft. IEEE Computer Architecture Letters,v13,n1,p21-24,2014.

[4]Luis Tanica,Aleksandar Ilic,Pedro Toms,and Leonel Sousa. SchedMon: A performance and energy monitoring tool for modern multi-cores. Lecture Notes in Computer Science,v8806,

p230-241,2014.

相关文档
最新文档