監(jiān)理公司管理系統(tǒng) | 工程企業(yè)管理系統(tǒng) | OA系統(tǒng) | ERP系統(tǒng) | 造價(jià)咨詢管理系統(tǒng) | 工程設(shè)計(jì)管理系統(tǒng) | 簽約案例 | 購(gòu)買價(jià)格 | 在線試用 | 手機(jī)APP | 產(chǎn)品資料
X 關(guān)閉

網(wǎng)絡(luò)應(yīng)用該選什么樣的處理器?

申請(qǐng)免費(fèi)試用、咨詢電話:400-8352-114

文章來(lái)源:泛普軟件

用戶對(duì)網(wǎng)絡(luò)業(yè)務(wù)豐富和性能增長(zhǎng)同步發(fā)展的需求,使得多核處理器成為了眾多網(wǎng)絡(luò)通信和網(wǎng)絡(luò)安全應(yīng)用開(kāi)發(fā)商的新寵。但同時(shí),多核處理器在網(wǎng)絡(luò)應(yīng)用中也存在問(wèn)題,尤其是目前我們還無(wú)法實(shí)現(xiàn)將控制平面與數(shù)據(jù)平面分離,而這一分離的好壞將決定多核應(yīng)用交付時(shí)的性價(jià)比。在這種情況下,或許FPGA/ASIC與多核整合會(huì)成為一種趨勢(shì)。

隨著多核處理器的興起,眾多網(wǎng)絡(luò)通信和網(wǎng)絡(luò)安全應(yīng)用開(kāi)發(fā)商也把目光從x86架構(gòu)轉(zhuǎn)向了專用或是典型的多核平臺(tái)上。網(wǎng)絡(luò)通信應(yīng)用和安全產(chǎn)品開(kāi)發(fā)商(以下簡(jiǎn)稱應(yīng)用開(kāi)發(fā)商)看好多核,和網(wǎng)絡(luò)處理器曾經(jīng)的風(fēng)靡一樣,是有著很強(qiáng)的用戶需求驅(qū)動(dòng)的。原始需求來(lái)自于用戶對(duì)網(wǎng)絡(luò)業(yè)務(wù)豐富和性能增長(zhǎng)同步發(fā)展的需求。網(wǎng)絡(luò)業(yè)務(wù)應(yīng)用最早只是進(jìn)行簡(jiǎn)單的IP網(wǎng)絡(luò)互聯(lián),而今天則已經(jīng)逐步演進(jìn)到了對(duì)應(yīng)用層的精細(xì)分析和控制,對(duì)網(wǎng)絡(luò)流量進(jìn)行更深入的分析,對(duì)計(jì)算能力的要求也越來(lái)越高; 與此同時(shí),網(wǎng)絡(luò)應(yīng)用需要處理的輸入數(shù)據(jù)也在不斷飛速增長(zhǎng)。傳統(tǒng)x86架構(gòu)固然非常靈活,但卻不能有效解決對(duì)更高流量進(jìn)行處理時(shí)計(jì)算能力不足的問(wèn)題。

事實(shí)上,每當(dāng)一種新的、號(hào)稱可以對(duì)流量進(jìn)行高性能靈活處理的專用芯片誕生,對(duì)應(yīng)用開(kāi)發(fā)商來(lái)說(shuō)都是一種刺激和鼓舞,尤其是這種專業(yè)芯片還可以為軟件開(kāi)發(fā)者提供一種通用的編程能力,因此,多核處理器受到青睞也顯得合情合理。

三種架構(gòu)各有優(yōu)劣

據(jù)了解,應(yīng)用開(kāi)發(fā)商需要通過(guò)專用芯片完成以下專業(yè)工作:模式匹配,在報(bào)文流量中找到特定比特、字節(jié)模式的能力,如字符串匹配、報(bào)文特征匹配等;快速查表,根據(jù)報(bào)文流量特定字段進(jìn)行查表操作,如路由表、流分類表、會(huì)話表等;報(bào)文計(jì)算,如Checksum校驗(yàn)、MD5校驗(yàn)、加解密運(yùn)算等;對(duì)報(bào)文進(jìn)行比特位域操作;隊(duì)列調(diào)度和管理;報(bào)文保序等。

網(wǎng)絡(luò)處理器第一個(gè)在芯片級(jí)為應(yīng)用開(kāi)發(fā)商提供了上述基礎(chǔ)能力,但經(jīng)過(guò)將近10年的發(fā)展,網(wǎng)絡(luò)處理器只贏得了少量的用戶,很多應(yīng)用開(kāi)發(fā)商投入了很多研發(fā)力量但卻并沒(méi)有實(shí)現(xiàn)預(yù)期的大規(guī)模成功。究其根本原因,是因?yàn)閺膞86架構(gòu)遷移到網(wǎng)絡(luò)處理器的成本太高,一個(gè)對(duì)現(xiàn)有軟件架構(gòu)沖擊太大的硬件必然會(huì)給軟件開(kāi)發(fā)商帶來(lái)沉重的開(kāi)發(fā)成本和維護(hù)成本。因此,網(wǎng)絡(luò)處理器只在少數(shù)幾個(gè)大廠商的核心產(chǎn)品中得到了應(yīng)用。昂貴的開(kāi)發(fā)成本造成網(wǎng)絡(luò)處理器缺乏大基數(shù)的用戶群,用戶群的萎縮直接帶來(lái)的是網(wǎng)絡(luò)處理器應(yīng)用的無(wú)疾而終。

