谷歌正在悄悄地打造與并行計算和網(wǎng)絡(luò)有密切聯(lián)系的處理器,在執(zhí)行文件的補丁獲得LLVM的接納后,谷歌員工的工作則輕松了許多,因為這將簡化維持主體工具鏈代碼的更新過程。
該款名為"Lanai"的處理器內(nèi)核比較簡單,它更多地像是一個裝備齊全的微控制器,不太可能運行計算工作負載。但它可能成為一個大規(guī)模并行計算機的構(gòu)建塊。
Lanai是個簡單的32位級的處理器,有32個32位寄存器,包括:兩個固定值寄存器(一個很可能是零);四個狀態(tài)寄存器,包括程序計數(shù)器、堆棧指針和幀指針;并且預(yù)留了兩個寄存器做線程支持用。Lanai并沒有浮點硬件,所以玩不轉(zhuǎn)涉及太多數(shù)學(xué)的東西。
谷歌軟件工程師雅克•皮納爾(Jacques Pienaar)表示,Lanai的設(shè)計藍圖是從教科書《并行計算機系統(tǒng)結(jié)構(gòu):硬件/軟件方法》得到的,該書介紹了如何構(gòu)建有效率、而同時又能并行處理大量數(shù)據(jù)的機器。
我們曾聽說過谷歌在機器學(xué)習(xí)系統(tǒng)里在一定程度上用了定制的Nvidia芯片。網(wǎng)絡(luò)巨頭谷歌也在旗下數(shù)據(jù)中心拿ARM和POWER架構(gòu)做了些實驗性的設(shè)計,而且也在玩RISC-V。可以說,我們知道谷歌在探索芯片設(shè)計領(lǐng)域;但在公開場合看到谷歌的這樣做倒是有點令人驚訝。
Google人士Chandler Carruth表示,“這是我們的內(nèi)部硬件,所以沒有很多可供分享的信息,別人也搞不到相關(guān)硬件的。我們在搞后端,有一堆后端要搞,各自為戰(zhàn)不可取。尤其是如果有些東西可以在別的后端用上,或是幾個后端需要用共同的基礎(chǔ)架構(gòu),這樣做測試起來容易些。“
近日提交的補丁包括:
• LLVM三重性
• Clang支持
• MCExpr和ELF
• Lanai后端(LIB /目標(biāo)/ Lanai)
盡管源代碼更新里沒有提及供應(yīng)商,但Google人士用的是Myricom的LANai鏈接器,這說明我們今天所見到的Lanai是Myri具有相同名字的高端網(wǎng)絡(luò)控制器的定制衍生之物。Myricom的資產(chǎn)在2013年被馬薩諸塞州的CSPi收購,CSPi主打為數(shù)據(jù)中心構(gòu)建超大規(guī)模云,以及為數(shù)據(jù)中心構(gòu)建超級融合計算和存儲硬件。
谷歌的Lanai很可能是基于Myricom的設(shè)計,是個高度定制的可編程網(wǎng)絡(luò)控制器。其目的是要在互聯(lián)網(wǎng)巨頭的數(shù)據(jù)中心的結(jié)構(gòu)里里植入智能,也許是為了在旗下的服務(wù)器倉庫里融入一個復(fù)雜的軟件定義網(wǎng)絡(luò)。
截止發(fā)稿都未能找到谷歌和CSPi的發(fā)言人對上述種種作出評論。