亚洲色影视在线播放_国产一区+欧美+综合_久久精品少妇视频_制服丝袜国产网站

計算機(jī)畢業(yè)論文

淺析計算機(jī)體系結(jié)構(gòu)模擬技術(shù)現(xiàn)狀挑戰(zhàn)與展望論文

時間:2024-08-25 06:34:47 計算機(jī)畢業(yè)論文 我要投稿
  • 相關(guān)推薦

淺析計算機(jī)體系結(jié)構(gòu)模擬技術(shù)現(xiàn)狀挑戰(zhàn)與展望論文

  1 引言

淺析計算機(jī)體系結(jié)構(gòu)模擬技術(shù)現(xiàn)狀挑戰(zhàn)與展望論文

  計算機(jī)系統(tǒng)日益復(fù)雜,其研制難度不斷增加,開發(fā)風(fēng)險不斷加大,研制周期越來越長,體系結(jié)構(gòu)模擬技術(shù)在計算機(jī)體系結(jié)構(gòu)研究和系統(tǒng)設(shè)計中的作用愈加顯著. 通過對計算機(jī)系統(tǒng)的建模、仿真及評估,科研人員可以驗證新型體系結(jié)構(gòu)設(shè)計;將該技術(shù)導(dǎo)入產(chǎn)品設(shè)計則可優(yōu)化系統(tǒng)方案、降低開發(fā)風(fēng)險并提升開發(fā)效率.

  作為一種系統(tǒng)評估手段,體系結(jié)構(gòu)模擬器運(yùn)行在宿主機(jī)上,通過加載測試程序來驗證新的設(shè)計方案,發(fā)現(xiàn)其中潛在的缺陷,從而改進(jìn)設(shè)計并有效控制風(fēng)險. 體系結(jié)構(gòu)模擬器通常使用軟件方式對部分或全部計算機(jī)系統(tǒng)硬件建模,對體系結(jié)構(gòu)的指令集架構(gòu)、處理器、存儲系統(tǒng)、網(wǎng)絡(luò)傳輸拓?fù)浣Y(jié)構(gòu)等進(jìn)行模擬,驗證系統(tǒng)的功能和性能. 體系結(jié)構(gòu)模擬器已成為系統(tǒng)研究和設(shè)計開發(fā)中不可或缺的工具.

  早期體系結(jié)構(gòu)模擬采用分析驗證技術(shù),如數(shù)據(jù)驅(qū)動驗證,即跟蹤收集性能測試程序在目標(biāo)計算機(jī)上運(yùn)行所產(chǎn)生的數(shù)據(jù)信息,通過分析該數(shù)據(jù)信息來評估體系結(jié)構(gòu)的性能.這是一種后驗證方法,不利于在項目早期開展系統(tǒng)架構(gòu)分析和風(fēng)險評估. 為在項目早期論證系統(tǒng)設(shè)計方案,在數(shù)據(jù)驅(qū)動驗證的基礎(chǔ)上又提出了模型分析技術(shù),該技術(shù)使用數(shù)學(xué)工具對計算機(jī)系統(tǒng)各部件間的接口進(jìn)行建模,通過評估資源利用率和相應(yīng)時序特性來驗證目標(biāo)系統(tǒng)的性能. 模型分析技術(shù)可在體系結(jié)構(gòu)設(shè)計初期發(fā)現(xiàn)影響系統(tǒng)性能指標(biāo)的關(guān)鍵因素,從而指導(dǎo)方案設(shè)計和改進(jìn). 但由于模型建立及求解過程復(fù)雜,為了簡化模型,必須將部分細(xì)節(jié)特征抽象化,導(dǎo)致模型分析結(jié)果精度低,測試結(jié)果不能準(zhǔn)確反應(yīng)真實(shí)系統(tǒng)特性. 軟件模擬技術(shù)則可以較好的解決這一問題.模擬器使用軟件的方式模

  擬真實(shí)硬件的功能及時序特性. 軟件模擬技術(shù)可模擬程序執(zhí)行的全過程,獲得程序運(yùn)行過程中系統(tǒng)的動態(tài)行為及特性. 然而,軟件模擬技術(shù)在表現(xiàn)出較高精度和靈活性的同時,也存在模擬速度過慢的問題. 為了提高模擬速度,軟件模擬與硬件加速相結(jié)合的技術(shù)即混合模擬技術(shù)應(yīng)運(yùn)而生. 混合模擬技術(shù)將體系結(jié)構(gòu)中的部分或全部部件用FPGA 或硬件仿真器( emulator) 實(shí)現(xiàn),從而提高模擬性能.

  2 模擬精度

  模擬器精度主要受三個方面因素影響:

  1) 系統(tǒng)建模精確程度;

  2) 輸入?yún)?shù)擬合程度;

  3) 指令執(zhí)行時序的精確程度.

  模型要精確的匹配真實(shí)系統(tǒng)設(shè)計,需開發(fā)者準(zhǔn)確的理解建模任務(wù),并正確的開發(fā)出相應(yīng)模型; 在此基礎(chǔ)上,要針對系統(tǒng)具體行為設(shè)計輸入?yún)?shù)集. 為了實(shí)現(xiàn)性能模型的簡潔和快速執(zhí)行,開發(fā)者往往將一些細(xì)節(jié)特征抽象化,導(dǎo)致系統(tǒng)時序出現(xiàn)偏差,降低模擬精度. 在實(shí)際應(yīng)用中,還存在其它因素影響模擬精度,如緩存控制指令的精確性、I /O 系統(tǒng)模擬的準(zhǔn)確性等.

  2. 1 蹤跡驅(qū)動模擬技術(shù)

  早期的體系結(jié)構(gòu)模擬器主要采用蹤跡驅(qū)動( trace-driven)、數(shù)學(xué)建模分析等方法. 蹤跡驅(qū)動技術(shù)收集指令在已有計算機(jī)系統(tǒng)中執(zhí)行所產(chǎn)生的蹤跡數(shù)據(jù),并將這些信息作為輸入驅(qū)動模擬器運(yùn)行. 這種技術(shù)的優(yōu)點(diǎn)在于可僅對系統(tǒng)的局部進(jìn)行細(xì)致模擬而無需關(guān)注系統(tǒng)的其它部分,從而降低了開發(fā)復(fù)雜度并提升了執(zhí)行速度. 缺點(diǎn)是蹤跡本身過濾了系統(tǒng)的動態(tài)信息,如分支預(yù)測錯誤等,因而無法觀察系統(tǒng)的動態(tài)特征,并且蹤跡一般是基于特定參數(shù)的固定序列,因此無法代表不同參數(shù)對應(yīng)的多種執(zhí)行情況. 典型的軌跡驅(qū)動模擬器包括磁盤系統(tǒng)模擬器DiskSim、Cache 模擬器Dinero等. 數(shù)學(xué)建模分析方法通過建立數(shù)學(xué)模型來描述目標(biāo)系統(tǒng)特征,由于不能精確的獲得性能數(shù)據(jù),因此這種方法的誤差較大.

  2. 2 執(zhí)行驅(qū)動模擬技術(shù)

  執(zhí)行驅(qū)動( execution-driven) 模擬技術(shù)建立目標(biāo)系統(tǒng)的功能和性能模型,通過應(yīng)用程序的執(zhí)行獲取性能數(shù)據(jù),從而獲得較高的模擬精度,執(zhí)行驅(qū)動的模擬器使用目標(biāo)程序的二進(jìn)制代碼作為輸入來驅(qū)動模擬過程. 在模擬過程中,模擬器模擬指令的動態(tài)執(zhí)行( 如分支預(yù)測等) 過程,從而在不需要目標(biāo)系統(tǒng)硬件的情況下獲得更接近真實(shí)目標(biāo)系統(tǒng)運(yùn)行的結(jié)果,并能夠精確的模擬不同部件對系統(tǒng)性能的影響. 相對于蹤跡驅(qū)動等技術(shù),執(zhí)行驅(qū)動減小了存儲空間的開銷,模擬器的輸入數(shù)據(jù)量只與程序的靜態(tài)指令數(shù)成比例,動態(tài)指令則在模擬過程中由模擬器生成,一定程度上會影響執(zhí)行速度. 采用執(zhí)行驅(qū)動的模擬器可以運(yùn)行完整的操作系統(tǒng)和應(yīng)用程序,是實(shí)現(xiàn)全系統(tǒng)模擬的一種常用方法. 執(zhí)行驅(qū)動技術(shù)已經(jīng)成為體系結(jié)構(gòu)模擬的主流技術(shù),典型的應(yīng)用有SimpleScalar、SimOS、Proteus等.

  3 模擬速度

  模擬速度是衡量模擬器性能的重要指標(biāo). 精確的性能模擬是非常耗時的過程,特別是隨著系統(tǒng)中處理器核心數(shù)的迅猛增長,模擬大規(guī)模計算機(jī)系統(tǒng)所需要的時間會變得難以接受. 以200KIPS 的模擬執(zhí)行速度模擬單核1 秒運(yùn)行需要數(shù)小時,而模擬千核系統(tǒng)的1 秒運(yùn)行需要耗時一年以上,這顯然不能滿足現(xiàn)代體系結(jié)構(gòu)的研究與設(shè)計需求. 模擬加速一直以來都是模擬技術(shù)研究領(lǐng)域重點(diǎn)關(guān)注的問題. 典型的加速方法包括動態(tài)二進(jìn)制翻譯( DBT) 、穿線碼加速、采樣加速、同構(gòu)加速、并行模擬加速、硬件加速等.

  3. 1 動態(tài)二進(jìn)制翻譯

  動態(tài)二進(jìn)制翻譯( DBT) 將某個指令集上可執(zhí)行的二進(jìn)制代碼翻譯到宿主機(jī)指令集執(zhí)行. 二進(jìn)制翻譯最初采用解釋執(zhí)行,它對源處理器代碼中的每條指令實(shí)時解釋執(zhí)行,系統(tǒng)不保存解釋后的代碼,翻譯一條便執(zhí)行一條指令. 解釋器相對容易開發(fā),但對代碼執(zhí)行不做任何優(yōu)化,執(zhí)行效率低. 靜態(tài)翻譯技術(shù)解決了這一問題,它在源處理器代碼執(zhí)行之前對其進(jìn)行翻譯,有足夠的時間對翻譯后的代碼做完整細(xì)致的優(yōu)化,并且一次翻譯的結(jié)果可以多次使用,避免了多次解釋操作帶來的時間開銷. 但是,靜態(tài)翻譯無法很好的解決代碼自修改、間接過程調(diào)用、間接跳轉(zhuǎn)等問題.

  動態(tài)翻譯是一種實(shí)時編譯技術(shù),即在程序運(yùn)行過程中對執(zhí)行到的片斷進(jìn)行翻譯,解決了靜態(tài)翻譯存在的問題. 程序運(yùn)行時,DBT 翻譯器在其本地地址空間開始執(zhí)行指令、逐行解碼,遇到系統(tǒng)調(diào)用指令則采用翻譯器自身的調(diào)用函數(shù)進(jìn)行替換,在調(diào)用點(diǎn)接替操作系統(tǒng)內(nèi)核的職能. 當(dāng)程序中有頻繁重復(fù)的指令片段時,DBT 將直接執(zhí)行已經(jīng)翻譯好的相應(yīng)代碼,從而省去了重新編譯的過程. 高速緩存中放置翻譯后程序片斷的位置稱為翻譯緩存,當(dāng)該緩存填滿時,DBT 采用兩種方式處理: 清空翻譯緩存區(qū)域、重新加載; 或者增加緩存區(qū)的大小. 如果程序的一個運(yùn)行指令集合超出翻譯緩存空間,則第一種方法將會失效; 而第二種方法會降低cache 的利用率,因為大多情況下需要一次翻譯的片斷長度有限; 具體策略根據(jù)需求進(jìn)行選擇. 動態(tài)二進(jìn)制翻譯可以解決代碼自修改問題,利用執(zhí)行時的動態(tài)信息去發(fā)掘優(yōu)化機(jī)會,對用戶能做到完全透明. 將DBT 應(yīng)用于體系結(jié)構(gòu)模擬器,編譯器可以選擇只翻譯那些頻繁執(zhí)行的程序和用戶需要詳細(xì)模擬的程序,這樣既能提高cache 利用率,也能讓編譯器更好的優(yōu)化目標(biāo)代碼,有效提高模擬速度.

  3. 2 采樣技術(shù)

  采樣技術(shù)是通過減少模擬運(yùn)行的指令數(shù)來達(dá)到模擬加速的目的,具體分為隨機(jī)采樣、周期采樣和統(tǒng)計采樣. 隨機(jī)采樣是指隨機(jī)選擇一些程序片斷進(jìn)行模擬運(yùn)行,將模擬結(jié)果以某種方式合并起來,用于代表整個測試程序的運(yùn)行. 隨機(jī)采樣的片斷長度一般是固定值,采樣片斷之間的距離則是隨機(jī)的,可以通過反復(fù)重新采樣后求模擬結(jié)果的平均值,使其盡可能的接近整個程序的運(yùn)行結(jié)果. 周期采樣是在程序中周期性的選擇片斷進(jìn)行模擬運(yùn)行,用戶可以靈活的設(shè)置周期長短和間隔大小. 統(tǒng)計采樣是基于統(tǒng)計學(xué)的方法推測出測試程序的特征,通過測量變化差異使采樣片斷能夠反映出程序的變化,從而確保采樣集是代表整個程序的最小采樣集. 采用該類技術(shù)的模擬器有SimPoint、SMARTS等.

  采樣技術(shù)的關(guān)鍵在于程序片段的選取. 隨機(jī)采樣不確定性較大,該方式測試結(jié)果與整個程序結(jié)果之間存在偏差,反復(fù)采樣取平均方法可以提升準(zhǔn)確度,但驗證過程耗時. 周期采樣同樣難以選擇合適的采樣頻率和片斷長度以使取得的采樣集是最小集合. 統(tǒng)計采樣技術(shù)需要通過合適的方法找到最佳采樣集. SMARTS 模擬器就是采用基于統(tǒng)計的采樣方法,采樣片斷是周期性采樣,長度基本固定但允許有輕微的變化以對齊時鐘周期邊界. 為保證片斷執(zhí)行時宿主機(jī)的cache 以及分支預(yù)測器等處于正確的狀態(tài),SMARTS 在詳細(xì)執(zhí)行片斷程序之前先粗略的模擬片斷之間的代碼以完成Cache 及分支預(yù)測器等部件的初始化. 模擬過程分為功能模擬和詳細(xì)模擬階段,功能模擬執(zhí)行間隔代碼,這個階段模擬器忽略許多內(nèi)部狀態(tài)的記錄,程序快速向前推進(jìn),為下一階段的詳細(xì)模擬建立正確的部件狀態(tài); 詳細(xì)模擬階段則精確執(zhí)行程序片斷. FFX + WUY + Run Z 也是一種基于統(tǒng)計的采樣方法,F(xiàn)FX( Fast-ForwardX) 是指測試程序運(yùn)行開始后快速執(zhí)行X 百萬條指令,粗略模擬; WU Y 指詳細(xì)模擬之后的Y 百萬條指令,以便建立起符合詳細(xì)模擬情況的運(yùn)行環(huán)境,但該階段的模擬結(jié)果并不作為整個模擬結(jié)果的參照; 接下來的Z 百萬條才是模擬器真正詳細(xì)執(zhí)行的程序段. 該方法可極大的減少模擬運(yùn)行時間,但Z 百萬條指令往往不能代表整個程序的執(zhí)行結(jié)果,從而導(dǎo)致模擬誤差.

  4 可用性

  對于體系結(jié)構(gòu)模擬技術(shù),可用性包括兩個方面: 一方面模擬器應(yīng)能適應(yīng)各種系統(tǒng)應(yīng)用場景,如: 單核單任務(wù)、單核多任務(wù)與多核多任務(wù)等; 另一方面,加載到模擬器的測試程序可用度高,支持多個平臺和多種編譯器,使模擬器能夠發(fā)揮最大的驗證功效.

  4. 1 用戶級虛擬化

  隨著計算機(jī)系統(tǒng)處理器核數(shù)的迅猛增長,千核系統(tǒng)成為現(xiàn)實(shí),給模擬器技術(shù)帶來了巨大挑戰(zhàn). 由于千核系統(tǒng)規(guī)模龐大,能加載的測試程序類型有限,無法全面的評估千核系統(tǒng)特性,進(jìn)而影響了千核系統(tǒng)的研究、開發(fā). 為解決該問題,需要新的技術(shù)使模擬器能夠加載更廣泛的測試程序.Daniel 等人使用輕量用戶級虛擬化技術(shù)( lightweight userlevel virtualization) 構(gòu)建了ZSim 模擬器,實(shí)現(xiàn)千核系統(tǒng)測試程序的靈活加載. 用戶級虛擬化技術(shù)使用動態(tài)二進(jìn)制翻譯給用戶進(jìn)程提供虛擬系統(tǒng)視圖來支持多程序并發(fā)執(zhí)行,并支持運(yùn)行管理及客戶-服務(wù)器類型負(fù)載. 常規(guī)的用戶級模擬器通常不能模擬此類程序.為實(shí)現(xiàn)千核系統(tǒng)的模擬,模擬器利用了宿主機(jī)上的多個處理器,突破了傳統(tǒng)模擬器僅能在單處理器上運(yùn)行的局限. 為適應(yīng)多處理器并行架構(gòu),ZSim 每個進(jìn)程利用共享內(nèi)存段作為一個全局堆,所有的仿真狀態(tài)都存儲在全局堆中. 通過調(diào)整共享堆和庫代碼段的映射地址,實(shí)現(xiàn)跨進(jìn)程無縫信息傳遞. 盡管線程來自不同的處理器,ZSim 也可被視為一個簡單的多線程應(yīng)用,并可使用輪換調(diào)度算法( round-robin) 來創(chuàng)建任意數(shù)量的線程. 為避免模擬器操作系統(tǒng)出現(xiàn)死鎖現(xiàn)象,ZSim 舍棄傳統(tǒng)模擬器使用的修改測試程序的辦法,而是識別出阻塞的系統(tǒng)調(diào)用的子集,通過調(diào)整內(nèi)部同步點(diǎn)使得線程加入和退出來避免死鎖. 為擺脫程序運(yùn)行依賴精確的時間,模擬器虛擬化了rdtsc( 讀時間戳計數(shù)器) 指令、只有少數(shù)內(nèi)核接口、睡眠處理和超時處理調(diào)用返回時間信息,使得宿主機(jī)與模擬器的時間相互獨(dú)立. 通過引入上述技術(shù),ZSim 實(shí)現(xiàn)了多種類型測試程序的加載運(yùn)行、如客戶端-服務(wù)器類程序,并可模擬完整的千核系統(tǒng).

  4. 2 優(yōu)化測試程序

  優(yōu)化測試程序是通過精簡基準(zhǔn)測試程序集,使模擬測試更具有針對性,以提高模擬的效率. 對于基準(zhǔn)測試程序集,其初衷是將一些基準(zhǔn)測試程序集中化、規(guī)范化,以有效評測系統(tǒng)在各種應(yīng)用場景下的性能. 該程序集可以彌補(bǔ)基準(zhǔn)測試程序個體的不足. 但也存在以下幾個問題:

  1) 缺少可信度,基準(zhǔn)程序的運(yùn)行往往與實(shí)際程序運(yùn)行存在差異;

  2) 每個程序有不同的運(yùn)行條件,用戶為改善測試程序的性能常使用專用標(biāo)記,但這些標(biāo)記又容易引起許多程序的不合法轉(zhuǎn)換或降低其他程序的性能;

  3) 完整程序集的運(yùn)行時間長. 由于研究側(cè)重點(diǎn)不同,研究者往往采用精簡代碼的方式來獲得更好的系統(tǒng)性能測試結(jié)果. 以SPEC CPU2000 為例,它是SPEC 中面向處理器的基準(zhǔn)測試程序集,為處理器研發(fā)人員廣泛使用,其包含多組性能測試程序,能測試多處理器計算機(jī)系統(tǒng)的整數(shù)運(yùn)算性能和浮點(diǎn)數(shù)運(yùn)算性能. 其中,整數(shù)運(yùn)算基準(zhǔn)程序以C 語言開發(fā)為主,浮點(diǎn)運(yùn)算基準(zhǔn)程序主要用Fortran 語言開發(fā),用于各種CPU 的性能評價. 為了優(yōu)化基準(zhǔn)測試程序,眾多處理器研究者致力于研究如何精簡代碼使得模擬評估處理器過程更為高效,所做的工作包括減少代碼運(yùn)行、減少輸入的數(shù)據(jù)等.

  Timothy 等人通過分析測試程序的基礎(chǔ)模塊分布( Basic Block Distribution) ,試圖運(yùn)行一些程序片斷去代替整個程序的運(yùn)行. 他認(rèn)為不同的基礎(chǔ)模塊能唯一標(biāo)識不同的指令執(zhí)行階段,基礎(chǔ)模塊的周期運(yùn)行反映了計算機(jī)系統(tǒng)各個構(gòu)件的周期運(yùn)行,如IPC、分支命中率、緩存命中率、預(yù)測值、預(yù)測地址、重排序緩存占用等. 由于基本塊的頻度信息可以使用工具快速收集,因此該方法提供了一種尋找程序模擬點(diǎn)及周期性特征的實(shí)用方法. KleinOsowski 等人在SPECCPU2000 的基礎(chǔ)上開發(fā)了MinneSPEC 測試程序,該程序精簡了模擬輸入的參數(shù)集,但保留原數(shù)據(jù)集內(nèi)部函數(shù)的運(yùn)行權(quán)重分布,包括初始化、主要計算功能和復(fù)位功能等,極大的降低了模擬運(yùn)行時間. 但是,MinneSPEC 測試程序所模擬出的結(jié)果與原測試指令集有較大差異,取得的優(yōu)化效果有限. Erez 等人通過選擇執(zhí)行部分程序來代表完整的程序執(zhí)行,使用統(tǒng)計驅(qū)動算法生成模擬點(diǎn)集合,并使用檢驗算法去選定代碼執(zhí)行初期的模擬點(diǎn). 該方法的難點(diǎn)在于如何給出一個指標(biāo)以選擇合適的模擬點(diǎn),該指標(biāo)基于程序基本塊的分布,通過研究它們的塊矢量差分布情況來決定運(yùn)行的代碼.

  5模擬器技術(shù)面臨的挑戰(zhàn)

  現(xiàn)有的計算機(jī)體系結(jié)構(gòu)模擬器在精度、速度、可用性和易用性等方面均存在不同程度的不足. 一直以來,研究人員不斷努力改進(jìn)模擬技術(shù). 如蹤跡驅(qū)動的較大誤差使得執(zhí)行驅(qū)動技術(shù)得到重視和發(fā)展,基準(zhǔn)測試程序的漫長運(yùn)行時間促使人們對采樣技術(shù)進(jìn)行研究,計算機(jī)系統(tǒng)規(guī)模的日漸龐大推進(jìn)了并行模擬技術(shù)的發(fā)展. 隨著計算機(jī)系統(tǒng)逐步進(jìn)入千核時代,模擬技術(shù)又迎來了新的重大挑戰(zhàn).

  體系結(jié)構(gòu)模擬器面臨的首要挑戰(zhàn)是系統(tǒng)建模復(fù)雜度急劇增加. 因功耗和散熱等因素的限制已不能繼續(xù)采用提升單一處理器頻率的方式提升系統(tǒng)性能,計算機(jī)系統(tǒng)多采用多核、多處理器方式構(gòu)建. 即使每個處理器、核心均在較低的頻率、功耗下運(yùn)行,其系統(tǒng)整體性能依然大幅超越單核處理器系統(tǒng).Intel 的實(shí)驗結(jié)果表明,單核處理器每提高20% 的時鐘頻率,僅能提升13%的性能,但增加73% 的功耗; 而當(dāng)增加第二個核心時,可在降低20% 時鐘頻率的同時提高73% 的性能. 對于通用CPU,在上個世紀(jì)90 年代末, IBM、惠普、SUN 等服務(wù)器廠商就相繼推出了多核服務(wù)器CPU. 2006 年, Intel 推出了雙核處理器,接下來陸續(xù)推出了面向服務(wù)器、工作站和個人電腦的4 核、8 核處理器. 2014 年2 月, Intel 又發(fā)布具有15 核心的至強(qiáng)通用處理器,基于該處理器構(gòu)建的64 路分布式共享內(nèi)存系統(tǒng)已經(jīng)接近1000 核心. 對于眾核處理器,2007 年Tilera公司發(fā)布的嵌入式處理器TILE64 包含了64 個核心,在2010年Supercomputer 會議上Intel 公布了單芯片48 核的云處理器架構(gòu),并聲稱其理論上可達(dá)到1000 個核心,而GPU 已經(jīng)具有數(shù)千核心.

  計算機(jī)系統(tǒng)已經(jīng)步入千核時代,但現(xiàn)有的體系結(jié)構(gòu)模擬器大都不能勝任千核系統(tǒng)模擬,如單線程運(yùn)行的Gem5、Flexus、MARSS 等模擬器雖然理論上可以模擬千核系統(tǒng),但其在可用資源、模擬速度等方面均不能滿足千核系統(tǒng)的模擬需求. Hypersim 能較好的模擬HPP 高性能計算機(jī)體系結(jié)構(gòu),但只針對集群系統(tǒng),適用范圍有限; ZSim 采用多處理器并行化方法提高了千核系統(tǒng)模擬的速度,相比單線程模擬器取得了顯著的進(jìn)步,但由于采取了較多的精簡策略,影響了其模擬精度.體系結(jié)構(gòu)模擬器面臨的第二個挑戰(zhàn)是模擬速度與精度難以兼顧. 現(xiàn)有的模擬加速技術(shù)如采樣技術(shù)、動態(tài)二進(jìn)制翻譯等均是以犧牲模擬精度為代價. 模擬器執(zhí)行全部的基準(zhǔn)測試程序集能夠獲得完整的系統(tǒng)特征數(shù)據(jù),但耗時巨大,執(zhí)行部分測試程序或者程序的部分代碼能加快模擬速度,但影響測試結(jié)果的精度,故體系結(jié)構(gòu)模擬需要在精度和速度間權(quán)衡. 即使以大幅損失精度為代價,現(xiàn)有模擬器的模擬速度依然無法滿足千核系統(tǒng)的模擬需求. 硬件加速方案是一種選擇,但軟硬件混合模擬器的開發(fā)難度大、周期長,因此硬件加速還不能成為主流的模擬器技術(shù).

  模擬器技術(shù)面臨的第三個挑戰(zhàn)是對異構(gòu)多核系統(tǒng)支持不足. 一些計算密集型應(yīng)用如圖形處理、氣候模擬、分子動力學(xué)計算等對系統(tǒng)處理性能要求高,通用處理器系統(tǒng)無法滿足其需求,而GPU 擁有超強(qiáng)的浮點(diǎn)處理、矢量計算能力,特別適合大規(guī)模、低耦合度并行計算任務(wù). 相比于通用處理器,GPU 在圖形處理、氣候模擬、分子動力學(xué)計算等應(yīng)用處理上有百倍甚至上千倍的性能提升. 因此采用CPU + GPU 并行模式,占用系統(tǒng)絕大部分性能的密集型計算將由GPU 執(zhí)行,而少量控制型任務(wù)( 如運(yùn)行操作系統(tǒng)、處理數(shù)據(jù)交互等) 將由CPU 執(zhí)行.根據(jù)Amdahl 定律,采用GPU 加速密集型計算任務(wù)處理措施后,系統(tǒng)可以獲得較好的加速比,CPU + GPU 模式在高性能計算中獲得了廣泛應(yīng)用. 但是當(dāng)前,面向CPU + GPU 異構(gòu)系統(tǒng)的模擬研究極為有限.

  大多數(shù)模擬器雖然集成了多種處理器模型,但在模擬時只能使用單一處理器模型,尚缺乏對異構(gòu)多核系統(tǒng)并行模擬的支持. LIN 等人構(gòu)造的異構(gòu)多核架構(gòu)模擬器雖然實(shí)現(xiàn)了在多個SimpleScalar 進(jìn)程中運(yùn)行不同處理器模型,但其系統(tǒng)結(jié)構(gòu)與真實(shí)異構(gòu)系統(tǒng)存在較大差異,不能精確的模擬異構(gòu)系統(tǒng).

  6 研究展望

  為了更好支持未來計算機(jī)系統(tǒng)的研究和設(shè)計,體系結(jié)構(gòu)模擬技術(shù)需要從4個方面取得更多的創(chuàng)新和突破. 針對歸納4A 理論示意圖Fig. 1 4A theory schematic diagram的模擬器4 個特征,本文提出4A 理論( accuracy,acceleration, availabilityand adaptability ) ,即未來體系結(jié)構(gòu)模擬技術(shù)需在精度、速度、可用性、易用性4 個方面均取得重大突破,理想的模擬器將會是這4 類技術(shù)發(fā)展的交集.基于4A理論,本文認(rèn)為如下幾個研究方向需要重點(diǎn)關(guān)注:

  6. 1 基準(zhǔn)測試程序集優(yōu)化

  基準(zhǔn)測試程序優(yōu)化是一種提升模擬效率的重要方法. 基準(zhǔn)測試程序應(yīng)能準(zhǔn)確、高效的測試目標(biāo)系統(tǒng),同時具備一定的靈活性,允許用戶對源代碼進(jìn)行修改. 基準(zhǔn)測試程序集需要面向多種類型應(yīng)用,盡可能覆蓋各個應(yīng)用場景.

  6. 2 模型組件化

  體系結(jié)構(gòu)性能模擬要求建立精確的時序模型,各部件模型之間需要頻繁的通信和同步,成為并行模擬器設(shè)計的難點(diǎn).若將并行模擬器中通信和同步功能分別獨(dú)立實(shí)現(xiàn),各部件模塊內(nèi)部進(jìn)行功能模擬,通過調(diào)用統(tǒng)一接口模型進(jìn)行交互,則可使設(shè)計者更專注于部件模塊的建模與設(shè)計,而較少考慮它們之間的通信和同步問題.

  6. 3 大規(guī)模并行模擬

  當(dāng)前大規(guī)模計算機(jī)系統(tǒng)能夠提供大容量內(nèi)存、IO 帶寬和強(qiáng)大的計算能力,現(xiàn)有絕大部分模擬器還基于單線程運(yùn)行,無法充分利用大規(guī)模計算機(jī)系統(tǒng)提供的資源. 并行化模擬技術(shù)尚未成熟,仍然需要深入的研究和探索.

  6. 4 異構(gòu)系統(tǒng)模擬

  異構(gòu)多處理器架構(gòu)在解決科學(xué)計算、圖形處理、加解密等高性能計算問題中已經(jīng)發(fā)揮出巨大的作用,但異構(gòu)模擬技術(shù)研究相對滯后,模擬器支持有限,異構(gòu)模擬技術(shù)是未來體系結(jié)構(gòu)模擬技術(shù)重要發(fā)展方向之一.

  6. 5 硬件加速技術(shù)

  FPGA 或者硬件仿真器( emulator,如cadence 公司的Palladium等) 加速技術(shù)已經(jīng)得到普遍應(yīng)用,利用上述技術(shù)可實(shí)現(xiàn)單個部件或者全系統(tǒng)的模擬,不僅大大加快了模擬器的速度,而且提高了基準(zhǔn)測試程序的執(zhí)行效率. 但是隨著計算機(jī)系統(tǒng)規(guī)模越來越大,單片F(xiàn)PGA 或單臺硬件仿真器無法容納全系統(tǒng)甚至主要部件邏輯,而采用多片F(xiàn)PGA 或多臺硬件仿真器加速方案依然存在諸多協(xié)同、交互難題,故硬件加速技術(shù)仍需要進(jìn)一步發(fā)展.

  7 結(jié)束語

  計算機(jī)系統(tǒng)已步入千核時代,規(guī)模龐大、結(jié)構(gòu)復(fù)雜、開發(fā)周期長、風(fēng)險高,迫切需要計算機(jī)體系結(jié)構(gòu)模擬技術(shù)提供強(qiáng)有力的支撐. 本文首先按照精度、速度、可用性和易用性4 個方面的特征對計算機(jī)體系結(jié)構(gòu)模擬技術(shù)現(xiàn)狀進(jìn)行了分析和歸納,并總結(jié)其不足之處. 隨后論述了大規(guī)模計算機(jī)系統(tǒng)模擬面臨的若干挑戰(zhàn),并提出了未來理想模擬器應(yīng)是精度、速度、可用性及易用性技術(shù)發(fā)展交集的4A 理論,據(jù)此對體系結(jié)構(gòu)模擬技術(shù)未來發(fā)展進(jìn)行展望.

【淺析計算機(jī)體系結(jié)構(gòu)模擬技術(shù)現(xiàn)狀挑戰(zhàn)與展望論文】相關(guān)文章:

我國醫(yī)學(xué)檢驗發(fā)展的現(xiàn)狀及展望論文08-17

建筑施工技術(shù)現(xiàn)狀分析論文03-26

淺析中職教育數(shù)學(xué)教學(xué)的現(xiàn)狀分祈論文03-21

我國化學(xué)灌漿技術(shù)發(fā)展與展望論文03-21

新聞傳播學(xué)研究生教育現(xiàn)狀與挑戰(zhàn)論文03-21

虛擬網(wǎng)絡(luò)的主要技術(shù)淺析的研究分析論文03-22

淺析企業(yè)工商管理現(xiàn)狀及發(fā)展趨向論文07-10

大型企業(yè)經(jīng)濟(jì)管理現(xiàn)狀和展望論文03-22

淺析高;A(chǔ)化學(xué)教學(xué)現(xiàn)狀及教學(xué)改革初探論文03-22