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





