微軟:讓七千萬人一起用上高性能計算 |
發布時間: 2012/8/1 15:30:47 |
日前,在全國高性能計算學術年會(HPC China 2010,專題)上,微軟公司正式推出了其新一代高性能計算(HPC)服務器Windows HPC Server 2008 R2,同時推出的還有微軟亞太研發集團服務器與開發工具事業部(中國)高性能計算首席架構師徐明強博士編著的《Windows HPC Server:Step by Step —— 微軟高性能計算服務器》一書。該書主要面向高性能計算用戶、IT管理員、并行軟件開發人員等三類人群,通過實例剖析的方式,詳細介紹了Windows HPC Server的三大組成部分:系統資源管理、并行軟件開發和作業調度管理。10月28日,IT168服務器頻道就此對徐明強博士進行了一次專訪。
IT168:假如我是一個剛畢業的計算機專業大學生,沒有HPC專業知識,或者說我以前主要是熟悉Linux集群應用和開發,如果要轉向Windows HPC Server,會不會很難?這本書能否幫到我? 徐明強:這本書最重要的一個特點就是不需要你有任何高性能計算的專業知識,可以說是以零基礎講解為宗旨,但很注重實用性,從集群安裝、作業調度到編程開發和HPC應用,每一步都介紹得很細致。通過閱讀本書,一般的用戶可以了解如何使用集群來提交作業應用,IT管理員則能夠部署、監控、診斷和調度集群資源,開發人員能夠編寫基于MPI、面向服務以及Excel的HPC應用。
對于一般用戶和IT管理人員來說,Windows HPC Server可以大大簡化他們的工作。比如書中介紹了一個用戶案例是上海汽車工業集團。上汽原來主要是使用Linux集群,但碰到一個很大的問題是在內部無法普及,因為很多用戶對于Linux的命令行模式比較頭疼,管理員也需要做很多工作來定制一些管理使用界面,效率很低。使用了Windows HPC Server之后,IT管理人員的效率提高了20%以上。因為Windows可以提供更友好的界面,用戶使用起來很簡單。現在他們內部已經把高性能計算推廣到了五個部門,一共有200多名用戶在使用,甚至遠程的用戶也可以通過Web界面來訪問集群資源。 對開發人員來說,雖然不可能一夜間就能從Linux轉到Windows,但微軟也已經做了很多工作來幫助他們提高開發效率。有很多開源代碼,比如分子化學、氣象、計算流體力學、分子動力學、量子化學等方面的,原來只在Linux上開發,現在也都有了Windows的版本。對于一些工程計算、金融和保險等,也有一些第三方軟件開發商推出了支持Windows的軟件。在工具和編譯器方面,也有很多,比如GCC、PGI、Intel以及微軟自身的編譯器,也有一些交互編譯的工具和跨平臺的界面。為了幫助純Linux編程人員把應用遷移到Windows平臺,微軟也提供了一一對應的接口和幫助文檔,幫助他們提高效率。 另外,微軟還有專門的高性能計算性能實驗室,現在主要是幫助第三方軟件開發商,由專業的性能優化工程師來分析源代碼,找到瓶頸,然后改進,如對I/O、內存分配和管理等進行微調,以實現最佳性能。 IT168:作為微軟Windows HPC產品的第三代,Windows HPC Server 2008 R2和之前的版本相比,最大的改進在哪里? 徐明強:跟上一代相比,R2的改進主要有三個方面: 一是管理更加容易。尤其是針對有成百上千個節點的大規模集群,R2提供了覆蓋式“熱圖”功能,可以看到節點CPU、內存、網絡的使用率等性能信息。比如我們可以定義內存泄漏的臨界值,當內存泄漏導致節點可用內存變少,管理員通過不同顏色標識很快就可以監控到異常節點,然后進行診斷。
二是應用編程模式更廣、更好用。比如在面向服務的編程應用中,R2開始支持異步提交的模式,這對于那些希望在筆記本上提交了作業之后就關閉電腦的用戶來說,就不用再擔心關閉電腦會導致作業中斷的問題。在廣度上,R2開始支持Excel這樣常見的“殺手級應用”,可以把應用領域從傳統的HPC擴展到事務處理和數據分析。 三是作業調度更加靈活。比如新增加了平衡策略,作為對“先到先得”策略的補充,集群可以在用戶作業之間自動分配資源,而不用象以前那樣必須做硬性劃分,導致資源分配不均、利用率不高等問題。另外新增加了可定制診斷、可定制報表等功能,前者讓第三方軟件廠商為用戶提供常見問題診斷工具,比如軟件許可證、集群安裝、網絡安裝等方面,大大減少其技術支持成本。 IT168:跟現在應用非常主流的Linux集群相比,微軟的優勢在哪里? 徐明強:首先,我們認為高性能計算本身還沒有進入主流。IDC的調研數據表明,有全球有7千萬科學家和工程師需要高性能計算能力,但其中五分之四的人還沒能用上。在國內,有許多大學老師仍然在單機上做模擬,但不得不把模型簡化,這樣精度會受影響,比如這種條件下設計出來的鍋爐就不如在HPC環境下設計出來的節能。微軟也曾經做過調查,發現一個很重要的原因是用戶找不到合適的HPC管理人員,因為能夠管理和使用Linux集群的人很少。比如中石油在野外勘探時需要做一些地震數據的輔助性分析,但很多操作人員都是中專生,不會使用Linux,一旦中間出錯就沒法再繼續下去。相反,對于微軟來說,大部分管理員都會Windows。
從投入來看,Linux廠商在HPC的投入也不夠,他們更多是希望與微軟競爭進入企業IT市場。而微軟從今年5月開始投資數億美元,專門成立了科學計算部門。另外從開發人員的廣度來看,Visual Studio是目前最流行的開發工具,我們會讓它更容易開發高性能計算應用。我們已經推出了多種編程模式,包括MPI、面向服務、Excel以及未來針對海量數據分析的MapReduce。 從集成性來看,微軟與大量第三方軟件開發商有合作認證機制,保證在作業調度器集成、MPI集成、診斷測試、硬件驅動等方面,Windows集群可以做到端到端的開箱體驗,提高用戶的使用效率。而且,微軟會逐步實現所有編程模式的適應性,保證一次編程能夠適應多種環境,包括多核的單機環境、多節點的集群環境以及云環境。 通過這些,我們希望那五分之四還沒有使用HPC的人也能夠用上高性能計算。 IT168:書中提到一個很有意思的比喻,微軟將程序員分成三類:“機會主義分子莫爾特”、“實干家埃爾維斯”以及“偏執狂愛因斯坦”,那么,針對這三類程序員,微軟HPC產品分別怎樣幫到這些程序員? 徐明強:“莫爾特”和“埃爾維斯”屬于那種邊干邊學,一步一步往前走的人,而“愛因斯坦”更象架構師,先想好解決方案,把大塊大塊的程序寫好,然后再開始編譯運行。 目前大多是“愛因斯坦”會用MPI來編程。不過,對于“莫爾特”和“埃爾維斯”,微軟也做了一些工具讓MPI編程更容易,一是在Visual Studio中有MPI調試工具,讓編程人員可以在工作站上啟動集群程序,也可以在多個進程設置斷點,為調試程序提供方便。二是編程模式上提供了MPI.net,這樣對象的序列化比較容易,避免一些常見錯誤,可以節省近20%的工作量。對于“愛因斯坦”,常見的問題是通過MPI把程序編寫好之后,發現性能不夠好,我們提供了性能剖析軟件,把進程間的信息交互可視化出來,從而方便找到瓶頸。 總之,大多數高性能計算開發者都是行業專業人員,總是希望盡快解決問題,提高工作效率。我們主要通過調試工具、簡化開發流程、性能調優等三個方面提供幫助。 IT168:談到HPC的資源管理和作業管理,PLATFORM是很專業的一家廠商。您本人之前也在這家公司呆了8年,然后現在開發微軟的HPC產品也有6年時間了。在您看來,這兩家公司的產品設計理念上會有哪些不同?是否兩家公司的產品針對不同的用戶群? 徐明強:PLATFORM主要是針對高端客戶,這些高端客戶可以產生最大的利潤,也可以提供最多的反饋,比如世界前幾百強企業的數據中心。這些用戶對產品的要求是功能強大、可定制,所以PLATFORM的管理員手冊往往很厚,對需要定制的參數和屬性有非常詳細的描述。 不過,參數太多,調度策略以及策略交互產生的影響也比較復雜。比如PLATFORM LSF支持多個隊列,每個隊列中可以定制多種排序方法,包括先到先得、反填、合理共享等,隊列之間還可以根據用戶和作業的優先權相互搶占等等。而微軟的設計理念是只有一個隊列,大大簡化管理監控過程,同時通過“作業模版”的方式來解決多用戶群共享的問題,這些模版可以設置一些資源使用條件,比如多少個內核、多少內存、哪些用戶有權限使用等等。 在我看來,作業調度已經發展了三代,第一代是PBS,每個節點就是一個隊列,某一個節點死了,后面的作業要等上很久;第二代是PLATFORM的LSF,隊列不是在節點上,而是在網絡中,有一個節點死了,作業可以運行在其他節點上。微軟要做的是第三代,在提供強大功能的同時,減少復雜性。當然我們也是站在巨人的肩膀上,如果沒有PBS和PLATFORM和大量用戶使用經驗的積累,我們也不可能這么做。 微軟的作業調度器還有很重要的一個特點是和管理系統無縫集成。當節點加入和脫離集群時,作業調度器都能自動識別,或為其分配作業,或清理作業。另外,作業調度器還為管理報表系統提供大量資源使用數據,如作業提交時間、運行時間、資源使用數量、軟件許可證數量等等,借此可以簡化管理員的工作復雜度。 總的來看,就當前的現狀,PLATFORM與微軟的客戶群不大一樣,前者主要是針對高端的使用Linux的數據中心,據IDC統計,全球有7千萬人需要高性能計算能力,即他們的應用在本地遇到資源瓶頸,而其中只有1百萬人能享用這種能力。 微軟在不忽視數據中心用戶的同時,更加重視仍未使用高性能計算的 6千9百萬另外客戶,把HPC市場這塊蛋糕做大。當然,PLATFORM也是微軟的合作伙伴,他們的作業調度器也可以在Windows上跑。并可以管理混合Linux和Windows集群。 IT168:我對Excel的高性能并行計算應用比較感興趣,但書中只介紹了在金融產品定價方面的例子。我想了解一下,對于一般企業里可能會涉及數據分析的開發人員來說,應該怎么去利用這種方式來提高效率? 徐明強:我們最近在幫助印度一家做智能商業數據處理的外包公司,并行化一個有幾十萬行數據的Excel電子表格。微軟提供的解決方案是寫一個Excel宏,把每10萬行數據切成多塊,讓每一塊在不同的機器上運行,然后返回結果產生一個新的表格。通過這種并行化,可以大大節省處理時間。
以前許多機構的做法是用Excel做模型,然后從數據庫中把數據導出來,再用其他的軟件進行并行化分析。但現在Excel 2010提供了端到端的解決辦法,也就是可以直接在Excel中做并行計算,快速得到可視化結果,這樣對用戶來說是最方便的。用戶不需要學習新的應用軟件,甚至學習新的語言,一般會VBA的開發人員就會寫這個宏。在擴展性上,自Excel 2007開始,我們就已經可以支持100萬行的數據。而且這種方式支持多種計算后臺,可以是Windows 7的工作站,也可以是Windows HPC Server 2008 R2集群,還可以是在Windows Azure云中。 我寫這本書的一個初衷也是拋磚引玉,希望有更多人用Excel并行計算來做事務處理,我們相信用戶是非常有想象力和創造力的。 IT168:書中提到微軟有一個愿景是“讓每一個科技人員都有高性能計算機!”我想要實現這個目標,除了把Windows HPC Server這個產品做得更加好用、易用之外,還需要做哪些工作?比如是否會考慮個人HPC、GPU桌面超算、云計算等方式。 徐明強:對于很多應用,當用戶在自己的桌面上跑時,很少有人抱怨它很難用,而一旦跑到集群和云中去,問題就來了。我想主要原因是,單機交互模式確實比較簡單,比如對于一些工程類應用,你只要提交數據,設置好邊界條件,再選個求解器,然后讓機器去模擬計算就行了,只是時間很長,效率比較低。而要在Linux集群中,你要安裝集群,輸入數據,提交作業,輸入命令,再監控作業進度,進度慢了還要驗證,最后把計算結果拿到工作站上去做可視化,中間有很多工作要做。Windows HPC Server就是要盡可能簡化這個過程。 確實,現在微軟所有的產品都要求要支持云環境,高性能計算部門也在跟一些第三方軟件廠商合作,我認為關鍵的一個問題是如何提高遠程運行的透明度問題,也就是讓用戶意識不到自己是在使用云來計算,讓這個過程得以簡化。對于GPU計算,我的看法是,GPU理論上可以提供100倍的加速,可以做一些實時計算,讓用戶很快獲得結果,但精度還不夠高,所以不會完全替代傳統的CPU集群。 IT168:具體到云計算,微軟是否已經擁有或正在開發針對云環境的高性能計算產品? 徐明強:美國WIRED雜志上曾有篇文章“Web is dead, long lives Internet”,即Web已死,Internet萬歲!其觀點的依據是,在十幾年前Web上大部分應用都是FTP的文件傳輸,有一部分Email,而如今50%以上的流量則是視頻,其他的是一些象Facebook這樣的社交網絡。今天我們用瀏覽器的時間少了,但用Internet的時間沒有少,許多互聯網協議還在使用。人們更習慣于通過各種客戶端應用使用Internet。 因此,我們在使用云的同時也不能忽視客戶端應用的作用,云服務作為架構是正確的,但最終用戶還是希望使用客戶端,蘋果應用商店的成功也說明了這一點,需要把云和端有效結合起來。 實際上,我們的調查也發現,微軟現有的對Windows Azure感興趣的客戶,有三分之一是希望用它來做高性能計算。我想這是因為當高性能計算變得越來越易用,用戶的計算需求、處理問題的規模和數量也越來越多,但數據中心的擴容以及資金預算是有限的,所以需要找到一種更有效的方法,比如云計算來解決。 不過,在短期內,主要的應用模式是企業內部有集群,但在負載高峰期去買一些云節點。比如在金融、保險行業,每月月底的負載比平時要高很多,這時可以買入一些Azure云節點來計算。微軟近期也會發布Windows HPC Server R2 Service Pack 1,其中有一種應用模式叫CloudBurst,前端是Excel,可以結合使用集群和云節點來提高運算速度。這種服務還屬于Platform as a Service (PaaS),需要用.NET寫服務,然后部署到集群和云中。
下一步會把集群基礎設施完全放在云中,提供Service as a Service (SaaS)服務。微軟科學計算部門除了把Excel與云服務結合起來,針對大規模數據分析,還會把MapReduce與云更有效地結合起來。我相信許多信息數據,如地球物理、生命科學、經濟、證券交易等,與云結合起來必定會產生更多的新興應用。 IT168:在高端HPC系統如百萬億次、千萬億次甚至百億億次,與中低端HPC系統之間如小規模集群、個人HPC之間,微軟是否有所側重?還是兩手都要抓? 徐明強:微軟的戰略是要把高性能計算市場這塊蛋糕做大,我們認為這個市場要比現在大得多,這也是我們要投入數年數億美元的原因。有統計表明,當前全球使用HPC的專業人士是1900萬,而使用Excel的人就多達3億,這為我們普及高性能計算提供很好的基礎。 當然,微軟重視那五分之四應該使用但還沒有使用HPC的人,并不意味著微軟會放棄大機器。我們肯定是兩手都要抓,不會忽視其中一個。實際上,微軟最新Windows HPC Server可以調度、管理的節點數據已經達到上千個CPU、上萬個內核的規模。兩年前進入全球TOP10的曙光5000也使用了Windows HPC Server 2008。 《Windows HPC Server:Step by Step——微軟高性能計算服務器》作者簡介:
徐明強博士于2004年加入當時成立不久的微軟高性能計算(HPC)團隊,現任微軟亞太研發集團服務器與開發工具事業部(中國)的HPC首席架構師,負責產品中的并行編程模型和運行時系統的設計與架構。 加盟微軟之前,徐明強博士在1996年至2004年間擔任一家HPC中間件廠商的首席架構師,負責其兩個旗艦產品的設計和技術戰略規劃。 徐明強博士擁有22年高性能計算領域專業經歷,包括8年學術政府實驗室的研究和14年的業界經驗。徐明強博士能深入淺出地講解“高性能計算”,并于2010年10月出版《微軟高性能計算》一書,首次全面、系統地向集群用戶、管理員和開發人員深入淺出地介紹HPC歷史,微軟HPC戰略及最新產品的使用、管理和編程的各項技術及實戰技能。 1993年至1995年,徐明強博士并在阿岡國家實驗室完成博士后研究。1987年至1991年在英國?巳卮髮W取得計算機博士學位。 背景資料:微軟科學計算計劃 今年五月,微軟服務器與開發工具事業部(STB)總裁Bob Muglia在介紹微軟的科學計算計劃時表示:“要讓更廣泛的人群享受和利用高性能計算的運算能力和資源,如:在世界各地需要通過建立模型和分析數據來解決許多重要挑戰的科學家、工程師和分析師們。”這些挑戰眾多來自金融、動漫和制造行業等。這項計劃包括把科學計算引入云計算,簡化并行應用程序的開發以及提供強大的新工具和應用程序。 在公共和私有領域,科學計算一直被科學家和研究人員所廣泛應用。我們的計劃是一項戰略投資,旨在匯集公司的技術專長和資源來支持最廣泛范圍內的科學家、工程師和分析師們,來建立更強大的模型和更精確的預測,以推動他們的工作;谖覀冐S富的經驗,我們致力于與科學計算業界進行深度合作。 微軟科學計算事業部總經理Bill Hilf表示:“我們的長期目標是通過跨越桌面、服務器和云計算的功能,讓更廣泛的客戶擁有使用科學計算的能力——這版Windows HPC Server就是我們向著這一長遠目標邁出的關鍵一步。各行各業的用戶都能將Windows HPC Server作為構建和運行模擬周圍世界模型、加快發現問題,以及幫助做出更好決策的基礎。”
微軟的科學計算計劃是服務器與開發工具領域的一項重大投資,將主要關注三個領域: 1. 云計算。在通過云計算向科學家、工程師和分析師提供科學計算能力方面,我們將扮演主要角色。超級計算負載將可能成為云的“殺手級應用”。 2. 更簡單一致的并行編程。我們將提供新的工具,簡化從客戶端到服務集群,到云在內的現代化分布式系統上的應用程序的開發工作。 3. 強大的新工具。我們將引入強大、易于使用的科學計算工具,它們將大幅縮短科學研究探索的時間。我們將與客戶和獨立軟件開發商合作伙伴合作開發創新的解決方案,實現科學計算的愿景。 合作伙伴案例 各種類型客戶都依賴Windows HPC Server來加快他們的重要工作。下面是與美國合作伙伴的部分例子,更多例子見http://www.microsoft.com/hpc: • 斯克里普斯研究所過去是手動處理測試結果,這限制了他們在免疫學、分子與細胞生物學、化學、神經學、自體免疫與心血管病的研究創新工作。為了提高效率,他們采用了基于Windows HPC Server 2008的高性能計算解決方案,F在,測試結果的處理速度提高了600%,而研究成本降低了一半,節約了500萬美元。 • 落基山超級計算中心(RMSC)的一項工作是把超級計算引入美國的主流應用。憑借其獨特的業務模式,這個位于美國蒙大納州的機構向小型企業、政府機構、美洲土著部落和學校按需提供基于互聯網的超級計算服務。為了鼓勵更多人嘗試超級計算,RMSC采用了Windows HPC Server 2008操作系統。RMSC的客戶可以充分利用熟悉的Windows桌面環境中的眾多計算能力,從而做出更佳的業務決策,從數據中獲取新的見解,并且充滿信心地進行以前因為缺乏數據或計算能力而受阻的項目。 • Intellectual Ventures公司正在努力消除全球范圍內的瘧疾,他們使用Windows HPC Server 2008模擬瘧疾的擴散方式以及對各種預防措施的反應。通過利用集群,研究人員可以為更詳細的參數建模,在不到一個小時內即可以獲得更精確的結果,而不是等待一整天的時間。如此以來,研究人員就可以提高他們抗擊疾病的工作效率。 本文出自:億恩科技【www.laynepeng.cn】 本文出自:億恩科技【www.enidc.com】 --> |