[發明專利]用簽名實現的多核程序內存競爭記錄及重演方法無效
| 申請號: | 201210593408.5 | 申請日: | 2012-12-31 |
| 公開(公告)號: | CN103019829A | 公開(公告)日: | 2013-04-03 |
| 發明(設計)人: | 朱素霞;季振洲;陳志剛;吳昊;王慶;王暉;李聰 | 申請(專利權)人: | 哈爾濱工業大學 |
| 主分類號: | G06F9/46 | 分類號: | G06F9/46;G06F9/50 |
| 代理公司: | 哈爾濱市松花江專利商標事務所 23109 | 代理人: | 牟永林 |
| 地址: | 150001 黑龍*** | 國省代碼: | 黑龍江;23 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 簽名 實現 多核 程序 內存 競爭 記錄 重演 方法 | ||
1.用簽名實現的多核程序內存競爭記錄及重演方法,其特征在于:它包括如下步驟:
步驟一、在多核程序原始執行階段,開啟內存競爭記錄功能,每個處理器核開始內存競爭記錄;
步驟二、當所有的處理器核的內存競爭記錄完成后,進入多核程序重演階段,開啟內存競爭重演功能。
2.根據權利要求1所述的用簽名實現的多核程序內存競爭記錄及重演方法,其特征在于:步驟一所述的在多核程序原始執行階段,開啟內存競爭記錄功能,每個處理器核開始內存競爭記錄操作步驟如下:
A、請求方發出指令,若該指令是讀內存操作指令,則IC的值加1,所述的IC的值為指令計數值,將所讀的內存塊的地址添加到所有的讀簽名寄存器中,同時請求方發出共享內存請求消息到每個處理器的一致性協議機構,執行步驟B;
若該指令是寫內存操作指令,則將要寫的內存塊的地址添加到所有的寫簽名寄存器中,同時請求方發出共享內存請求消息到每個處理器的一致性協議機構,執行步驟B;
B、一致性機構收到共享內存請求消息后,將共享內存請求消息轉發給其他處理器核,即應答方,執行步驟C;
C、應答方根據接收到的共享內存請求消息的地址到讀簽名寄存器或寫簽名寄存器中查找,判斷是否有內存競爭發生,
若發生內存競爭,則將一個記錄標志位和當前指令計數值連同內存塊的內容一起發送給請求方,清空對應請求方的寫簽名寄存器和讀簽名寄存器;并將偽依賴關系記錄到運行在該處理器核上的線程的內存競爭日志中,執行步驟D;
若沒有發生內存競爭,則只將內存塊的內容發送給請求方,執行步驟A;
D、請求方接收到應答消息后,檢測內存競爭記錄模塊記錄的標志位是否為真,若為真,則記錄內存競爭依賴關系到內存競爭日志;否則不記錄。
3.根據權利要求1所述的用簽名實現的多核程序內存競爭記錄及重演方法,其特征在于:步驟二所述的當所有的處理器核的內存競爭記錄完成后,進入多核程序重演階段,開啟內存競爭重演功能,每個處理器核操作步驟如下:
E、處理器核開始運行時,從運行在該處理器上的線程的內存競爭日志中讀取一個記錄,并存儲到該內存競爭記錄過程中使用的寄存器中,執行步驟F;
F、處理器核檢測該記錄依賴關系,若該記錄為偽依賴關系,則當執行完它所對應的指令后,創建喚醒消息、并通過一致性協議發送給對應的處理器,執行步驟G;
若該記錄為內存競爭依賴關系,則暫不執行該指令,當接收到喚醒消息時,執行步驟H;所述的喚醒消息為內存競爭的先發生方所在的處理器核創建并發送的,
G、處理器發送完喚醒消息后,該處理器核從內存競爭日志中讀取下一條記錄,再執行步驟F;
H、處理器接收到合適的喚醒消息后,處理器核從內存競爭日志中讀取下一條記錄,執行步驟F。
4.根據權利要求2所述的用簽名實現的多核程序內存競爭記錄及重演方法,其特征在于:步驟C中所述的內存競爭日志由內存競爭依賴關系和偽依賴關系組成,
內存競爭依賴關系是用來在重演時指出哪條指令需要等待來自哪里的喚醒消息;偽依賴關系是用來在重演時指出哪條指令需要發送喚醒,
內存競爭依賴關系用依賴關系i:w→j:v來表示,
偽依賴關系用依賴關系i:w→0來表示,
其中,w、v表示發生沖突i:x→j:y發生時,線程i、j的當前指令計數值。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于哈爾濱工業大學,未經哈爾濱工業大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210593408.5/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種物聯網供電裝置
- 下一篇:基于模糊控制的無刷直流電機位置跟蹤控制器





