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