深入理解CPU和異構(gòu)計(jì)算芯片GPU/FPGA/ASIC
隨著互聯(lián)網(wǎng)用戶的快速增長(zhǎng),數(shù)據(jù)體量的急劇膨脹,數(shù)據(jù)中心對(duì)計(jì)算的需求也在迅猛上漲。諸如深度學(xué)習(xí)在線預(yù)測(cè)、直播中的視頻轉(zhuǎn)碼、圖片壓縮解壓縮以及HTTPS加密等各類應(yīng)用對(duì)計(jì)算的需求已遠(yuǎn)遠(yuǎn)超出了傳統(tǒng)CPU處理器的能力所及。摩爾定律失效的今天,關(guān)注“新“成員(GPU\FPGA\ASIC)為數(shù)據(jù)中心帶來(lái)的體系架構(gòu)變革,為業(yè)務(wù)配上一臺(tái)動(dòng)力十足的發(fā)動(dòng)機(jī)。
1 異構(gòu)計(jì)算:WHY明明CPU用的好好的,為什么我們要考慮異構(gòu)計(jì)算芯片呢?
隨著互聯(lián)網(wǎng)用戶的快速增長(zhǎng),數(shù)據(jù)體量的急劇膨脹,數(shù)據(jù)中心對(duì)計(jì)算的需求也在迅猛上漲。諸如深度學(xué)習(xí)在線預(yù)測(cè)、直播中的視頻轉(zhuǎn)碼、圖片壓縮解壓縮以及HTTPS加密等各類應(yīng)用對(duì)計(jì)算的需求已遠(yuǎn)遠(yuǎn)超出了傳統(tǒng)CPU處理器的能力所及。
歷史上,受益于半導(dǎo)體技術(shù)的持續(xù)演進(jìn),計(jì)算機(jī)體系結(jié)構(gòu)的吞吐量和系統(tǒng)性能不斷提高,處理器的性能每18個(gè)月就能翻倍(眾所周知的“摩爾定律”),使得處理器的性能可以滿足應(yīng)用軟件的需求。但是,近幾年半導(dǎo)體技術(shù)改進(jìn)達(dá)到了物理極限,電路越來(lái)越復(fù)雜,每一個(gè)設(shè)計(jì)的開(kāi)發(fā)成本高達(dá)數(shù)百萬(wàn)美元,數(shù)十億美元才能形成新產(chǎn)品投產(chǎn)能力。2016年3月24日,英特爾宣布正式停用“Tick-Tock”處理器研發(fā)模式,未來(lái)研發(fā)周期將從兩年周期向三年期轉(zhuǎn)變。至此,摩爾定律對(duì)英特爾幾近失效。
一方面處理器性能再無(wú)法按照摩爾定律進(jìn)行增長(zhǎng),另一方面數(shù)據(jù)增長(zhǎng)對(duì)計(jì)算性能要求超過(guò)了按“摩爾定律”增長(zhǎng)的速度。處理器本身無(wú)法滿足高性能計(jì)算(HPC:High Performance Compute)應(yīng)用軟件的性能需求,導(dǎo)致需求和性能之間出現(xiàn)了缺口(參見(jiàn)圖1)。
一種解決方法是通過(guò)硬件加速,采用專用協(xié)處理器的異構(gòu)計(jì)算方式來(lái)提升處理性能。
圖1 計(jì)算需求和計(jì)算能力的缺口發(fā)展形式
2 異構(gòu)計(jì)算:STANDARDS通常我們?cè)跒闃I(yè)務(wù)提供解決方案的時(shí)候,部署平臺(tái)會(huì)有四種選擇CPU、GPU、FPGA、ASIC。那有什么標(biāo)準(zhǔn)來(lái)評(píng)判計(jì)算平臺(tái)的優(yōu)劣呢?
圖:我是法官標(biāo)準(zhǔn)我說(shuō)了算
當(dāng)今理想的協(xié)處理器應(yīng)該是基于硬件的設(shè)計(jì),具備三種基本能力。第一是設(shè)計(jì)能夠提供專門(mén)的硬件加速實(shí)現(xiàn)各種應(yīng)用中需要的關(guān)鍵處理功能。其次是協(xié)處理器設(shè)計(jì)在性能上非常靈活,使用流水線和并行結(jié)構(gòu),跟上算法更新以及性能的需求變化。最后,協(xié)處理器能夠?yàn)橹魈幚砥骱拖到y(tǒng)存儲(chǔ)器提供寬帶、低延遲接口。
除了硬件要求以外,理想的協(xié)處理器還應(yīng)該滿足HPC市場(chǎng)的“4P”要求:性能(performance)、效能(productivity)、功耗(power)和價(jià)格(price)。
HPC市場(chǎng)對(duì)性能的最低要求是全面加速實(shí)現(xiàn)算法,而不僅僅是某一步驟,并能夠加速實(shí)現(xiàn)整個(gè)應(yīng)用軟件。
效能需求來(lái)自最終用戶。在現(xiàn)有的計(jì)算機(jī)系統(tǒng)中,協(xié)處理器必須安裝起來(lái)很方便,提供簡(jiǎn)單的方法來(lái)配置系統(tǒng),加速實(shí)現(xiàn)現(xiàn)有的應(yīng)用軟件。
HPC市場(chǎng)的功耗需求來(lái)自計(jì)算系統(tǒng)安裝和使用上的功耗限制。對(duì)于大部分用戶,能夠提供給計(jì)算機(jī)的空間有限。計(jì)算系統(tǒng)的功耗越小,那么可以采取更少的散熱措施來(lái)保持計(jì)算機(jī)不會(huì)過(guò)熱。因此,低功耗協(xié)處理器不但能夠?yàn)橛?jì)算系統(tǒng)提供更低的運(yùn)轉(zhuǎn)成本,而且還提高了計(jì)算系統(tǒng)的空間利用率。
價(jià)格因素在HPC市場(chǎng)上顯得越來(lái)越重要。十幾年前,某些應(yīng)用軟件對(duì)性能的需求超出了單個(gè)處理器能力范圍,這促使人們采用專用體系結(jié)構(gòu),例如密集并行處理(MPP)和對(duì)稱多處理(SMP)等。然而,這類系統(tǒng)要求使用定制處理器單元和專用數(shù)據(jù)通路,開(kāi)發(fā)和編程都非常昂貴。
現(xiàn)在的HPC市場(chǎng)拋棄了如此昂貴的方法,而是采用性價(jià)比更高的集群計(jì)算方法。集群計(jì)算采用商用標(biāo)準(zhǔn)體系結(jié)構(gòu),例如Intel和AMD;采用工業(yè)標(biāo)準(zhǔn)互聯(lián),例如萬(wàn)兆以太網(wǎng)和InfiniBand;采用標(biāo)準(zhǔn)程序語(yǔ)言,例如運(yùn)行在低成本Linux操作系統(tǒng)上的C語(yǔ)言等。當(dāng)今的協(xié)處理器設(shè)計(jì)必須能夠平滑集成到商用集群計(jì)算環(huán)境中,其成本和在集群中加入另一個(gè)節(jié)點(diǎn)大致相當(dāng)。
了解了基本的評(píng)判標(biāo)準(zhǔn)之后,我們以當(dāng)今最火的深度學(xué)習(xí)為例,從芯片架構(gòu)、計(jì)算性能、功耗、開(kāi)發(fā)難度幾個(gè)方面來(lái)對(duì)幾種不同的芯片進(jìn)行分析對(duì)比。
3.2 芯片計(jì)算性能深度學(xué)習(xí)的學(xué)名又叫深層神經(jīng)網(wǎng)絡(luò)(Deep Neural Networks),是從人工神經(jīng)網(wǎng)絡(luò)(Artificial Neural Networks)模型發(fā)展而來(lái)。我們以深度學(xué)習(xí)作為切入點(diǎn)來(lái)分析各個(gè)芯片的性能。圖3是神經(jīng)網(wǎng)絡(luò)的基本結(jié)構(gòu),模型中每一層的大量計(jì)算是上一層的輸出結(jié)果和其對(duì)應(yīng)的權(quán)重值這兩個(gè)矩陣的乘法運(yùn)算。
圖3 神經(jīng)網(wǎng)絡(luò)基本結(jié)構(gòu)
橫向?qū)Ρ菴PU,GPU,F(xiàn)PGA,ASIC計(jì)算能力,實(shí)際對(duì)比的是:
1.硬件芯片的乘加計(jì)算能力。
2.為什么有這樣乘加計(jì)算能力?
3.是否可以充分發(fā)揮硬件芯片的乘加計(jì)算能力?
帶著這三個(gè)問(wèn)題,我們進(jìn)行硬件芯片的計(jì)算能力對(duì)比。
本文轉(zhuǎn)載自騰云閣,已獲得作者授權(quán)。