新聞中心

EEPW首頁(yè) > 模擬技術(shù) > 設(shè)計(jì)應(yīng)用 > 下一代數(shù)據(jù)包處理技術(shù)架構(gòu)選擇

下一代數(shù)據(jù)包處理技術(shù)架構(gòu)選擇

作者: 時(shí)間:2011-06-08 來(lái)源:網(wǎng)絡(luò) 收藏
系統(tǒng)廠(chǎng)商在為滿(mǎn)足未來(lái)的擴(kuò)展性和集成挑戰(zhàn)而研究下一代數(shù)據(jù)包處理技術(shù)時(shí),面臨著多種架構(gòu)選擇。目前有兩種常用架構(gòu):通用多核架構(gòu)和專(zhuān)用數(shù)據(jù)流架構(gòu)。

  每種架構(gòu)都有其長(zhǎng)處。通常情況是,每個(gè)系統(tǒng)供應(yīng)商的設(shè)計(jì)決策歸根到底都是平臺(tái)的預(yù)期任務(wù)。從本質(zhì)上講,決策過(guò)程就是根據(jù)應(yīng)用選擇架構(gòu)的過(guò)程。

  數(shù)據(jù)包處理背景

  數(shù)據(jù)包處理是數(shù)據(jù)密集型操作,需要優(yōu)化的硬件。在寬帶互聯(lián)網(wǎng)出現(xiàn)之前,通用處理器既被用于控制會(huì)話(huà)處理又肩負(fù)用戶(hù)流量的數(shù)據(jù)包處理。

  但是,由數(shù)據(jù)和控制平面共享中央處理單元(CPU)資源的作法已被證明難以滿(mǎn)足隨帶寬需求增長(zhǎng)帶來(lái)的更高要求。對(duì)于交換機(jī)和路由器來(lái)說(shuō),數(shù)據(jù)平面的數(shù)據(jù)包處理任務(wù)已轉(zhuǎn)交給定制的固定功能ASIC或可編程網(wǎng)絡(luò)處理器單元(NPU)。從而把通用CPU解放出來(lái)以專(zhuān)門(mén)應(yīng)對(duì)控制平面任務(wù)。

  有幾家NPU供應(yīng)商一直在試圖針對(duì)2-4層包處理任務(wù)優(yōu)化通用處理器,并提供集成了網(wǎng)絡(luò)硬件(即物理層、媒體存取控制器和表存儲(chǔ)器)以及用于特定任務(wù)(即散列)的硬件引擎的多核架構(gòu)。在20世紀(jì)末20世紀(jì)初,MMC、C-Port和英特爾的IXP部門(mén)等機(jī)構(gòu)開(kāi)發(fā)了這類(lèi)器件。

  雖然這些產(chǎn)品各有不同,但它們的基本架構(gòu)是相同的。通過(guò)降低復(fù)雜性,處理器核能夠得到簡(jiǎn)化,從而使得器件內(nèi)可以集成數(shù)十個(gè)處理器核以滿(mǎn)足更高的并行要求。

  除了極少數(shù)例外,這些NPU供應(yīng)商在商業(yè)上都不成功。根本原因是這些NPU不能有效地滿(mǎn)足超過(guò)10Gbps的網(wǎng)絡(luò)應(yīng)用對(duì)處理能力和存儲(chǔ)器訪(fǎng)問(wèn)方面的要求。

  現(xiàn)在,當(dāng)我們邁進(jìn)2010年,我們看到了旨在應(yīng)對(duì)網(wǎng)絡(luò)處理市場(chǎng)的新一代多核供應(yīng)商的出現(xiàn)。雖然CMOS技術(shù)、存儲(chǔ)器帶寬和時(shí)鐘周期性能得到了提升,但它們?nèi)曰谕瑯拥幕炯軜?gòu)。因此,這些新興公司能期待獲得更大的成功嗎?

  這將取決于它們針對(duì)的是哪類(lèi)應(yīng)用?,F(xiàn)在的網(wǎng)絡(luò)節(jié)點(diǎn)不僅處理2-4層的數(shù)據(jù)包,也需在更高層進(jìn)行處理以支持服務(wù)和增加安全性。我們將研究其中的差異,以及對(duì)任何給定應(yīng)用來(lái)說(shuō),為什么某些架構(gòu)比其它架構(gòu)效果更好。

  線(xiàn)速包處理

  2-4層數(shù)據(jù)包處理不同于其它網(wǎng)絡(luò)應(yīng)用(表1)。首先,能對(duì)所有大小的數(shù)據(jù)包進(jìn)行線(xiàn)速處理是一個(gè)關(guān)鍵目標(biāo)?,F(xiàn)代路由器和交換機(jī)被設(shè)計(jì)為擁有廣泛的網(wǎng)絡(luò)功能,服務(wù)提供商期望能同時(shí)獲得這些功能且不降低性能。

  


  第二,數(shù)據(jù)平面將數(shù)據(jù)包視為獨(dú)立個(gè)體,允許高度并行的處理。對(duì)一個(gè)100Gbps應(yīng)用來(lái)說(shuō),網(wǎng)絡(luò)處理器需要每秒處理1.5億個(gè)數(shù)據(jù)包以確保線(xiàn)速性能。處理器10μs的延時(shí)相當(dāng)于1,500個(gè)數(shù)據(jù)包的并行處理時(shí)間。

  第三,數(shù)據(jù)平面程序需要高I/O存儲(chǔ)器訪(fǎng)問(wèn)帶寬以完成表查詢(xún)轉(zhuǎn)發(fā)、狀態(tài)更新及其它處理。在高速平臺(tái)上,數(shù)據(jù)包到達(dá)間隔時(shí)間非常短,因而對(duì)存儲(chǔ)器延時(shí)提出了苛刻要求。對(duì)于小型數(shù)據(jù)包來(lái)說(shuō),執(zhí)行這些任務(wù)的存儲(chǔ)器帶寬是鏈路帶寬的數(shù)倍。

  最后,當(dāng)今網(wǎng)絡(luò)的功耗很高。出于運(yùn)營(yíng)成本和環(huán)保兩方面的考慮,服務(wù)提供商在煞費(fèi)苦心地追求最佳的每瓦性能。考慮到包處理的特點(diǎn),應(yīng)以線(xiàn)速性能條件下、每瓦功率可實(shí)現(xiàn)的最高性能來(lái)衡量最有效的架構(gòu)。

  服務(wù)和安全處理特征

  與數(shù)據(jù)包處理相近的市場(chǎng)是服務(wù)和安全處理。這些應(yīng)用具有與2-4層數(shù)據(jù)包處理不同的特點(diǎn)。因此,可實(shí)施其它的硬件設(shè)計(jì)優(yōu)化。

  在客戶(hù)機(jī)-服務(wù)器方式中,這些應(yīng)用終止和處理主機(jī)至主機(jī)協(xié)議,或在中間網(wǎng)絡(luò)節(jié)點(diǎn)(即防火墻、負(fù)載均衡器、入侵和防御系統(tǒng))上處理重組的凈載數(shù)據(jù)包數(shù)據(jù)。這些產(chǎn)品必須能夠跨數(shù)據(jù)包邊界工作,因?yàn)樗鼈兺ǔP枰诟蟮臄?shù)據(jù)量上進(jìn)行更大規(guī)模的操作,這將導(dǎo)致數(shù)據(jù)并行性較低。另一方面,相對(duì)所處理的數(shù)據(jù)而言,這類(lèi)所需的I/O存儲(chǔ)器帶寬較低。

  架構(gòu)比較

  NPU承諾可提供定制ASIC的性能,且具有通用處理器的可編程能力。但是,比較處理器的性能較困難,因?yàn)槔碚撋系淖畲笾低ǔEc真實(shí)世界關(guān)聯(lián)不大。此外,有效利用可用處理性能的能力,以及與處理容量相關(guān)的I/O存儲(chǔ)器的利用情況也是影響處理器性能的因素。

  因此,這種比較必須從設(shè)計(jì)層面開(kāi)始。我們首先從一個(gè)通用多核NPU架構(gòu)開(kāi)始。多核NPU架構(gòu)衍生于通用處理器架構(gòu),該架構(gòu)希望通過(guò)增加處理器核來(lái)實(shí)現(xiàn)更高的并行處理能力。降低復(fù)雜性并移除當(dāng)今通用處理器架構(gòu)內(nèi)不必要的功能(即浮點(diǎn)指令)可實(shí)現(xiàn)這一目標(biāo)。

  多核NPU架構(gòu)對(duì)處理器核進(jìn)行了專(zhuān)門(mén)分組。這些內(nèi)核或被分組到各個(gè)并行池或以串行方式進(jìn)行流水線(xiàn)排列(圖1)。NPU供應(yīng)商在設(shè)計(jì)時(shí),允許架構(gòu)對(duì)這種分組實(shí)施嚴(yán)格控制以?xún)?yōu)化性能。

  

