[發(fā)明專利]面向數(shù)據(jù)無沖突程序的共享數(shù)據(jù)動(dòng)態(tài)更新方法有效
| 申請(qǐng)?zhí)枺?/td> | 201711473691.7 | 申請(qǐng)日: | 2017-12-29 |
| 公開(公告)號(hào): | CN108170544B | 公開(公告)日: | 2020-08-28 |
| 發(fā)明(設(shè)計(jì))人: | 馬勝;王志英;何錫明;陸洪毅;沈立;陳微;劉文杰 | 申請(qǐng)(專利權(quán))人: | 中國(guó)人民解放軍國(guó)防科技大學(xué) |
| 主分類號(hào): | G06F9/54 | 分類號(hào): | G06F9/54 |
| 代理公司: | 湖南兆弘專利事務(wù)所(普通合伙) 43008 | 代理人: | 周長(zhǎng)清;胡君 |
| 地址: | 410073 湖南*** | 國(guó)省代碼: | 湖南;43 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 面向 數(shù)據(jù) 沖突 程序 共享 動(dòng)態(tài) 更新 方法 | ||
1.一種面向數(shù)據(jù)無沖突程序的共享數(shù)據(jù)動(dòng)態(tài)更新方法,其特征在于,該方法包括:執(zhí)行數(shù)據(jù)無沖突的并行程序過程中,CPU執(zhí)行訪存指令時(shí),識(shí)別共享數(shù)據(jù)請(qǐng)求并收集共享數(shù)據(jù)被訪問的歷史信息,所述共享數(shù)據(jù)被訪問的歷史具體為共享數(shù)據(jù)被訪問的次數(shù),當(dāng)在接收到同步指令的同步點(diǎn)時(shí),根據(jù)收集的所述共享數(shù)據(jù)被訪問的歷史信息對(duì)過期的共享數(shù)據(jù)執(zhí)行動(dòng)態(tài)更新或失效操作,以及暫停本地cache控制器的訪存請(qǐng)求,其中對(duì)判定為第一類的共享數(shù)據(jù)執(zhí)行動(dòng)態(tài)更新操作,對(duì)判定為第二類的共享數(shù)據(jù)進(jìn)行失效操作,所述第一類的共享數(shù)據(jù)為被多次訪問的共享數(shù)據(jù),所述第二類共享數(shù)據(jù)為不常被訪問的共享數(shù)據(jù);
所述識(shí)別共享數(shù)據(jù)請(qǐng)求具體包括:在訪存請(qǐng)求攜帶的TLB表中添加一個(gè)P域以標(biāo)志當(dāng)前頁面數(shù)據(jù)為私有數(shù)據(jù)或共享數(shù)據(jù),當(dāng)CPU執(zhí)行訪存指令時(shí),通過訪問所述TLB表進(jìn)行虛實(shí)地址轉(zhuǎn)換,根據(jù)所述TLB表中P域的信息識(shí)別共享數(shù)據(jù)請(qǐng)求;
所述TLB表中還添加一個(gè)keeper域,通過所述keeper域標(biāo)記當(dāng)前頁面數(shù)據(jù)的共享者,即第一個(gè)訪問對(duì)應(yīng)頁面的核;當(dāng)所述TLB表缺失時(shí),由CPU訪問頁表,若所述頁表缺失,則由操作系統(tǒng)分配新的頁面并設(shè)置頁面為私有頁面,其中如果頁面不是首次訪問且所述keeper域和當(dāng)前訪問的CPU不一致,進(jìn)行頁面的切換使變成共享頁面,將更新的共享信息的頁表項(xiàng)插入到所述TLB表中,完成頁面粒度的私有共享數(shù)據(jù)的劃分。
2.根據(jù)權(quán)利要求1所述的面向數(shù)據(jù)無沖突程序的共享數(shù)據(jù)動(dòng)態(tài)更新方法,其特征在于:具體配置一個(gè)DSUL模塊,由所述DSUL模塊識(shí)別共享數(shù)據(jù)請(qǐng)求,并在識(shí)別到共享數(shù)據(jù)時(shí)進(jìn)行記錄以收集共享數(shù)據(jù)的歷史訪問信息,以及在同步點(diǎn)時(shí)暫停本地cache控制器的訪存請(qǐng)求,并觸發(fā)cache控制器對(duì)共享數(shù)據(jù)進(jìn)行動(dòng)態(tài)更新或失效操作。
3.根據(jù)權(quán)利要求2所述的面向數(shù)據(jù)無沖突程序的共享數(shù)據(jù)動(dòng)態(tài)更新方法,其特征在于:所述cache控制器對(duì)共享數(shù)據(jù)進(jìn)行動(dòng)態(tài)更新時(shí),具體由cache控制器發(fā)送更新請(qǐng)求到下一級(jí)的cache以獲取最新的數(shù)據(jù);所述cache控制器對(duì)共享數(shù)據(jù)進(jìn)行失效操作時(shí),具體直接作廢干凈的數(shù)據(jù)塊,并把臟的數(shù)據(jù)塊寫入到下一級(jí)cache中。
4.根據(jù)權(quán)利要求3所述的面向數(shù)據(jù)無沖突程序的共享數(shù)據(jù)動(dòng)態(tài)更新方法,其特征在于:當(dāng)所有的共享數(shù)據(jù)被更新或失效掉后,cache控制器發(fā)送通知信號(hào)給所述DSUL模塊,所述DSUL模塊重新發(fā)送暫停的訪存指令給cache控制器,使訪存指令開始正常執(zhí)行。
5.根據(jù)權(quán)利要求2或3或4所述的面向數(shù)據(jù)無沖突程序的共享數(shù)據(jù)動(dòng)態(tài)更新方法,其特征在于:所述DSUL模塊中配置一個(gè)共享數(shù)據(jù)閾值,當(dāng)記錄的共享數(shù)據(jù)量超過所述共享數(shù)據(jù)閾值時(shí),觸發(fā)cache控制器對(duì)共享數(shù)據(jù)進(jìn)行失效操作。
6.根據(jù)權(quán)利要求5所述的面向數(shù)據(jù)無沖突程序的共享數(shù)據(jù)動(dòng)態(tài)更新方法,其特征在于:所述DSUL模塊每次執(zhí)行在動(dòng)態(tài)更新操作后,清空共享數(shù)據(jù)的歷史信息,以收集兩個(gè)同步點(diǎn)之間的共享數(shù)據(jù)的歷史信息。
7.根據(jù)權(quán)利要求1~4中任意一項(xiàng)所述的面向數(shù)據(jù)無沖突程序的共享數(shù)據(jù)動(dòng)態(tài)更新方法,其特征在于,該方法的具體步驟包括:
S1. CPU執(zhí)行訪存指令時(shí),CPU通過TLB表進(jìn)行虛實(shí)地址的轉(zhuǎn)換后生成帶有私有或共享標(biāo)識(shí)信息的訪存請(qǐng)求;
S2. CPU向cache發(fā)送訪存請(qǐng)求,由DSUL模塊對(duì)識(shí)別各個(gè)所述訪存請(qǐng)求的類型進(jìn)行識(shí)別,如果為同步請(qǐng)求,轉(zhuǎn)入執(zhí)行步驟S3;否則判斷請(qǐng)求數(shù)據(jù)是否為共享數(shù)據(jù),如果為共享數(shù)據(jù),DSUL模塊更新對(duì)應(yīng)共享數(shù)據(jù)塊的CPU訪問次數(shù);轉(zhuǎn)入執(zhí)行步驟S4;
S3. DSUL模塊暫停當(dāng)前同步請(qǐng)求,觸發(fā)L1 cache 更新判定為最常被訪問的共享數(shù)據(jù),以及失效L1 cache中判定為不常訪問的共享數(shù)據(jù),更新與失效操作完成之后,DSUL模塊重新發(fā)送暫停的訪存指令給cache控制器;
S4. 讀取數(shù)據(jù)后返回?cái)?shù)據(jù),結(jié)束當(dāng)前訪存操作。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于中國(guó)人民解放軍國(guó)防科技大學(xué),未經(jīng)中國(guó)人民解放軍國(guó)防科技大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201711473691.7/1.html,轉(zhuǎn)載請(qǐng)聲明來源鉆瓜專利網(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)裝置
- 對(duì)可由硬件/軟件接口系統(tǒng)進(jìn)行信息管理的單元的對(duì)等同步化提供沖突處理的系統(tǒng)和方法
- 生成手機(jī)沖突測(cè)試用例的方法及系統(tǒng)
- 用戶裝置、以及沖突檢測(cè)方法
- 一種沖突分析方法
- 一種哈希表數(shù)據(jù)沖突處理方法及裝置
- 一種基于車輛行駛軌跡的交通沖突檢測(cè)方法
- 無線自組網(wǎng)的同步信道沖突檢測(cè)、消解方法、裝置及節(jié)點(diǎn)
- 一種基于飛行計(jì)劃的沖突檢測(cè)方法
- 一種并發(fā)沖突處理方法、裝置及計(jì)算機(jī)存儲(chǔ)介質(zhì)
- 一種道路交叉口安全風(fēng)險(xiǎn)指數(shù)計(jì)算方法
- 功能限制程序、安裝程序生成程序和程序存儲(chǔ)介質(zhì)
- 程序生成系統(tǒng)、程序生成程序和程序生成模塊
- 程序生成系統(tǒng)、程序生成程序和程序生成模塊
- 程序創(chuàng)建裝置,程序創(chuàng)建方法和程序
- 程序生成裝置、程序生產(chǎn)方法及程序
- 程序生成裝置、程序生成程序以及程序生成方法
- 程序生成裝置、程序生成方法及程序生成程序
- 程序開發(fā)支持裝置、程序開發(fā)支持方法以及存儲(chǔ)介質(zhì)
- 程序執(zhí)行輔助裝置、程序執(zhí)行輔助方法及程序執(zhí)行輔助程序
- 程序?qū)φ昭b置、程序?qū)φ辗椒俺绦驅(qū)φ粘绦?/a>





