<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > CXL、CCIX 和 SmartNIC 下的 PCIe 5 將如何影響解決方案加速

CXL、CCIX 和 SmartNIC 下的 PCIe 5 將如何影響解決方案加速

作者:Scott Schweitzer 時(shí)間:2020-11-26 來(lái)源: 收藏

與普通的 NIC 不同,SmartNIC 將會(huì )對 PCIe 總線(xiàn)提出更高的要求。CXL CCIX 等第五代 PCIe 和協(xié)議在此背景下應運而生。不久之后,我們將能共享一致性存儲器、高速緩存,并建立多主機點(diǎn)對點(diǎn)連接。

本文引用地址:http://dyxdggzs.com/article/202011/420681.htm

 圖片.png

正文:

過(guò)去三十年間,基于服務(wù)器的計算歷經(jīng)多次飛躍式發(fā)展。上世紀 90 年代,業(yè)界從單插槽獨立服務(wù)器發(fā)展到服務(wù)器集群。緊接著(zhù)在千禧年,產(chǎn)業(yè)首次看到雙插槽服務(wù)器,再后來(lái),多核處理器也問(wèn)世了。進(jìn)入下一個(gè)十年,GPU 的用途遠遠超出了處理圖形的范疇,我們見(jiàn)證了基于的加速器卡的興起。

隨著(zhù)邁入 2020 年,網(wǎng)絡(luò )接口卡( SmartNIC ),也即數據處理單元( DPU )開(kāi)始風(fēng)靡。它們大量采用 或多核 Arm 集群或是兩者混搭,每種做法都能大幅提高求解性能。從股票交易到基因組測序,計算正在以更快的速度求解答案。在機箱內部,數據通道是 PCI Express PCIe )。雖然幾經(jīng)變革,但它仍然是無(wú)可爭議的選擇。

 

PCIe 的演進(jìn)發(fā)展

高速外圍組件互連 PCIe 2003 年首次亮相,恰逢網(wǎng)絡(luò )準備開(kāi)始從以千兆位以太網(wǎng) GbE 為主要互聯(lián)的時(shí)代向更高網(wǎng)速的時(shí)代躍進(jìn)。此時(shí),Myrinet Infiniband 等高性能計算 HPC 網(wǎng)絡(luò )剛剛超越 GbE,數據速率分別達到 2Gb/s 8Gb/s。此后不久,10-GbE 網(wǎng)絡(luò )接口控制器 NIC 嶄露頭角,而且性能優(yōu)異。它們在每個(gè)方向上的速率接近 1.25GB/s,這種 8 通道 x8 PCIe 總線(xiàn)的誕生恰逢其時(shí)。

第一代 PCIe x8 總線(xiàn)在每個(gè)方向上的速率為 2GB。當時(shí) 16 通道 x16 的插槽尚未問(wèn)世,服務(wù)器主板一般只提供一些 x8 插槽和幾個(gè) x4 插槽。為了節省成本,部分服務(wù)器廠(chǎng)商甚至使用了 x8 連接器,但卻僅將它們連接成 x4,這確實(shí)十分有趣。

大部分人(像我一樣的架構師)都知道,PCIe 每發(fā)展一代,速度就會(huì )提高一倍。今天的第四代 PCIe x8 插槽的速率大約為 16GB/s,因此,下一代速率將在 32GB/s 左右。如果第五代 PCIe 皆能達到這一水平,那確實(shí)也不錯。不過(guò)它還像阿拉丁神燈那樣神奇,能以 CXL CCIX 兩種新協(xié)議的形式允諾在 CPU SmartNIC 或協(xié)處理器等加速器之間實(shí)現高效的通信。

 

CXL

