蘇雅麗(呼和浩特民族學(xué)院,內(nèi)蒙古 呼和浩特 010051)
?
一種多核處理器時(shí)鐘精確并行仿真技術(shù)
蘇雅麗
(呼和浩特民族學(xué)院,內(nèi)蒙古呼和浩特010051)
摘要:PCASim作為時(shí)鐘精確多核處理器有著廣泛的應(yīng)用,本文主要研究該處理器的并行仿真技術(shù).在仿真技術(shù)方面,PCASim主要根據(jù)成熟的串行仿真技術(shù)制造獲得,其中,在進(jìn)行的仿真目標(biāo)系統(tǒng)中有多項(xiàng)專業(yè)技術(shù)系統(tǒng)組成,主要包括:基于目錄的高速緩存一致性協(xié)議;動(dòng)態(tài)競(jìng)爭(zhēng)的互連網(wǎng)絡(luò);多層次的存儲(chǔ)子系統(tǒng).同時(shí),PCASim采用了并行化原型仿真器——POSIX線程庫,能夠進(jìn)行劃分對(duì)象模型為存儲(chǔ)子系統(tǒng)、處理器核,并能夠?qū)崿F(xiàn)到宿主線程的映射,依靠S1ack機(jī)制實(shí)現(xiàn)線程同步.本文就是為了解決該問題,確保仿真器時(shí)鐘精確性,通過研究當(dāng)前所廣泛應(yīng)用的S1ack機(jī)制,提出了新同步方法.在新的方法中主要采用了提前設(shè)置懸掛路障,從而能夠?qū)崿F(xiàn)零延遲事件實(shí)時(shí)監(jiān)控并被接受,提高保守同步協(xié)議能力.
關(guān)鍵詞:多核處理器;PCASim;時(shí)鐘;精確;并行仿真
在單核處理器的發(fā)展過程中,功耗問題和處理性能問題一直困擾著計(jì)算機(jī)技術(shù)的發(fā)展,然而多核處理器出現(xiàn)就解決了該問題.同時(shí),根據(jù)摩爾定律可知,在一年半的時(shí)間內(nèi)必然讓單片芯片上集成的晶體管數(shù)目成倍增加.晶體管技術(shù)的發(fā)展促使處理器能夠具備更加豐富的功能,從而提升處理功能.2005年之前,Intel和AMD主要從晶體管增加的技術(shù)來促進(jìn)處理器性能的提升.該方法在此之前卻未使處理器技術(shù)獲得革命性的發(fā)展,而是在發(fā)展中使處理器成為阻礙計(jì)算機(jī)技術(shù)發(fā)展難點(diǎn).在處理器頻率達(dá)到一定的數(shù)值時(shí),晶體管性能邊際收益阻礙了其功能的進(jìn)一步提升,并且這一過程中還存在散熱偏大和功耗過大的問題(Agarwal et al,2000).因此,研究多核處理器的仿真細(xì)致建模有著重要的意義.
圖1 串行仿真器性能的可擴(kuò)展性
根據(jù)上圖可知,當(dāng)目標(biāo)系統(tǒng)處理器數(shù)呈現(xiàn)增加趨勢(shì)時(shí),傳統(tǒng)時(shí)鐘精確串行仿真存在超線性時(shí)間開銷的情況.上圖中為SimpleScalar的串行多處理器仿真器規(guī)模下運(yùn)行多道程序與多線程程序得到的性能降速比,其中,所用來做比較的是單處理器應(yīng)用下的數(shù)據(jù).通過這一對(duì)比可以看出,在多線程程序和多道程序中串行仿真的降速比都超出了線性斜率,額外性能開銷在8節(jié)點(diǎn)模式下已經(jīng)超出了1倍.同時(shí),在兩種模式下性能下降更為明顯.因此,應(yīng)該選擇并行化技術(shù)來面對(duì)該問題帶來的壓力,多核處理器仿真技術(shù)的研究有著重要價(jià)值.
本文研究中選擇目標(biāo)處理器核兼容X86指令級(jí),處理器核采用了支持單線程的五級(jí)超標(biāo)量亂序執(zhí)行流水線;處理器核都各自進(jìn)行連接數(shù)據(jù)高速緩存體和指令高速緩存體,二級(jí)高速緩存體接收到第一層總線共享數(shù)塊,會(huì)進(jìn)一步借助第二層總線將數(shù)據(jù)共享到主存控制器和三級(jí)高速緩存,從而能夠形成胖樹型拓?fù)涞慕Y(jié)構(gòu).其中,在一級(jí)、二級(jí)、三級(jí)高速緩存及主存訪問延遲分別為2、10、50、200 Cycle,由目錄式MOESI協(xié)議維持一致性.同時(shí),測(cè)試實(shí)例均采用了配置32核心目標(biāo)處理器,并且處理器其他設(shè)置完全一致.
根據(jù)多線程并行程序測(cè)試套件Splash2的應(yīng)用程序,本文選擇其中較為典型程序進(jìn)行測(cè)試,具體有:OCEANCONTIGUOUS、WATER- NSQUARED、WATER- SPATIAL、CHOLESKY、RADIX、LU- CONTIGUOUS、LU- NONCONTIGUOUS以及FFT,同時(shí),設(shè)置較大輸入規(guī)模.實(shí)際上,以上程序在工作集和存儲(chǔ)訪問模式具備明顯不同的差異,從而能夠涉及不同處理器性能和模型特征.PCASim在進(jìn)行測(cè)試可擴(kuò)展性和功能性能時(shí),分別使用1、5、9、17條宿主線程仿真32條目標(biāo)程序線程.通過對(duì)比并行仿真的IPC與串行仿真的周期精準(zhǔn),PCASim仍存在部分偏差,導(dǎo)致這一現(xiàn)象的原因是宿主線程并行執(zhí)行存在不確定性,本文研究中會(huì)給出相應(yīng)的精確度對(duì)比結(jié)果.此外,進(jìn)行比較了在增加懸掛故障對(duì)仿真器性能的影響.
根據(jù)圖2數(shù)據(jù)可知,說明了PCASim并行仿真時(shí)相對(duì)串行仿真的加速比以及可擴(kuò)展性.加速比實(shí)際上是由測(cè)試程序串行仿真與并行仿真時(shí)分別耗費(fèi)的邏輯時(shí)間的比值.在應(yīng)用5條、9條、17條宿主線程進(jìn)行程序測(cè)試所獲得加速比分別為48倍、63倍、8.66倍.同時(shí),在應(yīng)用5條、9條、17條宿主線程中所獲得仿真器的并行效率呈現(xiàn)上升的趨勢(shì),其中,導(dǎo)
致該現(xiàn)象原因主要包括集中式管理線程的通信瓶頸以及每條核心線程計(jì)算負(fù)載的相對(duì)下降.通過分析可知,集中式管理線程的通信瓶頸顯然存在,而每條核心線程計(jì)算負(fù)載的相對(duì)下降是因?yàn)椴捎?2核處理器的目標(biāo)系統(tǒng),這就導(dǎo)致總核心線程數(shù)翻倍后計(jì)算負(fù)載降低.同時(shí),在減弱計(jì)算負(fù)載過程中就會(huì)增加通信開銷比重,也就出現(xiàn)了惡化集中式管理線程的通信瓶頸.此外,增加的線程數(shù)會(huì)導(dǎo)致通信資源呈現(xiàn)逐漸上升的趨勢(shì),同時(shí)也會(huì)分割管理線程功能,也就導(dǎo)致通信開銷出現(xiàn)額外增加.
圖2 在不同宿主線程下運(yùn)行各測(cè)試程序時(shí)仿真器達(dá)到的加速比
表1 17條宿主線程下各測(cè)試程序的精度損失
根據(jù)上表的數(shù)據(jù)能夠直接獲得仿真器使用17條宿主線程時(shí)各測(cè)試程序的在邏輯時(shí)間與指令數(shù)兩種指標(biāo)上的精度損失.同時(shí),邏輯時(shí)間精度損失計(jì)算公式如下所示:
Cycle精神損失=
Splash2的測(cè)試程序在串行仿真中能夠保持確定性,也就是說目標(biāo)系統(tǒng)在運(yùn)行過程中都有一致性的狀態(tài)輸出結(jié)果,而PCASim卻不具備Splash2的確定性,導(dǎo)致這種情況主要原因是功能模擬器成為時(shí)序仿真器的一部分而被并行化,從而促使功能仿真器在執(zhí)行指令的過程中出現(xiàn)數(shù)據(jù)競(jìng)爭(zhēng),也就產(chǎn)生了運(yùn)行指令數(shù)量在每次運(yùn)行中都存在一定差異.在功能仿真過程中,數(shù)據(jù)競(jìng)爭(zhēng)在很大程度上控制難度較大.從時(shí)序仿真器的運(yùn)行機(jī)制可知,Slack同步機(jī)制和懸掛路障同步機(jī)制都不能對(duì)仿真器的共享變量訪問順序進(jìn)行排序;在控制數(shù)據(jù)競(jìng)爭(zhēng)產(chǎn)生的過程中,就可以利用串行化來處理功能仿真,然而,該方法卻會(huì)在一定程度上降低線程數(shù)較大仿真器的并行度.
針對(duì)懸掛路障對(duì)并行仿真器性能的影響本文進(jìn)行了研究,獲得研究結(jié)果如圖3所示.根據(jù)圖中數(shù)據(jù)可知,相對(duì)Slack機(jī)制進(jìn)行了歸一數(shù)據(jù)處理,也就是降速比等于使用懸掛路障的仿真速度除以不使用懸掛路障、單純Slack同步的仿真速度.其中,仿真器中的懸掛路障未使用,這就不能及時(shí)接收到零延遲事件,同時(shí),若出現(xiàn)零延遲事件遲到,接收線程就認(rèn)為此時(shí)為其發(fā)生時(shí)刻,也就是進(jìn)行延長(zhǎng)仿真總時(shí)間,仿真速度也成為指標(biāo)進(jìn)行對(duì)比和分析.當(dāng)一級(jí)高速緩存訪問缺失時(shí)就會(huì)進(jìn)行創(chuàng)建懸掛路障,同時(shí),相對(duì)管理線程運(yùn)行速度,核心線程有著更快的速度,并且在超過時(shí)間窗口就會(huì)轉(zhuǎn)變成單時(shí)鐘周期同步.在應(yīng)用程序訪問過程中,一級(jí)高速緩存有著很大的命中率,一般情況下也不會(huì)主動(dòng)創(chuàng)建懸掛路障;在發(fā)生訪問缺失和核心線程超過時(shí)間窗口上限,相比于路障阻塞線程情況下,單時(shí)鐘周期同步的性能損失較低,所以,在創(chuàng)建懸掛路障時(shí)不會(huì)過大的影響仿真器性能.在實(shí)施懸掛路障能夠控制在性能范圍,保持其性能在5%上下浮動(dòng),負(fù)值性能產(chǎn)生也是因?yàn)椴⑿蟹抡娌淮_定導(dǎo)致的,可以看出,懸掛路障不會(huì)產(chǎn)生過大的影響.
圖3 懸掛路障機(jī)制對(duì)仿真器性能的影響
通過實(shí)驗(yàn)研究,PCASim在17條宿主線程規(guī)模時(shí)相對(duì)串行仿真達(dá)到了平均8.66倍的加速比,該數(shù)值保持在較高水平,同時(shí),采用集中映射后端子系統(tǒng)就能夠展示可擴(kuò)展性.
參考文獻(xiàn):
〔1〕陳芳園,張冬松,王志英.異構(gòu)多核處理器體系結(jié)構(gòu)設(shè)計(jì)研究[J].計(jì)算機(jī)工程與科學(xué),2011(12).
〔2〕唐軼軒,吳俊敏,陳國(guó)良,朱小東,胡蝶.并行片上網(wǎng)絡(luò)仿真器ParaNSim的設(shè)計(jì)及性能分析[J].西安交通大學(xué)學(xué)報(bào),2012(02).
〔3〕王進(jìn)祥,付方發(fā),孫俊.NoC_MPSim:基于片上網(wǎng)絡(luò)通信架構(gòu)多核仿真平臺(tái)[J].中國(guó)集成電路,2011(06).
〔4〕吳嘉慧.JPEG圖像解碼方案[J].現(xiàn)代計(jì)算機(jī),2007(03).
〔5〕高明倫,杜高明.NoC:下一代集成電路主流設(shè)計(jì)技術(shù)[J].微電子學(xué),2006(04).
〔6〕Luca Benini,Davide Bertozzi,A1essandro Bog1io1o,F(xiàn)rancesco Meniche11i,Mauro O1ivieri. MPARM: Exp1oring the Mu1ti-Processor SoC Design Space with SystemC [J]. The Journa1 of VLSI Signa1 Processing -Systems for Signa1,Image,and Video Techno1ogy.2005 (2).
〔7〕Axe1 Jantsch,Johnny ?berg,Hannu Tenhunen. Specia1 issue on networks on chip [J]. Journa1 of Systems Architecture.2003(2).
中圖分類號(hào):TP332
文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1673- 260X(2015)03- 0012- 02