在最近的熱門芯片大會(HotChipsconference)上,新創(chuàng)企業(yè)Tilera公司發(fā)布了其大規(guī)模并行通用嵌入式處理器Tile64。據(jù)稱,該芯片能突破性的使具有幾十個內(nèi)核的CPU更易編程。
不少初創(chuàng)公司已經(jīng)開始涉足多種大規(guī)模并行架構(gòu),試圖搶占傳統(tǒng)上由FPGA和DSP占據(jù)的高端市場,然而迄今為止幾乎還沒有誰已獲得了足夠的市場動力。但是,Tilera公司聲稱自己的設(shè)計已經(jīng)在10多個主要的小型或中型網(wǎng)絡(luò)及視頻OEM廠商那里贏得了訂單,其中包括3Com公司。
Tilera公司首席技術(shù)專家AnantAgarwal長期在麻省理工學(xué)院(MIT)從事多內(nèi)核研究工作,他承認,其公司的工具并非是解決大規(guī)模并行架構(gòu)編程這個計算機科學(xué)大難題的靈丹妙藥?!岸鄡?nèi)核編程中不存在一勞永逸的方法。”他說。
不過,該公司似乎即將一矢中的。“很多顧客都采用了現(xiàn)成代碼,能在幾分鐘之內(nèi)對其進行編譯和運行。”Agarwal透露,“我們的網(wǎng)格互連與軟件工具都極具震撼力,適用于所有的嵌入式應(yīng)用。”
Tilera公司的做法非常簡單易懂。其單獨內(nèi)核均是完整的通用處理器,每個都能運行對稱多處理(SMP)版Linux。每個內(nèi)核還具有一個嵌入式交換器,可以連接到裸片上的任意其他內(nèi)核,從而在一個網(wǎng)格網(wǎng)絡(luò)(meshnetwork)上進行互聯(lián)。
這樣一來,OEM廠商就能將其應(yīng)用方便地連接到一個或幾個內(nèi)核上。然后,他們可以利用該新創(chuàng)公司的優(yōu)化工具,來確定程序及數(shù)據(jù)流通信庫中存在的瓶頸,以便增加更多內(nèi)核來達到所需的內(nèi)存或處理帶寬。Agarwal表示,在一些諸如數(shù)據(jù)包嗅探器以及數(shù)字視頻編碼等應(yīng)用中,客戶已經(jīng)可以使用裸片上的全部64個內(nèi)核。
“我看到的每家新創(chuàng)公司都需要采用兩步走的軟件開發(fā)流程,但聽起來流程應(yīng)該可以得到簡化?!笔袌稣{(diào)查公司ForwardConcepts總裁WillStrauss言簡意賅地發(fā)表了對該款芯片的評價。
Strauss說,Tilera的方案很獨特,這部分在于其每個內(nèi)核都擁有支持完整操作系統(tǒng)所需的中斷和緩存結(jié)構(gòu)。其他公司則傾向于使用簡化的內(nèi)核以及新的編程方法。
“他們的產(chǎn)品極具價值,因為它花了200美元,用五個TI最好的DSP來處理H.264的實時解碼?!彼a充道。
Tilera基于Eclipse的開發(fā)環(huán)境目前支持Linux和標準C編譯器。未來的軟件版本將支持C++,以及其它語言和操作系統(tǒng)。
“這些大規(guī)模并行處理器的成功歸結(jié)為軟件工具的有效性?!盩heLinleyGroup總裁LinleyGwennap表示。
“你可以在一個裸片上放置數(shù)十甚至數(shù)百個內(nèi)核。這些內(nèi)核的互連存在一定難度,但真正的問題是開發(fā)一種方式,使軟件可以利用所有的處理器內(nèi)核?!盙wennap指出,“很難找到一種能利用多個處理器的自動化軟件?!?
的確,即使熱門芯片大會的一名組織者也表示,今年的活動關(guān)于多核芯片的論文特別多,但有關(guān)多核編程模型的創(chuàng)新性工作則太少了。
迄今為止,Tilera的客戶中僅有TopLayer公司愿意談?wù)撌褂迷撔酒慕?jīng)驗。該公司首席策略官MichaelPaquette透露,TopLayer公司計劃在其下一代網(wǎng)絡(luò)安全設(shè)備中采用Tile64芯片。
“我們目前的架構(gòu)非常適合Tilera方法,因為它是由ASIC和FPGA組成的,這在本質(zhì)上來說就是一個多處理器系統(tǒng)?!盤aquette表示,“在我們的下一代平臺中,我們打算把應(yīng)用從這些處理器中的一部分轉(zhuǎn)移到多個Tilera內(nèi)核?!?
TopLayer公司的研發(fā)人員才剛開始采用Tilera工具,將其應(yīng)用擴展到處理器中的全部64個內(nèi)核。該公司之所以選擇Tile64,部分原因是Tilera公司計劃在2009年提供120個內(nèi)核的產(chǎn)品,這為那些網(wǎng)絡(luò)設(shè)備年發(fā)貨量小于10,000部的OEM廠商們的下一代設(shè)計遠景增強了信心。
具有諷刺意味的是,去年熱門芯片大會上的主要論文也關(guān)注于大規(guī)模并行嵌入式處理器。與Tilera類似,初創(chuàng)的Ambric公司正在瞄準高端數(shù)字視頻與網(wǎng)絡(luò)處理,該公司明白,其成功的關(guān)鍵是自己的并行編程軟件。二者的目標雖然相似,但是實現(xiàn)方法卻有所不同。
Tilera在網(wǎng)格上放置了64個完整的處理器內(nèi)核,并采用較為傳統(tǒng)的軟件模型進行傳輸和優(yōu)化。Ambric公司利用了一種新穎的寄存器設(shè)計,將其作為其360個簡化RISC內(nèi)核與異步通信信道(在Kestrel芯片內(nèi)連接RISC內(nèi)核)的一個組成模塊,。
Ambric的編程模型要求開發(fā)者利用Java子集在固定層中創(chuàng)建一組定義嚴謹?shù)膶ο?,以及允許對象間相互通訊的消息機制。Ambric使用了一個Java子集,其中去掉了虛擬機、垃圾收集和浮點支持,同時增加了處理該公司獨特寄存器硬件的類庫。合成的軟件通過Ambric工具被映像到其芯片硬件上。
“我們認為,首先必須定義好適當?shù)能浖幊棠P?,然后開發(fā)支持電路——這正是我們采取的方式?!盇mbric公司研究員兼副總裁MikeButts指出。Butts曾在去年的熱門芯片大會上進行論文演講。
一年過去了,該公司尚未公布任何用戶,但是聲稱已在諸如視頻、醫(yī)療成像、數(shù)據(jù)包處理以及國防等“數(shù)十個”領(lǐng)域贏得了設(shè)計定單,而其中一些公司將在今年年底之前發(fā)布其系統(tǒng),Ambric公司協(xié)創(chuàng)人兼行銷和業(yè)務(wù)拓展副總裁JayEisenlohr透露。
“我們的做法是伸開雙臂來迎接,而且這樣做的確有效?!彼f。
Eisenlohr透露,迄今為止,60人的Ambric公司已經(jīng)籌集了將近2,000萬美元,并且至少還要進行一輪風(fēng)險融資。
[!--empirenews.page--]Ambric和Tilera只是從事新處理器開發(fā)的眾多新創(chuàng)公司中的兩家,這些公司采用新型并行或可配置設(shè)計來實現(xiàn)諸如H.264視頻編碼等應(yīng)用。還有一家公司CSwitch,也是在2006年成立的。此外,初創(chuàng)的Stretch和StreamProcessors公司正在將其CPU應(yīng)用于數(shù)字視頻監(jiān)控系統(tǒng)。
網(wǎng)格是內(nèi)核連接的未來趨勢
其他公司,例如PicoChip公司、AzulSystems公司以及RazaMicroelectronics公司等,使用多個內(nèi)核,但一般將其處理器瞄準一系列更受關(guān)注的應(yīng)用,通常包括專用于其領(lǐng)域的硬件加速器等。也有一些公司采用了新型編譯器和手寫軟件的組合,將其作為自己編程模型的一部分。在芯片級,他們采用一系列總線、多個片上網(wǎng)絡(luò)(或環(huán))和網(wǎng)格來連接其內(nèi)核。
“我相信多核處理器的未來將采用網(wǎng)格互連?!盩ilera的Agarwal表示。
“在一個網(wǎng)格中,你用每片新的網(wǎng)塊(tile)來增加對分帶寬。在環(huán)技術(shù)中,增加內(nèi)核并非個案?!彼f,“對分帶寬是性能的關(guān)鍵性決定因素?!?
Tile64中的每個內(nèi)核實際上支持五個并行的32位信道,這些信道分別傳輸中斷、內(nèi)存、I/O以及其它數(shù)據(jù)流。由于64個內(nèi)核中的每個核之間有五個雙向連接,該芯片能支持32Tbps的總帶寬。
即使Agarwal曾開發(fā)過第一款多線程處理器架構(gòu),但Tile64是單線程的?!熬€程切換往往消耗大量功耗,且會占用緩存。”Agarwal認為。
Tile64芯片的不同版本運行速率從600MHz到1GHz,平均消耗17-30W的功耗。該芯片集成了四個DDR2內(nèi)存控制器,高達兩個10Gbps的Xaui、兩個PCIExpress、以及兩個Gb以太網(wǎng)路接口。芯片今年年底將達到量產(chǎn),一萬顆時起價435美元。
在2004年10月創(chuàng)立的Tilera公司是Agarwal先生在MIT多年從事網(wǎng)格多內(nèi)核架構(gòu)的產(chǎn)物,包括Raw芯片,這是一款由美國國防先進研究項目局提供部分經(jīng)費的16內(nèi)核CPU。迄今為止,Tilera在兩輪風(fēng)險投資中已獲得大約4,000萬美元的投資。
Tile64把64個通用內(nèi)核放在一個網(wǎng)格互連上。每個內(nèi)核有一個網(wǎng)格開關(guān),且該內(nèi)核上能夠運行一個完整的Linux操作系統(tǒng)。