«上一篇 下一篇»
  计算机工程  2021, Vol. 47 Issue (2): 233-238, 245  DOI: 10.19678/j.issn.1000-3428.0056183
0

引用本文  

袁佳伟, 宋庆增, 王雪纯, 等. 边缘计算设备的性能功耗测量与分析[J]. 计算机工程, 2021, 47(2), 233-238, 245. DOI: 10.19678/j.issn.1000-3428.0056183.
YUAN Jiawei, SONG Qingzeng, WANG Xuechun, et al. Performance and Power Consumption Measurement and Analysis of Edge Computing Devices[J]. Computer Engineering, 2021, 47(2), 233-238, 245. DOI: 10.19678/j.issn.1000-3428.0056183.

基金项目

广东省科技计划项目(2017B010124001,2017B090901005)

通信作者

金光浩(通信作者), 讲师、博士

作者简介

袁佳伟(1996-), 男, 硕士研究生, 主研方向为深度学习;
宋庆增, 副教授、博士;
王雪纯, 硕士研究生;
姜文超, 讲师、博士

文章历史

收稿日期:2019-10-04
修回日期:2020-03-10
边缘计算设备的性能功耗测量与分析
袁佳伟1 , 宋庆增1 , 王雪纯1 , 姜文超2 , 金光浩1     
1. 天津工业大学 计算机科学与技术学院, 天津 300387;
2. 广东工业大学 计算机学院, 广州 510006
摘要:为解决将数据传回服务器端计算时带来的延迟问题,需将神经网络结构进行调整后部署在边缘计算设备上,但当前对边缘设备性能功耗的测量不够全面。为分析和评测边缘计算设备EDGE TPU计算板的性能与功耗,采用神经网络模型和Roofline模型测量其性能,利用外置功耗测量设备测量其功耗计算性能功耗比。实验结果表明,EDGE TPU计算板能以较快的速度量化神经网络模型,执行速度与能耗节省均优于TX2和NANO,根据TX2的Roofline模型对VGG 16网络进行优化后,其在TX2上的运行速度达到原来的8倍左右。
关键词边缘计算    EDGE TPU计算板    图形处理单元    Roofline模型    现场可编程逻辑门阵列    
Performance and Power Consumption Measurement and Analysis of Edge Computing Devices
YUAN Jiawei1 , SONG Qingzeng1 , WANG Xuechun1 , JIANG Wenchao2 , JIN Guanghao1     
1. School of Computer Science and Technology, Tianjin Polytechnic University, Tianjin 300387, China;
2. School of Computer, Guangdong University of Technology, Guangzhou 510006, China
Abstract: In order to solve the computing delay caused by transmitting data back to server-side, the neural network structure is needed to be adjusted and deployed on edge computing devices.However, the current measurement of the performance and power consumption of edge devices is not comprehensive.To analyze and evaluate the performance and power consumption of the latest edge computing device, EDGE TPU computing board, neural network models are used to analyze and measure its performance based on the Roofline model.An external power consumption measurement device is used to measure its power consumption and calculate its performance-to-power ratio.Experimental results show that the EDGE TPU computing board can execute the quantized neural network at a very high speed.The execution speed and energy consumption of the EDGE TPU computing board are both better than those of TX2 and NANO.And the VGG 16 network is optimized based on the Roofline model of TX2.The improved model runs about 8 times as fast as the original model on TX2.
Key words: edge computing    EDGE TPU computing board    Graphics Processing Unit(GPU)    Roofline model    Field Programmable Gate Array(FPGA)    
0 概述

在当前神经网络应用(人脸识别、自动驾驶等)普遍增长的背景下,大型与复杂的神经网络将面向商业化发展。根据IDC[1]预测,到2020年全球产生的数据总量将大于40 ZB,在这种情形下,以服务器为计算核心的集中式处理模式将无法高效处理边缘设备产生的数据。因此,边缘计算[2]就显得尤为重要,边缘计算数据处理更接近数据来源,具有实时和快速进行数据处理分析的优点[3],这对于神经网络的商业化而言至关重要。

