當(dāng)前位置:工程項(xiàng)目OA系統(tǒng) > 泛普各地 > 吉林OA系統(tǒng) > 長(zhǎng)春OA系統(tǒng) > 長(zhǎng)春OA行業(yè)資訊
單芯片同步多處理技術(shù) 處理器的下一步
申請(qǐng)免費(fèi)試用、咨詢(xún)電話:400-8352-114
文章來(lái)源:泛普軟件數(shù)據(jù)平行算法
在指定的建置技術(shù)下,要將個(gè)別處理器性能發(fā)揮到極限非但不容易,也沒(méi)有效率。更快的頻率、更深的管線和更大的緩沖存儲(chǔ)器會(huì)占用更大的芯片面積同時(shí)增加功耗成本,削弱了原本可提升10%性能的效益。有時(shí)候在沒(méi)有選擇的情況下,不得不將頻率速度提高并將電源和冷卻子系統(tǒng)升級(jí);倘若使用將負(fù)載劃分到多個(gè)處理器的方式,不但可以增加最大整體性能限制,亦可簡(jiǎn)化處理器設(shè)計(jì)使其更有效率。
目前有許多系統(tǒng)級(jí)芯片(SoC)設(shè)計(jì)利用多處理器的優(yōu)勢(shì),但它們均針對(duì)特定應(yīng)用或采用松散耦合方式。直到最近,針對(duì)軟件多處理方案的SoC設(shè)計(jì)選項(xiàng)依然受到限制。但MIPS32 1004K同步處理系統(tǒng)(CPS) SoC組件的推出,意味著可在單一操作系統(tǒng)環(huán)境下實(shí)現(xiàn)芯片上對(duì)稱(chēng)式多重處理(SMP)。
雖然平行編程很容易讓軟件工程師理解,但并非所有現(xiàn)今的程序代碼都是針對(duì)平行處理平臺(tái)所編寫(xiě),業(yè)界已有許多針對(duì)平行軟件的范例,其中有一些對(duì)軟件設(shè)計(jì)人員來(lái)說(shuō)也相當(dāng)熟悉。
數(shù)據(jù)平行算法
數(shù)據(jù)平行算法(Data-parallel algorithm)將數(shù)據(jù)組劃分到多處理器,甚至到若干個(gè)CPU中。在教科書(shū)中,可將大型數(shù)據(jù)組看作一個(gè)大量輸入文件或數(shù)據(jù)數(shù)組;但在嵌入式系統(tǒng)中,它可能意味著高I/O和事件服務(wù)頻寬。在某些SoC架構(gòu)中,多個(gè)輸入數(shù)據(jù)來(lái)源(如網(wǎng)絡(luò)接口端口)可以被靜態(tài)地分配到針對(duì)自然平行數(shù)據(jù)、執(zhí)行相同驅(qū)動(dòng)程序/路由程序代碼的多個(gè)處理器中。
當(dāng)在單一數(shù)據(jù)數(shù)組或輸入流中利用多處理器性能時(shí),用于分割并管理數(shù)據(jù)的平行算法就很常見(jiàn)。這種算法對(duì)于單處理器來(lái)說(shuō)通常不是最理想的,但由于具備了更靈活的頻寬運(yùn)算特性,因此可提供效率補(bǔ)償。這些針對(duì)平行運(yùn)算算法均具備靈活性,但要是將一個(gè)工作程序轉(zhuǎn)換成一個(gè)平行數(shù)據(jù)算法也許不具任何意義,甚至是相當(dāng)困難或是不可能實(shí)現(xiàn)的,而這完全取決于程序相依性這類(lèi)因素。如果絕大部分的應(yīng)用程序運(yùn)算都僅采用很少的常規(guī)運(yùn)算循環(huán)來(lái)實(shí)現(xiàn),那么,為提高性能,系統(tǒng)設(shè)計(jì)師也許要明確地建置數(shù)據(jù)平行算法。
隨著用于PC、工作站和服務(wù)器的多核心X86芯片問(wèn)世,新的數(shù)據(jù)庫(kù)和工具套件應(yīng)運(yùn)而生,使得平行算法得以輕易地在少量的處理器上實(shí)現(xiàn)。許多用于嵌入式架構(gòu)的數(shù)據(jù)庫(kù)和工具套件都是開(kāi)放且可攜的,如MIPS為GCC所做的C/C++以及Fortran擴(kuò)展,也正逐漸成為標(biāo)準(zhǔn)GNU編譯器的一部分。
平行控制編程
平行控制編程(Control-parallel programming)并非根據(jù)輸入,而是根據(jù)任務(wù)分割工作。若將一個(gè)以100人制造一臺(tái)汽車(chē)為單位的汽車(chē)制造工廠比喻為一個(gè)100信道平行數(shù)據(jù)算法,并將平行控制程序比喻為一個(gè)具有100人的組裝線工作站,各工作站負(fù)責(zé)百分之一的工作量,通常組裝線的效率會(huì)比較高,但組裝一臺(tái)車(chē)的工作量就只有這么多,這樣的限制在科學(xué)程序代碼擴(kuò)充到幾千個(gè)處理器時(shí)非常顯著,然而對(duì)于平行SoC架構(gòu)而言這并不是個(gè)問(wèn)題。
軟件工程師通常將程序劃分成若干個(gè)階段以易于編碼、除錯(cuò)和維護(hù),并減少指令內(nèi)存和快取的工作量。通常,平行控制分解早已設(shè)在可見(jiàn)的操作系統(tǒng)(OS)任務(wù)層。在類(lèi)似于Unix的系統(tǒng)中,單一命令‘cc’會(huì)依序呼叫C語(yǔ)言前置處理器、編譯器、組譯器和連結(jié)程序。它們之中的幾個(gè)可以同時(shí)執(zhí)行,每個(gè)連續(xù)程序利用前一個(gè)階段的輸出作為輸入,在類(lèi)似于Unix這樣的OS內(nèi)使用檔案或軟件管線。
當(dāng)獨(dú)立分解的執(zhí)行任務(wù)尚未完成時(shí),需進(jìn)行一些軟件工程,使應(yīng)用程序在OS和底層硬件上是可見(jiàn)的,并能在任務(wù)間明確地傳遞數(shù)據(jù)。但是不應(yīng)該需要對(duì)階段算法進(jìn)行重寫(xiě)。粗粒度的任務(wù)分解可透過(guò)檔案、網(wǎng)絡(luò)應(yīng)用程序(socket)或管線的進(jìn)程通訊來(lái)實(shí)現(xiàn)。而針對(duì)細(xì)粒度的控制,如Posix執(zhí)行緒API——pthreads,可由許多OS支持,包括Linux、Windows以及許多實(shí)時(shí)操作系統(tǒng)。
復(fù)雜的、模塊化的多任務(wù)嵌入式軟件系統(tǒng)時(shí)常會(huì)展現(xiàn)出意外的同步。整體系統(tǒng)任務(wù)很可能涉及到對(duì)應(yīng)不同輸入的不同責(zé)任等多項(xiàng)任務(wù)。若沒(méi)有一個(gè)時(shí)間共享的OS,各任務(wù)就必須在個(gè)別處理器上執(zhí)行。在一個(gè)時(shí)間共享的單處理器上,它們?cè)谳喠鲿r(shí)間中執(zhí)行;在一個(gè)具有SMP操作系統(tǒng)的多核心處理器上,它們能在可利用的處理器上同步執(zhí)行。
圖1a:復(fù)雜的模塊化多任務(wù)嵌入式軟件系統(tǒng)時(shí)常會(huì)展現(xiàn)出意外的同步。有了一個(gè)時(shí)間共享的OS,各任務(wù)就必須在個(gè)別處理器上執(zhí)行。在一個(gè)時(shí)間共享的單處理器上,它們?cè)谳喠鲿r(shí)間中執(zhí)行;在具有SMP操作系統(tǒng)的多處理器上,它們?cè)诳衫玫奶幚砥魃贤綀?zhí)行。圖1b:在SMP操作系統(tǒng)中,所有的處理器都面對(duì)相同的內(nèi)存、I/O組件和全域OS狀態(tài)。在單CPU上利用時(shí)間分段執(zhí)行的多任務(wù)程序,將能同時(shí)在一個(gè)SMP系統(tǒng)中的CPU上執(zhí)行。
- 1快速增強(qiáng)路由器安全的十個(gè)小技巧
- 2Linux系統(tǒng)能搞定的20件事情
- 3數(shù)據(jù)中心 迎接巨變
- 4企業(yè)需要謹(jǐn)慎進(jìn)行網(wǎng)絡(luò)運(yùn)維管理的規(guī)劃
- 5教你幾招服務(wù)器數(shù)據(jù)備份方法
- 6探討路由器基礎(chǔ)配置與數(shù)據(jù)傳輸
- 7企業(yè)部署虛擬化要預(yù)防哪七個(gè)誤區(qū)?
- 8了解Windows權(quán)限認(rèn)識(shí)局域網(wǎng)共享與安全
- 9五大虛擬化熱門(mén)技術(shù):CPU虛擬化居首
- 10路由器網(wǎng)絡(luò)分層診斷步驟與故障排除
- 11下一代網(wǎng)絡(luò)業(yè)務(wù)的發(fā)展特征與趨勢(shì)分析
- 12WEB應(yīng)用防火墻瞄準(zhǔn)盲點(diǎn)防御
- 13IT管理者應(yīng)該如何應(yīng)對(duì)虛擬風(fēng)險(xiǎn)的出現(xiàn)
- 14Windows系統(tǒng)緊急安全配置指南
- 15企業(yè)部署虛擬化前要想清楚的十大問(wèn)題
- 16最新HPC TOP500公布 邁入千萬(wàn)億次時(shí)代
- 17安全熱議 您的企業(yè)安全策略真的有效嗎
- 18安全公司稱(chēng)云計(jì)算涉嫌違法 企業(yè)需謹(jǐn)慎應(yīng)用
- 19實(shí)施虛擬機(jī)高效管理的六大啟示
- 20如何管理云計(jì)算和虛擬化環(huán)境中服務(wù)器
- 21IDC:全球經(jīng)濟(jì)危機(jī)給云計(jì)算帶來(lái)曙光
- 22超量的存儲(chǔ)采購(gòu)將影響未來(lái)的存儲(chǔ)預(yù)算
- 23帶頭執(zhí)行,關(guān)于組織的OA使用來(lái)說(shuō)必定事半功倍
- 24太陽(yáng)、風(fēng)、海藻:未來(lái)數(shù)據(jù)中心的能源
- 25如何理解虛擬私有云VPC?
- 26全面監(jiān)測(cè) 保障虛擬服務(wù)器安全
- 27計(jì)世獨(dú)家:虛擬化面臨存儲(chǔ)管理問(wèn)題
- 28從存儲(chǔ)論壇巡展看未來(lái)存儲(chǔ)技術(shù)趨勢(shì)
- 29用戶(hù)是OA辦公自動(dòng)化系統(tǒng)的應(yīng)用主體
- 30不可不知的路由交換的安全七宗罪
成都公司:成都市成華區(qū)建設(shè)南路160號(hào)1層9號(hào)
重慶公司:重慶市江北區(qū)紅旗河溝華創(chuàng)商務(wù)大廈18樓