色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 業(yè)界動態(tài) > 多核系統(tǒng)設(shè)計標準

          多核系統(tǒng)設(shè)計標準

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

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

          本文引用地址:http://cafeforensic.com/article/80450.htm

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

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

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

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

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

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

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

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

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

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

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

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

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

                 測試多核可擴展性

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

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

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

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

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

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

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

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

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


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

          評論


          相關(guān)推薦

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

          關(guān)閉