EDGE TPU计算板是当前最新的边缘计算设备,该设备集成了专为运行神经网络所设计的专用集成电路(ASIC)芯片,在以较快的速度运行神经网络的同时又能保持较低的功耗。NVIDIA Jetson TX2是一款面向人工智能的超级计算机模块,采用Maxwell GPU架构引入了流式处理多处理器(SM)的全新设计,支持32位单精度和16位半精度运算。Jetson NANO在TX1基础上弱化了数据流,并显著改善了电源管理,拥有128个CUDA核心,支持32位单精度计算和16位半精度计算,其中半精度计算的吞吐量为单精度的两倍。

对于Jetson TX2与而言,在发布时研究人员分析了其与深度学习模型的适配度,该实验将神经网络在不同框架下实现,对比TensorFlow、Caffe2、PyTorch等框架不同时的能耗和延迟情况[4]。随后有多种神经网络基于TX2的实现与优化,以及调整TX2的工作模式来分析比较不同模式下运行神经网络的延迟与能耗[5]

目前有实验将神经网络部署在Jetson NANO边缘计算板上,该实验对具有实时语义分段功能的卷积网络进行改进,使用深度卷积来代替普通卷积以减轻网络负担,获得了较好的效果,平均交并比和FPS分别达到54.47%和47[6]

FPGA原是作为一种半集成电路而出现的,目前多用来加速神经网络,在2007年,研究人员将前馈神经网络部署在FPGA上,根据要实现的功能划分与片上资源提出了通量估计器,通过该估算器部署神经网络,能以较低的消耗运行前馈神经网络[7]。目前已经有研究人员将流行神经网络部署在FPGA上,对YOLO V2中的部分参数进行二值化处理,实现了基于混合精度的YOLO V2架构[8]

当前神经网络提升性能的方法主要有避免使用全连接层[9]、缩小卷积核与减少通道数、将下采样时间尽量提前、对训练好的神经网络进行剪枝操作[10]、量化权重、使用霍夫曼编码方式表示权重等6种。其中前4种都可减少计算量与访存量,量化权重与用编码方式表示权重可以降低访存量。使用建立Roofline模型查看在当前平台上运行的神经网络受何种因素限制,进而采取对应的方式来加速神经网络。

目前较少有在EDGE TPU计算板上的应用及Jetson NANO与EDGE TPU的性能功耗评测分析,且多数的Roofline研究只涉及性能测量与比较。本文对多种开发板的理论速度与实际测量速度使用Roofline模型进行建模,比较不同平台的理论与实际模型,测量分析模型性能,并对设备性能功耗进行比较,为设备的商业化应用提供更全面的应用数据。

1 本文研究方法

本文选用Roofline[11]模型作为评判性能的工具,测量计算出各个神经网络在不同平台运行时的帧率与运行推断时所需算力,构建各个基于不同平台神经网络的Roofline模型,以直观地观测出模型的性能,根据该实验结果可对在边缘设备上运行的神经网络进行优化以提高运行速率。

利用外置功耗测量设备,分别测量出不同平台的待机与工作功耗,再根据模型运行速度计算得出效能功耗比模型[12],即可对比观测各个平台待机时功率与运行神经网络时的性能能耗比,本文在实验中添加了服务器级别GPU(K40、K80)作为对照组进行对比,来突出边缘计算具有较大的优势与极高的发展潜力。

EDGE TPU具有4 TOPS的峰值计算量与50 Gb/s的带宽,EDGE TPU又仅支持通过量化所产生的8位整型数据运算,8位整型乘法处理器占用的面积与消耗的能量均为IEEE754定义的FP16处理器的1/6。因此,EDGE TPU计算板在以较快的速度运行的同时,又能保持较低的功耗。

TPU在运行之前的准备工作中的重要数据处理步骤是量化,虽然量化会在一定程度上降低精度,但一般神经网络模型拥有较好的泛化能力,表 1所示为单精度(FP32)和8位定点权重参数的Mobile Net V2[13]及Inception V4[14]的正确率,可见进行量化之后并没有对精度造成较大的影响。

下载CSV 表 1 不同神经网络单精度和8位定点参数的正确率 Table 1 Accuracy of single precision and 8-bit fixed point parameters of different neural networks

本文采用常用的神经网络作为实验对象,如Mobile Net[15]与Inception[16]均为当前市场化应用较多的神经网络。4种常用神经网络基本情况如表 2所示。

下载CSV 表 2 4种常用神经网络基本情况 Table 2 Basic situation of four common neural networks
2 Roofline模型的性能分析

