作者:Krishna Mallampati,PLX Technology 到現在為止,PCI Express(PCIe)和以太網之間的界限涇渭分明:PCIe用于芯片與芯片間互連;以太網作為一種系統與系統之間的連接技術。有很好的理由可以說明為什么該界限可以長久維持。無論如何,這兩種技術一直是絕對共存的。雖然沒有跡象表明這一局面會徹底改變,但越來越多的情形顯示,在過去以太網獨大的領域,PCIe正越來越多地顯山露水,特別是在機架內。PCIe真的在同以太網競爭并能勝出嗎? 當前的架構 目前批量部署的傳統系統具有需要被支持的多種互連技術。如圖1所示,光纖通道和以太網是這些互連的兩個例子(顯然有更多種技術——如InfiniBand)。 圖1:目前使用的傳統I/O系統示例。 這種架構有如下局限: * 多種I/O互連技術共存 * 輸入/輸出端點利用率低 * 因為需要多個I/O端點,使系統的功耗和成本都增高 * 在建構體系架構時,I/O就固定了,靈活性差 * 管理軟件必須處理多個I/O協議,需占用處理能力 這種架構的致命弱點就是使用了多種I/O互連技術,因為這增加了延遲時間、加大了成本、電路板所占空間和功耗。如果所有端點在這段時間都100%地工作,則這種架構會比較有用。然而,更多的情況是,端點常常是空閑的,這意味著系統用戶要為這有限的利用率掏腰包。增加的延遲是因為這些系統內處理器上本帶的PCIe接口要被轉換成多種協議。(設計師可以使用處理器自帶的PCIe,并融合使用PCIe的所有端點來縮短系統延遲。) 顯然,共享I/O端點(見圖2)是解決這些限制的有效辦法。該概念對系統設計師極具吸引力,因為它降低了成本和功耗、提高了性能和利用率、并簡化了設計。因為共享端點有如此多的優勢,所以多個組織都在試圖這么做,如PCI-SIG發表了多條I/O虛擬化(Multi-Root I/O Virtualization——MR-IOV)規范來實現這一目標。然而,由于技術和商業因素的綜合原因,即使MR-IOV已發布五年多,但作為規范一直沒被普遍接受。 圖2:將PCI Express用于共享I/O的一種傳統I/O系統 共享I/O的其它優點有: * 隨著I/O速度的提高,唯一需要的額外投資是更換I/O適配器卡。在早期部署中,當在同一張卡上使用多種I/O技術時,設計師將不得不重新設計整個系統,而在共享I/O模式,當需要升級一種特定I/O技術時,設計師可以簡單地用新卡替舊卡。 * 由于多個I/O端點不需要存在于同一塊卡上,設計師或是可以制造更小的卡,以進一步降低成本和功耗;或是保留現有的大小,利用拿去卡上多個I/O端點所省出的空間,通過增加多個CPU、加大內存和/或增加其它端點的方式來差異化其產品。 * 設計師可以減少系統內縱橫交錯的電纜的數量。因為多個互連技術會需要不同的電纜,以支持協議的帶寬和開銷。然而,隨著設計的簡化以及有限的I/O互連技術種類,系統正常工作所需的電纜數量也在減少,從而降低了設計復雜性、節約了成本。 在PCIe交換機內實現共享I/O是實現如圖2所述架構的關鍵推動者。如前述,MR-IOV技術并沒被普遍接受,一種普遍看法是,它可能永遠也不會。為此。單根I/O虛擬化(SR-IOV)技術出場救援,為提高性能,它用硬件實現了I/O虛擬化,并在一臺物理服務器上提供了基于硬件的安全和質量服務(QoS)特性。SR-IOV還允許在同一臺服務器上運行的多個客戶操作系統共享I/O設備。 2007年,PCI-SIG發布了SR-IOV規范,以吁求將單一物理PCIe設備劃分成多個虛擬功能,無論是網絡接口卡、主機總線適配器、還是主機信道適配器。然后,虛擬機可以使用任一虛擬功能,允許許多虛擬機及其客戶操作系統共享一臺物理設備。 這需要I/O廠商開發支持SR-IOV的設備。而SR-IOV提供了在不同應用間,共享資源和I/O設備的最簡單方法。目前的趨勢是,大部分終端廠商都支持SR-IOV,而越來越多的廠商將加入這一陣營。 前面已列舉了PCIe的很多好處,錦上添花的是:在傳輸層,PCIe是種無損建構。 PCIe規范定義了一種強健的流控制機制,以防止數據包丟失。在每一“跳”,會對每個PCIe數據進行確認,確保了傳輸成功。在傳輸錯誤的情況下,該包被重新傳輸——該過程由硬件完成,無需上層協議的任何介入。因此,在基于PCIe的存儲系統中,幾乎不可能發生數據丟失和損壞。 通過允許所有的I/O適配器(萬兆以太網、FC或其他)移出服務器,PCIe提供了一個簡化方案。借助PCIe交換機架構提供的虛擬化支持,每個適配器都可以被多個服務器共享,且同時為各服務器提供了一個邏輯適配器。服務器(或每個服務器上的虛擬機)可繼續在共享適配器上直接訪問自己的硬件資源集。實現的這種虛擬化允許更好的可擴展性,其中I/O和服務器可以彼此獨立地進行調適。I/O虛擬化避免了服務器或I/O資源的過度配置,從而降低了成本和功耗。 表1提供了PCIe和10G以太網的高層次成本比較概覽;表2提供了兩者的高層次功耗比較概覽。 表1:PCIe和以太網所節省成本的比較 表2:PCIe和以太網的降耗對比。 價格估算基于廣泛的行業調查,對ToR(top-of-rack)交換機和適配器來說,還假設其價格會因批量、可用性和與供應商的關系深淺有所不同。這兩個表為理解將PCIe用于IO共享(特別是通過拿掉了適配器)所帶來的成本和功耗方面的好處提供了框架。 當然,這引發出這樣一個疑問:比較成本和功耗為什么按每秒千兆字節計算,而不以每個端口為依據?主要原因是:眼下,對數據中心供應商來說,其收費趨勢是按照所用帶寬而不是連接數來計算。PCIe提供的帶寬約是10G以太網的3倍,并允許供應商用它獲利更多,若有人曾做過比較(用同樣多的端口數建構相同的系統),會得出相同結論:PCIe會比以太網省50%以上。 總結 本文的重點是PCIe和以太網在成本和功耗方面的比較,當然,也應在兩者間比較其他技術指標。但是,隨著主要處理器供應商越來越多地在其處理器上內置PCIe,這讓設計師從中受益匪淺。借助此新一代CPU,設計師可以直接將PCIe交換器與CPU連接,從而降低了延遲和元件成本。 PCIe技術已變得無處不在,該強大互連技術的第3代代表(每鏈路8Gbps)不僅僅能夠支持共享I/O和集群,還為系統設計師提供了一款無與倫比的工具,以使他們的設計優化、高效。 為滿足共享IO和集群細分市場的需求,如PLX Technology等廠商在向市場推出高性能、靈活、低功耗、體積小的設備。這些交換機被雕琢為可適應上面提到的全方位應用。展望未來,速度可達每鏈路16Gbps的第四代PCIe只會有助于加快PCIe技術進入新的細分市場并擴大這些市場,同時用其進行設計和使用也會更容易和經濟。 多家全球廠商已經采用了這種無處不在的互聯技術以支持I/O端點共享,因此,降低了系統成本和功耗要求,減小了維護和升級需求;赑CI的共享I/O端點有望使價值數十億美元的數據中心市場脫胎換骨。 然而,以太網和PCIe仍將共存,以太網用于系統間連接;PCIe將繼續其在機架內的高歌猛進。 |