我們先談 CXL。它提供了定義清晰的主從模式。在這種模式下,CPU 的根聯(lián)合體能通過(guò)與加速器卡的高帶寬鏈接來(lái)共享高速緩存和主系統存儲器(圖 1。

 

圖片.png

1.       通過(guò) CXL 與處理器相連的加速器的概念圖。(來(lái)源:Compute Express Link Specification July 2020,0.9 版第 2 次修訂,第 31 頁(yè))

 

這有助于主機 CPU 高效地向加速器分派工作并接收處理結果。部分此類(lèi)加速器使用 DRAM 或高帶寬存儲器 HBM )來(lái)配備大容量高性能本地存儲器。借助 CXL,現在可將這些高性能存儲器與主機 CPU 共享,從而更便捷地在共享存儲器中處理數據集。

此外,對于原子事務(wù),CXL 能在主機 CPU 和加速器卡之間共享高速緩存存儲器。CXL 在改善主機與加速器間的通信方面有了長(cháng)足的發(fā)展,但未能解決 PCIe 總線(xiàn)上的加速器之間的通信問(wèn)題。

2018 年,Linux 內核最終加入了可支持 PCIe 點(diǎn)對點(diǎn) P2P )模式的代碼。從而更方便在 PCIe 總線(xiàn)上的不同設備之間共享數據。雖然 P2P 早在本次內核更新前就已經(jīng)存在,但它需要精心調試才能運行,往往要求用戶(hù)能夠通過(guò)編程就對等設備進(jìn)行控制。更新內核后,加速器與 PCIe 總線(xiàn)上的 PCIe/NVMe 存儲器或另一個(gè)加速器間的通信方式相對簡(jiǎn)化。

隨著(zhù)解決方案變得日益復雜,簡(jiǎn)單的 P2P 已不敷使用,而且會(huì )成為解決方案性能的制約因素。今天我們使用 DIMM 插槽中的永久存儲器、NVMe 存儲和直接插在 PCIe 總線(xiàn)上的智能存儲( SmartSSD ),配以各種加速器卡和 SmartNIC DPU(其中一些本身就具有很大的存儲容量)。由于在這些設備之間必須實(shí)現通信,因此我們昂貴的服務(wù)器處理器將化身為成本高昂的流量燈,并且成為海量數據流的瓶頸。CCIX 在此情形下就能大顯身手了,其環(huán)境適合在 PCIe 總線(xiàn)上的設備之間建立對等關(guān)系。

 

加速器緩存一致性互聯(lián)