为观察测试网络模型在3个平台上的表现,本文引入Roofline模型,该模型是一种常用的设备性能分析模型,它将计算性能、计算密度和存储性能等相关联[17],并在一个二维坐标系中表示出来,Roofline模型背后的假设是网络模型不适合片上高速缓存,因此神经网络在Roofline模型中的位置受计算力限制与内存带宽限制。在二维坐标系中,Y轴为每秒浮点运算次数,因此峰值计算速率形成Roofline模型中的“平坦”部分[18]X轴是计算强度,测量为每个访问的DRAM字节的浮点运算,内存带宽是每秒字节数。因为(OPS/s)/(OPS/B)=Byte/s,变成了Roofline的“倾斜”部分。如果没有足够大的计算强度,网络模型会受到内存带宽限制,并且在坐标系中位于倾斜部分下方。

为测绘计算平台的Roofline曲线,需要计算计算平台理论上的算力峰值和显存带宽:

${\rm{OP}}{{\rm{S}}_{{\rm{peak}}}} = {\rm{Pr}}{{\rm{o}}_{{\rm{num}}}} \times {\rm{OpePerSe}}{{\rm{c}}_{{\rm{num}}}} $ (1)

其中,OPS表示算力,PRO用来表示处理器数量,OpePerSec表示每个处理器每秒钟操作数,将TX2、NANO和EDGE TPU计算板的参数分别代入式(1),得出的算力分别为1.3 TOPS、471 GOPS和4 TOPS(8位)。服务器级别GPU(K80、K40)的峰值算力数据也可计算得出8.74 TFLOPS(FP32)和4.29 TFLOPS(FP32)。

Roofline模型的另一个重要元素为内存带宽,峰值带宽的计算公式如式(2)所示:

${\rm{B}}{{\rm{W}}_{{\rm{theory}}}} = {\rm{ClockRat}}{{\rm{e}}_{{\rm{memory}}}} \times {\rm{BitW}} \times 2 $ (2)

其中,BW代表带宽,ClockRate代表时钟频率,BitW代表位宽。将参数代入式(2)可得K80、K40、TX2、NANO、Coral的理论带宽分别为480 Gb/s、288 Gb/s、58.3 Gb/s、25.6 Gb/s和50 Gb/s。

根据所得算力及带宽信息,可得3块边缘计算板的理论Roofline模型如图 1所示。

Download:
图 1 TX2、NANO、Coral的Roofline模型 Fig. 1 Roofline model of TX2, NANO, Coral

图 1中的Roofline图像采用对数直角坐标系,Coral算力值采用处理INT8数据类型算力值,从图 1可以看出,Coral算力约为TX2算力的3倍和NANO的8倍。这是由于Coral开发板承载了EDGE TPU,该TPU改进结构以适应神经网络的部署以及使用量化8位定点数据的方式来加速计算。计算板的显存带宽受硬件实现、线路上的电磁干扰和其他诸多复杂的物理因素的影响[19]。使用CUDA自带的测试带宽的应用实例Bandwidth,实际测得TX2、NANO的带宽分别为33.2 Gb/s、14.7 Gb/s,另测得Coral的实际带宽约为30 Gb/s。

TX2的实际Roofline模型如图 2所示。

Download:
图 2 TX2的实际Roofline模型 Fig. 2 Actual Roofline model of TX2

当计算强度到达40 OPS/Byte时,算力达到峰值,在坐标系中即平行X轴向右。虽然在实际中还有其他因素的影响使各个神经网络在图 2中的位置并不能坐落在Roofline线上,但是每一个神经网络与Roofline线峰值的距离都反映了调整操作强度的好处[20]。对应Y轴距离的差值反映的是缓存阻塞之类的问题。当神经网络落点在斜线部分时,因受到带宽限制,故不能达到计算平台的峰值[21]

NANO的实际Roofline模型如图 3所示。

Download:
图 3 NANO的实际Roofline模型 Fig. 3 Actual Roofline model of NANO

当计算强度到达32 OPS/Byte时,算力达到峰值,在坐标系中即平行X轴向右。若要建立关于EDGE TPU计算板的Roofline模型,则要对神经网络进行量化,由于原来的权重不适应EDGE TPU,因此要将浮点型参数变为整型参数,此外,参数的变化要求重新定义计算强度,因此,将计算强度改为每字节计算数[22]

