專利名稱:片上眾核處理器時鐘精確并行仿真系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明屬于信息處理系統(tǒng)的處理器的仿真領(lǐng)域,具體涉及一種片上眾核處理器時鐘精確并行仿真系統(tǒng)。
背景技術(shù):
計算機仿真用軟件來仿真計算機系統(tǒng)的行為,研究者可以通過仿真軟件分析新結(jié)構(gòu)的性能和行為,而不需要建立原型系統(tǒng),這大大減小了研究的周期和成本。近十年以來, 工業(yè)界和學(xué)術(shù)界將仿真技術(shù)廣泛地運用于計算機硬件和軟件體系結(jié)構(gòu)的研究以及開發(fā)過程中。隨著眾核時代的來臨,仿真技術(shù)在眾核處理器的設(shè)計過程中將變得越來越重要。目前,絕大多數(shù)眾核仿真器都是串行仿真器,這些仿真器僅僅運行于一個主線程上。隨著目標(biāo)系統(tǒng)核數(shù)的增加,仿真器的性能將會越來越差。在不久的將來,摩爾定律將由每18個月片上的晶體管數(shù)目翻一番轉(zhuǎn)變?yōu)槊?8個月片上的硬件線程的數(shù)目翻一番。然而,隨著片上核數(shù)的增加,仿真過程中的狀態(tài)量和代碼空間將增加,這將導(dǎo)致仿真時間的增加。這也可能導(dǎo)致L2高速緩存缺失的大幅度增加,從而導(dǎo)致仿真周期數(shù)的增加。因此,隨著目標(biāo)系統(tǒng)的核數(shù)的增加,如何在眾核處理器上仿真眾核目標(biāo)系統(tǒng)將變得越來越重要。將眾核仿真器拆分開由多條線程或者進程并行的仿真運行是一種有效的加速方法。然而為了保證并行實體間的時鐘、事件的合理次序關(guān)系,不能讓并行實體毫無約束的以任意仿真速度前進,否則將無法準(zhǔn)備、穩(wěn)定的仿真對象系統(tǒng)。維持并行實體間事件的序關(guān)系既是并行仿真的同步問題。并行仿真中的同步問題已經(jīng)在離散事件并行與分布式仿真領(lǐng)域(PDES)已經(jīng)有過數(shù)十年的研究歷史。TOES稱可并行仿真的節(jié)點為邏輯處理器。為了保證遠程事件能夠及時到達,也就是保證各種事件正確的因果順序關(guān)系,各個邏輯處理器必須在特定時間點同步。F1DES領(lǐng)域內(nèi)的同步技術(shù)分為兩種,一種是保守同步,另一種是樂觀同步。保守同步通過路障或者空消息機制保持所有邏輯處理器的時鐘差值嚴(yán)格處于某一值域L范圍內(nèi)。L 即是保守同步技術(shù)中重要的一個參數(shù)值一前瞻量。一般來說,L的大小取決于仿真對象系統(tǒng)及并行化時的劃分策略,例如,在多核處理器仿真器中,邏輯處理器映射到仿真對象處理器核上,劃分邊界為對象處理器核之間的互連網(wǎng)絡(luò),L即為網(wǎng)絡(luò)傳輸延遲;如果劃分邊界位于共享高速緩存與上一層高速緩存之間,則L為共享高速緩存的最低訪問延遲。樂觀同步技術(shù)假設(shè)或者說預(yù)測邏輯處理器即使超過了前瞻量窗口,因果關(guān)系錯誤也不會發(fā)生。為了處理預(yù)測失敗,確實發(fā)生了因果錯誤的情況,樂觀同步提供了一套狀態(tài)保存與回滾機制來解決這個問題。不幸的是,計算機系統(tǒng)仿真器內(nèi)部存在大量狀態(tài),使得狀態(tài)保存、恢復(fù)的開銷遠高于并行度上升帶來的性能收益。因此樂觀同步技術(shù)并不適宜于眾核處理器仿真領(lǐng)域,已開發(fā)出的并行多核處理器仿真器幾乎都使用保守同步技術(shù)?,F(xiàn)有并行仿真同步技術(shù)多是面向多處理器系統(tǒng)或者多核系統(tǒng)的仿真器,仿真負載規(guī)模較小,當(dāng)面向核數(shù)規(guī)模達100顆以上的眾核處理器系統(tǒng)時,這些同步技術(shù)會遇到以下問題(I)眾核架構(gòu)中各個處理器核心之間由低延遲的片上總線或片上網(wǎng)絡(luò)緊密互連, 間接通過共享高速緩存通信,形成高度耦合的關(guān)系,并行仿真時必須將這些高度耦合的組件切分開來,映射到不同的線程中仿真運行;為了試探組件到線程的最優(yōu)映射策略,需要一種靈活的組件切分方法。(2)保守同步協(xié)議要求計算出任意兩個邏輯處理器之間發(fā)送的事件的前瞻量,根據(jù)此前瞻量將邏輯處理器阻塞在特定的邏輯時間點上;眾核處理器系統(tǒng)中提取出的前瞻量一般是幾個或者數(shù)十個時鐘周期,使得同步周期過短,而當(dāng)前多線程庫中的同步原語開銷過大,不適于并行仿真中的同步;此外,劃分開的組件間有可能傳遞零延遲事件,導(dǎo)致前瞻量為零,使得一般性同步協(xié)議難以處理。(3)當(dāng)前并行仿真器使用單一同步機制維持所有邏輯處理器間的時序關(guān)系,這種方法遷移到眾核處理器系統(tǒng)仿真器上后,從負載均衡考慮,勢必要在片上網(wǎng)絡(luò)路由器之間切分對象系統(tǒng),但片上網(wǎng)絡(luò)路由器之間的前瞻量太小,不利于仿真器的性能;從前瞻量角度考慮,則需要把片上網(wǎng)絡(luò)分離出去,單獨用一個邏輯處理器仿真器,但眾核處理器片上網(wǎng)絡(luò)規(guī)模龐大,容易形成性能瓶頸。本發(fā)明因此而來。
發(fā)明內(nèi)容
本發(fā)明目的在于提供一種片上眾核處理器時鐘精確并行仿真系統(tǒng),該系統(tǒng)解決了面向核數(shù)規(guī)模達100顆以上的眾核處理器系統(tǒng)時,現(xiàn)有技術(shù)中常規(guī)同步技術(shù)無法有效同步的問題。為了解決現(xiàn)有技術(shù)中的這些問題,本發(fā)明提供的技術(shù)方案是一種片上眾核處理器時鐘精確并行仿真系統(tǒng),包括處理器子系統(tǒng)、存儲子系統(tǒng)和仿真對象子系統(tǒng),其特征在于所述系統(tǒng)中處理器子系統(tǒng)與仿真對象子系統(tǒng)間設(shè)置模塊中間層,所述模塊中間層實現(xiàn)邏輯處理器到仿真對象機器的映射;所述模塊中間層包括與處理器核及其私有的一級高速緩存一一對應(yīng)的核模塊和映射互連網(wǎng)絡(luò)、共享高速緩存、內(nèi)存及其他仿真對象結(jié)構(gòu)的存儲模塊;所述核模塊與存儲模塊之間進行點對點同步,所述存儲模塊相互之間進行組同步。優(yōu)選的,所述點對點同步是所述仿真系統(tǒng)通過設(shè)置前瞻量路障、源路障、目標(biāo)路障原語實現(xiàn)相互通信的對偶核模塊與存儲模塊的時鐘同步的方法;所述前瞻量路障設(shè)置在前瞻量窗口上限時間點,跟隨鄰接模塊的最小時鐘滑動,永不被釋放;所述源路障為某模塊等待某一事件對自己設(shè)置的路障,事件到達時被釋放,事件未到達前隨最小時鐘移動;所述目標(biāo)路障為某模塊讓另一模塊等待某事件時向目標(biāo)模塊設(shè)置的路障,解除或者推后該路障的條件與源路障相同。優(yōu)選的,所述系統(tǒng)點對點同步中每個核模塊設(shè)置一個前瞻量路障使核模塊與對偶存儲模塊的時鐘偏差處于保守同步協(xié)議要求的范圍內(nèi),其前瞻量取自共享高速緩存的最小訪問延遲。優(yōu)選的,所述系統(tǒng)點對點同步中每個存儲模塊設(shè)置一個單時鐘周期前瞻量路障以保證存儲模塊可以在任意時刻接收從核模塊發(fā)來的零延遲事件。優(yōu)選的,所述系統(tǒng)點對點同步中在每次訪存請求發(fā)出時刻為相應(yīng)核模塊設(shè)置一個源路障以保證訪存完成時的零延遲返回事件在正確的時刻被核模塊及時接收到。優(yōu)選的,所述系統(tǒng)點對點同步中每次為將要訪問的目標(biāo)核模塊設(shè)置一個目標(biāo)路障以保證從片上網(wǎng)絡(luò)發(fā)來的零延遲事件能夠被及時接收到。優(yōu)選的,所述組同步為利用所述仿真系統(tǒng)通過設(shè)置前瞻量路障使得所有存儲模塊能夠同步的方法;所述前瞻量路障設(shè)置在前瞻量窗口上限時間點,跟隨鄰接模塊的最小時鐘滑動,永不被釋放。優(yōu)選的,所述系統(tǒng)組同步中每個存儲模塊設(shè)置一個前瞻量路障以保證各存儲模塊之間的時鐘偏差處于保守同步協(xié)議要求的范圍內(nèi),其前瞻量取自片上網(wǎng)絡(luò)鏈路延遲。優(yōu)選的,所述系統(tǒng)組同步中根據(jù)路由器的度數(shù),限制每個存儲模塊僅與其接鄰的若干個存儲模塊同步,利用相互銜接的部分同步的正確性保證存儲模塊整體同步的正確性。優(yōu)選的,所述系統(tǒng)通過基于自旋鎖實現(xiàn)的自定義路障原語將模塊阻塞在指定的時刻上,直到解除路障的條件發(fā)生。本發(fā)明技術(shù)方案的關(guān)鍵在四個方面,以實現(xiàn)片上眾核處理器時鐘精確并行仿真器的同步,包括(I)眾核處理器按處理器核模塊、存儲模塊的劃分方法,(2)前瞻量路障、源路障、目標(biāo)路障原語的設(shè)置方法,(3)處理器核模塊與存儲模塊之間的點對點同步方法,(4)存儲模塊相互之間的組同步方法。眾核處理器按處理器核模塊、存儲模塊的劃分將仿真器框架分成三層邏輯處理器層,模塊層與仿真對象機器層。模塊層充當(dāng)著邏輯處理器到仿真對象機器的映射中間層, 也是所述同步技術(shù)操作的對象。模塊分為核模塊,存儲模塊兩類。一個核模塊一對一映射了一個處理器核及其私有的一級高速緩存,而存儲模塊映射了互連網(wǎng)絡(luò)、共享高速緩存、內(nèi)存及其他仿真對象結(jié)構(gòu)。前瞻量路障、源路障、目標(biāo)路障原語的設(shè)置基于自旋鎖實現(xiàn)的自定義路障原語將模塊阻塞在指定的時刻上,直到解除路障的條件發(fā)生。其中前瞻量路障設(shè)置在前瞻量窗口上限時間點,跟隨鄰接模塊的最小時鐘滑動,永不被釋放;源路障為某模塊等待某一事件對自己設(shè)置的路障,事件到達時被釋放,事件未到達前隨最小時鐘移動;目標(biāo)路障為某模塊讓另一模塊等待某事件時向目標(biāo)模塊設(shè)置的路障,解除或者推后該路障的條件與源路障相同;方法(3)利用方法(2)定義的三種路障使得相互通信的對偶核模塊與存儲模塊的時鐘能夠同步,稱之為點對點同步,該同步為每個核模塊設(shè)置一個前瞻量路障以保證核模塊與對偶存儲模塊的時鐘偏差處于保守同步協(xié)議要求的范圍內(nèi),其前瞻量取自共享高速緩存的最小訪問延遲;其特征還在于方法(3)為每個存儲模塊設(shè)置一個單時鐘周期前瞻量路障以保證存儲模塊可以在任意時刻接收從核模塊發(fā)來的零延遲事件;其特征還在于方法
(3)在每次訪存請求發(fā)出時刻為相應(yīng)核模塊設(shè)置一個源路障以保證訪存完成時的零延遲返回事件在正確的時刻被核模塊及時接收到;其特征還在于方法(3)每次為將要訪問的目標(biāo)核模塊設(shè)置一個目標(biāo)路障以保證從片上網(wǎng)絡(luò)發(fā)來的零延遲事件能夠被及時接收到;方法(4)利用方法(2)定義的前瞻量路障使得所有存儲模塊能夠同步,稱之為組同步,該同步為每個存儲模塊設(shè)置一個前瞻量路障以保證各存儲模塊之間的時鐘偏差處于保守同步協(xié)議要求的范圍內(nèi),其前瞻量取自片上網(wǎng)絡(luò)鏈路延遲;方法(4)根據(jù)路由器的度數(shù),限制每個存儲模塊僅與其接鄰的若干個存儲模塊同步,利用相互銜接的部分同步的正確性保證存儲模塊整體同步的正確性;方法(4)的每個部分同步都屬于Slack同步;通過方法(3)保證了核模塊與存儲模塊的同步,并通過方法(4)保證了存儲模塊之間的同步后,仿真器所有模塊間的同步得以維持,從而方法(3)與方法(4)形成一種兩級同步的結(jié)構(gòu)。本發(fā)明目的在于提供一種片上眾核處理器時鐘精確并行仿真系統(tǒng)的同步技術(shù),以與建模細節(jié)、線程操作無關(guān)的核模塊與存儲模塊為同步對象,使用自定義的三種低開銷路障原語,通過將總體同步分為相互關(guān)聯(lián)的核模塊與存儲模塊之間的點到點同步以及存儲模塊之間的組同步,有效挖掘了仿真器內(nèi)部的并行性,使得并行仿真器能夠均衡分布仿真負載,避免集中式熱點引起的性能瓶頸,從而提升片上眾核處理器時鐘精確并行仿真系統(tǒng)的性能。相對于現(xiàn)有技術(shù)中的方案,本發(fā)明的優(yōu)點是本發(fā)明能夠更細粒度的劃分眾核處理器系統(tǒng),提供了更豐富的并行度,從而使得仿真器具有更高的加速比,而且性能的提升是在保持了眾核處理器各個組件細致建模的條件下取得的。
下面結(jié)合附圖及實施例對本發(fā)明作進一步描述圖I為模塊間的通信關(guān)系;圖2為三種路障的設(shè)置點;圖3為Macsim在各工作負載下的加速比;圖4為核模塊、存儲模塊的規(guī)范化執(zhí)行時間;圖5為計算時間與通信時間比例關(guān)系;圖6為兩級同步與單一同步的性能對比。
具體實施例方式以下結(jié)合具體實施例對上述方案做進一步說明。應(yīng)理解,這些實施例是用于說明本發(fā)明而不限于限制本發(fā)明的范圍。實施例中采用的實施條件可以根據(jù)具體廠家的條件做進一步調(diào)整,未注明的實施條件通常為常規(guī)實驗中的條件。實施例兩級同步機制作用下時鐘精確并行仿真系統(tǒng)的實踐及試驗本實施例在串行仿真器Multi2sim_2. I的基礎(chǔ)上,實現(xiàn)了兩級同步并行仿真器 MCAsim0 Multi2sim是一個用戶級的X86架構(gòu)時鐘精確仿真器,采用了執(zhí)行驅(qū)動,指令直接執(zhí)行,周期、事件雙引擎等技術(shù)。本實施例保留了 Multi2sim處理器部分的代碼,重寫了 Multi2sim的大部分存儲子系統(tǒng)代碼[17],替換原有的互連網(wǎng)絡(luò)為片上網(wǎng)絡(luò),增強事件引擎為并行化的TOES引擎,新加入模塊中間層,將其改造成分片式眾核處理器仿真器 MCAsim0在整個實施過程中,所用的服務(wù)器是曙光天演EP850-GF小型機,該小型機具體配置如下8 顆 4 核 AMD Opteron 8346 I. 8G HE CPU, 32G DDR2ECC 內(nèi)存,4 * 146G SAS 硬盤。 該服務(wù)器運行的操作系統(tǒng)是Linux Debian (X86-64)。仿真工作負載采用多線程測試測試套Splash2,所有測試程序皆設(shè)置64條線程數(shù)。本實施例僅對各程序并行執(zhí)行階段進行了時鐘精確仿真,初始化階段通過功能仿真快速略過。各程序參數(shù)遵從Multi2sim的原始設(shè)置。本實施例中片上眾核處理器時鐘精確并行仿真系統(tǒng)的同步的實現(xiàn),包括眾核處理器的模塊劃分方法,前瞻量路障、源路障、目標(biāo)路障的設(shè)置方法,處理器核模塊與存儲模塊之間的點對點同步方法,存儲模塊相互之間的組同步方法。本發(fā)明將仿真器分成三層框架邏輯處理器層,模塊層與仿真對象機器層。仿真對象機器既是需要仿真的眾核處理器系統(tǒng),邏輯處理器層的主要功能是操作線程及管理線程所擁有的模塊,模塊層充當(dāng)著宿主線程到仿真對象實體的映射中間層。所述模塊進一步劃分為核模塊,存儲模塊兩類,一個核模塊向上一對多映射了仿真對象機器層一個處理器核及其私有的一級高速緩存,一個存儲模塊向上一對多映射了仿真對象機器層互連網(wǎng)絡(luò)、共享高速緩存、內(nèi)存及其他仿真對象結(jié)構(gòu);多個核模塊與存儲模塊向下多對一映射到一個邏輯處理器上。每個模塊都有自己的時鐘,同步以這些時鐘為操作對象,僅作用在模塊層次上,從而避免了邏輯處理器數(shù)量對同步過程的干擾,使得用戶可以在靈活配置不同的組件切分、 映射策略而無需更改仿真器源碼。本發(fā)明自定義了三種輕量級路障原語,能夠?qū)⑺瞿K阻塞在指定的時刻上,直到解除路障的條件發(fā)生,阻塞基于用戶態(tài)的自旋鎖實現(xiàn),沒有系統(tǒng)模式切換帶來的額外性能開銷。所述路障原語的第一種是前瞻量路障,設(shè)置在前瞻量窗口上限時間點。前瞻量窗口大小取自對象系統(tǒng)的結(jié)構(gòu)參數(shù)。前瞻量窗口下限等于所有鄰接模塊的最小時鐘值。前瞻量窗口每滑動一個時鐘周期,前瞻量路障亦隨之被推到下一個時鐘周期,但并不會被釋放, 此時如果模塊自旋阻塞在該前瞻量路障上,將暫時解除自旋狀態(tài)。第二種是源路障,指當(dāng)模塊發(fā)給其他模塊某一個事件時,為等待后續(xù)反饋事件在某個預(yù)測的時間點對自己設(shè)置的路障。該路障會被釋放,釋放該路障的條件是等待的事件從其他模塊到達接收隊列,或者由于資源競爭或其他原因,導(dǎo)致等待的事件延遲發(fā)生,此時路障被向后移到新的時間點。第三種路障是目標(biāo)路障,指模塊為了讓另一模塊等待某事件時向目標(biāo)模塊設(shè)置的路障。該路障會被釋放,釋放或者推后該路障的條件與源路障相同。三種路障原語能夠充分滿足不同情況的阻塞需求。本發(fā)明將單一同步分為兩層同步,每一層同步又由小范圍的局部同步構(gòu)成。第一層同步位于核模塊與存儲模塊的連接點上,稱為點對點同步;第二層同步位于存儲模塊相互之間的連接處,稱為組同步。兩層同步將對象系統(tǒng)分割的更為細致均勻,即充分挖掘了對象系統(tǒng)潛在的并行性,也有效避免了集中式熱點出現(xiàn)的可能性。所述點對點同步方法的技術(shù)方案如下所述點對點同步方法為每個核模塊設(shè)置一個前瞻量路障以保證核模塊與對偶存儲模塊的時鐘偏差處于保守同步協(xié)議要求的范圍內(nèi),其前瞻量窗口大小取自共享高速緩存的最小訪問延遲。對偶的核模塊與存儲模塊互為對方僅有的鄰接模塊。所述點對點同步方法亦為每個存儲模塊設(shè)置一個單時鐘周期前瞻量路障以保證存儲模塊可以在任意時刻接收從核模塊發(fā)來的零延遲事件。所述點對點同步方法亦在每次訪存請求發(fā)出時刻為相應(yīng)核模塊設(shè)置一個源路障以保證訪存完成時的零延遲返回事件在正確的時刻被核模塊及時接收到。所述點對點同步方法在每次將要訪問的目標(biāo)核模塊時為該核模塊設(shè)置一個目標(biāo)路障以保證從片上網(wǎng)絡(luò)發(fā)來的零延遲事件能夠被及時接收到。所述組同步方法的技術(shù)方案如下所述組同步方法為每個存儲模塊設(shè)置一個前瞻量路障以保證各存儲模塊之間的時鐘偏差處于保守同步協(xié)議要求的范圍內(nèi),其前瞻量窗口大小取自片上網(wǎng)絡(luò)鏈路延遲。每個存儲模塊的鄰接模塊是與其有片上網(wǎng)絡(luò)直接鏈路的鄰居模塊。兩級同步的實現(xiàn)可參考以下偽碼表示。
Each thread in parallel loops for ever If simulation ends Exit loop endif
For each module mapped to the thread Send all events from output queue;
Receive all events from the input queue;
May release source and/or target barriers;
For each lookahead barrier If I am a core module
Adjacent modules = the coupling memory module;
Else //I am a memory module If it's a p-2-p barrier
Adjacent modules = the coupling core module;
Else //It’s a group barrier
Adjacent modules = the NOC connected memory module;
Endif
Endif
Adjacent modules += the current module;
Endfor
mid cycle = minimum timestamp of source and target barriers; max_cycle = minimum timestamp of the lookahead barriers; min cycle = minimum clock of adjacent modules;
//May self-spinning on any barrier at this condition statement //If the condition is taken, actual simulation goes on
If my clock < max_cycle and (my clock <= mid cycle or my clock <= min cycle) If I am a core module
Functional emulator advances;
Processor pipeline advances; endif
Process all events at this cycle;
Put remote events into the output queue;
If I am a core module
May create source barriers; endif
May create target barriers; myclock ++; endif endfor
endloop
仿真對象機器的參數(shù)如表I所示
表I仿真對象機器的參數(shù)
Subsystem
Parameter
Value
Processor model
Deline
out-of-order, Five stages
Dispatch/Issue/commit width4Integer/Float ALUs10/4branch predictorTwo-level adaptiveCores(nodes)64Threads per coreICache modelInst/data cache ports8LI latency/ assoc/ sets-per-bank2 cycles/2 blocks/256 setsL2 latency/ assoc/ sets-per-bank10 cycles/8 blocks/2048 setsGeneral featuresTwo levels, cc-nuca, None blocking access, write back, inclusiveBlock size64 bytesCache coherence protocolMOESIMemory access latency200 cycles
權(quán)利要求
1.一種片上眾核處理器時鐘精確并行仿真系統(tǒng),包括處理器子系統(tǒng)、存儲子系統(tǒng)和仿真對象子系統(tǒng),其特征在于所述系統(tǒng)中處理器子系統(tǒng)與仿真對象子系統(tǒng)間設(shè)置模塊中間層,所述模塊中間層實現(xiàn)邏輯處理器到仿真對象機器的映射;所述模塊中間層包括與處理器核及其私有的一級高速緩存一一對應(yīng)的核模塊和映射互連網(wǎng)絡(luò)、共享高速緩存、內(nèi)存及其他仿真對象結(jié)構(gòu)的存儲模塊;所述核模塊與存儲模塊之間進行點對點同步,所述存儲模塊相互之間進行組同步。
2.根據(jù)權(quán)利要求I所述的片上眾核處理器時鐘精確并行仿真系統(tǒng),其特征在于所述點對點同步是所述仿真系統(tǒng)通過設(shè)置前瞻量路障、源路障、目標(biāo)路障原語實現(xiàn)相互通信的對偶核模塊與存儲模塊的時鐘同步的方法;所述前瞻量路障設(shè)置在前瞻量窗口上限時間點,跟隨鄰接模塊的最小時鐘滑動,永不被釋放;所述源路障為某模塊等待某一事件對自己設(shè)置的路障,事件到達時被釋放,事件未到達前隨最小時鐘移動;所述目標(biāo)路障為某模塊讓另一模塊等待某事件時向目標(biāo)模塊設(shè)置的路障,解除或者推后該路障的條件與源路障相同。
3.根據(jù)權(quán)利要求2所述的片上眾核處理器時鐘精確并行仿真系統(tǒng),其特征在于所述系統(tǒng)點對點同步中每個核模塊設(shè)置一個前瞻量路障使核模塊與對偶存儲模塊的時鐘偏差處于保守同步協(xié)議要求的范圍內(nèi),其前瞻量取自共享高速緩存的最小訪問延遲。
4.根據(jù)權(quán)利要求2所述的片上眾核處理器時鐘精確并行仿真系統(tǒng),其特征在于所述系統(tǒng)點對點同步中每個存儲模塊設(shè)置一個單時鐘周期前瞻量路障以保證存儲模塊可以在任意時刻接收從核模塊發(fā)來的零延遲事件。
5.根據(jù)權(quán)利要求2所述的片上眾核處理器時鐘精確并行仿真系統(tǒng),其特征在于所述系統(tǒng)點對點同步中在每次訪存請求發(fā)出時刻為相應(yīng)核模塊設(shè)置一個源路障以保證訪存完成時的零延遲返回事件在正確的時刻被核模塊及時接收到。
6.根據(jù)權(quán)利要求2所述的片上眾核處理器時鐘精確并行仿真系統(tǒng),其特征在于所述系統(tǒng)點對點同步中每次為將要訪問的目標(biāo)核模塊設(shè)置一個目標(biāo)路障以保證從片上網(wǎng)絡(luò)發(fā)來的零延遲事件能夠被及時接收到。
7.根據(jù)權(quán)利要求I所述的片上眾核處理器時鐘精確并行仿真系統(tǒng),其特征在于所述組同步為利用所述仿真系統(tǒng)通過設(shè)置前瞻量路障使得所有存儲模塊能夠同步的方法;所述前瞻量路障設(shè)置在前瞻量窗口上限時間點,跟隨鄰接模塊的最小時鐘滑動,永不被釋放。
8.根據(jù)權(quán)利要求7所述的片上眾核處理器時鐘精確并行仿真系統(tǒng),其特征在于所述系統(tǒng)組同步中每個存儲模塊設(shè)置一個前瞻量路障以保證各存儲模塊之間的時鐘偏差處于保守同步協(xié)議要求的范圍內(nèi),其前瞻量取自片上網(wǎng)絡(luò)鏈路延遲。
9.根據(jù)權(quán)利要求7所述的片上眾核處理器時鐘精確并行仿真系統(tǒng),其特征在于所述系統(tǒng)組同步中根據(jù)路由器的度數(shù),限制每個存儲模塊僅與其接鄰的若干個存儲模塊同步, 利用相互銜接的部分同步的正確性保證存儲模塊整體同步的正確性。
10.根據(jù)權(quán)利要求2或7所述的片上眾核處理器時鐘精確并行仿真系統(tǒng),其特征在于所述系統(tǒng)通過基于自旋鎖實現(xiàn)的自定義路障原語將模塊阻塞在指定的時刻上,直到解除路障的條件發(fā)生。
全文摘要
本發(fā)明公開了一種片上眾核處理器時鐘精確并行仿真系統(tǒng),包括處理器子系統(tǒng)、存儲子系統(tǒng)和仿真對象子系統(tǒng),其特征在于所述系統(tǒng)中處理器子系統(tǒng)與仿真對象子系統(tǒng)間設(shè)置模塊中間層,所述模塊中間層實現(xiàn)邏輯處理器到仿真對象機器的映射;所述模塊中間層包括與處理器核及其私有的一級高速緩存一一對應(yīng)的核模塊和映射互連網(wǎng)絡(luò)、共享高速緩存、內(nèi)存及其他仿真對象結(jié)構(gòu)的存儲模塊;所述核模塊與存儲模塊之間進行點對點同步,所述存儲模塊相互之間進行組同步。該系統(tǒng)具有更豐富的并行度,具有更高的加速比,而且性能的提升是在保持了眾核處理器各個組件細致建模的條件下取得的。
文檔編號G06F11/26GK102591759SQ20111044882
公開日2012年7月18日 申請日期2011年12月29日 優(yōu)先權(quán)日2011年12月29日
發(fā)明者吳俊敏, 唐軼軒, 朱小東, 趙小雨 申請人:中國科學(xué)技術(shù)大學(xué)蘇州研究院