[發明專利]基于多核多處理器并行系統的全局信號量實現方法在審
| 申請號: | 202011353047.8 | 申請日: | 2020-11-27 |
| 公開(公告)號: | CN112463716A | 公開(公告)日: | 2021-03-09 |
| 發明(設計)人: | 舒紅霞;胡舒婷;常軒 | 申請(專利權)人: | 中船重工(武漢)凌久電子有限責任公司 |
| 主分類號: | G06F15/177 | 分類號: | G06F15/177;G06F9/52;G06F9/54;G06F13/24 |
| 代理公司: | 北京中北知識產權代理有限公司 11253 | 代理人: | 李新昂 |
| 地址: | 430000 湖*** | 國省代碼: | 湖北;42 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 多核 處理器 并行 系統 全局 信號量 實現 方法 | ||
1.一種基于多核多處理器并行系統的全局信號量實現方法,其特征在于,該全局信號量實現方法包括:
S1)多核多處理器并行系統的各處理核心進行系統初始化,通過SRIO映射出共享存儲空間;
S2)所述各處理核心創建線程,并進行線程初始化,建立線程與本地信號量的映射表;
S3)從線程所屬處理核心對應的全局信號量緩沖池中創建全局信號量,并將全局信號量信息填入全局信號量名表;
S4)當線程被掛起在一個全局信號量的等待隊列上或被解掛時,通過信號量代理機制,將該線程掛起或解掛。
2.根據權利要求1所述的基于多核多處理器并行系統的全局信號量實現方法,其特征在于:所述多核多處理器并行系統的處理器節點數至少有1個;所述處理器節點的處理核心至少有1個;并且所述處理器節點間或處理核心支持SRIO總線互連。
3.根據權利要求1所述的基于多核多處理器并行系統的全局信號量實現方法,其特征在于,步驟S1)中,所述系統初始化的過程包括:
S11)各處理核心均初始化SRIO,通過SRIO映射一段共享存儲空間用于存儲全局信號量、全局信號量等待隊列與全局信號量名表,并安裝SRIO的doorBell中斷;
S12)選取任一處理核心為主處理核心,創建并初始化一張共享的全局信號量名表,用于記錄所有已創建的全局信號量的信息;
S13)在各處理核心映射出的共享存儲空間中,創建并初始化全局信號量緩沖池和全局信號量等待隊列緩沖池;
S14)各處理核心創建并初始化一張線程與本地信號量映射表,用于記錄已創建的線程與本地信號量之間的對應關系。
4.根據權利要求3所述的基于多核多處理器并行系統的全局信號量實現方法,其特征在于,步驟S12)中,所述全局信號量名表的內容包括控制名表互斥訪問的全局信號量、名表中所有已創建的全局信號量數目,以及所有已創建的全局信號量信息;
其中,全局信號量信息包括名稱、類型、所屬處理核心、值、打開次數和等待隊列;所述等待隊列包括等待線程所屬處理核心、線程ID以及鏈表指針。
5.根據權利要求3所述的基于多核多處理器并行系統的全局信號量實現方法,其特征在于:步驟S13)中,所述全局信號量緩沖池和全局信號量等待隊列緩沖池均為帶表頭指針的、具有固定大小緩沖塊的雙向鏈表,并且鏈表表頭均放置在各自所屬的處理核心上;
其中,所述全局信號量緩沖池和全局信號量等待隊列緩沖池可用自旋鎖或者全局信號量管理互斥訪問。
6.根據權利要求1所述的基于多核多處理器并行系統的全局信號量實現方法,其特征在于:步驟S4)中,所述信號量代理機制,即進行全局信號量相關操作時,是指通過線程對應的本地信號量代替該全局信號量完成操作。
7.根據權利要求1所述的基于多核多處理器并行系統的全局信號量實現方法,其特征在于,步驟S4)中,所述線程被掛起在一個全局信號量的等待隊列上的操作具體包括:
S41)獲取線程所屬處理核心、線程ID及本地信號量;
S42)從該全局信號量所屬處理核心上的全局信號量等待隊列緩沖池中分配空間,填入等待隊列信息;
S43)按照“FIFO”原則,將線程插入全局信號量等待隊列;
S44)執行本地信號量的等待操作,將線程掛起。
8.根據權利要求1所述的基于多核多處理器并行系統的全局信號量實現方法,其特征在于,步驟S4)中,解掛線程操作具體包括:
S45)按照“FIFO”原則,取下全局信號量等待隊列上的首線程;
S46)獲取首線程所屬處理核心和首線程ID,并釋放首線程等待隊列空間到該全局信號量所屬處理核心上的全局信號量等待隊列緩沖池中;
S47)向目的處理器核心互斥發送doorBell中斷;
S48)目的處理核心接收到doorBell中斷信息后,根據線程ID查找并釋放相應的本地信號量,將該線程解掛。
9.根據權利要求8所述的基于多核多處理器并行系統的全局信號量實現方法,其特征在于,步驟S48)中,所述doorBell中斷發送的信息為16位,低8位為線程ID,高8位為線程所屬處理核心。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中船重工(武漢)凌久電子有限責任公司,未經中船重工(武漢)凌久電子有限責任公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011353047.8/1.html,轉載請聲明來源鉆瓜專利網。