当计算强度到达136 OPS/Byte时,算力达到峰值,在坐标系中即平行X轴向右。从图 4可以看出,Coral中的4种神经网络运行结果较好。

Download:
图 4 Coral的实际Roofline模型 Fig. 4 Actual Roofline model of Coral

图 5所示,EDGE TPU计算板的Roofline的“倾斜”部分较长,峰值最高,在Coral上运行的神经网络均有较好的结果,4种网络中的3种算力值最高,这主要有以下2种原因:

Download:
图 5 合并后的实际Roofline模型 Fig. 5 Combined actual Roofline model

1)经过量化处理的神经网络计算强度变大,在Roofline的图像上自然要向右移,对于受带宽限制(斜线区域)的神经网络改善较大。

2)Coral集成的EDGE TPU算力值较高,对于处于算力值限制(平行线区域)的神经网络有明显提升。

图 5可以看出:TX2的表现趋于稳定,TX2对于Inception V4的执行取得了最佳结果,在3种边缘计算版中具有最高带宽;TX2具有1.3T的峰值算力,具有强大的灵活性,支持多种深度学习框架,可以用来训练神经网络。

NANO的Roofline形状和TX2基本相似(NANO的构造和TX1的大部分参数相同),各个神经网络计算强度一样,但基于TX2运行的神经网络算力值约为基于NANO的2倍,比TX2和NANO在大小和价格上的差距要小得多。

3 功耗测量与分析

当设备在投入应用时,能耗往往是一个需要考虑的问题。本文使用性能/瓦特作为一个评测标准来进行分析,并且引入K40与K80[23]进行比较。

功耗测量设备型号为EXTECH-380803,误差为±0.9%,输入电流为220 V交流电。嵌入式设备能耗数据来自整块板卡能耗,K40与K80能耗数据来自显卡内部寄存器取值。测量Jetson NANO的能耗值示意图如图 6所示。

Download:
图 6 Jetson NANO能耗值测量示意图 Fig. 6 Schematic diagram of Jetson NANO energy consumption value measurement

虽然K80与K40只支持单双精度计算,但算力峰值仍超出3个边缘计算平台算力峰值,带宽远超边缘计算板带宽,K40与K80广泛应用于云端服务器[24-25]

K80、K40的Roofline模型如图 7所示。

Download:
图 7 K80、K40的Roofline模型 Fig. 7 Roofline model of K80, K40
3.1 空闲功耗测量与分析

为测量出准确的空闲能耗,设边缘计算板均为开机后未运行任何任务的情况下,K80与K40均为P8[26]状态。

NANO、Coral、TX2、K40、K80的待机功率值如图 8所示。其中,NANO、TX2、Coral为整个开发板功耗,K40与K80为单GPU在P8状态下的功耗可以看出,NANO实测最低为1.4 W,约为K80的1/40和TX2的1/5,边缘开发版中TX2待机功率最高。

Download:
图 8 NANO、Coral、TX2、K40、K80待机功率 Fig. 8 Standby power of NANO, Coral, TX2, K40, K80 computing boards
3.2 工作功耗测量与分析

在工作状态下测量各个平台的功耗[27]图 9所示。可以看出,虽然K40与K80具有相当高的算力与带宽[28],但在此项比值中却占据了后两名,边缘计算板的性能功耗比对于服务器来说有较大的优势,其中EDGE TPU计算板的性能功耗比较高,远高于其他边缘开发板。Coral性能功耗比约为NANO的12倍和TX2的6倍,这意味着执行同样的任务,使用EDGE TPU计算板可以极大地节约能源[29]

Download:
图 9 NANO、Coral、TX2、K40、K80算力与功耗比值 Fig. 9 NANO, Coral, TX2, K40, K80 computing power to power consumption ratio

本文分别测试了4种神经网络(MNSSD V1、MNSSD V2、Inception V1、Inception V4)在3种硬件平台上实现的各项指标,实验结果如表 3所示。

下载CSV 表 3 4种神经网络的实验结果 Table 3 Experimental results of four neural networks
4 模型改进

