《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 業(yè)界動態(tài) > 專家觀點:并行軟件須加速追趕多核處理器發(fā)展腳步

專家觀點:并行軟件須加速追趕多核處理器發(fā)展腳步

2009-08-10
作者:麥利

??? 為了持續(xù)提升性能而又不至于因過熱導致故障,微處理器正朝向多核心方向發(fā)展。但主流軟件至今卻尚未能找到使用這種新并行機制的途徑。


??? 專用編程方法已開始在一些應用中受到青睞。然而,軟件產(chǎn)業(yè)可能還需要十年或更長的時間,才能以一種較有組織的形式趕上多核心硬件的發(fā)展;在此同時,這條道路上還存在著一些難以跨越的障礙。


?? “所有攸關性能的關鍵程序都必須重新編寫,”斯坦福大學Pervasive Parallelism Lab總監(jiān)Kunle Olukotun說。該團隊是致力于解決這個被當今計算機科學視為最棘手問題的眾多研究小組之一。


?? “最后不是被迫重新編寫這些程序代碼,就是只好將它淘汰,”O(jiān)lukotun說。他在最近舉行的‘多核心虛擬會議’(Multicore Virtual Conference)上針對該主題發(fā)表專題演講。


?? “這是電信公司目前所面臨的最大問題之一,”近期將出版一本有關電信設計專書的系統(tǒng)架構師Alex Bachmutsky表示,“它們的應用程序并不是針對多核心和執(zhí)行緒編寫的,而且這些程序規(guī)模龐大,包含了數(shù)百萬或數(shù)千萬行的程序代碼?!?/P>


?? 無所不在的C語言“是最糟糕的工具,因為它在本質(zhì)上是連續(xù)性的語言,這使得算法中原有的并行機制變得模糊不清,”DSP咨詢公司Berkeley Design Technology總裁Jeff Bier說。


??? 根據(jù)TechInsights公司在今年初所進行的一項研究,在接受訪談的嵌入式系統(tǒng)開發(fā)人員中,約有62%表示最近的計畫是以C語言寫的;還有24%表示使用了C++。


??? 研究者們已經(jīng)開發(fā)出許多并行編程語言,但沒有哪一種是萬能的,而且要成為被市場接納的商品都還有很長的路要走。Olukotun預測最終將出現(xiàn)一系列自動尋找并行機制的高階專用工具。


??? 多核心處理器也正致力于投入主流設計領域,系統(tǒng)、芯片與工具開發(fā)商們也正提出一系列確實可用的開發(fā)工具。


??? 其中一部份是現(xiàn)有的多核心處理工具,例如目前用于芯片級編程的OpenMP。英特爾(Intel)及其它公司們已經(jīng)發(fā)布了用來管理軟件執(zhí)行緒的工具庫。Cilk Arts公司等新興公司也在傳統(tǒng)的程序代碼中植入關鍵詞來協(xié)助尋找并行機制。


???“各種方法都互有利弊,”飛思卡爾半導體(Freescale)軟件研發(fā)總監(jiān)Rob Oshana指出。


??? 開發(fā)人員將需要新的建模工具來解決如何在早期設計階段劃分應用的問題,Oshana表示。另外,并行除錯器已初露曙光,在一個復雜的系統(tǒng)單芯片中,只要能讓通過多個核心、加速器和互連的資料達到可視化,將可望協(xié)助設計人最佳化其程序代碼。


???? 短時間來看,許多芯片制造商正試圖將最多的并行程序代碼加載于軟件堆棧中。但在某些情況下,他們有時候會因為過度開發(fā),反而無法提供一些較通用的并行應用程序,飛思卡爾公司資深系統(tǒng)架構師Steve Cole表示。


?? “它應該能夠包含我們的應用程序與第三方應用程序,以及操作系統(tǒng)和工具,”Cole說,“這才是業(yè)界該走的方向?!?/P>


??? 為了開發(fā)這樣的產(chǎn)品,飛思卡爾已經(jīng)將其多核心軟件團隊人數(shù)增加了一倍之多,Cole說。


??? 同時,OEM們也正在尋找自己的方法來解決這些問題。電信架構師Bachmutsky指出,控制臺設計正采用系統(tǒng)級對稱多處理(SMP)工具來管理基于 SMP操作系統(tǒng)的多核心芯片。而其設計結果“看起來就像是具有多線卡與負載均衡器,可在各刀鋒背板間分配流量的系統(tǒng),”他說。


??? 由于資料面設計通常使用匯編語言編碼,因此,要把性能提高10倍以上的難度更大。這意味著它無法負擔SMP結構的共享內(nèi)存開銷。


??? 開發(fā)人員們必須仔細地劃分任務并分配給各個核心,觀察數(shù)據(jù)間的依賴性。他們必須制訂在不同任務間傳遞的詳細訊息方案,并找出在數(shù)據(jù)和控制臺軟件堆棧間的通訊方式,Bachmutsky說。


