深入理解CPU和異構計算芯片GPU/FPGA/ASIC (上篇)


 

王玉偉,騰訊TEG架構平台部平台開發中心基礎研發組資深工程師,專注於為數據中心提供高效的異構加速雲解決方案。目前,FPGA已在騰訊海量圖片處理以及檢測領域已規模上線。

隨着互聯網用戶的快速增長,數據體量的急劇膨脹,數據中心對計算的需求也在迅猛上漲。諸如深度學習在線預測、直播中的視頻轉碼、圖片壓縮解壓縮以及HTTPS加密等各類應用對計算的需求已遠遠超出了傳統CPU處理器的能力所及。摩爾定律失效的今天,關注“新“成員(GPU\FPGA\ASIC)為數據中心帶來的體系架構變革,為業務配上一台動力十足的發動機。

1 異構計算:WHY

明明CPU用的好好的,為什么我們要考慮異構計算芯片呢?

隨着互聯網用戶的快速增長,數據體量的急劇膨脹,數據中心對計算的需求也在迅猛上漲。諸如深度學習在線預測、直播中的視頻轉碼、圖片壓縮解壓縮以及HTTPS加密等各類應用對計算的需求已遠遠超出了傳統CPU處理器的能力所及。

歷史上,受益於半導體技術的持續演進,計算機體系結構的吞吐量和系統性能不斷提高,處理器的性能每18個月就能翻倍(眾所周知的“摩爾定律”),使得處理器的性能可以滿足應用軟件的需求。但是,近幾年半導體技術改進達到了物理極限,電路越來越復雜,每一個設計的開發成本高達數百萬美元,數十億美元才能形成新產品投產能力。2016年3月24日,英特爾宣布正式停用“Tick-Tock”處理器研發模式,未來研發周期將從兩年周期向三年期轉變。至此,摩爾定律對英特爾幾近失效。

一方面處理器性能再無法按照摩爾定律進行增長,另一方面數據增長對計算性能要求超過了按“摩爾定律”增長的速度。處理器本身無法滿足高性能計算(HPC:High Performance Compute)應用軟件的性能需求,導致需求和性能之間出現了缺口(參見圖1)。

一種解決方法是通過硬件加速,采用專用協處理器的異構計算方式來提升處理性能。

圖1 計算需求和計算能力的缺口發展形式

2 異構計算:STANDARDS

通常我們在為業務提供解決方案的時候,部署平台會有四種選擇CPU、GPU、FPGA、ASIC。那有什么標准來評判計算平台的優劣呢?


圖:我是法官,標准我說了算

當今理想的協處理器應該是基於硬件的設計,具備三種基本能力。第一是設計能夠提供專門的硬件加速實現各種應用中需要的關鍵處理功能。其次是協處理器設計在性能上非常靈活,使用流水線和並行結構,跟上算法更新以及性能的需求變化。最后,協處理器能夠為主處理器和系統存儲器提供寬帶、低延遲接口。

除了硬件要求以外,理想的協處理器還應該滿足HPC市場的“4P”要求:性能(performance)、效能(productivity)、功耗(power)和價格(price)。

HPC市場對性能的最低要求是全面加速實現算法,而不僅僅是某一步驟,並能夠加速實現整個應用軟件。

效能需求來自最終用戶。在現有的計算機系統中,協處理器必須安裝起來很方便,提供簡單的方法來配置系統,加速實現現有的應用軟件。

HPC市場的功耗需求來自計算系統安裝和使用上的功耗限制。對於大部分用戶,能夠提供給計算機的空間有限。計算系統的功耗越小,那么可以采取更少的散熱措施來保持計算機不會過熱。因此,低功耗協處理器不但能夠為計算系統提供更低的運轉成本,而且還提高了計算系統的空間利用率。

價格因素在HPC市場上顯得越來越重要。十幾年前,某些應用軟件對性能的需求超出了單個處理器能力范圍,這促使人們采用專用體系結構,例如密集並行處理(MPP)和對稱多處理(SMP)等。然而,這類系統要求使用定制處理器單元和專用數據通路,開發和編程都非常昂貴。

現在的HPC市場拋棄了如此昂貴的方法,而是采用性價比更高的集群計算方法。集群計算采用商用標准體系結構,例如Intel和AMD;采用工業標准互聯,例如萬兆以太網和InfiniBand;采用標准程序語言,例如運行在低成本Linux操作系統上的C語言等。當今的協處理器設計必須能夠平滑集成到商用集群計算環境中,其成本和在集群中加入另一個節點大致相當。

了解了基本的評判標准之后,我們以當今最火的深度學習為例,從芯片架構、計算性能、功耗、開發難度幾個方面來對幾種不同的芯片進行分析對比。

3.2 芯片計算性能

深度學習的學名又叫深層神經網絡(Deep Neural Networks),是從人工神經網絡(Artificial Neural Networks)模型發展而來。我們以深度學習作為切入點來分析各個芯片的性能。圖3是神經網絡的基本結構,模型中每一層的大量計算是上一層的輸出結果和其對應的權重值這兩個矩陣的乘法運算。

圖3 神經網絡基本結構

橫向對比CPU,GPU,FPGA,ASIC計算能力,實際對比的是:

1.硬件芯片的乘加計算能力。

2.為什么有這樣乘加計算能力?

3.是否可以充分發揮硬件芯片的乘加計算能力?

帶着這三個問題,我們進行硬件芯片的計算能力對比。

 

 


 

相關推薦

深入理解CPU和異構計算芯片GPU/FPGA/ASIC (下篇)

精細化容量管理的設備成本優化之路

 


 

 

此文已由作者授權騰訊雲技術社區發布,轉載請注明文章出處,獲取更多雲計算技術干貨,可請前往騰訊雲技術社區
歡迎大家關注騰訊雲技術社區-博客園官方主頁,我們將持續在博客園為大家推薦技術精品文章哦~
傳播騰訊海量技術實踐經驗,www.qcloud.com

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM