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