??? 采用匯編程序碼,“你就與硅晶制造商及工具庫密切相連,你無法輕易地把軟件移植到另一個處理器,”他說。“但無論你選擇哪一種方案,都意味著將與該方案密切相關?!?/P>

?

?


圖1:C語言主導當今與明日的循序程序設計

?

先進技術進展

?? 一些特殊應用在并行處理的道路上取得了更多進展,但所使用的仍是專有的芯片與工具。例如,針對石油與天然氣勘探等一連串應用中,Nvidia采用其具有Cuda環(huán)境的繪圖芯片展開了大量并行編程工作。

?

?? 一些設計公司表示已成功實現(xiàn)了并行處理的先進技術。例如,英國Cambridge Consultants公司使用了PicoChip公司在單芯片內(nèi)封裝250個核心的組件,完成了3G和WiMax基地臺的合約設計工作。

?

?? 對于這些應用而言,Cambridge Consultants公司發(fā)現(xiàn)PicoChip的組件實際上比4核心的數(shù)字訊號處理器(DSP)更好用?!斑@一開始似乎令人百思不解,但與傳統(tǒng)的單核心 或核心數(shù)較少的DSP相較,使用PicoChip的組件所開發(fā)出的程序更簡短、可靠且產(chǎn)出品質(zhì)更高,”在Cambridge Consultants主導DSP研發(fā)團隊的Monty Barlow解釋。

?

? “內(nèi)含眾多核心的多核心架構可以把功能劃分到各 顆核心中,在系統(tǒng)已知各部份不會產(chǎn)生負面影響前提下,可分別開發(fā)并測試這些功能,而后再轉入系統(tǒng)的其它部份,”Barlow指出,“另一種替代方案是依執(zhí) 行緒編寫程序,并取決于操作系統(tǒng)的運作情形來分配時間,但這些任務是以一種無關聯(lián)的速率執(zhí)行,某一天,許多任務可能會團結起來與你作對,而某些任務還可能 會延遲而導致失敗?!?

?

?? 采用新方法就必須為PicoChip的組件重新編寫軟件。但Barlow說,他認為值得在架構方面進行更多工作,以便使后續(xù)開發(fā)過程更順利。

?

?? 分析師Jeff Bier指出,PicoChip和Tilera等開發(fā)大規(guī)模多核心系統(tǒng)的新興公司們使用了完全不同的軟件工具,這使得從他們的架構中移植軟件的難度極大,風險更高。“這種創(chuàng)新很有意義但難度極大,因為這些新興公司必須在芯片和并行軟件方面取得成功,”他說。

?

? “我預計這些特殊的架構存在時間不會太長,”史丹佛大學的Olukotun說?!半S著越來越多通用環(huán)境的性能更強且功效更高,這些特殊架構很快會被取代。”

?

?? Olukotun相信,實驗室的研究成果最終將為軟件堆棧帶來創(chuàng)新。他們將實現(xiàn)并行程序代碼自動化產(chǎn)生,開發(fā)人員將無需再與執(zhí)行緒、訊息傳送、內(nèi)存同步存取和其它結構打交道。

?

?? 該實驗室的開發(fā)人員們將以高階特定領域語言(DSL)進行編程,使其可為一系列具有先進排程器的執(zhí)行時間(runtime)環(huán)境自動產(chǎn)生并行任務。這些執(zhí)行 時間系統(tǒng)將“結合不同組件以開發(fā)出不同的執(zhí)行模式,以便產(chǎn)生串流、原子、容錯、安全或執(zhí)行監(jiān)控作業(yè),”O(jiān)lukotun說。

?

?? 飛思卡爾的Oshana也認同這一觀點。“許多應用均樂于接受更多抽象觀念,以實現(xiàn)更好的整合,”他說。例如,可執(zhí)行多操作系統(tǒng)的hypervisor虛擬管理程序?qū)⒆兊迷絹碓狡占啊?

?

?? “這些新的想法能否被接納?它將取決于開發(fā)人員感受在編程多核心處理器時的痛苦指數(shù),”O(jiān)lukotun說。

?

?? 但在很長一段時間內(nèi),這種痛苦可能還不至于普遍存在。在TechInsights公司的調(diào)查中,只有大約7%的嵌入式開發(fā)人員表示正在使用多核心處理器,而這個數(shù)字已高于兩年前的4%了。

?

??? Linley Group公司首席分析師Linley Gwennap今年三月時曾表示,由于并行編程的復雜性,到2012年,具有4顆或更多核心的處理器在通訊系統(tǒng)市場上的比例很可能只略多于10%。 Gwennap并預測,2012年以前,雙核心設計的市占率將達到20%。

?


圖2:柏克萊大學的研究人員指出,未來的并行應用程序發(fā)展模式將從軟件堆棧的每一層開始進行改變

?

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認版權者。如涉及作品內(nèi)容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。