<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

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

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

          作者:Scott Schweitzer 時間:2020-11-26 來源: 收藏

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

          本文引用地址:http://www.ex-cimer.com/article/202011/420681.htm

           圖片.png

          正文:

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

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

           

          PCIe 的演進發(fā)展

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

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

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

           

          CXL

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

           

          圖片.png

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

           

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

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

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

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

           

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

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

           

          圖片.png

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

           

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

           

          計算存儲

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

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

           

          引入 SmartNIC

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

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

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

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

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

          圖片.png

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

           

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

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

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

           

          編排

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

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

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

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

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




          關鍵詞: PCIe 5 FPGA 賽靈思

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();