有人認為 CCIX 標準與 CXL 大同小異,但事實(shí)并非如此。在實(shí)現總線(xiàn)上點(diǎn)對點(diǎn)連接方面,CCIX 的方法與 CXL 截然不同(圖 2。此外,它還能利用不同設備上的存儲器,每個(gè)設備具有不同的性能特征,對這些存儲器進(jìn)行池化,并映射到單一的非統一存儲器訪(fǎng)問(wèn) (NUMA) 架構。隨后它建立 Virtual Address 空間,使池中的所有設備都能訪(fǎng)問(wèn) NUMA 存儲器的完整范圍。這已經(jīng)遠遠超出簡(jiǎn)單的 PCIe P2P 存儲器間復制或是由 CXL 實(shí)現的主從模式。

 

圖片.png

2.       三種樣本 CCIX 配置包括直接附加、交換拓撲和混合菊花鏈。(來(lái)源:An Introduction to CCIX White Paper,第 5 頁(yè))

 

作為一種概念,NUMA 自上世紀 90 年代以來(lái)一直存在,所以業(yè)界對它的理解也十分深入。以此為基礎,當今的大多數服務(wù)器都能輕松地擴展到太字節( TB )或更大容量的 DRAM 存儲器。不僅如此,能映射名為永久存儲器(PMEM)或存儲級存儲器( SCM )的新型存儲器的驅動(dòng)程序業(yè)已存在,它能與真實(shí)存儲器搭配,創(chuàng )建“海量存儲器”。綜合運用 CCIX,將會(huì )進(jìn)一步幫助系統架構師利用 SmartSSD 擴展這一概念。

 

計算存儲

SmartSSD 也叫計算存儲,它將計算器件(通常為 加速器)與固態(tài)驅動(dòng)器中的存儲控制器緊密布局,或在控制器中嵌入計算功能。從而使 SmartSSD 中的計算器件能夠在數據出入驅動(dòng)器的過(guò)程中處理數據,進(jìn)而重新定義數據的訪(fǎng)問(wèn)和存儲方式。

雖然 SmartSSD 最初被視為塊設備,但在 FPGA 中安裝適當的未來(lái)驅動(dòng)程序后,可以當作可按字節尋址的存儲使用?,F今生產(chǎn)的 SmartSSD 有數太字節的容量,而且容量還會(huì )暴增。因此,只有通過(guò) NUMA,SmartSSD 才能用于擴展大容量存儲器概念,這樣一來(lái)主機 CPU 和加速器應用就能跨大量設備訪(fǎng)問(wèn)數太字節容量的存儲器,且無(wú)需使用該存儲器重新寫(xiě)入應用。此外,通過(guò)實(shí)現內聯(lián)壓縮與加密,SmartSSD 還能提供更佳的 TCO 解決方案。

 

引入 SmartNIC

具體該如何使 SmartNIC 與該架構匹配呢?SmartNIC 是一種特殊類(lèi)型的加速器,位于 PCIe 總線(xiàn)和外部網(wǎng)絡(luò )之間的連接處。SmartSSD 將計算放在緊挨數據的位置上,而 SmartNIC 則讓計算緊臨網(wǎng)絡(luò )。為什么這一點(diǎn)如此重要?簡(jiǎn)單地說(shuō),我們很少關(guān)注服務(wù)器應用自身的網(wǎng)絡(luò )時(shí)延、擁塞、丟包、協(xié)議、加密、疊加網(wǎng)絡(luò )或安全政策等問(wèn)題。

為了解決這些問(wèn)題,創(chuàng )建了 QUIC 等低時(shí)延協(xié)議,用于改善時(shí)延問(wèn)題、緩解擁塞,以及實(shí)現丟包恢復。我們已經(jīng)開(kāi)發(fā)出了 TLS 并采用內核 TLSkTLS)加以擴展,以加密運行中的數據,保障數據安全。我們現在看到正在將 kTLS 當作 SmartNIC 的一項卸載功能添加進(jìn)來(lái)。

為了支持虛擬機(VM)和容器的編排,我們創(chuàng )建了疊加網(wǎng)絡(luò )。隨后又開(kāi)發(fā)出 Open vSwitch OvS )等技術(shù),用于對疊加網(wǎng)絡(luò )進(jìn)行定義和管理。SmartNIC 正在開(kāi)始卸載 OvS。

最終,我們按照政策進(jìn)行管理以確保安全。這些政策有望反映在 Calico Tigera 等形式的編排框架中。這些政策很快也將通過(guò)使用 P4 等編程匹配動(dòng)作框架被卸載到 SmartNIC。所有這些任務(wù)都應該卸載到名為 SmartNIC 的這類(lèi)專(zhuān)用加速器上。

