新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 業(yè)界動(dòng)態(tài) > 多核系統(tǒng)設(shè)計(jì)標(biāo)準(zhǔn)

多核系統(tǒng)設(shè)計(jì)標(biāo)準(zhǔn)

作者:EEMBC創(chuàng)始人兼總裁 Markus Levy 時(shí)間:2008-03-21 來(lái)源:《 IQ 》雜志 收藏

       實(shí)施多核系統(tǒng)的最大挑戰(zhàn)是什么?對(duì)這個(gè)問題的回答當(dāng)然是見仁見智,但是,如果您詢問大多數(shù)業(yè)界學(xué)者,他們會(huì)說是編程。

本文引用地址:http://butianyuan.cn/article/80450.htm

       雖然很多公司和研究人員都在努力解決多核的編程問題,但是也有大量處理器供應(yīng)商正在力爭(zhēng)改進(jìn)其架構(gòu),以應(yīng)對(duì)不斷增長(zhǎng)的內(nèi)核數(shù)目。例如,單核設(shè)備的數(shù)據(jù)總線只有“一張吃飯的嘴”,添加第二個(gè)內(nèi)核后,總線負(fù)載就翻倍了。每添加一個(gè)內(nèi)核,面臨的總線挑戰(zhàn)就呈線性增長(zhǎng)。當(dāng)內(nèi)核數(shù)達(dá)到 80、500、1000或更多時(shí),就令人難以想像了。

       但是也有好消息,處理器供應(yīng)商(如ARM)正在改進(jìn)其架構(gòu),以應(yīng)對(duì)更高的數(shù)據(jù)吞吐率,這反映在所謂的互連技術(shù)中。同時(shí)還在實(shí)施其他技術(shù),以應(yīng)對(duì)不斷增長(zhǎng)的內(nèi)核數(shù)目。但是,業(yè)界對(duì)這些新型多核架構(gòu)的性能如何進(jìn)行定量測(cè)量呢?如何確定可擴(kuò)展性?系統(tǒng)設(shè)計(jì)人員如何選擇最優(yōu)的處理器?

        在最簡(jiǎn)單的層面上,設(shè)計(jì)用于測(cè)試多核平臺(tái)的基準(zhǔn)必須可擴(kuò)展,以便支持從一個(gè)內(nèi)核到“無(wú)限”多個(gè)內(nèi)核的情形。要確定多核設(shè)備的性能開始背離線性預(yù)期、進(jìn)入下坡路的那個(gè)點(diǎn),這是有意思的。

        多核基準(zhǔn)分類基本上有兩個(gè)最高層次:共享內(nèi)存和以消息為基礎(chǔ)。共享內(nèi)存方法依賴基于線程 API(如 POSIX)的語(yǔ)義。以消息為基礎(chǔ)的方法適用于非對(duì)稱異構(gòu)多核解決方案。

      EEMBC(嵌入式微處理器基準(zhǔn)協(xié)會(huì))認(rèn)為這兩種方法都可以有效支持必須處理一致性和分布式內(nèi)存架構(gòu)的嵌入式應(yīng)用程序。

       要衡量處理性能,可以利用速度測(cè)量來(lái)確定處理器完成一項(xiàng)任務(wù)的速度;也可以測(cè)量處理器在一定時(shí)間內(nèi)能完成的任務(wù)數(shù)量,稱為吞吐量或速率測(cè)量。

        在最基本層面上檢查一下共享內(nèi)存多核基準(zhǔn),一類測(cè)試是對(duì)單個(gè)基準(zhǔn)進(jìn)行獨(dú)立并行執(zhí)行。這種速率測(cè)量基本上是利用相同的輸入數(shù)據(jù)集,同時(shí)運(yùn)行同一基準(zhǔn)的多個(gè)實(shí)例,經(jīng)過多個(gè)線程,所有線程運(yùn)行完畢后,測(cè)量時(shí)間。這與S P E C速率基準(zhǔn)(如 SPECint_rate2000)實(shí)施的傳統(tǒng)吞吐量測(cè)量技術(shù)相同。

       使用該方法的最大優(yōu)勢(shì)之一就是它采用簡(jiǎn)單的方法,易于說明和演示。該方法還可以輕松擴(kuò)展至任意數(shù)目的并發(fā)執(zhí)行上下文。一般來(lái)說,上下文數(shù)目與機(jī)器上的 CPU 數(shù)目相同,但這不是要求。這樣可以近似一種粗粒度并行方法,該方法有時(shí)在現(xiàn)實(shí)應(yīng)用中會(huì)使用(例如多Vo I P通道)。但是,每個(gè)上下文使用相同的輸入數(shù)據(jù)集是不現(xiàn)實(shí)的。

       不僅如此,使用相同數(shù)據(jù)集還會(huì)使處理器L2緩存和內(nèi)存總線上的效果降到最低并無(wú)法測(cè)試。

       E E M B C認(rèn)為此方法只能測(cè)量單個(gè)內(nèi)核的效率和處理器的總線帶寬。此方法并不測(cè)量真正的多核性能,它是在內(nèi)核之間建立某種形式的通信、同步和共享內(nèi)存。

        并且此方法不將多流分解或任何流之間的同步考慮作為測(cè)試結(jié)果的一部分。如果基準(zhǔn)和工作負(fù)載不是設(shè)計(jì)用于多任務(wù)環(huán)境,此方法將很難反映這些算法在多任務(wù)系統(tǒng)中的實(shí)際使用情況。

       換言之,由于處理器/線程之間沒有或只有很少交互,此方法可以更有效地評(píng)測(cè)臺(tái)式系統(tǒng)。例如,它可以表示以下情形:

       瀏覽器運(yùn)行的同時(shí),還在播放聲音、編譯程序、檢查病毒、為圖片/文檔編索引,以及其他任務(wù)。

       測(cè)試多核可擴(kuò)展性

       對(duì)上述方法的一項(xiàng)改進(jìn)是讓每個(gè)線程上下文以唯一的數(shù)據(jù)集運(yùn)行。這樣可以反映更真實(shí)的情況,例如多Vo I P通道的處理,其中每個(gè)通道接收不同的輸入數(shù)據(jù)。

        從系統(tǒng)級(jí)別基準(zhǔn)觀點(diǎn)來(lái)看,此方法的價(jià)值在于它可以確保提升內(nèi)存活動(dòng)(如L 2緩存、內(nèi)存總線)。此方法還可顯示解決方案在可擴(kuò)展的數(shù)據(jù)輸入基礎(chǔ)上的擴(kuò)展能力。

         換言之,要確定增加數(shù)據(jù)輸入個(gè)數(shù)時(shí)性能開始下降的那個(gè)點(diǎn),是有意義的。制定此類基準(zhǔn)測(cè)試時(shí),最大的挑戰(zhàn)是:代碼對(duì)于線程必須是安全的,才能讓多個(gè)線程同時(shí)執(zhí)行。特別地,它必須滿足多個(gè)線程訪問相同共享數(shù)據(jù)的需求,以及在任一給定時(shí)間,某一共享數(shù)據(jù)只由一個(gè)線程訪問的需求,同時(shí)不降低要求的性能吞吐量。

       制定可同時(shí)啟動(dòng)多個(gè)項(xiàng)目的測(cè)試,對(duì)數(shù)據(jù)和代碼都執(zhí)行并發(fā),可進(jìn)一步擴(kuò)展上述方法。這可顯示一種解決方案對(duì)于通用處理的可擴(kuò)展性。舉例來(lái)說,考慮執(zhí)行MPEG decode(x),后跟 MPEGe n c o d e(x),類似機(jī)頂盒應(yīng)用程序中的步驟,其中,會(huì)接收衛(wèi)星信號(hào)、進(jìn)行解碼并編碼成為另一種信號(hào)存入硬盤。作為基準(zhǔn)評(píng)測(cè),這需要上下文之間的同步以及確定評(píng)測(cè)何時(shí)完成的方法。

       另一種稱為任務(wù)分解(或算法并行)的方法允許多個(gè)線程合作實(shí)現(xiàn)統(tǒng)一的目標(biāo),可以顯示處理器支持細(xì)粒度并行的能力。例如線程中M P E G解碼算法的分解,其中每個(gè)處理一項(xiàng)不同的工作負(fù)載。

       由A R M的J o hn G o odacre領(lǐng)導(dǎo)的嵌入式微處理器基準(zhǔn)協(xié)會(huì)(E E M B C)正在著手研究一套非常完整的新基準(zhǔn),它將針對(duì)多處理系統(tǒng)、多核處理器和多線程處理器。這些基準(zhǔn)不僅測(cè)試系統(tǒng)級(jí)別的功能(即操作系統(tǒng)支持、內(nèi)存性能),還將測(cè)試互連能力以及片上網(wǎng)絡(luò)(N o C)。換言之,這些基準(zhǔn)將審視“整個(gè)產(chǎn)品包”。

       E E M B C的多核基準(zhǔn)軟件將開始支持共享內(nèi)存對(duì)稱多核處理器,并利用基于線程的A P I建立通用編程模型。這些基準(zhǔn)的目標(biāo)是上述三種并發(fā)形式,包括任務(wù)分解、多數(shù)據(jù)流處理和多工作負(fù)載處理。

       嵌入式行業(yè)好像已經(jīng)非常認(rèn)可多核技術(shù),但是其性能之間的差距仍在增長(zhǎng)。即將推出的行業(yè)標(biāo)準(zhǔn)基準(zhǔn)將顯示多核處理器并行執(zhí)行多個(gè)上下文的效率,并有助于推動(dòng)處理器隨嵌入式細(xì)分市場(chǎng)并行資源的發(fā)展,同時(shí)提供中立的方法,供系統(tǒng)開發(fā)人員比較相互競(jìng)爭(zhēng)的處理器。

linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)


關(guān)鍵詞: 多核 嵌入式

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