英特爾(Intel)和微軟(Microsoft)公司們計劃在5年內提供大約1,000萬美元的資助,幫助美國加州柏克萊大學建立一座新的平行運算實驗室(PCL),最初共接受14名大學教職員參與該計劃。包括美國麻省理工學院(MIT)、史丹佛大學與伊利諾大學等20多所大學都加入申請該計劃的競爭之列。
去年稍晚,美國AMD公司指派一位首席架構師全權負責召集相關產業,共同針對支援異質多核心CPU的各種概念進行討論。根據AMD表示,開發廠商們必須從根本上擴展現有的軟體堆疊,以處理即將出現的一系列採用各種核心、加速器以及記憶體類型的處理器產品。
AMD與英特爾兩家公司均表示,他們最早將於明年初提供混合x86和繪圖核心的處理器,其中每一晶片上的核心數量將迅速提升至8顆或更多。然而,軟體開發商們依然無法擺脫主要的串列編程模式,因而難以輕易地利用新硬體的優勢。
因此,毫無疑問,電腦產業需要一種新型的平行編程模式,以支援這些多核心處理器。但是,新模式將會是什麼樣子?何時才能出現?現在,所有的問題都懸而未決。
“這是個關鍵性的問題,而且必須現在就採用平行編程技術。”史丹佛大學電腦科學系教授William Dally表示,“其危險之處即在於當我們需要時卻沒有一種夠好的模式可用,最後只好開發出一代必須長期依賴但卻難以沿用的傳統程式碼。”
Dally表示,他會力勸整個產業立即著手展開試驗,並嘗試各種不同想法,以便從中找到可奏效的幾種方案。“儘管如此,從一些可行方案中所選出的最佳概念即使在最初建置過程中也很難盡善盡美。”他說。
“如何為多核心處理器編程已讓整個產業感到恐慌,特別是針對異質處理器。”AMD資深研究員暨該公司加速運算性能計劃首席架構師Chuck Moore表示,“為了有效利用目前的多核心硬體,工程師們必須擁有電腦學科的博士學位。但是如果想使異類CPU成為可能的話,僅僅依賴博士學位是難以為繼的。”
柏克萊大學的研發理念
早在2005年2月,柏克萊平行運算實驗室便開始研究平行編程模式的問題,當時柏克萊大學就該問題舉行了一連串的每週討論會。2006年12月,柏克萊的研究人員出版了一本集結所有討論結果所整理而成的白皮書。
現在,柏克萊大學的研究人員已根據上述思考的討論整理而開始設計原型軟體系統,在未來幾個月內,他們可能就會發佈初步的研發成果。
基本上,該實驗室的目標在於採取類似於目前串列程式的編寫方式,在一組彈性化的標準模組上組成平行程式。目前在平行領域所面臨的挑戰在於尋找一種動態且彈性化的方法,以便能從複雜、異質且多核心CPU中的可用硬體標準模組中對平行任務進行排程。
該小組認為,開發人員能夠開發出一系列可充分理解該硬體複雜性的架構。這些架構可能用於撰寫處理特定任務的各種模組,如求解一個矩陣。新的執行時間環境可動態地調整這些各種不同類型核心的模組。
新的方法將取代目前串列軟體中所採用的全局排程器。各種架構將取代平行工具庫,因為平行工具庫無法總是適合特定平行應用的細節,並且無法簡單地根據需要進行混合與搭配。
在未來的2到5年間,8核心或16核心處理器可能衝擊到主流的CPU市場,但是柏克萊大學則將眼光放得更遠,他們將著重於針對具有幾十顆核心的處理器晶片編程問題。
研究人員相信,未來5年左右,晶片製造商將會使用具有極大差異的核心組。但是,隨著時間的推移,那些核心可能變得越來越相似,因而使得矽晶驗證與硬體編程都變得更為簡單。
史丹佛大學首度嘗試
史丹佛大學的Dally表示,在處理器上採用許多不同的核心是相當有意義的。“針對資料密集型的SIMD問題,專用處理器能夠實現更高一個或兩個數量級的功效。”他說道。
根據採用這一類核心作為傳統DSP替代產品的想法,Dally協助創立了Stream Processors公司。其它史丹佛的研究人員們則開發了Brook編程語言,它後來被AMD公司的繪圖處理器部門所採用,以幫助其大規模平行繪圖晶片處理通用任務,這便是驅動平行處理技術發展的另一重大趨勢。
Dally表示,“所有的人都正朝這個方向而努力,”他並指出英特爾和Nvidia也在進行類似的工作。“但是,他們必須開發一種更為通用、且在未來具有優勢的解決方案。”
此外,史丹佛大學也正探索一種基於許多高階特定域語言的技術,它可透過與一系列通用平行執行環境進行互動,以存取多核心硬體。
Dally表示,這種執行環境所面臨的挑戰在於平衡靜態機制。該靜態機制構成了具有動態能力的大型數據流,以尋找並處理在程式執行過程中突然出現的平行執行機會。
特別是,史丹佛大學希望能把兩個計劃的工作整合起來。其中之一是採用事務級記憶體技術來尋找處理動態排程的途徑;另一個則是採用稱為Sequoia的新語言,瞄準諸如數位媒體處理等資料密集型應用。
與此同時,伊利諾大學研究人員們則探索從目前的串列程式碼中擷取平行程式碼的幾種途徑。他們已著手為下一代繪圖晶片以及英特爾的Itanium處理器研究編譯器和編程模式。
對於AMD公司而言,為了減輕像其Fusion晶片這類多核心元件的編程問題,該公司已經開始就此想法與微軟等合作夥伴們進行探討。Fusion晶片計劃於2009年開始整合x86、繪圖與其它核心。
“我們並沒有特定的提議,但是正就此概念與合作夥伴進行討論,同時也引起了廣泛的關注。”AMD公司的Moore表示,“在未來幾個月或幾季內,我認為這些觀點將會更清晰,並進而提出一份提案或可因此成立一個聯盟。這不僅僅是AMD的事情,它更是一個開放的系統,可激發各個不同層面的競爭廠商們不斷推陳出新。”
根據AMD的觀點,新的電腦堆疊可能包含在作業系統上所擴展的一組執行時間環境,以協助應用程式人員發現、排程、同步並管理晶片級資源。
在作業系統之下,虛擬化軟體能夠被擴展,因而能更有效地追蹤、糾正編程錯誤。
未來在進一步發展後,PC處理器可能採用更為廣泛的各種記憶體類型。它們也可能採用堆疊技術,以便開發出更為複雜的SoC設計,Moore介紹道。
去年,AMD公司的資深研究員Rich Witek被派駐至華盛頓州Redmond市,並在當地成立了一間先進技術實驗室,從事初始與未來概念的研究。Witek曾領導開發團隊為多款微處理器進行研究,包括美國數位設備公司(DEC)的StrongARM和Alpha晶片。
“我們已成功地與微軟公司就AMD的64位元技術展開合作,而且他們也打算再次合作。”Moore表示。
此外,微軟已經聘請平行運算領域專家,包括Cray公司前首席科學家Burton Smith以及美國國家超級電腦應用中心的Dan Reed,來協助解決前進道路上的棘手難題。
迄今為止,AMD尚未捲入與其競爭對手英特爾的戰爭中──英特爾是大部份PC處理器的供應商。Moore讚揚英特爾在多核心設計中與創新型企業和大學的努力是“良好的電腦科學研究工作。”
“我們正試圖進一步推動研究工作,並協助定義各種異質平台,”他表示,“我們歡迎任何人、任意一方參與這個提供更多機會的開放且互惠環境,但是我不會袖手旁觀,或特別把這些問題丟給他們。”
根據Moore的觀點:“x86的相容性對於不遠的未來至關重要,這正是大多數程式和作業系統所必須執行的環境。但是從某些方面來看,某些任務將會執行得更快,並且在所針對的加速器上以更具功效的方式執行。”
Moore過去一向監管AMD公司的下一代高性能x86核心(代號為Bulldozer)設計,但在去年12月中旬以後,他便轉而全權投入對於新軟體研究工作的支援。
Moore表示,“處理器核心設計的進展非常順利,讓我不得不接手負責這一更加廣泛的計劃。”
作者: 麥利
留言列表