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