今年6月,天河二號超級計算機(jī)再次榮膺TOP500榜單的第一名,這個激動人心的消息霎時間不脛而走,成為了行業(yè)熱議的話題。而在這個話題背后,其所使用的英特爾“微異構(gòu)”架構(gòu)也首次為外人所知,至強(qiáng)處理器與至強(qiáng)融核協(xié)處理器的搭配不但帶來的性能的巨大提升,在功耗和可控性上也進(jìn)一步增強(qiáng)。一時間,有關(guān)“微異構(gòu)”的討論也日趨熱烈。對于“微異構(gòu)”來說,它的出現(xiàn)不僅是終結(jié)了HPC市場GPU加速一家獨(dú)大的歷史,還提供了更好的選擇。那么同樣作為異構(gòu)計算的加速器,微異構(gòu)所帶來的提升究竟源自何方呢?我們今天就來分析一下這個問題。
英特爾熱推“微異構(gòu)”概念,打造行業(yè)應(yīng)用標(biāo)桿
應(yīng)該說,天河二號就是“微異構(gòu)”最好的宣傳廣告,遠(yuǎn)勝過任何的媒體廣告和行業(yè)宣講。從另一個角度來說,對于“微異構(gòu)”這樣一個新名詞我們也有必要解釋一下,當(dāng)然還是從異構(gòu)計算說起。異構(gòu)計算對于從業(yè)者來說并不陌生,無論是從性能、能源消耗或者是占地成本等多方面來看,它都是取代傳統(tǒng)CPU計算的最佳方式。而對于異構(gòu)計算這個概念來說,NVIDIA和AMD都有自家的解決方案,其中NVIDIA更是異構(gòu)計算的首倡者和堅定支持者。不過凡事都有兩面性,異構(gòu)計算的一大問題就是它的操作性,用戶必須進(jìn)行重新編程才能夠?qū)⒃具\(yùn)行在CPU上的程序使用GPU加速,為此NVIDIA也推出了包括CUDA、OpenCL等多種編程模式。
這樣的方式持續(xù)了許多年,許多HPC從業(yè)者也接受了這樣的方式,但不可避免的是并非所有的程序都能轉(zhuǎn)換成GPU語言,盡管NVIDIA在簡化編程方面也進(jìn)行了許多的努力。但畢竟從一個架構(gòu)轉(zhuǎn)換到另一個架構(gòu)還需要許多的努力,其中人員的培訓(xùn)也是關(guān)鍵性的問題。
如果你能夠理解程序代碼架構(gòu)的轉(zhuǎn)換有困難,那么在同樣的架構(gòu)上應(yīng)用的便捷性就是不言而喻的了。眾所周知,現(xiàn)在絕大多數(shù)超級計算機(jī)都在使用X86架構(gòu)的處理器,如果開發(fā)出同樣的X86加速器來運(yùn)行程序,就會取得事半功倍的作用。
好了,這就是“微異構(gòu)”存在的意義。當(dāng)然,目前的至強(qiáng)融核協(xié)處理器(Xeon Phi)與傳統(tǒng)處理器之間還是存在一些細(xì)微的差別,比如提供了更高的512bit位寬。但從本質(zhì)來說,兩者都采用了同樣的X86架構(gòu)和指令集,因此在編程方面也只需要將原有的代碼可以近乎無縫遷移到同屬X86架構(gòu)的至強(qiáng)融核協(xié)處理器中——這也是“微異構(gòu)”中微的含義。
從程序遷移+優(yōu)化過渡為程序優(yōu)化
正如我們剛剛所說,“微異構(gòu)”的優(yōu)勢在于X86架構(gòu),這使得它在向量化的時候更為容易。英特爾(中國)有限公司行業(yè)合作與解決方案部中國區(qū)總監(jiān)凌琦曾在之前的采訪中表示——“將應(yīng)用從傳統(tǒng)X86系統(tǒng)遷移到由英特爾至強(qiáng)和至強(qiáng)融核協(xié)處理器組成的微異構(gòu)系統(tǒng),唯一要做的是對程序進(jìn)行優(yōu)化。與GPGPU的遷移方式完全不同”。
其實(shí)關(guān)于向量化,其實(shí)在至強(qiáng)融核架構(gòu)推出之前英特爾已經(jīng)做過全面的考慮,其重點(diǎn)就是向量化。這與至強(qiáng)所采用的多線程在理論上是一樣的。而這一點(diǎn)使得采用英特爾至強(qiáng)系統(tǒng)的用戶可以快速的切換升級,在下一代至強(qiáng)、至強(qiáng)融核產(chǎn)品間也將延續(xù)。
英特爾數(shù)據(jù)中心及互聯(lián)系統(tǒng)事業(yè)部技術(shù)計算和平臺應(yīng)用支持團(tuán)隊平臺架構(gòu)師何萬青博士在之前的采訪中也談到:“現(xiàn)階段至強(qiáng)處理器的線程數(shù)量本身就已經(jīng)達(dá)到了很可觀的數(shù)字,而目前的應(yīng)用很少有能實(shí)現(xiàn)超過這個數(shù)字的程序。所以說應(yīng)用滯后于現(xiàn)在硬件技術(shù)的發(fā)展。越來越多的用戶轉(zhuǎn)向X86,使得按需購買后再進(jìn)行擴(kuò)展,并與之前的系統(tǒng)可以實(shí)現(xiàn)無障礙的互操作性,這也是英特爾為用戶所提供的價值之一?!?/P>
“微異構(gòu)”很強(qiáng)大?這僅僅是個開始
“微異構(gòu)”的特性我們已經(jīng)說得很明白——簡化了用戶的代碼遷移過程,簡化了編程的時間,也就是降低的上手的難度,提升了使用的效率。不過這些優(yōu)勢還僅僅是第一代至強(qiáng)融核產(chǎn)品所提供的,展望未來的發(fā)展,這些還遠(yuǎn)遠(yuǎn)不夠。