welcom ! Handel home

2009年11月1日 星期日

解決平行編程領域所面對的挑戰

英特爾(Intel)和微軟(Microsoft)日前宣佈將在未來五年為美國加州大學柏克萊分校投資1千萬美元,協助其建立並管理一座平行運算實驗室;此舉對於業界來說真是一項大好消息!我期望這一計畫能解決下一代軟體開發人員在為多核心平台高效且快速部署軟體時所面臨的重大挑戰。

該實驗室的核心研究員Kurt Keutzer教授表示,我們可望在2010年夏天看到第一項成果。這一時間表相當令人印象深刻;從研究的角度來看,這是為了提出解決此複雜問題的首份成果而壓縮的時間表。然而,另一項重要指標是必須儘快找到具有生產力與產業優勢的解決方案。

這一重大聲明意味著大型公司在資助學術研究方面仍然十分重要。在當今動盪的經濟環境中,這些大型公司們持續贊助學術研究的作法值得讚許。因為,這還需要更遠大的目光,而非僅盯著當季的損益表;此外,它經常必須在具有潛在風險時即投資尚未成熟的研究。

當想到這一點時,我發現目前已存在著一種真實的平行世界,能讓所有的研究最終均使用平行編程模式。我每天所接觸到的客戶們均已為其多核心平台部署多執行緒軟體了,但他們既不採用新語言,也不使用新工具。就像其他工程師一樣,他們只是單純地思考並解決問題。他們或許會最先坦承並未實現最有效率的建置方案,也未如預期般快速完成部署。然而,他們仍然以驚人的速度將新產品投入市場。

我曾經從客戶那裡多次聽到同一個關於視訊系統方面的例子,證實了我的想法。由於多核心平台是唯一能解決目前視訊標準所需傳輸量的方式,多核心程式設計方面的軟體開發新手或許認為:要建置所需的方案,最有效率的方式是將一連串訊框饋入各自獨立的處理單元管線中。因而開發人員在劃分程式碼後很快地發現到,處理每一訊框所需的記憶體流量並不如預期般地高效。因此,在這個多核心應用普及的新世界裡,全球幾萬名開發人員正不斷重複著類似的錯誤與教訓。

請不要誤會我的意思。採用多核心編程的學術研究其實是相當重要的。在這個非常重要的領域中,當迎來等待已久的下一代解決方案時,業界將會揭示並定義出平行編程的設計定律,使其如同摩爾定律和Amdahl定律般的普遍流傳。事實上,加州大學柏克萊分校的平行運算實驗室等其它近多家重要實驗室均以其卓越的聲譽為睹注,期望能針對業界的部份或全部需求,以便更正確地利用多核心架構。

同時,請不要忘記目前的開發人員們正分秒必爭地透過多核心平台的程式設計,竭力滿足日益複雜的性能與功耗目標。這些工程師們正主動學習如何使用現有的語言和方法來達到目標,這是相當難能可貴的。他們不斷地犯錯、學習,儘管犯了更多錯誤,但也學得更多,最終也完成了任務。難道工具供應商不能更進一步地協助他們嗎?難道業界無法更進一步地與所有的開發人員們分享既有的知識和經驗嗎?難道學術研究不正是這麼做的嗎?

實際上,這些觀察使我期望能在多核心協會的贊助下建立一個多核心編程實踐(MPP)工作組,並同意和英特爾的Max Domeika一起主持該組織。該組織的用意在於為這些努力的工程師們提供一些實際的指導方針,這些指導方針是根據已學習如何編寫平行軟體的其他工程師們所用的實際案例。

有人可能會說在實際的平行編程方案出現以前,採用現有語言進行多核心軟體編程只是短暫的。但請切記在權宜之計上所出現的'差距'往往比任何人所能想像的更深。

作者:David Stewart

CEO

Critical Blue公司

沒有留言: