近年來,隨著ARM在移動端崛起,越來越多的中國IC設(shè)計公司加入了ARM陣營,除了華為海思、展訊在手機、平板SoC大展拳腳之外,華為、飛騰、華芯通還試圖借勢ARM進軍服務(wù)器CPU市場,實現(xiàn)對Intel服務(wù)器CPU的替換。那么,中國芯能借勢ARM挑戰(zhàn)Intel么?
中國企業(yè)緣何能獲得ARM指令集授權(quán)
一直以來,ARM在指令集授權(quán)上非常謹慎,能獲得ARM 32位指令集授權(quán)的IC設(shè)計公司屈指可數(shù)。但在ARM 64位指令集授權(quán)上,ARM就大方了很多,原因就在于當(dāng)時基于ARM 32位指令系統(tǒng)的CPU芯片在移動互聯(lián)網(wǎng)世界占據(jù)了90%以上的份額,因此ARM為了獲得更多利益,也不會將32位指令集授權(quán)給客戶。
相比之下MIPS64和MIPS32,x86 64和x86 32可以完全兼容,ARM 64位指令和32位指令無法兼容。換言之,ARM 64位指令某種程度上是重新定義過的,和ARM 32位指令是兩回事。最初的ARM 64位指令和32位指令有點類似于Intel當(dāng)年IA-32和IA-64的關(guān)系,兩者無法兼容。當(dāng)年Intel正是因為IA-32和IA-64的不兼容,在IA-64的生態(tài)建設(shè)上力所不逮,被AMD抓住機會做出了64位的x86服務(wù)器芯片,迫使Intel不得不推出64位x86芯片,并放棄了安騰,才重新占據(jù)上風(fēng)。
在吸取了Intel的IA-64的教訓(xùn)之后,ARM為了更快速地推廣64位指令集和建立相應(yīng)的軟件生態(tài),必然要一改過去對32位指令集授權(quán)的謹慎。ARM選擇了向諸多頗有實力的廠商授權(quán)64位指令集,加速生態(tài)建設(shè),防止被競爭對手抓住機遇。ARM之所以熱衷于推銷64位指令,根本原因就在于此。
趁著ARM推廣ARM 64的東風(fēng),國內(nèi)華為、飛騰、華芯通等企業(yè)都獲得了ARM 64指令集授權(quán)。由于ARM的目的是為了快速建立ARM 64的生態(tài)和在服務(wù)器領(lǐng)域蠶食Intel的市場份額,因而對國內(nèi)IC設(shè)計公司的指令集授權(quán)存在期限限制,到期后就必須重新談判。如果將來ARM大勢已成,這也許會是一個隱患,一旦ARM在服務(wù)器市場站穩(wěn)腳跟,對國內(nèi)廠商的服務(wù)器授權(quán)態(tài)度恐怕將是另一番情景。不過,這個隱患還非常遙遠,ARM目前還處于市場開拓期時,與國內(nèi)IC設(shè)計公司的合作也比較友好。
▲借著ARM推廣64位指令集的東風(fēng),中國IC企業(yè)有了不小的發(fā)展機遇。
中國ARM服務(wù)器性能幾何
目前,開發(fā)ARM服務(wù)器CPU的中國IC設(shè)計公司有三家:華為、飛騰、華芯通。華芯通是我國與高通成立的合資公司,從高通手中獲得了源碼并基于該源碼設(shè)計自己的CPU。不過,由于華芯通北京研發(fā)中心剛剛啟用,正式商用產(chǎn)品問世尚需時日。相比之下,華為和飛騰已經(jīng)有產(chǎn)品問世,華為的ARM服務(wù)器CPU集成了32核ARM Cortex A57,采用臺積電16nm制造工藝。也許是因為華為缺乏服務(wù)器CPU設(shè)計經(jīng)驗,這款服務(wù)器CPU的性能相對有限。以飛騰的FT2000作參照,華為的這款服務(wù)器CPU在制造工藝領(lǐng)先2代的情況下,以FT2000一半的功耗實現(xiàn)了不足FT2000一半的性能。因此在下面文章的解析中,中國ARM服務(wù)器CPU就以目前性能最強的FT2000為代表進行說明。
在2015年的第28屆國際高性能微處理器研討會上,飛騰公布了“火星”,也就是FT2000。FT2000采用28nm工藝,主頻2GHz,功耗100W。芯片面積600多平方毫米,集成了64個FTC661 CPU核,共計48億個晶體管。根據(jù)測試,F(xiàn)T2000的芯片實測成績相對于模擬器成績要稍低一些,在2GHz主頻下,采用GCC4.8編譯器,SPEC2000和SPEC2006的測試成績見表一。其中SPEC CPU2006全芯片測試分值為定點570,浮點482,單線程測試分值為定點12.4,浮點11.3,雖然在單線程性能上和Intel依舊有不小的差距,但就多線程性能而言,足以與Intel Xeon E5-2695v3芯片相媲美。
▲FTC661 CPU核架構(gòu)圖
▲FT-2000在SPEC CPU2006全芯片測試中的成績
至于實測成績和模擬器測試成績之間的性能差距,主要是模擬環(huán)境與真實系統(tǒng)之間的差異造成的。首先,模擬環(huán)境中存儲系統(tǒng)一般是用模型來構(gòu)建的,與真實芯片環(huán)境相比更加理想化;其次在模擬平臺上,由于模擬運行速度較慢,benchmark問題規(guī)模不能太大,都需裁剪簡化。因此,真實系統(tǒng)測試性能與模擬環(huán)境中得到的性能不一致是正常現(xiàn)象。不過,這種偏差并非無法彌補,通過研究更科學(xué)的性能評估手段,可以降低模擬系統(tǒng)與真實系統(tǒng)的性能偏差。同時基于真實系統(tǒng)進一步開展編譯調(diào)優(yōu)工作,會進一步提升性能,預(yù)計測試結(jié)果會有10%~30%的優(yōu)化空間。
▲采用FT2000的服務(wù)器實物
總而言之,從性能上看,F(xiàn)T2000能夠勝任一些國產(chǎn)中高端服務(wù)器的業(yè)務(wù)需求。
能打敗國外同類產(chǎn)品么?
事實上,想借勢ARM從服務(wù)器CPU市場分一杯羹的IC設(shè)計公司遠不止華為、飛騰和華芯通。AMD、高通、Cavium 、APM等IC設(shè)計公司也開發(fā)了各自的ARM服務(wù)器CPU。雖然AMD依舊把重心放在x86 CPU上,即便高通早就公布了服務(wù)器CPU的規(guī)劃,Centriq 2400要到2017年年末才會問世,但并不意味著國外廠商的ARM服務(wù)器CPU是只打雷不下雨。相對于進入該領(lǐng)域較晚的AMD、Cavium、高通等廠商,APM雖然名聲不顯,但由于在2010年前后就著手開發(fā)ARM服務(wù)器CPU,確實做出了性能不錯的ARM服務(wù)器芯片,而且這些產(chǎn)品在數(shù)據(jù)中心、互聯(lián)網(wǎng)服務(wù)器等領(lǐng)域已有了批量的應(yīng)用。
目前,APM的X-Gene已經(jīng)發(fā)展到了第3代。X-Gene3集成了32個核心,計劃采用臺積電16nm制造工藝,主頻3GHz,最大功耗約為125W。根據(jù)Linley Group的報道,其模擬器測試成績Spec2006單線程定點性能在550分左右。X-Gene 3XL是X-Gene3的升級版本,計劃將32核升級為64核,并將SPECint_rate2006測試提升到1000。在單線程性能上,X-Gene3也非常亮眼,大約在17左右。由于Linley Group給出的單線程性能并不是通常說的單核測試性能,而是用rate分值/線程數(shù),所以推測X-Gene3在模擬平臺上的單核性能很有可能已經(jīng)達到20左右了,這在ARM生態(tài)圈中是首屈一指的。
不過,由于X-Gene3尚未有樣片,所有的性能都是模擬平臺的結(jié)果,根據(jù)經(jīng)驗,由于硅前模擬平臺的局限性,其模擬測試結(jié)果與硅后實測都會有一些出入,比如FT2000的模擬器成績?yōu)镾PEC2006定點672、浮點585,而實測成績?yōu)槎c570、浮點482。所以不太適合用X-Gene3的模擬器成績與FT2000的實測成績做比較。不過就單核性能而言,X-Gene3明顯是占據(jù)優(yōu)勢的,F(xiàn)T2000的單核與X-Gene2性能相當(dāng),X-Gene3相對X-Gene2在分支預(yù)測和TLB方面做了改進,性能提升了10%左右,而且X-Gene3的頻率為3GHz,也比FT2000的2GHz高出50%。
就芯片特征參數(shù)來看,X-Gene3的片上緩存為32MB(三級緩存),F(xiàn)T2000的片上緩存也是32MB(二級緩存,三級緩存在片外,是128MB),X-Gene的存儲控制器是8個DDR4,且在片內(nèi),而FT2000的存儲控制器是片外擴展16個DDR3。所以在存儲帶寬和容量上FT2000有優(yōu)勢,但訪存延遲FT2000要大一些,處于劣勢。IO方面,X-Gene3是42lane的PCIe 3.0,F(xiàn)T2000是32lane,稍遜一籌。
所以總的來說,F(xiàn)T2000與XGene3處在同一性能水平,都是one socket形式,存儲和IO擴展能力也相當(dāng)。不過,F(xiàn)T-2000年中已經(jīng)有了樣片,而且即將量產(chǎn),X-Gene3目前還沒有樣片,這是FT2000的最大優(yōu)勢。
和Intel相比差距在哪里?
無論是FT2000,還是X-Gene3,雖然在多線程性能上達到了Intel中高端服務(wù)器CPU的性能,但在單線程性能上,還是有不小的差距。即便主頻控制在2.5GHz,Intel服務(wù)器CPU的SPECint_base2006成績也在25以上,而FT2000的SPECint_base2006只有12.4,X-Gene3也只有20。那么,單線程性能差距還帶來什么影響呢?
單線程性能相對有限會對計算密集型場景有影響,對于無法并行化、單任務(wù)延遲敏感的應(yīng)用場景力不從心。比如在IC設(shè)計中用到的一些EDA工具軟件,由于并行化做得還不夠好,單線程性能弱的CPU在運行時會比較吃力,跑模擬、綜合、優(yōu)化等任務(wù)花費的時間會較長。即便全芯片整體性能與Intel的部分服務(wù)器CPU性能相當(dāng),但由于單線程性能的不足,在部分應(yīng)用場合,F(xiàn)T2000是無法達到Intel服務(wù)器的應(yīng)用效果的。
不過,F(xiàn)T2000的優(yōu)勢在于并行性能,對于能夠并行化、多任務(wù)的應(yīng)用場景,F(xiàn)T2000能夠取得不錯的應(yīng)用效果。比如一些互聯(lián)網(wǎng)服務(wù)器,由于任務(wù)非常多,而每個任務(wù)的運算量不大,卻對CPU吞吐率要求高,這種場景非常適合FT2000。
FT2000與Intel的服務(wù)器CPU的差異有點像當(dāng)年的power和ultrasparc的技術(shù)路線之爭。power是核數(shù)少線程數(shù)少,但單線程性能高,類似與現(xiàn)在Intel的CPU。ultrasparc是核數(shù)多線程多,單線程性能差,類似于FT2000。前者更適合充當(dāng)高性能服務(wù)器,后者主要是面向網(wǎng)絡(luò)的吞吐量高和并發(fā)度高的服務(wù)器。產(chǎn)生這種現(xiàn)象一方面可能是因為以國內(nèi)的技術(shù)實力無法做出可以匹敵Intel單線程性能的CPU,另一方面也可能是在晶體管資源有限的情況下,面向不同應(yīng)用做了取舍。
有觀點認為,F(xiàn)T2000打平Intel Xeon E5-2695 v3是64核戰(zhàn)14核的結(jié)果,言下之意就是國產(chǎn)CPU只能靠堆核心數(shù)。但實際上,簡單堆砌核心并不一定能實現(xiàn)1+1=2。服務(wù)器芯片的性能很大程度上還要受存儲、互連等部件性能的影響—片上集成的核數(shù)越多,對存儲和互連的設(shè)計平衡性要求越高。如果平衡性做得不好,并行性能的擴展性就會直線下降,在此情形下,盲目的堆核心數(shù)量未必能獲得想要的效果。而FT2000整體架構(gòu)較好地實現(xiàn)了計算資源與存儲和互連資源的平衡設(shè)計,所以從單核到多核的性能擴展性表現(xiàn)還不錯。
寫在最后
從上述分析可以看出,網(wǎng)絡(luò)搜索、大數(shù)據(jù)、內(nèi)存密集型等方面的應(yīng)用,是FT2000所擅長的領(lǐng)域,而且在性能上也達到Intel中高端服務(wù)器CPU的水平。考慮到對于商業(yè)公司的服務(wù)器來說,不是都需要最頂級至強芯片,大部分還是至強系列芯片的中低端產(chǎn)品,比如E5-2640 v4,配置雙路,共20核心40個線程。而這就意味著,至少在性能上,F(xiàn)T2000對于很多商業(yè)公司來說是完全夠用的。而華為正在設(shè)計的ARM服務(wù)器CPU的設(shè)計指標SPECint_rate2006在500左右,。換言之,無論是FT2000,還是華為將來的ARM服務(wù)器CPU,只要軟件跟得上,完全可以在商業(yè)市場上取代相當(dāng)一部分Intel的服務(wù)器芯片。
隨著大數(shù)據(jù)、云計算時代的到來,服務(wù)器市場將迎來爆發(fā)式增長。在當(dāng)下的數(shù)據(jù)中心里,Intel處理器占據(jù)90%以上市場份額,這會使互聯(lián)網(wǎng)公司和數(shù)據(jù)中心的運營者在面對Intel時缺乏議價能力。因此尋找替代解決方案實現(xiàn)多供應(yīng)商是他們的當(dāng)務(wù)之急—谷歌、百度、阿里等互聯(lián)網(wǎng)巨頭都對ARM服務(wù)器非常感興趣。由于市場足夠大,且一些互聯(lián)網(wǎng)巨頭比較青睞定制版的ARM服務(wù)器,這使得中國芯能借助ARM獲得一定的市場。雖然華為、飛騰等中國ARM服務(wù)器CPU廠商無法完全替代中國市場上的Intel CPU,但借助大勢攻占一部分原本屬于Intel的市場是可以期待的。
評論
查看更多