多核網(wǎng)絡(luò)處理器及其開(kāi)發(fā)考慮成為關(guān)注焦點(diǎn)
網(wǎng)絡(luò)全光化進(jìn)程的加速以及網(wǎng)絡(luò)技術(shù)的演進(jìn)擴(kuò)展了傳統(tǒng)數(shù)據(jù)業(yè)務(wù)以外的多業(yè)務(wù)模式,諸如音視頻下載、P2P流媒體等業(yè)務(wù)對(duì)網(wǎng)絡(luò)的業(yè)務(wù)承載能力提出了新的挑戰(zhàn)。隨之而來(lái)的線(xiàn)速處理和可管理需求已使傳統(tǒng)網(wǎng)絡(luò)設(shè)備不堪重荷,因此新型網(wǎng)絡(luò)設(shè)備需要具備快速的業(yè)務(wù)升級(jí)能力和高性能的處理能力以提高網(wǎng)絡(luò)容量。目前,采用多內(nèi)核和并行處理結(jié)構(gòu)的網(wǎng)絡(luò)處理器(Network Processor)在中高端網(wǎng)絡(luò)設(shè)備中的使用已逐漸成為趨勢(shì)。但與計(jì)算和消費(fèi)市場(chǎng)一樣,通信網(wǎng)絡(luò)市場(chǎng)的多核并行處理的開(kāi)發(fā)也面臨著前所未有的挑戰(zhàn),因此如何突破NP多核架構(gòu)的開(kāi)發(fā)瓶頸已成為業(yè)界關(guān)注的焦點(diǎn)。
本文引用地址:http://m.butianyuan.cn/article/201609/304754.htm多業(yè)務(wù)流催生新型多核網(wǎng)絡(luò)處理器
NP融合了CPU的靈活性和ASIC的高性能特點(diǎn)。NP擁有很強(qiáng)的硬件并行處理能力,其可通過(guò)多內(nèi)核實(shí)現(xiàn)處理器級(jí)的并行處理,因此使用多核NP實(shí)現(xiàn)并行交換(PPS)能很好地提升網(wǎng)絡(luò)容量。高性能系統(tǒng)需求可以說(shuō)是驅(qū)動(dòng)多內(nèi)核和快速處理技術(shù)需求的動(dòng)力。新型多核NP被應(yīng)用在控制平面、數(shù)據(jù)平面以及兩者結(jié)合的處理。目前主要的多核NP半導(dǎo)體廠商有MIPS架構(gòu)陣營(yíng)的Cavium、RMI、博通,以及PowerPC架構(gòu)陣營(yíng)飛思卡爾。
很多應(yīng)用具有寬廣的性能范圍和能根據(jù)內(nèi)核性能和數(shù)量進(jìn)行縮放的解決方案。這些能力可以使系統(tǒng)廠商很容易實(shí)行跨平臺(tái)保存和重新利用遺留代碼并移植到未來(lái)的應(yīng)用,因此增加性能和添加增值功能對(duì)網(wǎng)絡(luò)設(shè)備而言十分有必要。多核NP主要通過(guò)可縮放的方式卸載TCP性能,而新型多核NP的片上內(nèi)容處理卸載可以對(duì)L4層以上的分組提供處理并能夠?qū)崿F(xiàn)片上壓縮/解壓。為了幫助內(nèi)核卸載,多數(shù)多核處理器的廠商都集成了特殊的硬件加速器進(jìn)行那些可用硬件更高效實(shí)現(xiàn)的處理。由于新的多核處理器結(jié)合了硬件加速技術(shù),多內(nèi)核與多I/O可以共享同一數(shù)據(jù)報(bào)內(nèi)的分組的所有部分,來(lái)自這些模塊的關(guān)于位置和數(shù)據(jù)可追蹤與可接入的信息實(shí)質(zhì)上可以用來(lái)調(diào)試軟件。而通過(guò)平臺(tái)利用這些信息優(yōu)化性能同樣變得重要??梢暬球?qū)動(dòng)多核處理器的管理程序功能支持的另一個(gè)趨勢(shì)。
面對(duì)日益增長(zhǎng)的P2P業(yè)務(wù)流,深層包檢測(cè)(DPI)技術(shù)被認(rèn)為是對(duì)付網(wǎng)絡(luò)多業(yè)務(wù)所帶來(lái)的管理/控制挑戰(zhàn)的有效方法。模式匹配是實(shí)現(xiàn)DPI的基礎(chǔ),而多核 NP能對(duì)DPI的模式匹配提供有力的支持。實(shí)現(xiàn)DPI的模式匹配主要有TCAM(三態(tài)內(nèi)容可訪(fǎng)問(wèn)存儲(chǔ)器)模式匹配以及正則表示模式匹配。其中,TCAM是一種用于硬件加速查找的外接式存儲(chǔ)器,廣泛用于早期的高端路由器上。但其靈活性較差、功耗大。面對(duì)下一代網(wǎng)絡(luò)的高吞吐量需求LA-1接口已經(jīng)逐漸不能滿(mǎn)足,目前主要TCAM生產(chǎn)廠商正為下一代TCAM制定新接口。正則表示式(regular expression)模式匹配由于具備高性能和高靈活性特點(diǎn)正逐漸成為DPI模式匹配的主流。
由于在DPI下交換協(xié)議、病毒定義和頻繁的更新需要模式數(shù)據(jù)庫(kù),而為實(shí)現(xiàn)DPI性能需求,也對(duì)存儲(chǔ)器帶寬提出了需求。飛思卡爾半導(dǎo)體通過(guò)模式匹配引擎(PME)提供快速編譯和提升了模式更新,因?yàn)榭梢允褂昧畠r(jià)的DDR2存儲(chǔ)模式使PME的吞吐量無(wú)需依賴(lài)于外部存儲(chǔ)器。PME使用NFA(非確定性無(wú)限自動(dòng)機(jī))解決DPI中的模式剖析問(wèn)題。另外,在分組的狀態(tài)檢測(cè)過(guò)程中也可以使用狀態(tài)規(guī)則引擎(stateful rule engine)卸載更多的CPU帶寬。多核處理器不但需要低延時(shí)存儲(chǔ)器訪(fǎng)問(wèn)以進(jìn)行高性能的L2和L3路由判決,而且需要具有高性能正則表示式的查找加速以允許分組能夠被安全應(yīng)用搜查到,也同樣需要安全加速以處理分組的壓縮/解壓。所有這些加速器和多個(gè)內(nèi)核共享數(shù)據(jù)和狀態(tài)使得高帶寬互連變得尤其重要。而這個(gè)互連必須是完全緩存一致性的。據(jù)飛思卡爾半導(dǎo)體網(wǎng)絡(luò)和多媒體應(yīng)用處理器部門(mén)的Jeffrey Ho介紹,飛思卡爾即將推出的多核平臺(tái)將會(huì)支持三級(jí)緩存體系以滿(mǎn)足那些同時(shí)需要共享前端緩存和本地后端緩存的應(yīng)用。另外,由于用于L4層及以上的應(yīng)用的模式匹配卸載需要靈活性和易于編程,在那些快速的業(yè)務(wù)更新里就無(wú)需外接昂貴的TCAM和RLDRAM了,PME引擎能?chē)@匹配的狀態(tài)操作也無(wú)需進(jìn)行軟件的交互。
總的來(lái)看,新型多核NP相對(duì)于傳統(tǒng)的微引擎/微碼NP有很多優(yōu)勢(shì)。首先具有更好的編程性,例如能使用Linux、VxWorks或者BSD這些基于C /C++語(yǔ)言的標(biāo)準(zhǔn)嵌入式操作系統(tǒng),以及多種標(biāo)準(zhǔn)開(kāi)發(fā)環(huán)境;并能夠?qū)⒖刂?、管理和?shù)據(jù)平面軟件集成到單芯片里面。但高應(yīng)用吞吐量才是高端NP首要關(guān)注的,低端NP提高集成度是為了達(dá)到降低成本的目的。而在應(yīng)用中是否采用NP和ASIC/FPGA結(jié)合的方式則要視乎具體情況而定。目前,有廠商把控制和數(shù)據(jù)平面集成到單顆NP里面,但高端應(yīng)用仍將它們進(jìn)行分離處理。因?yàn)檫@更多的是取決于遺留代碼、軟件及具體方法而不是由NP的功能集成的支持度所決定的,所以在未來(lái)的高端設(shè)備設(shè)計(jì)當(dāng)中NP和ASIC/FPGA將長(zhǎng)期共存,這樣才能夠進(jìn)行諸如背板事務(wù)的處理以及能為產(chǎn)品提供區(qū)別于競(jìng)爭(zhēng)對(duì)手產(chǎn)品的附加值。
圖1:飛思卡爾即將推出的多核通信平臺(tái)將支持三級(jí)緩存。
多核NP在高層應(yīng)用中面臨挑戰(zhàn)
傳統(tǒng)NP不支持標(biāo)準(zhǔn)操作系統(tǒng)和C/C++代碼。新型多核NP已經(jīng)發(fā)展成為可以支持標(biāo)準(zhǔn)編程設(shè)計(jì)模塊、C/C++和Linux、VxWorks和BSD等操作系統(tǒng)的NP。多核架構(gòu)因?yàn)榭梢酝ㄟ^(guò)不同的處理單元并行處理任務(wù),因此可以為整個(gè)系統(tǒng)帶來(lái)好處。根據(jù)阿姆達(dá)爾定律,多核軟件性能將很大程度上依賴(lài)于順序執(zhí)行的代碼數(shù)量。嵌入式系統(tǒng)復(fù)用了舊系統(tǒng)大量的遺留代碼,而其中大部分的代碼庫(kù)是為單核處理而編寫(xiě)的。通常這些已寫(xiě)好的軟件是單線(xiàn)程的,必須依賴(lài)代碼的順序執(zhí)行。因此需要把代碼分割成很多小片,同時(shí)減少順序執(zhí)行代碼的數(shù)量。在利用多核NP進(jìn)行設(shè)計(jì)的時(shí)候,開(kāi)發(fā)人員必須時(shí)刻提醒自己是在使用多核與硬件加速。
單處理核心的負(fù)載平衡可以由OS很容易的完成。但是對(duì)于多核來(lái)說(shuō),要視乎是不對(duì)稱(chēng)多重處理(AMP)還是對(duì)稱(chēng)多重處理(SMP)操作系統(tǒng)。AMP OS的負(fù)載平衡是靜止的并依賴(lài)于程序員來(lái)分割代碼。因此當(dāng)工作量不一致時(shí)問(wèn)題就出現(xiàn)了,而靜態(tài)平衡則意味著他們需要對(duì)代碼進(jìn)行重分割以適應(yīng)不同的環(huán)境。其他的問(wèn)題還包括并行處理時(shí)內(nèi)核間的優(yōu)化、處理器的共享數(shù)據(jù)的優(yōu)化、在多核環(huán)境下尋找重部署代碼庫(kù)的方法以及用軟件包集成通用產(chǎn)品和性能。
評(píng)論