硬件提供打開數(shù)據(jù)加速大門的鑰匙
日益增長的分布式加速需求
在云計(jì)算和邊緣計(jì)算中,業(yè)界渴求能夠支持各種應(yīng)用的高性能。為了滿足這一需求,數(shù)據(jù)中心、網(wǎng)絡(luò)集群和邊緣計(jì)算站點(diǎn)的運(yùn)營商正在轉(zhuǎn)向定制化的加速器技術(shù)。
對于需要高性能計(jì)算平臺的用戶,專用加速器在實(shí)踐中被常用來應(yīng)對各種挑戰(zhàn);這些用戶不再依靠諸如Intel Xeon系列CPU這樣的傳統(tǒng)通用CPU來支持?jǐn)?shù)據(jù)吞吐量不斷增長這一需求。通用CPU的核心問題在于,盡管摩爾定律一直在以大約每兩年就會使每平方毫米硅片中集成的晶體管數(shù)量增加一倍的速度演進(jìn),但它不再支持時(shí)鐘速率的增長。此外,CPU內(nèi)的并行性很快達(dá)到了天花板。因此,其他技術(shù)更適合支持新型工作負(fù)載,包括如機(jī)器學(xué)習(xí)、基因組研究、數(shù)學(xué)和統(tǒng)計(jì)分析、語音和圖像識別以及數(shù)據(jù)挖掘和搜索。
與傳統(tǒng)由數(shù)據(jù)庫驅(qū)動的應(yīng)用相比,這些新的工作負(fù)載通常無法很好地映射到傳統(tǒng)CPU流水線上;例如一些神經(jīng)網(wǎng)絡(luò)的訓(xùn)練已被驗(yàn)證可以在GPU上運(yùn)行良好,這些算法可以利用數(shù)百個并行浮點(diǎn)著色器內(nèi)核通過所需的數(shù)萬億個步驟來迭代更新一個大型網(wǎng)絡(luò)。另一方面,基因組研究和數(shù)據(jù)搜索需要利用大量的對比步驟,并需處理低分辨率的整數(shù)數(shù)據(jù)。盡管這些工作負(fù)載可以利用CPU或GPU來完成處理,但是在這些平臺上運(yùn)行時(shí),這些任務(wù)的計(jì)算效率和能效相對較低。自定義的基于ASIC或FPGA的加速器能夠以更低的功耗提供更大的吞吐量,這是因?yàn)樗鼈冎С衷O(shè)計(jì)人員去構(gòu)建針對這些操作和數(shù)據(jù)類型進(jìn)行優(yōu)化的專用電路。
互聯(lián)網(wǎng)搜索和社交媒體等領(lǐng)域內(nèi)的超大規(guī)模數(shù)據(jù)中心運(yùn)營商已采用加速器概念來保障其服務(wù)器載荷的高效運(yùn)轉(zhuǎn)。語音響應(yīng)系統(tǒng)現(xiàn)在已經(jīng)被用于日常生活中,并得到了運(yùn)行在傳統(tǒng)刀片服務(wù)器與自定義加速器組合上的人工智能算法的支持。隨著對這些基于機(jī)器學(xué)習(xí)和數(shù)據(jù)挖掘等技術(shù)的應(yīng)用的需求不斷增長,大量的企業(yè)用戶正在轉(zhuǎn)向基于加速器的方案,以使他們自己能跟上需求的步伐。據(jù)研究機(jī)構(gòu)Research and Markets的分析預(yù)測,僅數(shù)據(jù)中心加速器這一市場的規(guī)模,就將從2018年的28億美元增長到2023年的212億美元,復(fù)合年增長率接近50%。
在這種增長之外,加速器的應(yīng)用還注定將擴(kuò)展到數(shù)據(jù)中心之外。諸如虛擬現(xiàn)實(shí)、自動駕駛、機(jī)器人技術(shù)和工業(yè)4.0等領(lǐng)域無法忍受信息在經(jīng)過遠(yuǎn)程數(shù)據(jù)中心中繼后帶來的電信延遲。越來越多的計(jì)算能力將需要被部署在邊緣計(jì)算機(jī)架中,而被安裝于路邊機(jī)柜中、移動基站旁或校園柜子內(nèi)。
在各種數(shù)據(jù)中心和邊緣計(jì)算用例中,有諸多常見的需求驅(qū)動因素,比如能效,快速轉(zhuǎn)型,以及可擴(kuò)展性。能效是降低冷卻成本和復(fù)雜性以及將電費(fèi)花銷降到最低的核心要求。低功耗操作在邊緣計(jì)算裝置中至關(guān)重要,因?yàn)槠渲械沫h(huán)境溫度的控制功能較弱,并且還需將維護(hù)的需求保持在最低限度。
在許多領(lǐng)域中,快速轉(zhuǎn)型是不可避免的,并會創(chuàng)造新的需求,以便在變化出現(xiàn)時(shí)能夠根據(jù)要求對應(yīng)用進(jìn)行調(diào)整和再加工。它不僅僅是對現(xiàn)有應(yīng)用的更新;通常,新的用例在出現(xiàn)時(shí),都會挑戰(zhàn)用戶及時(shí)做出反應(yīng)的能力。而這些用例可能需要開發(fā)將不同的技術(shù)和概念結(jié)合在一起的應(yīng)用,例如將人工智能(AI)功能添加到數(shù)學(xué)建模和數(shù)據(jù)挖掘系統(tǒng)中。為了應(yīng)對這些轉(zhuǎn)型,用戶需要調(diào)用可以很好地進(jìn)行協(xié)同工作的加速器技術(shù),并且各個組件可以通過網(wǎng)絡(luò)連接來進(jìn)行高速通信。
可擴(kuò)展性同樣重要。隨著面向特定服務(wù)的客戶群不斷增長,運(yùn)營商需要知道他們能夠輕松地增加容量。同樣至關(guān)重要的是,具有高效通信能力的高度可編程解決方案通過增加并行性來支持其擴(kuò)展能力。對諸如100 Gbps以太網(wǎng)和更快的鏈路等協(xié)議的支持,可確保能夠使用分布式處理去適應(yīng)增長。例如,邊緣應(yīng)用可能會調(diào)用云支持,直到本地機(jī)柜升級到具有額外的處理能力。
用于加速的硬件平臺
加速器的硬件可以有多種形式。理想的配置是提供PCI Express(PCIe)和高速以太網(wǎng)連接的組合,并可以選擇添加自定義連接以支持諸如環(huán)形、網(wǎng)狀和菊花鏈結(jié)構(gòu)等各種拓?fù)浣Y(jié)構(gòu),以滿足應(yīng)用的各種數(shù)據(jù)吞吐量需求。對PCIe的支持通過內(nèi)存映射接口將加速引擎與主處理器和其他加速器緊密集成。能夠在諸如PCIe之類的接口上存儲共享結(jié)構(gòu)來交換數(shù)據(jù),就可以極大地簡化分布式應(yīng)用的開發(fā)。
以100 Gbps或更高速率運(yùn)行的以太網(wǎng)連接進(jìn)一步提供了擴(kuò)展范圍。通過使用它們自有的以太網(wǎng)端口,而不是通過主機(jī)的主網(wǎng)絡(luò)接口來路由數(shù)據(jù)包,加速器可以彼此間高效地相互協(xié)調(diào)。例如,在一個分布式存儲配置中,加速卡可以被直接連接到嵌入式非易失性存儲器(NVMe)模塊上,每個模塊中的獨(dú)立搜索引擎使用通過其以太網(wǎng)連接發(fā)送的消息,來識別分散在多個節(jié)點(diǎn)上的數(shù)據(jù),從而可以很容易地進(jìn)行協(xié)調(diào)。
無論是作為主要的加速技術(shù)還是與GPU和其他技術(shù)配合使用,F(xiàn)PGA都非常適合數(shù)據(jù)中心和邊緣計(jì)算應(yīng)用的需求。FPGA的一個關(guān)鍵優(yōu)勢是可以在系統(tǒng)中來對其進(jìn)行編程,以創(chuàng)建各種各樣的數(shù)字電路。軟件可以為目標(biāo)應(yīng)用選擇配置比特流,并將其發(fā)送以配置FPGA。通過將新模式加載到器件上的邏輯陣列中,F(xiàn)PGA可以根據(jù)需要進(jìn)行動態(tài)更新以承擔(dān)新的任務(wù)??删幊绦詣?chuàng)建了由軟件定義的硬件,從而完全支持用戶不僅能夠動態(tài)更改應(yīng)用,還可以動態(tài)更改支持它們運(yùn)行的硬件。將硬件可編程性與連接多個加速器的能力相結(jié)合,為用戶提供了極大的靈活性。
許多計(jì)算類用戶已經(jīng)意識到FPGA在加速應(yīng)用中的強(qiáng)大功能。例如,微軟的Catapult項(xiàng)目使用FPGA為其搜索服務(wù)構(gòu)建加速器,并且在其BrainWave項(xiàng)目中使用FPGA進(jìn)行高速人工智能推理。亞馬遜通過其F1服務(wù)提供了可在云端使用的FPGA,這使得到遠(yuǎn)程用戶可以容易地部署這項(xiàng)技術(shù)。
在其他領(lǐng)域選擇使用FPGA加速也已有一些時(shí)間。例如, FPGA邏輯陣列多年來一直被用于軍事和航空航天領(lǐng)域的雷達(dá)處理,以及醫(yī)學(xué)領(lǐng)域的實(shí)時(shí)成像。隨著工業(yè)領(lǐng)域接受了實(shí)時(shí)機(jī)器設(shè)備健康監(jiān)測等概念,以作為邁向工業(yè)4.0的一部分,用戶可以轉(zhuǎn)向使用FPGA來提高其算法的質(zhì)量和響應(yīng)能力。
相對于使用GPU來進(jìn)行數(shù)據(jù)加速,采用FPGA的實(shí)現(xiàn)方式通常受益于較低的延遲和更高的能效。GPU的一個關(guān)鍵問題是:它們的計(jì)算效率通常只是其理論吞吐量的一小部分。因?yàn)镚PU針對3D圖形渲染流水線進(jìn)行了優(yōu)化,基于數(shù)據(jù)高度重用的執(zhí)行流水線設(shè)計(jì),導(dǎo)致著色器內(nèi)核往往會在相對較小的本地存儲以外運(yùn)行。數(shù)據(jù)流式工作負(fù)載提供的數(shù)據(jù)重用機(jī)會更少,這就意味著需要更頻繁地用新數(shù)據(jù)來填充存儲器,而這會影響處理時(shí)間。CPU中面向緩存的子系統(tǒng)也同樣受制于類似的問題。FPGA可以實(shí)現(xiàn)數(shù)據(jù)自由流動的完整流水線,因此可以提供了遠(yuǎn)遠(yuǎn)高于GPU或者CPU的計(jì)算效率。例如,基因組研究應(yīng)用的基準(zhǔn)測試表明,與基于CPU的實(shí)現(xiàn)方式相比,基于FPGA的硬件可將速度提高80倍。
在高性能計(jì)算和云計(jì)算環(huán)境中,架構(gòu)師正在轉(zhuǎn)向FPGA加速以避開系統(tǒng)中其他部分出現(xiàn)的瓶頸。通過將更多工作移交給存儲子系統(tǒng)本身,數(shù)據(jù)中心用戶可以在效率上得到大幅提升。數(shù)據(jù)庫加速、數(shù)據(jù)分析和其他適用于計(jì)算型存儲的處理形式可以與加密、去重復(fù)數(shù)據(jù)和安全擦除編碼等低層級服務(wù)功能一起被部署在加速器上。
隨著諸如軟件定義網(wǎng)絡(luò)(SDN)和網(wǎng)絡(luò)功能虛擬化(NFV)等概念的流行,刀片服務(wù)器在數(shù)據(jù)中心內(nèi)部和數(shù)據(jù)中心之間的通信管理任務(wù)中正發(fā)揮著更為重要的作用。但是,隨著線速增加到100 Gbps甚至更高,Xeon級服務(wù)器處理器的處理負(fù)擔(dān)是非常巨大的,數(shù)據(jù)中心運(yùn)營商熱衷于將許多SDN功能的處理工作卸載到附近的加速卡上。在新興的架構(gòu)中,通用服務(wù)器CPU被用于處理異常事件,而同時(shí)加速器則負(fù)責(zé)處理大量的網(wǎng)絡(luò)流量。當(dāng)新的需求、應(yīng)用和安全威脅出現(xiàn)時(shí),F(xiàn)PGA能夠更新算法和網(wǎng)絡(luò)協(xié)議處理,從而使它們成為網(wǎng)絡(luò)加速的理想基礎(chǔ)平臺。
實(shí)施有效加速
被亞馬遜(Amazon)、Facebook和微軟(Microsoft)等超大規(guī)模用戶采用的第一批加速器都是大幅度定制的設(shè)計(jì)。這些公司能夠在打造自己的板卡設(shè)計(jì)中確保所需的規(guī)模經(jīng)濟(jì),無論是基于自己設(shè)計(jì)的專用集成電路(ASIC),還是采用現(xiàn)成的FPGA和GPU。從成本和時(shí)間的角度來看,對于企業(yè)數(shù)據(jù)中心和邊緣計(jì)算用戶來說,他們難以在這種定制芯片級設(shè)計(jì)中找到合理的規(guī)模。然而,設(shè)計(jì)定制的ASIC和板卡并不是必需的。對諸如以太網(wǎng)和PCIe等標(biāo)準(zhǔn)接口的需求,不僅使使用標(biāo)準(zhǔn)板卡級產(chǎn)品成為可能,而且也是可取的。
作為一家長期提供硬件加速產(chǎn)品的供應(yīng)商,BittWare一直在為從高性能計(jì)算到云加速到儀器儀表等眾多領(lǐng)域內(nèi)的客戶設(shè)計(jì)采用PCIe尺寸的、基于FPGA的板卡,并在這方面積累了豐富的經(jīng)驗(yàn)?,F(xiàn)在,作為Molex集團(tuán)的子公司,BittWare能夠充分借助其全球供應(yīng)網(wǎng)絡(luò)以及與戴爾(Dell)和惠普企業(yè)(HP Enterprise)等服務(wù)器供應(yīng)商的深厚關(guān)系。BittWare是唯一一家可與多家主流FPGA供應(yīng)商合作的重要批量化供應(yīng)商,能夠滿足企業(yè)客戶的質(zhì)量認(rèn)證、驗(yàn)證、產(chǎn)品生命周期管理和支持需求,這些客戶希望為關(guān)鍵任務(wù)型應(yīng)用去大規(guī)模部署FPGA加速器。
在這些應(yīng)用中,BittWare實(shí)現(xiàn)的一個重要差異化在于該公司為其基于FPGA的加速器提供了廣泛的軟件支持。每個加速卡均配有適用于Linux和Windows系統(tǒng)的驅(qū)動軟件,可通過PCIe和以太網(wǎng)連接將其快速集成到各種系統(tǒng)中。除了支持主CPU和加速卡之間的通信外,該驅(qū)動還支持接入加速卡上的嵌入式固件。這個固件可以處理眾多管理和自檢功能。
它們使FPGA電路能夠根據(jù)需要的新功能重新進(jìn)行配置,此外還提供了一些對功耗、電壓和溫度的監(jiān)測程序。如果主機(jī)系統(tǒng)中的冷卻功能失效,那么擔(dān)任管理者的固件可以關(guān)閉加速卡,以避免熱過載。此外,軟件組合包還包括各種參考設(shè)計(jì),以便開發(fā)人員能夠快速構(gòu)建配置,使他們可以測試加速卡的功能并開始在其自己的應(yīng)用上工作。
對于最新一代的加速卡,BittWare與Achronix緊密合作。Achronix是唯一一家能夠同時(shí)提供獨(dú)立FPGA芯片和嵌入式FPGA(eFPGA)半導(dǎo)體知識產(chǎn)權(quán)(IP)的FPGA供應(yīng)商。VectorPath?S7t-VG6加速卡使用了Achronix采用7nm 工藝打造的、結(jié)合了很多功能的Speedster®7t FPGA芯片,不僅可以在內(nèi)部提供高吞吐量數(shù)據(jù)加速,而且還支持現(xiàn)今從機(jī)器學(xué)習(xí)到先進(jìn)儀器等系統(tǒng)所需的高度分布式、網(wǎng)絡(luò)化的架構(gòu)。