用于網(wǎng)絡(luò)通信設(shè)備的多核處理器,內(nèi)部同樣也集成了上述專業(yè)工作中的一部分甚至全部功能。此外,多核處理器為應(yīng)用開(kāi)發(fā)商提供了靈活度更高的報(bào)文處理計(jì)算能力,筆者研究OCTEON處理器時(shí),也為基于Linux即可開(kāi)發(fā)、用C代碼來(lái)編程并使用這些功能而感到激動(dòng),但激動(dòng)過(guò)后也不得不站在工程的角度去思考一個(gè)很現(xiàn)實(shí)的問(wèn)題:遷移到多核處理器,究竟需要花費(fèi)多少成本?會(huì)不會(huì)陷入類似當(dāng)年網(wǎng)絡(luò)處理器的“泥潭”呢?

與網(wǎng)絡(luò)處理器相比,多核處理器為應(yīng)用開(kāi)發(fā)商提供了“基于Linux”這個(gè)開(kāi)發(fā)利器。我們都知道,在x86上開(kāi)發(fā)出來(lái)的眾多網(wǎng)絡(luò)應(yīng)用都是基于Linux以及上面豐富的開(kāi)源應(yīng)用程序的,而x86上可以運(yùn)行的Linux系統(tǒng)和程序幾乎可以不加修改地直接移植到MIPS(一種RISC處理器)上,也就是多核CPU上。天然被Linux支持的SMP架構(gòu),則可以讓多個(gè)CPU核同時(shí)被利用起來(lái),這樣的移植工作量風(fēng)險(xiǎn)很小,投入也可控。

但同時(shí),SMP架構(gòu)并不能為網(wǎng)絡(luò)應(yīng)用處理提供線性的擴(kuò)張能力,也就是說(shuō),一個(gè)核處理100M,并不意味著兩個(gè)核可以處理200M、16個(gè)核可以處理1600M,SMP架構(gòu)極有可能只能讓16個(gè)核具備1000M的處理性能,這么多個(gè)核的能力被軟件架構(gòu)浪費(fèi)掉了,直接后果就是應(yīng)用設(shè)備整機(jī)的造價(jià)成本居高不下。此外,很多多核處理器中提供的報(bào)文處理加速能力,需要有專用的軟件去“激活”,Linux沒(méi)有提供現(xiàn)成的激活代碼,應(yīng)用開(kāi)發(fā)商如果要用好多核,還必須自己去寫代碼來(lái)激活這些功能。

也就是說(shuō),多核處理器為使用Linux的應(yīng)用開(kāi)發(fā)商提供了一個(gè)很容易用起來(lái)的開(kāi)發(fā)平臺(tái),但如何用好這個(gè)平臺(tái),則需要應(yīng)用開(kāi)發(fā)商付出努力。我們知道,網(wǎng)絡(luò)應(yīng)用可以從邏輯上分為控制平面和數(shù)據(jù)平面,x86上的Linux是控制平面和數(shù)據(jù)平面合一的,多核的SMP用法,也是控制平面和數(shù)據(jù)平面合一的,但是要讓網(wǎng)絡(luò)應(yīng)用把多核用好,就必須要將控制平面和數(shù)據(jù)平面分離開(kāi)來(lái),而且分離得好不好決定了多核應(yīng)用交付時(shí)的性價(jià)比。

這就讓我們不得不提第三種架構(gòu)x86+FPGA/ASIC,這種架構(gòu)從設(shè)計(jì)開(kāi)始就帶有很鮮明的數(shù)據(jù)平面和控制平面分離的特征,因此這種架構(gòu)可以很好地實(shí)現(xiàn)高性能這個(gè)目標(biāo)。但很可惜,由于FPGA或ASIC技術(shù)需要很大的研發(fā)投入,這種架構(gòu)成為了少數(shù)大廠商的專屬架構(gòu),也正因如此,人們往往無(wú)從分析和驗(yàn)證這種架構(gòu)是否應(yīng)該以及怎樣與Linux這樣的開(kāi)放系統(tǒng)結(jié)合起來(lái)。

FPGA/ASIC與多核整合或成趨勢(shì)

回顧網(wǎng)絡(luò)應(yīng)用處理器的發(fā)展歷史,觀察CPU+FPGA/ASIC架構(gòu)的發(fā)展,跟蹤多核處理器架構(gòu)的發(fā)展趨勢(shì),我們可以進(jìn)行一個(gè)總結(jié)性的比較。

第一,三種架構(gòu)的目的都是希望為網(wǎng)絡(luò)通信應(yīng)用提供高性能的報(bào)文處理能力,即提供一個(gè)高性能的數(shù)據(jù)平面引擎;盡管它們出現(xiàn)的時(shí)間階段不同,但基本能力是相同的。