《電子系統(tǒng)設(shè)計(jì)》

  圖1:處理器核采用流水線(xiàn)或者并行池架構(gòu),混合模式也很常見(jiàn)。

  如果定義得較松散,這種分組就允許程序員更自由地在內(nèi)核間劃分任務(wù),最終結(jié)果是以性能控制為代價(jià)提供更大的靈活性。在許多情況下,多核網(wǎng)絡(luò)處理器最終會(huì)以流水線(xiàn)和并行池的混合架構(gòu)形態(tài)出現(xiàn)。

  處理器核的分組對(duì)編程模式有重要影響。并行池帶有相關(guān)的多線(xiàn)程編程模式,其中每個(gè)處理器核可運(yùn)行一個(gè)或多個(gè)線(xiàn)程。從本質(zhì)上講就是程序獲取一個(gè)數(shù)據(jù)包并對(duì)其執(zhí)行一系列操作。

  一旦處理完一個(gè)數(shù)據(jù)包,程序就準(zhǔn)備好按順序取用下一個(gè)數(shù)據(jù)包。程序員通過(guò)把數(shù)據(jù)包分配給不同的并行池來(lái)有效利用處理資源。線(xiàn)程之間的同步是程序員的另一個(gè)關(guān)鍵系統(tǒng)任務(wù)。

  流水線(xiàn)模式處理數(shù)據(jù)平面應(yīng)用,并將其劃分為不同的處理任務(wù)(即:分類(lèi)、修改、隧道處理以及狀態(tài)更新)。然后,每個(gè)任務(wù)被映射到不同的處理器核,任務(wù)的執(zhí)行或由架構(gòu)強(qiáng)制完成,或交由程序員處理。由于吞吐量受限于速度最慢的部分,因此如何在各內(nèi)核間有效地劃分任務(wù)通常是個(gè)挑戰(zhàn)。

  通用多核架構(gòu)內(nèi)的數(shù)據(jù)包通常存儲(chǔ)在共享存儲(chǔ)器區(qū)域(圖2)。在這種情況下,程序員必須將分類(lèi)和數(shù)據(jù)包修改任務(wù)分別分配給處理資源的并行池和流水線(xiàn)。

  

