計算機論文-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左右。

推薦閱讀:

相關文章