第二,可以將網(wǎng)絡(luò)處理器理解成多核架構(gòu)的初級(jí)階段,網(wǎng)絡(luò)處理器并沒(méi)有構(gòu)建出一個(gè)足夠強(qiáng)大的開(kāi)發(fā)者群體;而多核處理器則充分利用了Linux這個(gè)網(wǎng)絡(luò)應(yīng)用開(kāi)發(fā)者非常喜歡的開(kāi)放平臺(tái),為吸引開(kāi)發(fā)者、構(gòu)建開(kāi)發(fā)社區(qū)提供了很大的想象空間。

第三,與多核處理器相比,F(xiàn)PGA/ASIC在芯片級(jí)實(shí)現(xiàn)了網(wǎng)絡(luò)應(yīng)用的數(shù)據(jù)平面,但由于 FPGA/ASIC實(shí)現(xiàn)成本很高,必須要有專業(yè)的廠商進(jìn)行專業(yè)化的商業(yè)支持,數(shù)據(jù)平面的引擎才能不斷向前發(fā)展以滿足不斷豐富的網(wǎng)絡(luò)應(yīng)用需求。而也正是這些專業(yè)廠商的出現(xiàn),使得FPGA/ASIC從少數(shù)廠家的私有架構(gòu)逐步變成適合眾多網(wǎng)絡(luò)應(yīng)用開(kāi)發(fā)商進(jìn)行二次開(kāi)發(fā)的開(kāi)放架構(gòu)。

第四,多核處理器雖然具備很多明顯優(yōu)勢(shì),但要將多核處理器的潛力充分發(fā)揮出來(lái),還必須解決傳統(tǒng)應(yīng)用軟件中數(shù)據(jù)平面和控制平面分離的問(wèn)題。因此,只有在多核上也出現(xiàn)了標(biāo)準(zhǔn)化的、開(kāi)放的數(shù)據(jù)平面引擎,并且這個(gè)引擎可以與傳統(tǒng)成熟軟件無(wú)縫平滑結(jié)合時(shí),多核處理器才可能在網(wǎng)絡(luò)應(yīng)用中蓬勃發(fā)展。

第五,網(wǎng)絡(luò)應(yīng)用對(duì)數(shù)據(jù)平面引擎的要求,除了高性能、標(biāo)準(zhǔn)化和開(kāi)放之外,功能豐富、易擴(kuò)展的需求也越來(lái)越強(qiáng)烈。那么,多核和FPGA/AISC可否結(jié)合起來(lái)應(yīng)用呢?FPGA/ASIC實(shí)現(xiàn)標(biāo)準(zhǔn)化的會(huì)話層和網(wǎng)絡(luò)層處理,多核實(shí)現(xiàn)靈活豐富的應(yīng)用層業(yè)務(wù)擴(kuò)展,是不是會(huì)成為未來(lái)的一種發(fā)展方向呢?在筆者看來(lái),這很可能會(huì)成為未來(lái)的一大發(fā)展趨勢(shì)。

第六,網(wǎng)絡(luò)應(yīng)用廠商的專長(zhǎng)和優(yōu)勢(shì)在于他們可以深刻理解用戶需求,以用戶需求為基礎(chǔ)挖掘很多新應(yīng)用。數(shù)據(jù)平面的實(shí)現(xiàn),無(wú)論是芯片級(jí)的FPGA/ASIC,還是多核的數(shù)據(jù)平面引擎,都很接近于網(wǎng)絡(luò)基礎(chǔ)設(shè)施的底層,一個(gè)標(biāo)準(zhǔn)、開(kāi)放、專業(yè)、易擴(kuò)展的數(shù)據(jù)平面引擎,必然會(huì)為網(wǎng)絡(luò)新應(yīng)用開(kāi)發(fā)帶來(lái)巨大推力。當(dāng)然,專業(yè)的數(shù)據(jù)平面引擎的獲得,無(wú)論是用FPGA實(shí)現(xiàn),還是用多核實(shí)現(xiàn),或者是將二者結(jié)合起來(lái)實(shí)現(xiàn),都需要有專業(yè)廠商的支持。(TT中國(guó))

發(fā)布:2007-04-21 11:50    編輯:泛普軟件 · xiaona    [打印此頁(yè)]    [關(guān)閉]
相關(guān)文章:

泛普沈陽(yáng)OA行業(yè)資訊其他應(yīng)用

沈陽(yáng)OA軟件 沈陽(yáng)OA新聞動(dòng)態(tài) 沈陽(yáng)OA信息化 沈陽(yáng)OA快博 沈陽(yáng)OA行業(yè)資訊 沈陽(yáng)軟件開(kāi)發(fā)公司 沈陽(yáng)門禁系統(tǒng) 沈陽(yáng)物業(yè)管理軟件 沈陽(yáng)倉(cāng)庫(kù)管理軟件 沈陽(yáng)餐飲管理軟件 沈陽(yáng)網(wǎng)站建設(shè)公司