高性能計算的另類思維
隨著IBM高性能計算機“走鵑”于2008年6月誕生,高性能計算機(HPC)邁入千萬億次門檻。用戶對高性能計算需求的持續(xù)增長,推動著HPC規(guī)模越做越大。在由CPU構(gòu)成的高性能計算的世界中,由于CPU計算性能的提升速度遠遠落后于高性能計算需求增長的速度,增加CPU的個數(shù)便成為提高HPC性能的主要途徑。如今全球高性能計算500強(Top500)中已經(jīng)出現(xiàn)內(nèi)核累計總數(shù)多達20多萬個的HPC。
本文引用地址:http://m.butianyuan.cn/article/91321.htm但是,在提升性能的同時,CPU個數(shù)的增加也給HPC增添了復(fù)雜性,并帶來可用性降低、系統(tǒng)功耗驚人、成本高居不下等問題,讓HPC廠商日益感到頭痛。于是,高性能計算廠商開始探索新的提升HPC性能的途徑。IBM的“走鵑”就是采用CPU和Cell處理器的混合架構(gòu),AMD和Intel也都分別對外發(fā)布了各自的CPU+GPU(圖形處理器)的混合架構(gòu)。
作為GPU領(lǐng)域龍頭老大的NVIDIA自然不會放棄在高性能計算這一CPU的傳統(tǒng)領(lǐng)地炫耀性能的機會。它先是推出了CUDA架構(gòu),使得程序員可以用C語言對CPU和基于CUDA架構(gòu)的GPU進行統(tǒng)一編程,從而解決了因編程復(fù)雜而被程序員敬而遠之所造成的GPU應(yīng)用難以普及的問題。進而,它又推出了面向高性能計算的Tesla系列GPU。2008年11月21日,NVIDIA在美國德克薩斯州奧斯汀市舉辦的2008超級計算大會上聯(lián)手HPC的巨頭Crayon推出個人HPC。與此同時,會上公布的Top500中,采用Tesla技術(shù)的HPC首戰(zhàn)便占據(jù)了第29名的位置,標志著NVIDIA從個人HPC和高端HPC全面切入高性能計算領(lǐng)域。
為此,本報記者獨家專訪了NVIDIA高性能計算事業(yè)部總經(jīng)理Andy Keane。
Andy Keane 2006年加盟NVIDIA,出任GPU計算事業(yè)部總經(jīng)理,全面負責這一全新業(yè)務(wù)部門的組建和運營。他曾為3dfx和QED的快速發(fā)展以及公開上市做出了卓越貢獻。3dfx帶動了消費級3D圖形加速器的發(fā)展,而QED則是世界首批多核處理器供應(yīng)商之一。他還在Xilinx早期進行的可重配置計算以及FPGA系統(tǒng)的開發(fā)過程中發(fā)揮了重要作用。Keane還曾任職于英特爾生產(chǎn)設(shè)計部門,從事容錯并行計算技術(shù)的生產(chǎn)設(shè)計。
最近,剛剛慶祝了十周歲生日的英特爾中國研究中心迎來了英特爾研究獲取的兩項最新成果——按Tick-Tock戰(zhàn)略完成下一代32納米芯片制造工藝開發(fā)工作和在硅光電子領(lǐng)域做出基于硅的、擁有創(chuàng)世界紀錄性能和明顯成本優(yōu)勢的雪崩光電探測器。這兩項成果讓我們這些在英特爾內(nèi)部從事研發(fā)工作的人振奮不已。這種振奮,一方面是源于它們可以大大增強英特爾在技術(shù)上的領(lǐng)先地位和未來產(chǎn)品的競爭力;另一方面,則是因為它們來的很是時候,正好趕上了大有愈演愈烈之勢的全球金融風暴。
或許有朋友會問,英特爾發(fā)布技術(shù)創(chuàng)新成果,和眼下的經(jīng)濟形勢有什么關(guān)系?事實上,這場危機的影響已經(jīng)開始從很多IT企業(yè)的業(yè)務(wù)部門波及到了研發(fā)部門,讓他們不得不開始緊縮在研發(fā)上的投入。在這種情況下,英特爾是不是也要采取類似的措施,放慢技術(shù)創(chuàng)新的腳步?對于這個問題,我們的董事會主席貝瑞特和CEO歐德寧早已做出了回答:即使全球經(jīng)濟出現(xiàn)衰退,英特爾也會堅持對產(chǎn)品和技術(shù)領(lǐng)域的創(chuàng)新投入。
英特爾本身就是一個以領(lǐng)先產(chǎn)品和技術(shù)為安身立命之本的企業(yè),而且在過去40年的發(fā)展歷程中,它已經(jīng)形成了一個傳統(tǒng),那就是要用加大技術(shù)創(chuàng)新的力度方式來主動對抗危機,而不是僅僅依靠壓縮支出被動地熬過困難期。因為后一種策略即便奏效,也會讓公司大傷元氣,無法在經(jīng)濟形勢轉(zhuǎn)暖時迅速恢復(fù)原有的競爭力,而前一種辦法不但有助于公司在危機后獲得進一步拓展業(yè)務(wù)領(lǐng)域和競爭優(yōu)勢的機會,甚至在危機持續(xù)過程中,它也可能為公司找到新增長點,化危機為轉(zhuǎn)機。
早在上世紀70年代中期第一次石油危機導(dǎo)致美國經(jīng)濟蕭條時,英特爾就堅持走技術(shù)創(chuàng)新的道路,并給剛畢業(yè)的大學生提供了很多機會,這種看似逆勢而為的做法不但沒有讓當時成立只有數(shù)年的英特爾倒下,反而還提升了公司在產(chǎn)業(yè)和市場上的影響力。在80年代中期美國半導(dǎo)體存儲行業(yè)因日本同行壓價行為而受到強力沖擊時,英特爾再次憑借在處理器領(lǐng)域的技術(shù)創(chuàng)新,用最快的速度從一家以半導(dǎo)體存儲器為主營業(yè)務(wù)的企業(yè)轉(zhuǎn)型成為一家處理器制造商,從而避過了那次危機,并為我們催生全球PC和互聯(lián)網(wǎng)革命打下了基礎(chǔ)。在2000年前后.com泡沫破滅,全球IT產(chǎn)業(yè)進入寒冬時,英特爾又是在很多同行都削減研發(fā)投資時,反其道而行之,加大了對技術(shù)創(chuàng)新的投資,最終使公司憑借迅馳平臺這樣的突破性創(chuàng)新技術(shù)獲得了新的、更具增值潛力的發(fā)展機會,實現(xiàn)了持續(xù)穩(wěn)定的發(fā)展。
這些過往的經(jīng)歷讓我們認識到,每次危機就好比是一次考驗,只有把它的壓力轉(zhuǎn)變?yōu)閯恿?,積極革新和完善自身,才有可能避免損失,并獲取進一步強大的資本。因此對一家以技術(shù)研發(fā)為核心競爭力的IT企業(yè)來說,越是在危機時刻,就越要加注創(chuàng)新、拓展新的市場機遇。如果產(chǎn)業(yè)界有更多同仁能夠在這次經(jīng)濟危機中堅持這一策略,并攜起手來迅速推廣每一項創(chuàng)新成果,兌現(xiàn)它們應(yīng)有的價值,那么整個IT產(chǎn)業(yè)擺脫危機影響,也就可以是一件指日可待的事情了。
越是危機時刻 越要重視創(chuàng)新。
HPC中的GPU
記者:GPU在高性能計算中的性能已經(jīng)到達了何種地步?
Keane:CPU的運算速度在很大程度上還取決于緩存的大小,而GPU則是在任務(wù)并行化后用大量的線程來進行運算。雖然CPU已經(jīng)多核心化,可以多達8個內(nèi)核,但在并行計算時,顯然不是GPU上千個線程的對手。
比利時有所大學,以前用的是512個CPU組建的HPC,當他們了解到GPU的運行功能很強后,試著自己搭建了一臺配置有8個GPU的臺式機,結(jié)果性能竟與以前512個CPU的HPC不相上下。
記者:既然GPU的性能遠遠超過CPU,那么NVIDIA何時開始關(guān)注GPU的計算能力?
Keane:15年前,我們就開始針對3D游戲開發(fā)GPU了。但GPU的編程很復(fù)雜,因而應(yīng)用主要是集中在圖形顯示領(lǐng)域。之后,我們開發(fā)了CUDA架構(gòu),你可以把CUDA想象成與x86相似的硬件架構(gòu),它允許應(yīng)用開發(fā)者用他們熟悉的語言對GPU進行快速編程,從而為GPU拓寬了應(yīng)用范圍。現(xiàn)在,NVIDIA所有的GPU都支持CUDA架構(gòu)。
記者:懂得計算機的人都知道,并行編程要比串行編程復(fù)雜得多。程序員如何在CUDA平臺上對CPU和GPU統(tǒng)一編程?
Keane:盡管CPU與GPU之間在架構(gòu)上存有很大的區(qū)別,但我們覺得CPU與GPU的結(jié)合才是最好的計算架構(gòu)。于是我們在CUDA上推出了C語言編譯器,程序員在開發(fā)應(yīng)用程序時,只要對序列執(zhí)行的程序代碼和并行執(zhí)行的程序代碼簡單地進行標注,C編譯器就可以向PC解釋哪部分該由CPU做,哪部分該由GPU做。
記者:CUDA的編程看來不難,那么搭建一個個人HPC難不難?
Keane:用Tesla組建個人HPC是件很容易的事。你只要把買到的Tesla卡插到PC主板上的PCI插槽,你的PC就變成了1臺個人HPC。
記者:Tesla貴嗎?
Keane:4個GPU的價格在9500美元~1萬美元之間,3個GPU的Tesla價格為7000多美元。但與同等價位的工作站相比,我們的性能應(yīng)該有百倍的提升。
記者:我們看到現(xiàn)在全球性能最高的HPC“走鵑”所采用的CELL處理器實際上就是一個集成了8個流處理器和一個CPU內(nèi)核的處理器,而GPU也是由數(shù)百個流處理器構(gòu)成的。你是如何看待CELL的?
Keane:CELL的編程要比CUDA復(fù)雜得多。CUDA本身就是一個GPU架構(gòu),我們所有GeForce、Quadro和Tesla產(chǎn)品線都可以很完美地對其提供支持。它的編程模式是很簡單的,語言與C語言非常接近,編譯器與C語言也基本一致。唯一的改變是將之前的串行計算更新為并行計算。在過去的一年中,CUDA積累了大量的應(yīng)用程序,而且在美國,也有很多活躍的論壇討論CUDA的編程問題。我們也在CUDA中文網(wǎng)站上開設(shè)了CUDA中國專區(qū),上面有144個使用的案例。對于程序員而言,這些編碼都是開放的。
記者:在基于Tesla搭建的HPC中,GPU與CPU從指令集上看是異構(gòu)的。而英特爾最新展示的具有80個內(nèi)核的Larrabee卻采用的是x86指令集,從而實現(xiàn)了CPU和GPU在指令集上的兼容,對于程序員來說,這是否會比Tesla編程更為容易呢?
Keane:我并不這樣認為。在NVIDIA的CUDA平臺上,不管面對何種架構(gòu),編程人員都可以用很普及的C語言去對CPU和GPU進行統(tǒng)一編程。對于程序員來說,Tesla的編程是很簡單的。而Larrabee無法用C語言來編程,程序員要學習這種新架構(gòu)和它的語言并用兩種語言分別對CPU和GPU進行編程。
記者:AMD選擇GPGPU(通用GPU)來切入高性能計算領(lǐng)域,對此你有何見解?
Keane:關(guān)鍵要看它的普及率了。這里有兩個數(shù)據(jù):英特爾x86處理器市場占有85%的份額,AMD只占15%;同時,AMD的FireStream只有5%的使用率。你為客戶定制產(chǎn)品的確會又好又快,但如果產(chǎn)量不高,成本無法有效攤薄,價格就會非常高。 而我們主要針對主流市場,用更加標準的界面來制作,讓用戶很容易使用,而且有能力承受。我們能夠讓很多研究人員將原本要跑到數(shù)據(jù)中心去做的計算轉(zhuǎn)移到插有Tesla卡的工作站上,并很容易地獲得高性能計算的體驗。
應(yīng)用領(lǐng)域
記者:TOP 500中,x86架構(gòu)CPU已經(jīng)占據(jù)了90%的地盤。請問Tesla進入高性能計算市場的機會有多大?
Keane:幾乎是100%。我們強調(diào)的是異構(gòu)計算,GPU不可能完全取代CPU,只是能顯著地減少CPU的數(shù)量。如果我們從另外一個角度上看這個問題,其實全都采用一樣的架構(gòu)未必是件好事。如同在GPU領(lǐng)域,因為有我們GPU、Intel的Larrabee和AMD的ATI的存在,因此大家可以互相激勵,充分開展競爭,刺激創(chuàng)新。但是服務(wù)器領(lǐng)域的架構(gòu)幾乎統(tǒng)一,這對創(chuàng)新是不利的。
記者:那么在工作站方面呢?
Keane:工作站的限制主要在于工作站機箱內(nèi)部空間的限制,例如工作站的電源只能提供1000W的功率,那么,我們可以在這1000W之內(nèi)給你提供盡可能高的計算性能,比如說1T的性能。
記者:無疑,Tesla個人高性能計算機的性能遠好于現(xiàn)在的工作站,但目前工作站上的很多應(yīng)用軟件都是基于UNIX系統(tǒng),廠商們愿意把它們移植到Tesla平臺上嗎?
Keane:這些開發(fā)商面臨著決定應(yīng)用何種并行運算解決方案的選擇。其中之一為多核CPU解決方案,即將計算工作分配到雙核、四核甚至八核上。這樣,對于開發(fā)人員來說,如果他們要想通過并行計算來得到性能的提升,就必須將應(yīng)用分解為4塊甚至8塊。這其中最大的挑戰(zhàn)是如何將計算工作劃分為完全均衡的4塊或者8塊。另外一種解決方案類似Intel的Larrabee,開放人員可以用比多核解決方案更為簡單的方式解決并行計算的問題。但是針對并行運算,GPU架構(gòu)可以非常簡單地實現(xiàn)非常大規(guī)模的并行計算。如果你要按照時間和效率來衡量這幾種選擇方案,GPU無疑是效率最高的。
記者:未來工作站會不會被Tesla個人超級計算機替代?
Keane:對于任何使用集群的用戶,都有應(yīng)用Tesla GPU的需要。我將努力說服他們中的所有人。利用工作站進行高性能計算的用戶也是我們的目標人群,我們也希望讓他們認識到我們的好處。事實上,如果用戶很看重預(yù)算和效率,對成本和時間很敏感,那么Tesla對他們來說就很有價值。
未來發(fā)展
記者:在CPU領(lǐng)域,虛擬化是一個很時尚的話題,Tesla也能虛擬化嗎?
Keane:如果CPU可以做到虛擬化,那么GPU也可以做到虛擬化。因為他們都是基于處理器架構(gòu)的。就好像將GPU作為CPU的一個資源,只要CPU可以實現(xiàn)虛擬化,那么GPU也可以作為CPU的資源實現(xiàn)虛擬化。
記者:Tesla現(xiàn)在使用C語言編程。我們知道C語言與硬件很容易結(jié)合,也易于控制。聽說NV還要在Tesla上使用Fortran,這樣會不會影響到效率?未來還會有其他語言嗎?
Keane:Fortran是非常結(jié)構(gòu)化的語言,并行計算的性能非常好,在GPU上的執(zhí)行效率甚至更高。同時,在未來我們還將增加C++等語言。
記者:既然在Tesla計算機中,Tesla GPU要與CPU協(xié)同工作,那么,未來GPU和CPU會不會集成在一個芯片上?
Keane:我們不認為GPU和CPU將會融合。因為目前GPU的設(shè)計比CPU還要復(fù)雜,GPU擁有更多的核心,更高的內(nèi)存容量,芯片的面積也很大。我們的客戶也對計算性能和內(nèi)存提出更高的要求。我們所能做的是提升制造工藝,從而降低芯片的面積。
我們當然可以把一個小型CPU集成進來,但這樣對GPU計算性能的提升并沒有益處。就高性能計算而言,高速異構(gòu)計算架構(gòu)是一個CPU搭配多個GPU,然后更多的CPU搭配更多的GPU,這樣,GPU就可以發(fā)揮加速器的作用。
記者:既然高性能計算市場這么大, NVIDIA會不會借助Tesla成為HPC廠商?
Keane:不會的。我們的優(yōu)勢就在GPU上,我們也生產(chǎn)主板,但是我們的研發(fā)都是投在GPU上。這一點,我們的CEO說得很清楚,NVIDIA會一直專注在GPU上,不會在其他地方分神。
評論