[發(fā)明專利]并行程序的數(shù)據(jù)競爭檢測方法、裝置及多核處理系統(tǒng)有效
| 申請?zhí)枺?/td> | 201310400690.5 | 申請日: | 2013-09-05 |
| 公開(公告)號: | CN103488563B | 公開(公告)日: | 2017-04-12 |
| 發(fā)明(設(shè)計(jì))人: | 李磊;陳云霽;孫國慶 | 申請(專利權(quán))人: | 龍芯中科技術(shù)有限公司 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36;G06F9/46 |
| 代理公司: | 北京同立鈞成知識產(chǎn)權(quán)代理有限公司11205 | 代理人: | 孟金喆 |
| 地址: | 100190 *** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 并行 程序 數(shù)據(jù) 競爭 檢測 方法 裝置 多核 處理 系統(tǒng) | ||
1.一種并行程序的數(shù)據(jù)競爭檢測方法,其特征在于,在調(diào)用多核處理器中的一處理器核執(zhí)行并行程序的指令之后,還包括:
鎖訪問信息記錄流程:記錄所述處理器核的當(dāng)前指令的鎖訪問信息,其中,所述鎖訪問信息與鎖操作的鎖地址對應(yīng)記錄;
訪存信息記錄流程:記錄所述處理器核的當(dāng)前指令的訪存信息;以及
數(shù)據(jù)競爭判斷流程:根據(jù)所述鎖訪問信息記錄流程記錄的鎖訪問信息以及所述訪存信息記錄流程記錄的訪存信息,判斷存在沖突的兩個指令之間是否存在數(shù)據(jù)競爭。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述數(shù)據(jù)競爭判斷流程具體包括:
根據(jù)記錄的各條指令的訪存信息,判斷指令間是否滿足程序序關(guān)系,如果兩條指令在處理器核上被執(zhí)行,則兩條指令滿足程序序關(guān)系;
根據(jù)記錄的所述鎖訪問信息,判斷所述鎖操作間是否滿足可行同步序關(guān)系,其中,對應(yīng)于同一地址的先后執(zhí)行的第一鎖操作以及第二鎖操作,若在所述第一鎖操作的鎖獲取操作以及鎖釋放操作之間存在一個寫操作,使得所述第二鎖操作的鎖獲取和鎖釋放之間存在對與所述寫操作為同一地址的沖突讀操作,則所述鎖操作間滿足可行同步序關(guān)系;
當(dāng)檢測出存在沖突的兩個指令時,判斷存在沖突的兩個指令是否滿足可行序關(guān)系;如果兩個指令之間不滿足可行序關(guān)系,則確定所述第一鎖操作和所述第二鎖操作間存在數(shù)據(jù)競爭,其中,所述可行序關(guān)系為:若存在沖突的兩條指令之間存在一串指令操作,這一串操作之間至少滿足程序序關(guān)系和可行同步序關(guān)系之一。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,在所述數(shù)據(jù)競爭判斷流程之前,還包括:
根據(jù)記錄的各處理器核的各條指令的訪存信息,判斷當(dāng)前指令的訪問地址與所述多核處理器中其它處理器核的各條指令的訪問地址是否相同;
如果是,則判斷所述當(dāng)前指令與具有相同訪問地址的指令中是否存在寫操作;
如果存在寫操作,則所述當(dāng)前指令與其它處理器核的各條指令中,與該當(dāng)前指令具有相同訪問地址的指令存在沖突。
4.根據(jù)權(quán)利要求2所述的方法,其特征在于,還包括:向量時鐘更新流程,其中,
記錄所述處理器核的當(dāng)前指令的鎖訪問信息具體包括:
當(dāng)識別到當(dāng)前指令觸發(fā)鎖操作或位于鎖獲取和鎖釋放之間時,記錄所述鎖訪問信息,所述鎖訪問信息包括:處理器核標(biāo)識、操作類型和本地時間戳;
所述鎖訪問信息記錄流程還包括:
當(dāng)識別到所述處理器核的當(dāng)前指令觸發(fā)鎖操作時,將所述處理器核對應(yīng)的本地時間戳加1;
所述向量時鐘更新流程包括:
當(dāng)識別到所述處理器核的本地時間戳加1時,根據(jù)本地時間戳更新所述處理器核當(dāng)前指令的向量時鐘中的元素值,其中,每個向量時鐘與每個處理器核的每條指令對應(yīng)設(shè)置,每個向量時鐘包括N個元素,N為處理器核的數(shù)量,N個元素分別與各處理器核對應(yīng);
對于每個鎖地址,當(dāng)監(jiān)測到所述鎖地址的鎖訪問信息的操作類型為鎖獲取時,判斷在當(dāng)前的鎖獲取之前是否存在滿足可行同步序關(guān)系的鎖釋放,若存在,根據(jù)該鎖釋放的向量時鐘更新該鎖獲取的向量時鐘。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,記錄所述處理器核的當(dāng)前指令的訪存信息之前,還包括:
判斷存儲所述當(dāng)前指令的訪存歷史記錄器中記錄的訪存信息是否超過n條,n為大于等于2的預(yù)設(shè)正整數(shù);
若是,則刪除所述訪存歷史記錄器中最早存入的一條訪存信息,以將所述處理器核的當(dāng)前指令的訪存信息記錄在所述訪存歷史記錄器中。
6.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述根據(jù)該鎖釋放的向量時鐘更新該鎖獲取的向量時鐘,包括:
逐一對應(yīng)比較所述滿足可行同步序關(guān)系的鎖獲取和鎖釋放的向量時鐘中各元素的大小,得到比較結(jié)果,取所述比較結(jié)果中較大的元素作為所述鎖釋放的向量時鐘中對應(yīng)的元素。
7.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述判斷存在沖突的兩個指令是否滿足可行序關(guān)系,包括:
逐一對應(yīng)比較存在沖突的兩個指令的向量時鐘中的各元素,判斷所述當(dāng)前指令的向量時鐘中是否存在小于與其存在沖突的指令的向量時鐘中的對應(yīng)元素的元素,如果存在,則存在沖突的兩個指令之間存在數(shù)據(jù)競爭。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于龍芯中科技術(shù)有限公司,未經(jīng)龍芯中科技術(shù)有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310400690.5/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 上一篇:一種從酸渣中回收酒精和松香的裝置
- 下一篇:氧氣面罩
- 同類專利
- 專利分類
- 數(shù)據(jù)顯示系統(tǒng)、數(shù)據(jù)中繼設(shè)備、數(shù)據(jù)中繼方法、數(shù)據(jù)系統(tǒng)、接收設(shè)備和數(shù)據(jù)讀取方法
- 數(shù)據(jù)記錄方法、數(shù)據(jù)記錄裝置、數(shù)據(jù)記錄媒體、數(shù)據(jù)重播方法和數(shù)據(jù)重播裝置
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)發(fā)送系統(tǒng)、數(shù)據(jù)發(fā)送裝置以及數(shù)據(jù)結(jié)構(gòu)
- 數(shù)據(jù)顯示系統(tǒng)、數(shù)據(jù)中繼設(shè)備、數(shù)據(jù)中繼方法及數(shù)據(jù)系統(tǒng)
- 數(shù)據(jù)嵌入裝置、數(shù)據(jù)嵌入方法、數(shù)據(jù)提取裝置及數(shù)據(jù)提取方法
- 數(shù)據(jù)管理裝置、數(shù)據(jù)編輯裝置、數(shù)據(jù)閱覽裝置、數(shù)據(jù)管理方法、數(shù)據(jù)編輯方法以及數(shù)據(jù)閱覽方法
- 數(shù)據(jù)發(fā)送和數(shù)據(jù)接收設(shè)備、數(shù)據(jù)發(fā)送和數(shù)據(jù)接收方法
- 數(shù)據(jù)發(fā)送裝置、數(shù)據(jù)接收裝置、數(shù)據(jù)收發(fā)系統(tǒng)、數(shù)據(jù)發(fā)送方法、數(shù)據(jù)接收方法和數(shù)據(jù)收發(fā)方法
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)再現(xiàn)方法、數(shù)據(jù)發(fā)送裝置及數(shù)據(jù)再現(xiàn)裝置
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)再現(xiàn)方法、數(shù)據(jù)發(fā)送裝置及數(shù)據(jù)再現(xiàn)裝置





