计算机论文-20180724

来自专栏计算机论文精选4 人赞了文章

1. Paving the Way for NFV: Simplifying Middlebox Modifications using StateAlyzr【NSDI』16】

NFV(网路功能虚拟化)通过及时的启动实例和重定向网路流量来提供应对突发流量的灵活性,而这个过程需要对各个NF(网路能)的状态进行控制。网路功能的内部状态需要通过对其软体实现进行深入的分析才能获得,但由于NF都非常不同,且相当复杂,手动挖掘内部状态非常耗时。因此本文提出了StateAlyzr这个框架,它结合了已有的代码分析工具的功能,自动化地寻找在重新分配流量时需要被迁移或复制的NF状态。StateAlyzr框架可以节省20倍以上的人工时。

2. In-Datacenter Performance Analysis of a Tensor Processing Unit【ISCA』17】

Google在2015年研发了自己的神经网路加速器-TPU,本篇文章是17年google发表的针对2015年TPU在数据中心上的性能评估,本文简要介绍了TPU的设计框架,主要对比了CPU,GPU和TPU的性能,其中CPU使用Haswell架构的E5-2699 v3,GPU使用Nvidia的K80显卡。

TPU的设计主旨是首先要确保数据中心神经网路网路相关服务满足相应时间的要求而非单纯追求最大的吞吐量,然后再优化吞吐量和能耗开销。神经网路的计算模式是固定的(主要是乘加运算),而且通过8bit的整数运算得到的结果准确度基本上可以达到32bit的浮点数运算的效果,因此,TPU执行整数的乘加运算。TPU主要构成是一个矩阵乘法单元和一个高达24MB的片上缓存,矩阵乘法单元负责卷积中的乘操作,片上缓存负责存储中间值并作为矩阵乘法单元的输入,为了降低能耗,矩阵乘法单元以一种名为systolic execution的方式执行以减少对片上缓存数据的访问。TPU使用复杂指令集以减少对带宽的需求,每条指令的执行时间为10-20时钟周期,并使用了4级流水。进一步地,使用了decoupled-access/execute技术以使得矩阵乘法单元极可能处于busy状态。

本文指出,在目前的数据中心相关服务中,基于CNN的应用仅占整体的5%,而其他大多是基于MLP和LSTM的。在随后的评估中,也发现TPU对MLP和LSTM的加速效果更好。与CPU、GPU相比,TPU的roofline拐点比GPU和CPU分别滞后了1个和2个数量级,这意味著后两者的主要还受限于计算瓶颈,而TPU在运行大多数应用时是受限于带宽瓶颈。除了TPU是专用处理器外,最大的原因在于响应时间,在限定响应时间的情况下,CPU和GPU只能使用更小的batch,因而只能发挥峰值性能的42%和37%,而TPU能发挥自身80%的性能。在功耗上,设计上的简洁(没有分支预测、乱序执行等大量复杂单元)每片TPU的功耗是Hashwell晶元功耗的50%以下,是K80的60%。在限定响应时间的情况下,TPU的performance/Watt比GPU和CPU高15x-30x左右。

推荐阅读:

相关文章