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