《電子系統(tǒng)設(shè)計(jì)》

  圖2:多核架構(gòu)共享資源,以及用于處理器核和資源互連的高速總線(xiàn)或crossbar總線(xiàn)。

  共享數(shù)據(jù)的復(fù)雜性

  在并行數(shù)據(jù)包處理過(guò)程中,多個(gè)線(xiàn)程可能需要訪(fǎng)問(wèn)和更新諸如狀態(tài)和ARP條目等共享數(shù)據(jù)。不同的線(xiàn)程需要進(jìn)行同步以強(qiáng)制互斥并實(shí)現(xiàn)通用共享模式。但眾所周知,同步并非易事而且會(huì)對(duì)性能造成影響。

  為提高性能,許多多核處理器采用硬件緩存。雖然這可以極大縮短平均存儲(chǔ)器訪(fǎng)問(wèn)延遲,但架構(gòu)會(huì)變得更難以預(yù)測(cè)。

  緩存一致性協(xié)議保證了采用緩存層次結(jié)構(gòu)的多核系統(tǒng)中數(shù)據(jù)的完整性。雖然這對(duì)于程序員是透明的,但為了調(diào)節(jié)性能,程序員需要了解緩存和一致性協(xié)議是如何運(yùn)作的。另一方面,存儲(chǔ)器一致性模型也對(duì)程序員開(kāi)放。因此,程序員需要了解存儲(chǔ)器一致性模型以編寫(xiě)正確的程序。

  保持?jǐn)?shù)據(jù)包順序

  并行數(shù)據(jù)包處理的另一個(gè)挑戰(zhàn)是保持?jǐn)?shù)據(jù)包的順序。所有節(jié)點(diǎn)都應(yīng)針對(duì)相關(guān)的數(shù)據(jù)包保持?jǐn)?shù)據(jù)包順序,因?yàn)樯蠈觽鬏攨f(xié)議的正常工作依賴(lài)這種順序。了解哪些類(lèi)數(shù)據(jù)包需要保持包順序以及如何最有效地滿(mǎn)足這一需求通常是程序員的職責(zé)。

  為降低復(fù)雜度,NPU供應(yīng)商通常會(huì)提供硬件支持和軟件庫(kù)。添加更多的數(shù)據(jù)包緩沖器可有助于確保數(shù)據(jù)包順序,但這總是以增加延遲為代價(jià)。

  降低復(fù)雜性需求

  駕馭基于多核的NPU并非易事。英特爾公司的Larry Huston在第10屆高性能計(jì)算機(jī)體系結(jié)構(gòu)國(guó)際研討會(huì)上發(fā)表的論文中總結(jié)道:

  “理想的情況應(yīng)是,程序員將應(yīng)用寫(xiě)成一段軟件,而工具會(huì)自動(dòng)劃分應(yīng)用并將應(yīng)用映射到并行資源集。這也許是個(gè)難以實(shí)現(xiàn)的目標(biāo),但在該方向上的任一進(jìn)步都將升華開(kāi)發(fā)者的開(kāi)發(fā)生命?!?/P>

  數(shù)據(jù)流架構(gòu)正好滿(mǎn)足這一需求。雖然Larry Huston的上述見(jiàn)解發(fā)表在2004年,但它在今天的效用和意義與6年前一樣。

  確定性數(shù)據(jù)流架構(gòu)

  數(shù)據(jù)流架構(gòu)(圖3)采用了獨(dú)特的方法,且具有處理器內(nèi)核組成的單個(gè)流水線(xiàn)。該架構(gòu)已被設(shè)計(jì)成完全確定性和超高效的。除執(zhí)行語(yǔ)境外,它還包括一個(gè)數(shù)據(jù)包指令集計(jì)算機(jī)(PISC)和一個(gè)引擎接入點(diǎn)(EA

超級(jí)電容器相關(guān)文章:超級(jí)電容器原理



上一頁(yè) 1 2 下一頁(yè)

評(píng)論


相關(guān)推薦

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

關(guān)閉