媒體報道:
南京大學周會群:用計算機聰明地做實驗
Q=《中國教育網絡》
A=周會群
Q:南京大學的高性能計算中心非常特殊,分布在物理,化學、天文、地球科學四個不同的學科中,為什么采取這種模式?
A:高性能計算中心的建設是為了提升南京大學的科研競爭力。現在正在構建的高性能計算集群其運算能力超過35萬億次浮點運算每秒,這可能是目前全國高校之最。這個集群將由402個兩路四核計算節點組成,由高速網絡連接。另外擁有50TB的并行文件系統和100TB的存儲。
為什么要建這么大的高性能計算中心?因為我們認為,學科的發展需要高性能計算,聰明地做實驗需要高性能計算。從國外的發展來看,計算科學在科學研究當中所起的作用越來越大,比如說生命科學、材料科學等。
南京大學在物理、化學、天文、大氣、地球科學等幾個學科方向都各自建立了高性能計算設施,這幾個學科特色鮮明,在全國也名列前茅,是南京大學最著名的的幾個學科方向。
計算機正在為這些學科帶來新的研究前景。比如地球科學,過去,我們上天有道,但入地無門。探測地球內部非常困難,因為地球內部的極端條件:超高溫、超高壓,而且地球內部具有復雜的物質成分、結構與性質,多數地球規模的、以及地球內部的現象無法用實驗來復現。它是不可控的,溫度、壓力不由你控制,投入什么東西你控制不了、產出什么東西你也不一定知道。過去就是在這樣的基礎上,我們力圖探究物質究竟發生了什么樣的化學變化和結構變化。
但是高性能計算機的興起,對地球科學的部分領域提供了一個革命性的契機——我們可以利用計算機聰明地做實驗。隨著集群系統的成熟, CPU性能的大幅度提升,使得我們有可能從物質的微觀性質做起,逐步了解地下的這些物質在高壓狀況下究竟產生什么樣的變化。我們現在關于地球內部的知識,是通過天然地震波分析得到的。以后的相關領域都會越來越多地依賴計算,通過虛擬的實驗和探索來了解我們的對象。
Q:不久前,你們選擇了Intel剛發布的5500做處理器,您認為高性能計算中心選擇處理器需要從哪些方面重點挖掘?
A:CPU用于高性能計算方面,非常重要的一個性能就是它的浮點運算能力,這直接關系到計算能力的問題。另外一個性能是,多核之間的協調能力。現在的CPU是多個核,協調得好不好非常關鍵。如果協調不好,就像俗話說的,“一個和尚有水吃、兩個和尚抬水吃、三個和尚沒水吃。”協調得好,就是“三個臭皮匠,頂個諸葛亮”,可見處理器的協作能力至關重要。英特爾的新產品由于在微結構上有了根本性的改變,并行效率較之過去有了很大的改善。
Q:剛才說到浮點運算,但是在浮點運算方面,GPU有更大的優勢,那為什么沒有選擇GPU?
A:對的,我們非常關注GPU,現在我們也在進行這方面的研究,因為它的確是非常有希望的可以用于高速計算的芯片。
它有一定的優勢,但是沒有得到很好的開發環境支持,導致在現階段大規模的應用或者是商用有明顯的滯后。有兩個方面的原因使得GPU的普及會有一定的滯后。一是它本身的原因,因為目前GPU是搭載在顯卡或專用卡上的,作為宿主計算機的加速卡。加速卡和計算機的主板是通過PCI-E的接口,接口帶寬一定。如果我們有應用直接把它落到卡里,在顯存里面運算,速度將會很快。但是對于不能把計算直接搬到顯存里的應用,則需要在主存和顯存之間通過PCIe交換數據,這樣速度將會很慢。
另一個制約GPU發展的因素源于GPU本身是一個特殊的多核處理器,并不是所有的計算都適合這樣一個結構,有一些是有本質上的困難。還有一個是軟件和算法,必須要開發新的算法和軟件。現成的軟件不可能通過重新編譯就能充分利用GPU的計算效能。我們必須要做一些移植和再開發,對于很多人來講,或者對于很多企業來講,這就是一個很高的門檻。
因此,我個人認為,未來它將是以融合的方式出現,就是把CPU和GPU結合起來,現在Intel以及AMD都有相似的計劃。所以未來,可能處理器是要朝著這樣一個方向演化的。
Q:高性能計算支持學科應用需要針對性的軟件,你們的軟件是怎么開發的?
A:在大學里面我們很少用商業軟件,我們比較多的是用開源代碼。為什么用這種軟件?開源代碼有龐大的用戶群,當然主要集中在學術界。
實際上開源代碼的軟件能獲得更好的技術支持,因為世界各國的一批頭腦非常優秀的人都在執著于這件事情,你在論壇上隨時發一個帖子,別人就會來幫助你。我們很多的研究生、很多博士生在做論文的時候,做計算,什么地方出了問題不知道,一方面可以來問導師,另外一方面可以在論壇上發一個郵件,很可能是意大利、美國、德國的某一個教授給你講你這個錯了,正確的該是什么樣。
所以我們覺得開源軟件有這方面的優勢,我們最主要依靠開源軟件。另一個方面,因為開源,你手里面有源代碼,關于理論模型,你的考慮、你想要做的修改,非常容易實現。你可以修改它,把你的主意加進去,再公開出去給大家共享。所以它是非常好的良性發展的一種機制。
Q:節能被越來越多地關注,在此方面你們怎么做的?
A:節能是我們考慮的重要因素之一。在節能方面,廠商做出了很多努力,低能耗的CPU,多個刀片共享一個電源,提高電源本身的有效功率等等。從硬件方面看,這需要廠商繼續做出努力,而且廠商這幾年在此方面已經有非常大的進步。
從另一個方面來說,我們自己可以控制的能耗已經很有限了。而且,節能往往與計算能力成為一對矛盾。要想節能,可能就得損失一些計算能力。
這里面就有一個取舍。因為有可能,要做一個大的計算用低功耗的機器要計算20個小時,但是功耗大一點的可能只要10個小時就行了,比較下來,可能是功耗大的更節省,所以這些我們要做一個綜合的取舍。
對用戶來說,更有效果的節能,其實是在機房的設計。冷、熱風怎么走?機房溫度究竟設定到多高?這些是最關鍵的。此外,我們還可以考慮利用循環熱。
我的實驗室冬天不開空調,用的就是集群產生的熱。到了冬天,我經常把機房的窗戶都打開,讓冷風進來,甚至擺一臺電扇,把外面的冷風吹進來。對于小規模的集群,這是一個很初級、很簡陋的辦法,但是也挺有效。不過可能會產生新的問題——就是防塵。
我想,未來高性能計算中心建筑物本身的設計應當對熱量有效率的排放、熱能的循環利用、合理利用季節溫差的天然制冷源等等作綜合的考量。因為節能的確非常重要。
Q:現在許多高校都有興建高性能計算中心以支持學科研究的考慮,在一些高校,是由網絡信息中心來負責的,如何讓高性能計算中心有更好的服務,您有什么建議?
A:高性能計算中心的運營和管理當然可以交給網絡信息中心,但是決策就不一定,主要是看有沒有真正懂行的人才。南京大學有一個長期利用高性能計算解決科學問題的多學科群體,由這個群體中的自愿者組成專家小組進行決策。
我們實際上有三大任務。一是產品的選型。我們最主要的是平時大家在一塊兒討論,我們所需要的這樣一個集群究竟用什么樣的CPU,我們究竟用機架式的服務器還是用刀片式的服務器,它們各自有什么優點和缺點,要考慮得很全面。
要選擇產品必須要有日常的積累。比如在選擇處理器的時候,只有平時不斷地積累和測試,你才能在真正購買的時候買到最合心意的產品。
以我們為例,在處理器中基本上除了頻率在2.0以下的低端產品沒有測過以外,其它的我們全部都測試過。我們日常還有很多事情利用我們的業余時間做測試,因為有了測試的積累才能回答諸如在多CPU、多結點的情況下頻率最高的CPU是否計算效率最高,在單個計算結點的計算能力已經大大提高的情況下高速網絡的帶寬是否已變為一個敏感因素之類的問題。這樣我們才有比較,才能幫助我們更好地選型。
另外一個是網絡。這是被很多人忽略的,但是非常關鍵的。沒有高速網絡的支持,計算服務器不能成為一個有機的整體,無法發揮其本來可以具有的巨大能力。
做高性能計算,延時非常重要,尤其是在將計算任務分布到不同的機器上面,那么,必須有非常小的延時才能保證計算的高效。我們用超高速網絡InfiniBand,帶寬可以達到每秒20 Gb,它的帶寬是千兆網的20倍。最新InfiniBand網卡的時延是1.25微秒,要比其他的方式快幾倍至幾十倍。
還有一個不容忽視的就是并行文件系統,因為在計算的時候,會高速輸出很多內容,在計算中會隨時輸出一些中間結果,這些中間結果會有幾個GB、幾十個GB甚至上百個GB這么大的輸出量,這只是一個中間計算結果。
如果幾十個做實驗的用戶同時輸出一個實驗結果,一瞬間可能輸出幾十G的文件。如果這個并行文件系統后面的存儲沒有很大的帶寬和很高的速度,不可能支持這樣的海量的輸出,整個集群會被阻塞和崩潰。所以我們經常討論集群架構方面的一些問題,最終確定一個最佳方案。
Q:南京大學的高性能計算中心未來將如何發展?會不會將分散的高性能計算資源在物理上整合起來?
A:我們暫時還沒有成立一個集中的高性能計算的研究所。但是我們另外有一個平臺,江蘇省計算機學會高性能計算專委會,這是一個很好的平臺。
不僅僅是南京大學,包括東南大學、南京航空航天大學、南京理工大學,以及其他江蘇省內的其他高校和一些企業等都是我們的會員。我們每年有3至4次定期的學術活動。大家都會把自己在高性能計算中所遇到的問題和自己的經驗在這個平臺內進行討論和交流。
此次建設的高性能計算設施是全校的公共平臺,我們正在考慮構建校園網格,把已有的、分散在各個院系的高性能計算設備在邏輯上統合起來,形成一個虛擬的整體資源。
要使得高性能計算中心能夠發展,還有一點很重要的是,吸引企業參與進來。因為高性能計算是很多企業自主創新、提升核心競爭力所必須的。
現在,大家說中國高性能計算主要在學術領域,就是因為中國的企業太弱。實際上,有了高性能計算機的協助,你可以通過計算機來對材料做功能性設計,或者利用計算機來篩選實驗方案,留下最可能的,然后做樣品,再進行實驗室的實驗。這就是一個大大節省成本的過程、一個優化的過程。
這樣既幫助了企業的進步,另一方面也促成了中國的高性能計算有一個更大的發展。
來源:《中國教育網絡》2009年5月刊