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