【技術實現步驟摘要】
本專利技術屬于多核心處理器的核間同步,具體涉及一種基于處理器三級緩存分布的多級任務同步方法及相關裝置。
技術介紹
1、電磁暫態仿真是一種復雜的計算過程,特別是在處理大規模電網模型時,需要極高的計算能力和數據處理能力。為了應對這種需求,通常會將大電網模型拆分為多個子網,每個子網由一個或多個處理器核心負責仿真運算。然而,這種拆分方式也帶來了任務同步和數據一致性的問題。
2、在多核心仿真運算過程中,每個處理器核心負責處理不同的子網,但這些子網之間需要保持數據的一致性和同步性。特別是在電磁暫態仿真中,各個子網之間的交互和同步是確保仿真結果準確性的關鍵。因此,如何高效地實現多核心之間的任務同步成為了一個亟待解決的問題。
3、在多個三級緩存的處理器架構中,任務同步機制面臨著由于跨三級緩存數據共享讀寫觸發的緩存一致性操作,這確實可能導致較大的性能損耗,尤其對于需要高效運行的電磁暫態仿真等復雜應用來說,這一問題尤為突出。為了應對這一挑戰,除了傳統的互斥鎖(mutexes)和讀寫鎖(reader-writer?locks)等同步原語外,還需要一種更加高效的任務同步機制,以滿足電磁暫態仿真等應用的需求。
技術實現思路
1、有鑒于此,本專利技術提供一種基于處理器三級緩存分布的多級任務同步方法及相關裝置,旨在利用處理器三級緩存的層次結構和分布特性,通過優化任務分配和緩存管理,實現多核心之間的高效同步。
2、為了實現上述目的,本專利技術提供的技術方案如下:
3
4、確定處理器的每個三級緩存中需要進行任務同步的核心以及需要進行任務同步的三級緩存;
5、根據需要進行任務同步的核心的數量和三級緩存的數量分別初始化一級同步器和二級同步器,一級同步器和二級同步器分別用于對核心和三級緩存進行任務同步;
6、分別利用一級同步器和二級同步器在核間和三級緩存間進行任務同步,直到所有需要進行任務同步的三級緩存均完成同步后,每個三級緩存中的核心再完成同步。
7、進一步的,處理器的每個三級緩存內的核心為一級通信域,所有三級緩存為二級通信域;
8、確定處理器的每個三級緩存中需要進行任務同步的核心以及需要進行任務同步的三級緩存之后,還包括:
9、令一級通信域中需要進行任務同步的每個核心持有對應于所屬三級緩存的一級同步器;
10、令二級通信域中需要進行任務同步的每個三級緩存持有全局的二級同步器。
11、進一步的,分別利用一級同步器和二級同步器在核間和三級緩存間進行任務同步,包括:
12、利用二級同步器在二級通信域中開始進行三級緩存間的任務同步;
13、根據需要進行任務同步的三級緩存的數量和在二級通信域中的同步數量重復進行三級緩存間的同步,直至完成二級通信域的同步任務;
14、利用一級同步器在一級通信域中進行核間任務同步;
15、根據需要進行任務同步的核心的數量和在一級通信域中的同步數量重復進行核間任務同步,直至完成一級通信域的同步任務。
16、進一步的,一級同步器和二級同步器均包括:預期同步數量、同步計數器和上級同步器;
17、在一級同步器中,預期同步數量為所屬三級緩存內需要進行任務同步的核心數量,同步計數器的初始數值為預期同步數量且每執行一次同步則同步計數器的數值減1,上級同步器為二級同步器;
18、在二級同步器中,預期同步數量為所有需要進行任務同步的三級緩存數量,同步計數器的初始計數值為預期同步數量,上級同步器為空。
19、進一步的,利用二級同步器在三級緩存間進行任務同步,直到所有需要進行任務同步的三級緩存均完成同步,包括:
20、每個二級同步器執行一次同步并獲取減值后的同步計數器數值;
21、判斷減值后的同步計數器數值是否等于零;
22、若等于零,則執行如下步驟:
23、設置同步計數器數值為預期同步數量;
24、若不等于零,則執行如下步驟:
25、忙等待設定時間;
26、判斷同步計數器數值是否等于預期同步數量;
27、若否,則利用二級同步器繼續執行同步直至同步計數器數值等于零;
28、若是,則結束同步并返回第一設定同步狀態碼。
29、進一步的,利用一級同步器在核間進行任務同步,直到所有需要進行任務同步的核心均完成同步,包括:
30、每個一級同步器執行一次同步并獲取減值后的同步計數器數值;
31、判斷減值后的同步計數器數值是否等于零;
32、若等于零,則執行如下步驟:
33、等待二級同步器完成同步;
34、設置同步計數器數值為預期同步數量,結束同步并返回第二設定同步狀態碼;
35、若不等于零,則執行如下步驟:
36、忙等待設定時間;
37、判斷同步計數器數值是否等于預期同步數量;
38、若否,則利用二級同步器繼續執行同步;
39、若是,則結束同步并返回第一設定同步狀態碼。
40、進一步的,同步計數器采用原子減1的操作進行減值。
41、第二方面,本專利技術提供了一種基于處理器三級緩存分布的多級任務同步裝置,包括:
42、同步獲取模塊,用于確定處理器的每個三級緩存中需要進行任務同步的核心以及需要進行任務同步的三級緩存;
43、初始化模塊,用于根據需要進行任務同步的核心的數量和三級緩存的數量分別初始化一級同步器和二級同步器,一級同步器和二級同步器分別用于對核心和三級緩存進行任務同步;
44、同步執行模塊,用于分別利用一級同步器和二級同步器在核間和三級緩存間進行任務同步,直到所有需要進行任務同步的三級緩存均完成同步后,每個三級緩存中的核心再完成同步。
45、第三方面,本專利技術提供了一種計算機設備,設備包括處理器以及存儲器:
46、存儲器用于存儲計算機程序,并將計算機程序的指令發送至處理器;
47、處理器根據計算機程序的指令執行如第一方面的一種基于處理器三級緩存分布的多級任務同步方法。
48、第四方面,本專利技術提供了一種計算機可讀存儲介質,計算機可讀存儲介質上存儲有計算機程序,計算機程序被處理器執行時實現如第一方面的一種基于處理器三級緩存分布的多級任務同步方法。
49、綜上,本專利技術提供了一種基于處理器三級緩存分布的多級任務同步方法及相關裝置,包括確定處理器的每個三級緩存中需要進行任務同步的核心以及需要進行任務同步的三級緩存;根據需要進行任務同步的核心的數量和三級緩存的數量分別初始化一級同步器和二級同步器,一級同步器和二級同步器分別用于對核心和三級緩存進行任務同步;分別利用一級同步器和二級同步器在核間和三級緩存間進行任務本文檔來自技高網...
【技術保護點】
1.一種基于處理器三級緩存分布的多級任務同步方法,其特征在于,包括如下步驟:
2.根據權利要求1所述的基于處理器三級緩存分布的多級任務同步方法,其特征在于,處理器的每個三級緩存內的核心為一級通信域,所有三級緩存為二級通信域;
3.根據權利要求2所述的基于處理器三級緩存分布的多級任務同步方法,其特征在于,分別利用所述一級同步器和所述二級同步器在核間和三級緩存間進行任務同步,包括:
4.根據權利要求1所述的基于處理器三級緩存分布的多級任務同步方法,其特征在于,所述一級同步器和所述二級同步器均包括:預期同步數量、同步計數器和上級同步器;
5.根據權利要求4所述的基于處理器三級緩存分布的多級任務同步方法,其特征在于,利用所述二級同步器在三級緩存間進行任務同步,直到所有需要進行任務同步的所述三級緩存均完成同步,包括:
6.根據權利要求5所述的基于處理器三級緩存分布的多級任務同步方法,其特征在于,利用所述一級同步器在核間進行任務同步,直到所有需要進行任務同步的所述核心均完成同步,包括:
7.根據權利要求4所述的基于處理器
8.一種基于處理器三級緩存分布的多級任務同步裝置,其特征在于,包括:
9.一種計算機設備,其特征在于,所述設備包括處理器以及存儲器:
10.一種計算機可讀存儲介質,其特征在于,所述計算機可讀存儲介質上存儲有計算機程序,所述計算機程序被處理器執行時實現如權利要求1-7中任一項所述的一種基于處理器三級緩存分布的多級任務同步方法。
...【技術特征摘要】
1.一種基于處理器三級緩存分布的多級任務同步方法,其特征在于,包括如下步驟:
2.根據權利要求1所述的基于處理器三級緩存分布的多級任務同步方法,其特征在于,處理器的每個三級緩存內的核心為一級通信域,所有三級緩存為二級通信域;
3.根據權利要求2所述的基于處理器三級緩存分布的多級任務同步方法,其特征在于,分別利用所述一級同步器和所述二級同步器在核間和三級緩存間進行任務同步,包括:
4.根據權利要求1所述的基于處理器三級緩存分布的多級任務同步方法,其特征在于,所述一級同步器和所述二級同步器均包括:預期同步數量、同步計數器和上級同步器;
5.根據權利要求4所述的基于處理器三級緩存分布的多級任務同步方法,其特征在于,利用所述二級同步器在三級緩存間進行任務同步,直到所有需要進...
【專利技術屬性】
技術研發人員:張杰,盧遠宏,郭琦,涂亮,黃立濱,郭海平,趙艷軍,
申請(專利權)人:南方電網科學研究院有限責任公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。