将传统模型VGG 16[30]在TX2上运行,每秒处理图片数约为31张,Roofline模型如图 10所示。该模型在坐标系中的位置较为靠近斜线部分,说明在TX2上运行VGG 16时受访存量限制。为加快模型运行速度,更多地利用TX2的性能,对传统的VGG 16网络结构进行修改,将卷积核维度缩减到原来的1/5左右,减少通道数量以达到减小计算量与访存量的目的。实验结果表明,在准确度下降仅为5%左右的前提下,将每秒图片处理数提升至255张左右,极大地加快了模型运行速度。同时提高了TX2的资源利用率,将每秒操作数提升至0.83 TOPS左右。

Download:
图 10 运行在TX2上的Roofline模型 Fig. 10 Roofline model running on TX2
5 结束语

本文以边缘计算板作为实验平台,分别建立了TX2、NANO、Coral开发板的理论与实际Roofline模型并进行综合比较,根据量化后的神经网络计算算力和访存量,并分析TX2、NANO、Coral 3块边缘计算板及云端服务器的功耗性能。实验结果表明,EDGE TPU计算板具有较高算力值与最优性能功耗比,其执行速度约为TX2的1.5倍和NANO的3倍,Coral的性能功耗比约为TX2的6倍和NANO的12倍。下一步将对边缘设备上运行的多种神经网络优化方式及其组合进行比较分析,研究在设备运算性能受限情况下如何最大化地优化神经网络。

