Intel微軟揭示并行計算多核編程任重而道遠(yuǎn)
英特爾和微軟正在漫長的道路上一步步地走向他們所構(gòu)想的藍(lán)圖,即為未來多核處理器設(shè)計新型并行編程模型。兩個公司在英特爾發(fā)展論壇上發(fā)表了各自所取得的進(jìn)展。
本文引用地址:http://m.butianyuan.cn/article/201609/304772.htm微軟的新版本中,為系統(tǒng)軟件棧添加了新的層,并為它的.Net集成環(huán)境進(jìn)行了一些擴(kuò)展。英特爾則計劃對x86指令集進(jìn)行擴(kuò)展,并展示了在Ct上的進(jìn)度,Ct是C++設(shè)計語言的擴(kuò)展版本,旨在提供更好的并行化計算。
從用于計算開始,軟件的發(fā)展便憑借著摩爾定律關(guān)于串行處理器的發(fā)展而不斷提高其性能水平。然而,隨著微處理器上的功率泄露的問題不斷嚴(yán)重,迫使向多核方向轉(zhuǎn)移。去年年底發(fā)起的微軟并行計算計劃的主持者David Callahan稱,這意味著向并行計算模型的歷史性過渡。
微軟與英特爾正在支持著各種學(xué)術(shù)性研究,來推進(jìn)這方面的發(fā)展。在英特爾技術(shù)峰會上,學(xué)者們與企業(yè)界內(nèi)部團(tuán)隊分享了一些進(jìn)展情況。
這樣的工作似乎還不夠雄心勃勃,微軟更希望使用并行計算的轉(zhuǎn)變推動計算機(jī)界面的發(fā)展。
Callahan稱,“這實際上是我們希望實現(xiàn)的自然與經(jīng)驗相結(jié)合的新的布景。并行計算轉(zhuǎn)化只是前進(jìn)路上的一個小插曲。”
在開始并行工作前,底層軟件需要整體調(diào)整。Callahan表示,未來的系統(tǒng)軟件將會分成更多的層,形成更多的單獨組件,包括在應(yīng)用庫和進(jìn)程管理程序(hypervisors)之間定義用戶空間的新的運行環(huán)境,以及關(guān)鍵操作系統(tǒng)內(nèi)核。
運行環(huán)境將作為調(diào)度器,與進(jìn)程管理程序及操作系統(tǒng)之間協(xié)調(diào)工作。進(jìn)程管理程序虛擬地映射著物理資源,而操作系統(tǒng)對物理硬件的訪問進(jìn)行管理。Callahan稱,“這是一個對傳統(tǒng)操作系統(tǒng)服務(wù)的重構(gòu)。”
這樣的目的是更好的處理在多核環(huán)境下競爭請求。即使今天的PC也并行著執(zhí)行“可怕數(shù)目”的進(jìn)程,于是形成了時序處理的瓶頸以及數(shù)據(jù)存儲的丟失。
微軟會把其運行層公布給第三方,其中包括英特爾公司,因為微軟預(yù)計未來將需要很多種從不同廠商抽象得來的用于不同服務(wù)種類的互操作軟件抽象。未來的軟件還需要在下面幾個方面進(jìn)行技術(shù)改進(jìn):協(xié)作調(diào)度、更好的線程級性能以及增強消息傳遞。
Callahan稱,“這將是一系列深刻的改變,甚至需要重新構(gòu)建庫文件并重新編寫應(yīng)用程序。”
RapidMind 公司的首席科學(xué)家Michael McCool稱,“這是一個雄心勃勃的轉(zhuǎn)變,也是他們(微軟與英特爾)第一個目標(biāo)。” RapidMind公司從事于為x86和其他處理器提供并行編程工具。
McCool還補充說,“最初,他們已經(jīng)完成了一些顯著的支持并行任務(wù)的事情,但我沒有看到在對數(shù)據(jù)抽象方面上的任何努力。”
McCool稱,未來并行編程模型要新的類型來對數(shù)據(jù)排序,因此數(shù)據(jù)可以在合適的時候匯集到緩存中的合適位置。他還指出,英特爾最新的高速處理器互連,顯著得減少了等待時間,但如果錯誤數(shù)據(jù)出現(xiàn)在緩存中,等待時間又會顯著增加。
新的工具和新的設(shè)計語言
在編程工具的領(lǐng)域中,Callahan稱,微軟正在對其基于C#3.0語言的.Net環(huán)境進(jìn)行擴(kuò)展。英特爾稱其將在11月份發(fā)布四個新的并行編程工具的測試版本。
Callahan稱,程序員們將需要一整套新的工具集來實現(xiàn)調(diào)試、優(yōu)化以及驗證其編寫的并行代碼。調(diào)試工作將從單步執(zhí)行形式變?yōu)榭梢暬ぞ邅慝@取上千次同步任務(wù)時所反映出的趨勢。
在設(shè)計語言方面,英特爾談?wù)摰紺t,即C++用于多核處理器的擴(kuò)展版本。該語言目標(biāo)是自動為多個核劃分處理任務(wù),而不需要程序員了解x86架構(gòu)的深層細(xì)節(jié)。
從英特爾公司協(xié)作技術(shù)組的工程師Anwar Ghuloum顯示的數(shù)據(jù)看,使用該語言在四核系統(tǒng)上運行同樣的代碼可以加速1.7至3.7倍。Ct最初的目標(biāo)是用于英特爾通用Nehalem四核心芯片組,但目前已經(jīng)升級在16核Larrabee圖像處理器原型上運行。
McCool 稱,“RapidMind和Ct都在指向并行計算這同一方向,但我們更關(guān)注于更長遠(yuǎn)的成熟的商業(yè)供應(yīng),而當(dāng)前Ct仍然只是一項正在研究的API。”
英特爾還討論了其先進(jìn)矢量擴(kuò)展(AVX),作為取代當(dāng)前在英特爾處理器上使用的流式SIMD擴(kuò)展版(SSE)指令集擴(kuò)展。
AVX被認(rèn)為將為并行計算提供比SSE更優(yōu)越的環(huán)境,提升浮點性能并增加了更廣泛的單指令和多數(shù)據(jù)(SIMD)單元。不過,AVX到英特爾 SandyBridge處理器問世后才會全面實現(xiàn),SandyBridge是一款32納米處理器,預(yù)計2010年推出,是繼當(dāng)前Nehalem型CPU兩代后的產(chǎn)品。
另外,英特爾透露了Nehalem處理器性能得以優(yōu)化的新功能,這些功能是其他一些CPU核中沒有采用的。這個功能可以在一些核閑置時自動關(guān)閉這些核,從而為其他仍在運行的核提供更多可用的芯片級電源。
該技術(shù)涉及到新的帶有高阻抗的晶體管設(shè)計,從而減少了來自已經(jīng)關(guān)閉的核的泄漏電流,同時在處理器上還使用了百萬門晶體管控制器和傳感器。
負(fù)責(zé)Nehalem電源管理的英特爾院士Rajesh Kumar稱,“你能控制的電源越多,實現(xiàn)的性能越佳。”
競爭對手AMD公司已經(jīng)有能力在其處理器上通過獨立的電源層來單獨運行各個核。此前,英特爾稱,這樣的特征并不能顯著節(jié)省電源。
評論