借助 CCIX,架構師可以構建出一個(gè)解決方案,作為有單一虛擬地址空間的單個(gè)超量存儲器空間,使多個(gè)加速器直接訪(fǎng)問(wèn)真實(shí)存儲器和 SmartSSD 中的存儲。例如,可使用四個(gè)不同的加速器來(lái)構建解決方案(圖 3。

圖片.png

3.       圖中所示的是樣本 CCIX 應用,它使用了修改的 CCIX 4c-混合菊花鏈模型。

 

SmartNIC 能加載視頻解碼器,視頻從攝像頭導入后,就能轉換回未經(jīng)壓縮的幀,存儲在 NUMA 虛擬地址空間的共享幀緩存中。在這些幀可用后,運行在人工智能( AI )圖像識別應用上的第二個(gè)加速器能掃描這些幀,識別人臉或車(chē)牌。與此同時(shí),第三個(gè)加速器可以對這些幀進(jìn)行轉碼,用于顯示和長(cháng)期存儲。最后,運行在 SmartSSD 上的第四個(gè)應用負責在 AI 和轉碼任務(wù)成功完成后從幀緩存中刪除這些幀。這里我們用四個(gè)高度專(zhuān)業(yè)的加速器協(xié)作運行,形成所謂的“Smartworld”應用。

行業(yè)開(kāi)始添加了更多內核,以解決與摩爾定律相關(guān)的問(wèn)題。如今,雖然內核的數量相當充裕,但 CPU NIC、存儲和加速器等外部器件間的帶寬不足。PCIe Gen5 是我們的下一個(gè)關(guān)鍵發(fā)展點(diǎn)。它能大幅提高帶寬,開(kāi)啟在 CPU 上進(jìn)行高性能計算的時(shí)代。

例如,典型的 CPU 核心能處理 1Gb/s+,如果你采用雙 128 CPU,那么 PCIe Gen4x16 是不夠用的。對于需要在 CPU 核心和加速器之間進(jìn)行密切交互的應用來(lái)說(shuō),CXL CCIX 協(xié)議提供的高速緩存一致性具有諸多優(yōu)勢。數據庫、安全性和多媒體等主要應用工作負載現在正開(kāi)始利用這些優(yōu)勢。

 

編排

這個(gè)問(wèn)題的最后一個(gè)環(huán)節是編排。這項功能指 Kubernetes 等框架能自動(dòng)發(fā)現并管理加速硬件,并在編排數據庫中將其標記為在線(xiàn)可用。它隨后還需要知道該硬件是否支持上述一個(gè)或多個(gè)協(xié)議。隨后,隨著(zhù)新求解實(shí)例請求的進(jìn)入以及動(dòng)態(tài)啟動(dòng),能夠由這些高級協(xié)議感知并加速的容器實(shí)例就可以使用該硬件。

已開(kāi)發(fā)出資源管理器(XRM),能夠與 Kubernetes 協(xié)同工作,管理池中的多個(gè) FPGA 資源,從而提升加速器的整體利用率。這樣一來(lái),就能自動(dòng)分派新發(fā)布的應用實(shí)例,使其在基礎設施中最適當的高性能資源上執行,同時(shí)遵守既定的安全政策。

SmartNIC DPU 使用了 CXL CCIX,將為我們提供高度互聯(lián)的加速器,有助于開(kāi)發(fā)復雜、高性能的解決方案。這類(lèi) SmartNIC 將在我們的數據中心內乃至整個(gè)世界范圍內,向其他系統提供計算密集型連接。甚至可以構想這樣一個(gè)未來(lái):命令一旦進(jìn)入 Kubernetes 控制器,就在 SmartNIC 資源上以原生運行的方式啟動(dòng)容器或 POD。這個(gè)新工作負載的大量計算隨后可能會(huì )在服務(wù)器中某處的加速器器件上進(jìn)行,甚至完全不需要服務(wù)器主機 CPU 的直接參與。

要正確發(fā)揮這樣的功能,我們就需要進(jìn)一步強化安全,使安全水平遠遠高于 Calico Tigera。此外,我們也需要新的加速器感知安全框架來(lái)將安全環(huán)境(通常稱(chēng)為安全飛地)擴展到多個(gè)計算平臺上。這樣就使得 Confidential Computing 有了用武之地。它應該同時(shí)提供所需架構和 API,從而為單個(gè)安全飛地內多個(gè)計算平臺上的在用數據提供保護。

所有敏感信息隔離設施(SCIF)都是如此。計算機中的安全飛地應能覆蓋多個(gè)計算平臺,而激動(dòng)人心的時(shí)刻就在眼前。




關(guān)鍵詞: PCIe 5 FPGA 賽靈思

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>