<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 多核系統效率與任務(wù)屬性關(guān)系的優(yōu)化策略

多核系統效率與任務(wù)屬性關(guān)系的優(yōu)化策略

作者: 時(shí)間:2013-11-06 來(lái)源:網(wǎng)絡(luò ) 收藏


如上分析,指令級并行度與多核CPU支持的緊密關(guān)聯(lián)。如何利用軟硬件技術(shù)去最大限度地開(kāi)發(fā)處理機中的指令級并行性,關(guān)鍵在于要知道何時(shí)及如何改變指令順序。在實(shí)際運用中,這種改變過(guò)程必須由編譯器或硬件正確實(shí)現。顯而易見(jiàn),多核系統如果不能保證多核多線(xiàn)程平行推進(jìn),則更多的核可能更影響多核系統的整體效率,這成為目前對多核CPU結構研究的重點(diǎn)。

3 不同屬性的任務(wù)對多核CPU處理能力與效率的影響分析

應用系統對計算力或計算機的處理能力的需求是可以標定的。尤其是對于給定的科學(xué)計算問(wèn)題,所需要的處理時(shí)間幾乎能預估。而面向非科學(xué)計算問(wèn)題的處理,處理系統要開(kāi)銷(xiāo)的時(shí)間往往不可預知。比如,在一個(gè)大型網(wǎng)絡(luò )數據庫系統內完成相應的知識發(fā)現,需要開(kāi)銷(xiāo)的時(shí)間可能各不相同,因待發(fā)現問(wèn)題的算法(約束方程)而異。產(chǎn)生“不同”的原因其實(shí)與發(fā)現問(wèn)題(處理任務(wù))的屬性相關(guān),如果任務(wù)(Task)是可細粒度劃分的,則由多核CPU支持的并行系統處理效率高。由于細粒度劃分算法的工作開(kāi)銷(xiāo)(Workload),保證了多核CPU的多線(xiàn)程能平行推進(jìn),實(shí)現高的并行效率。

考慮一種理想狀態(tài),被處理任務(wù)可劃分為均勻的四大模塊,且并行系統由四核CPU支持,宏觀(guān)上生成四條平行的流水線(xiàn),由于每條流水線(xiàn)上的指令序列不存在任何相關(guān)性,則四核的指令級線(xiàn)程將平行推進(jìn),處理效率最高。如果Task客觀(guān)上只能分成均勻的兩大模塊(分成均勻的四塊將出現相關(guān)),且同樣在四核CPU系統上運行,其將可以如下計算:

設四核處理均勻四模塊的時(shí)間為T(mén)4,則兩核處理均勻兩模塊的時(shí)間為2T4。
如果由四核處理均勻兩模塊任務(wù)序列,且指令級并行過(guò)程中存在的相關(guān)性產(chǎn)生的線(xiàn)程阻塞花費的吸收開(kāi)銷(xiāo)為T(mén)P,當且僅當TP≤2T4時(shí),該并行系統才是功能上與四核處理四模塊等價(jià)的,但性?xún)r(jià)比則大大降低。
因此,明晰應用系統的屬性更能指導并行系統的選擇或構建,科學(xué)地分析系統整體效率或系統結構選擇,在并行系統不斷發(fā)展進(jìn)程中應該具有重要意義。

4 實(shí)際仿真實(shí)例

本文采用VC6.0編程對多核并行處理進(jìn)行仿真,仿真結果如圖1和圖2所示。

  比較圖1、圖2,可以得到以下結論:

動(dòng)態(tài)效率(圖中第二條曲線(xiàn))始終低于靜態(tài)效率(理想效率)。動(dòng)態(tài)效率是多核改變原指令執行順序,同時(shí)受核自身的空間、當前任務(wù)量影響。

靜態(tài)效率(圖中第一條曲線(xiàn))是任務(wù)在隨機生成時(shí),靜態(tài)順序執行,運用Amdahl定律計算出來(lái)的。第二曲線(xiàn)低于第一曲線(xiàn)原因分析如下:

(1)動(dòng)態(tài)執行中多核之間協(xié)同發(fā)生同步等待延時(shí),系統效率下降;
(2)某時(shí)刻處理單元空閑,產(chǎn)生等待延時(shí),系統效率下降;
(3)改變指令原有的執行順序,引起效率變化。

第二曲線(xiàn)比第一曲線(xiàn)長(cháng)是因為產(chǎn)生延時(shí)等待。當系統中核的負載均衡,即線(xiàn)程可平行推進(jìn)時(shí),動(dòng)態(tài)效率更接近靜態(tài)的理想效率,這與實(shí)際非常吻合,說(shuō)明了基于A(yíng)mdahl定律計算系統效率是可行的。當系統中有一個(gè)或多個(gè)核長(cháng)時(shí)間空閑時(shí),則整個(gè)系統效率明顯下降。當任務(wù)分配不均勻,指令相關(guān)產(chǎn)生的等待或吸收,則動(dòng)態(tài)效率非常不穩定。

以上結論基于最初的指令級抽象、分配、執行策略,但由于是靜態(tài)調度,Krste Asanovic的工作[5]指出了其4個(gè)主要的缺點(diǎn):

(1)不可預料的轉移;
(2)可變的內存延遲(無(wú)法預料的cache不命中);
(3)代碼大小的爆炸;
(4)編譯器的復雜性。

所以,仿真證明了與多核CPU支持的并行系統效率之間存在的緊密關(guān)系,是指導提高應用系統性?xún)r(jià)比的重要因素。

多核處理器是處理器發(fā)展的必然趨勢。無(wú)論是移動(dòng)或嵌入式應用、桌面應用還是服務(wù)器應用,都將采用多核的架構[6]。

多核處理器要想發(fā)揮出威力,關(guān)鍵在于并行化軟件支持,多核設計帶動(dòng)并行化計算的推進(jìn),而給軟件帶來(lái)的影響更是革命性的[7]。面對多核系統,需要有并行編程的思想才有可能充分利用資源,而人類(lèi)的思維模型習慣于線(xiàn)性思維,對“面”或者更為復雜的立體編程模式,效率會(huì )下降很多。

仿真結果證明了多核CPU支持的并行系統效率提升與確定系統所面向的至關(guān)重要,它將有效地指導業(yè)界的應用系統優(yōu)化設計。


上一頁(yè) 1 2 下一頁(yè)

評論


技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>