参考文献
[1]
TURNER V, GANTZ J F, REINSEL D, et al.The digital universe of opportunities: rich data and the increasing value of the Internet of things[EB/OL].[2019-09-01].https://www.docin.com/p-1440446108.html.
[2]
SHI Weisong, SUN Hui, CAO Jie, et al. Edge computing-an emerging computing model for the Internet of everything era[J]. Journal of Computer Research and Development, 2017, 54(5): 907-924. DOI:10.7544/issn1000-1239.2017.20160941
[3]
SHI Weisong, CAO Jie, ZHANG Quan, et al. Edge computing:vision and challenges[J]. IEEE Internet of Things Journal, 2016, 3(5): 637-646. DOI:10.1109/JIOT.2016.2579198
[4]
ZHANG Xingzhong, WANG Yifan, SHI Weisong.PCAMP: performance comparison of machine learning packages on the edges[C]//Proceedings of IEEE International Workshop on Hot Topics in Edge Computing.Washington D.C., USA: IEEE Press, 2018: 1-10.
[5]
RUNGSUPWEEKOON K, VISOOTTIVISETH V, TAKANO R.Evaluating the power efficiency of deep learning inference on embedded GPU systems[C]//Proceedings of the 2nd IEEE International Conference on Informa-tion Technology.Washington D.C., USA: IEEE Press, 2017: 1-5.
[6]
ZHENG Junfeng, LI Jiangyun, LIU Yan, et al.Real-time semantic segmentation network for edge deployment[C]//Proceedings of CISC'19.Berlin, Germany: Springer, 2019: 123-134.
[7]
HIMAVATHI S, ANITHA D, MUTHURAMALINGAM A. Feedforward neural network implementation in FPGA using layer multiplexing for effective resource utilization[J]. IEEE Transactions on Neural Networks, 2007, 18(3): 880-888. DOI:10.1109/TNN.2007.891626
[8]
HIROKI N, SHIMODA M, SATO S.A demonstration of FPGA-based you only look once version2[C]//Proceedings of the 28th International Conference on Field Programmable Logic and Applications.Washington D.C., USA: IEEE Press, 2018: 434-445.
[9]
GUO Kaiyuan, ZENG Shulin, YU Jingcheng, et al.A survey of fpga-based neural network accelerator[EB/OL].[2019-09-01].https://arxiv.org/abs/1712.08934.
[10]
WILLIAMS S, WATERMAN A, PATTERSON D.Roofline: an insightful visual performance model for floating-point programs and multicore architectures[EB/OL].[2019-09-01].http://www.doc88.com/p-8969745080678.html.
[11]
LAUDON J. Performance/watt:the new server focus[J]. ACM SIGARCH Computer Architecture News, 2005, 33(4): 5-13. DOI:10.1145/1105734.1105737
[12]
SANDLER M, HOWARD A, ZHU M, et al.Mobilenetv2: inverted residuals and linear bottlenecks[C]//Proceedings of IEEE Conference on Computer Vision and Pattern Recognition.Washington D.C., USA: IEEE Press, 2018: 4510-4520.
[13]
SZEGEDY C, IOFFE S, VANHOUCKE V, et al.Inception-v4, inception-resnet and the impact of residual connections on learning[C]//Proceedings of the 31st AAAI Conference on Artificial Intelligence.Washington D.C., USA: IEEE Press, 2017: 158-167.
[14]
HOWARD A G, ZHU M, CHEN B, et al.MobileNets: efficient convolutional neural networks for mobile vision applications[EB/OL].[2019-09-01].https://arxiv.org/pdf/1704.04861.pdf.
[15]
SZEGEDY C, LIU W, JIA Y, et al.Going deeper with convolutions[C]//Proceedings of IEEE Conference on Computer Vision and Pattern Recognition.Washington D.C., USA: IEEE Press, 2015: 1-9.
[16]
JOUPPI N P, YOUNG C, PATIL N, et al.In-datacenter performance analysis of a tensor processing unit[C]//Proceedings of the 44th ACM/IEEE Annual International Symposium on Computer Architecture.Washington D.C., USA: IEEE Press, 2017: 1-12.
[17]
JOUPPI N, YOUNG C, PATIL N, et al. Motivation for and evaluation of the first tensor processing unit[J]. IEEE Micro, 2018, 38(3): 10-19. DOI:10.1109/MM.2018.032271057
[18]
ASANOVIC K, ARBIB M A.Programmable neuro computing in the handbook of brain theory and neural networks[M].[S.1]: MIT Press, 2002: 223-235.
[19]
KING A, BHANGDARKAR S M, HOPKINSON B M.A comparison of deep learning methods for semantic segmentation of coral reef survey images[C]//Proceedings of IEEE Conference on Computer Vision and Pattern Recognition.Washington D.C., USA: IEEE Press, 2018: 1394-1402.
[20]
REAGEN B, WHATMOUGH P, ADOLF R, et al.Minerva: enabling low-power highly-accurate deep neural network accelerators[C]//Proceedings of International Conference on Computer Architecture.Washington D.C., USA: IEEE Press, 2016: 336-348.
[21]
HONG S, KIM H. An integrated GPU power and performance model[J]. ACM SIGARCH Computer Architecture News, 2010, 38(3): 280-289. DOI:10.1145/1816038.1815998
[22]
RODRIGUES R, ANNAMALAI A, KOREN I, et al.Performance per watt benefits of dynamic core morphing in asymmetric multicores[C]//Proceedings of 2011 International Conference on Parallel Architectures and Compilation Techniques.Washington D.C., USA: IEEE Press, 2011: 121-130.
[23]
OFENBECK G, STEINMANN R, CAPARROS V, et al.Applying the roofline model[C]//Proceedings of 2014 IEEE International Symposium on Performance Analysis of Systems and Software.Washington D.C., USA: IEEE Press, 2014: 76-85.
[24]
ASANOVIC K, JOHNSON J, BECK J.et al.Parallel architectures for artificial networks: paradigms and implementations[EB/OL].[2019-09-01].https://people.eecs.berkeley.edu/-krste/papers/annbook.pdf.
[25]
CHEN Y J, SZE E V.Eyeriss: a spatial architecture for energy-efficient dataflow for convolutional neural networks[C]//Proceedings of International Conference on Computer Architecture.Washington D.C., USA: IEEE Press, 2016: 1564-1578.
[26]
BARROSO L A, HOLZLE U. The case for energy-proportional computing[J]. IEEE Computer, 2007, 40(12): 33-37. DOI:10.1109/MC.2007.443
[27]
HONG S, KIM H. An integrated GPU power and performance model[J]. ACM SIGARCH Computer Architecture News, 2010, 38(3): 280-289. DOI:10.1145/1816038.1815998
[28]
RODRIGUES R, ANNAMALAI A, KOREN I, et al.Performance per watt benefits of dynamic core morphing in asymmetric multicores[C]//Proceedings of 2011 International Conference on Parallel Architectures and Compilation Techniques.Washington D.C., USA: IEEE Press, 2011: 121-130.
[29]
CHOI J W, BEDARD D, FOELER R, et al.A roofline model of energy[C]//Proceedings of the 27th IEEE International Symposium on Parallel and Distributed Processing.Washington D.C., USA: IEEE Press, 2013: 661-672.