两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種面向大數(shù)據(jù)應(yīng)用的目錄緩存管理方法

文檔序號(hào):6633059閱讀:265來源:國知局
一種面向大數(shù)據(jù)應(yīng)用的目錄緩存管理方法
【專利摘要】本發(fā)明公開了一種面向大數(shù)據(jù)應(yīng)用的目錄緩存管理方法,屬于目錄緩存管理方法,在末級(jí)共享緩存中增加共享標(biāo)志位與數(shù)據(jù)塊指針,共享標(biāo)志位用來區(qū)分?jǐn)?shù)據(jù)是私有數(shù)據(jù)或是共享數(shù)據(jù),數(shù)據(jù)塊指針用來追蹤私有數(shù)據(jù)在私有緩存中的位置,目錄緩存用來維護(hù)共享數(shù)據(jù)的一致性;基于末級(jí)共享緩存以及目錄緩存將數(shù)據(jù)分成私有數(shù)據(jù)與共享數(shù)據(jù);私有數(shù)據(jù)不占用目錄緩存的空間,通過私有緩存中目錄維護(hù)數(shù)據(jù)一致性;共享數(shù)據(jù)占用目錄緩存空間,通過目錄緩存維護(hù)數(shù)據(jù)一致性。本發(fā)明可以降低目錄緩存的沖突以及替換次數(shù),降低私有數(shù)據(jù)的訪存延遲,提高多核處理器系統(tǒng)的性能。
【專利說明】一種面向大數(shù)據(jù)應(yīng)用的目錄緩存管理方法

【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種目錄緩存管理方法,具體地說是一種面向大數(shù)據(jù)應(yīng)用的目錄緩存管理方法。

【背景技術(shù)】
[0002]隨著網(wǎng)絡(luò)購物、搜索、物聯(lián)網(wǎng)與數(shù)據(jù)挖掘等領(lǐng)域的迅速發(fā)展,數(shù)據(jù)中心所需要處理的數(shù)據(jù)量急劇快速地增長。數(shù)據(jù)中心采用Scale-Out方式擴(kuò)容,操作簡單、成本低,逐漸成為了未來數(shù)據(jù)中心發(fā)展的主流方向。然而,與傳統(tǒng)應(yīng)用相比,Scale-Out類型的應(yīng)用有其特殊之處,第一數(shù)據(jù)集大,Scale-Out類型的應(yīng)用需要處理的數(shù)據(jù)集往往在千兆(M)以上,遠(yuǎn)遠(yuǎn)超出目前處理器片上緩存容量;第二有限共享,Scale-Out類型的應(yīng)用存在數(shù)據(jù)共享,主要集中在指令共享以及任務(wù)通信協(xié)作的共享,數(shù)據(jù)集約為幾兆;第三局部性,Scale-Out類型的應(yīng)用存在局部性,對(duì)于小范圍的數(shù)據(jù)存在較高的數(shù)據(jù)重用。
[0003]傳統(tǒng)的緩存一致性協(xié)議是針對(duì)傳統(tǒng)應(yīng)用程序而設(shè)計(jì)的,針對(duì)Scale-Out類型的應(yīng)用效率不高,存在兩點(diǎn)主要原因:第一目錄抖動(dòng);第二延遲高。目錄抖動(dòng)產(chǎn)生的原因是,目錄的替換策略缺少私有緩存中的數(shù)據(jù)訪問信息,大量的數(shù)據(jù)競爭有限的目錄容量,造成替換了在私有緩存中被經(jīng)常使用的數(shù)據(jù)。高的訪問延遲產(chǎn)生的原因是,對(duì)于私有數(shù)據(jù)本身不需要維護(hù)數(shù)據(jù)一致性,而在傳統(tǒng)設(shè)計(jì)中,需要競爭目錄緩存,而在目錄緩存發(fā)生替換時(shí)存在較長的時(shí)間延遲,嚴(yán)重影響系統(tǒng)性能。


【發(fā)明內(nèi)容】

[0004]本發(fā)明的技術(shù)任務(wù)是提供一種可以降低目錄緩存的沖突以及替換次數(shù),降低私有數(shù)據(jù)的訪存延遲,提高多核處理器系統(tǒng)的性能的一種面向大數(shù)據(jù)應(yīng)用的目錄緩存管理方法。
[0005]本發(fā)明的技術(shù)任務(wù)是按以下方式實(shí)現(xiàn)的:
一種面向大數(shù)據(jù)應(yīng)用的目錄緩存管理方法,在末級(jí)共享緩存(Last-Level-Cache,LLC)中增加共享標(biāo)志位與數(shù)據(jù)塊指針,共享標(biāo)志位用來區(qū)分?jǐn)?shù)據(jù)是私有數(shù)據(jù)或是共享數(shù)據(jù),數(shù)據(jù)塊指針用來追蹤私有數(shù)據(jù)在私有緩存中的位置,目錄緩存(Directory Cache,DC)用來維護(hù)共享數(shù)據(jù)的一致性;基于末級(jí)共享緩存以及目錄緩存將數(shù)據(jù)分成私有數(shù)據(jù)與共享數(shù)據(jù);私有數(shù)據(jù)不占用目錄緩存的空間,通過私有緩存中目錄維護(hù)數(shù)據(jù)一致性;共享數(shù)據(jù)占用目錄緩存空間,通過目錄緩存維護(hù)數(shù)據(jù)一致性。
[0006]共享標(biāo)志位與數(shù)據(jù)塊指針的控制過程如下:共享標(biāo)志位用來標(biāo)志該數(shù)據(jù)在片上是否處于共享狀態(tài),當(dāng)緩存塊處于無效狀態(tài)時(shí)標(biāo)志位不起作用,當(dāng)緩存塊處于有效狀態(tài)時(shí),首次建立的緩存塊默認(rèn)是私有的,此時(shí),數(shù)據(jù)塊指針用來索引該緩存塊在私有緩存中的數(shù)據(jù)備份,如果私有緩存中沒有備份,數(shù)據(jù)塊指針指向空索引(NULL)。
[0007]目錄緩存用來維護(hù)共享數(shù)據(jù)的一致性,具體是指:目錄緩存是一個(gè)采用組相聯(lián)結(jié)構(gòu)的緩存,每個(gè)緩存塊包括標(biāo)簽(TAG)與共享向量(Shared-Vector);共享向量用來記錄共享數(shù)據(jù)在私有緩存中的位置。
[0008]基于末級(jí)共享緩存以及目錄緩存將數(shù)據(jù)分成私有數(shù)據(jù)與共享數(shù)據(jù),具體是指: 一次數(shù)據(jù)訪問根據(jù)末級(jí)共享緩存以及目錄緩存的命中與缺失情況將數(shù)據(jù)塊分為如下四類:
(1)、LLC-Hit及DC-Hit的數(shù)據(jù)塊,其中DC-Hit說明該數(shù)據(jù)塊是共享數(shù)據(jù)、處于共享狀態(tài),此時(shí)LLC中該數(shù)據(jù)的共享標(biāo)志位處于共享狀態(tài);
(2)LLC-Hit及DC-Miss的數(shù)據(jù)塊,其中DC-Miss說明該數(shù)據(jù)塊是私有數(shù)據(jù)、處于私有狀態(tài),此時(shí)LLC中該數(shù)據(jù)塊的共享標(biāo)志位處于私有狀態(tài),但是數(shù)據(jù)塊指針未必有效,允許離處理器更近的私有緩存中沒有數(shù)據(jù)備份;
(3)、LLC-Miss及DC-Hit的數(shù)據(jù)塊,其中DC-Hit說明該數(shù)據(jù)塊是共享數(shù)據(jù)、處于共享狀態(tài),此時(shí)LLC-Miss說明LLC的組織方式是無包含關(guān)系(Non-1nclusive)或者互斥關(guān)系(Exclusive)的;
(4)、LLC-Miss及DC-Miss的數(shù)據(jù)塊,說明該數(shù)據(jù)塊在片上沒有備份,要重新建立緩存,對(duì)于新建立的緩存數(shù)據(jù)默認(rèn)是私有數(shù)據(jù);
在上述四類情況的數(shù)據(jù)塊中,有兩類數(shù)據(jù)塊(I) (3)處于共享狀態(tài),這兩類數(shù)據(jù)塊需要占用目錄緩存的空間;另外兩類(2) (4)處于私有狀態(tài),占用末級(jí)共享緩存的空間,不占用目錄緩存的空間。
[0009]私有數(shù)據(jù)不占用目錄緩存的空間,通過私有緩存中目錄維護(hù)數(shù)據(jù)一致性;共享數(shù)據(jù)占用目錄緩存空間,通過目錄緩存維護(hù)數(shù)據(jù)一致性,具體是指:
(1)、對(duì)于任意一次數(shù)據(jù)訪問,首先訪問末級(jí)共享緩存,如果末級(jí)共享緩存缺失,則訪問目錄緩存,如果目錄緩存缺失,則說明這次訪問請(qǐng)求的是一組新數(shù)據(jù),從內(nèi)存中取數(shù)據(jù)回填到末級(jí)共享緩存,在末級(jí)共享緩存中標(biāo)記上私有數(shù)據(jù),數(shù)據(jù)塊指針指向發(fā)出請(qǐng)求的處理器核,返回?cái)?shù)據(jù)到更高層的私有緩存中,該數(shù)據(jù)塊不在目錄緩存中占用空間;
(2)、對(duì)于任意一次數(shù)據(jù)訪問,如果末級(jí)共享緩存缺失,則需要訪問目錄緩存,如果在目錄緩存中命中,則說明這次訪問請(qǐng)求的是一組共享數(shù)據(jù);如果是寫操作,需要向所有的共享數(shù)據(jù)發(fā)送使無效消息,然后從目錄緩存中退出,向內(nèi)存讀取數(shù)據(jù)保存在末級(jí)共享緩存中,并返回到更高層的私有緩存,在末級(jí)共享緩存中標(biāo)記為私有數(shù)據(jù),數(shù)據(jù)塊指針指向發(fā)出請(qǐng)求的處理器核;如果是讀操作,在目錄緩存的共享向量中對(duì)應(yīng)的位置做標(biāo)記,從內(nèi)存讀取數(shù)據(jù)保存在末級(jí)共享緩存,并返回到更高層的私有緩存,在末級(jí)共享緩存中標(biāo)記為共享數(shù)據(jù),數(shù)據(jù)塊指針指向空索引(NULL);
(3)、對(duì)于任意一次數(shù)據(jù)訪問,如果末級(jí)共享緩存命中,且標(biāo)記為私有數(shù)據(jù),但是請(qǐng)求的處理器核與數(shù)據(jù)塊指針指向的處理器核不同(訪存請(qǐng)求不可能從同一個(gè)處理器核發(fā)出);如果是寫請(qǐng)求,首先根據(jù)一致性協(xié)議維護(hù)一致性(如果是臟數(shù)據(jù)需要回寫,如果是干凈數(shù)據(jù)需要使無效該數(shù)據(jù)),然后,修改數(shù)據(jù)塊指針,最后寫入數(shù)據(jù)到末級(jí)共享緩存;如果是讀請(qǐng)求,需要將數(shù)據(jù)的狀態(tài)改成共享狀態(tài),將數(shù)據(jù)塊指針指向空索引(NULL),然后,在目錄緩存中占用一項(xiàng)紀(jì)錄共享向量;
(4)、對(duì)于任意一次數(shù)據(jù)訪問,如果末級(jí)共享緩存命中,且標(biāo)記為共享狀態(tài);如果是寫操作,首先訪問目錄緩存,根據(jù)共享向量使無效所有私有緩存中的數(shù)據(jù),然后修改標(biāo)記為私有數(shù)據(jù),將數(shù)據(jù)塊指針指向發(fā)出請(qǐng)求的處理器核,寫入數(shù)據(jù)到末級(jí)共享緩存并返回?cái)?shù)據(jù)到更高層的私有緩存;如果是讀操作,訪問目錄緩存,修改共享向量,返回?cái)?shù)據(jù)。
[0010]本發(fā)明的一種面向大數(shù)據(jù)應(yīng)用的目錄緩存管理方法具有以下優(yōu)點(diǎn):可以降低目錄緩存的沖突以及替換次數(shù),降低私有數(shù)據(jù)的訪存延遲,提高多核處理器系統(tǒng)的性能。因而,具有很好的推廣使用價(jià)值。

【具體實(shí)施方式】
[0011 ] 參照具體實(shí)施例對(duì)本發(fā)明的一種面向大數(shù)據(jù)應(yīng)用的目錄緩存管理方法作以下詳細(xì)地說明。
[0012]實(shí)施例1:
本發(fā)明的一種面向大數(shù)據(jù)應(yīng)用的目錄緩存管理方法,在末級(jí)共享緩存(Last-Level-Cache, LLC)中增加共享標(biāo)志位與數(shù)據(jù)塊指針,共享標(biāo)志位用來區(qū)分?jǐn)?shù)據(jù)是私有數(shù)據(jù)或是共享數(shù)據(jù),數(shù)據(jù)塊指針用來追蹤私有數(shù)據(jù)在私有緩存中的位置,目錄緩存(Directory Cache,DC)用來維護(hù)共享數(shù)據(jù)的一致性;基于末級(jí)共享緩存以及目錄緩存將數(shù)據(jù)分成私有數(shù)據(jù)與共享數(shù)據(jù);私有數(shù)據(jù)不占用目錄緩存的空間,通過私有緩存中目錄維護(hù)數(shù)據(jù)一致性;共享數(shù)據(jù)占用目錄緩存空間,通過目錄緩存維護(hù)數(shù)據(jù)一致性。
[0013]共享標(biāo)志位與數(shù)據(jù)塊指針的控制過程如下:共享標(biāo)志位用來標(biāo)志該數(shù)據(jù)在片上是否處于共享狀態(tài),當(dāng)緩存塊處于無效狀態(tài)時(shí)標(biāo)志位不起作用,當(dāng)緩存塊處于有效狀態(tài)時(shí),首次建立的緩存塊默認(rèn)是私有的,此時(shí),數(shù)據(jù)塊指針用來索引該緩存塊在私有緩存中的數(shù)據(jù)備份,如果私有緩存中沒有備份,數(shù)據(jù)塊指針指向
目錄緩存用來維護(hù)共享數(shù)據(jù)的一致性,具體是指:目錄緩存是一個(gè)采用組相聯(lián)結(jié)構(gòu)的緩存,每個(gè)緩存塊包括標(biāo)簽(TAG)與共享向量(Shared-Vector);共享向量用來記錄共享數(shù)據(jù)在私有緩存中的位置。
[0014]基于末級(jí)共享緩存以及目錄緩存將數(shù)據(jù)分成私有數(shù)據(jù)與共享數(shù)據(jù),具體是指: 一次數(shù)據(jù)訪問根據(jù)末級(jí)共享緩存以及目錄緩存的命中與缺失情況將數(shù)據(jù)塊分為如下四類:
(1)、LLC-Hit及DC-Hit的數(shù)據(jù)塊,其中DC-Hit說明該數(shù)據(jù)塊是共享數(shù)據(jù)、處于共享狀態(tài),此時(shí)LLC中該數(shù)據(jù)的共享標(biāo)志位處于共享狀態(tài);
(2)LLC-Hit及DC-Miss的數(shù)據(jù)塊,其中DC-Miss說明該數(shù)據(jù)塊是私有數(shù)據(jù)、處于私有狀態(tài),此時(shí)LLC中該數(shù)據(jù)塊的共享標(biāo)志位處于私有狀態(tài),但是數(shù)據(jù)塊指針未必有效,允許離處理器更近的私有緩存中沒有數(shù)據(jù)備份;
(3)、LLC-Miss及DC-Hit的數(shù)據(jù)塊,其中DC-Hit說明該數(shù)據(jù)塊是共享數(shù)據(jù)、處于共享狀態(tài),此時(shí)LLC-Miss說明LLC的組織方式是無包含關(guān)系(Non-1nclusive)或者互斥關(guān)系(Exclusive)的;
(4)、LLC-Miss及DC-Miss的數(shù)據(jù)塊,說明該數(shù)據(jù)塊在片上沒有備份,要重新建立緩存,對(duì)于新建立的緩存數(shù)據(jù)默認(rèn)是私有數(shù)據(jù);
在上述四類情況的數(shù)據(jù)塊中,有兩類數(shù)據(jù)塊(I) (3)處于共享狀態(tài),這兩類數(shù)據(jù)塊需要占用目錄緩存的空間;另外兩類(2) (4)處于私有狀態(tài),占用末級(jí)共享緩存的空間,不占用目錄緩存的空間。
[0015]實(shí)施例2: 本發(fā)明的一種面向大數(shù)據(jù)應(yīng)用的目錄緩存管理方法,在末級(jí)共享緩存(Last-Level-Cache, LLC)中增加共享標(biāo)志位與數(shù)據(jù)塊指針,共享標(biāo)志位用來區(qū)分?jǐn)?shù)據(jù)是私有數(shù)據(jù)或是共享數(shù)據(jù),數(shù)據(jù)塊指針用來追蹤私有數(shù)據(jù)在私有緩存中的位置,目錄緩存(Directory Cache,DC)用來維護(hù)共享數(shù)據(jù)的一致性;基于末級(jí)共享緩存以及目錄緩存將數(shù)據(jù)分成私有數(shù)據(jù)與共享數(shù)據(jù);私有數(shù)據(jù)不占用目錄緩存的空間,通過私有緩存中目錄維護(hù)數(shù)據(jù)一致性;共享數(shù)據(jù)占用目錄緩存空間,通過目錄緩存維護(hù)數(shù)據(jù)一致性。
[0016]末級(jí)共享緩存(Last-Level-Cache, LLC)包含三部分?jǐn)?shù)據(jù):標(biāo)簽(Tag)、數(shù)據(jù)(Data)與狀態(tài)位(VUDA)。標(biāo)簽(Tag)用來與訪存地址進(jìn)行比較,檢查緩存塊是否命中;數(shù)據(jù)(Data)用來緩存內(nèi)存數(shù)據(jù);狀態(tài)位(VUDA)中的四位分別表示:V (Valid,數(shù)據(jù)有效)、U(Used,數(shù)據(jù)被訪問過)、D (Dirty,數(shù)據(jù)是否為臟)、A (Allocated,緩存塊已經(jīng)被分配)。新增了兩部分?jǐn)?shù)據(jù):數(shù)據(jù)塊指針(Pointer)與共享標(biāo)志位(SV)。其中,數(shù)據(jù)塊指針(Pointer)用來記錄數(shù)據(jù)在哪個(gè)處理器核中有備份;共享標(biāo)志位中的兩位分別表示:S (Shared,數(shù)據(jù)塊處于共享態(tài))、N (NULL,數(shù)據(jù)塊指針指向空索引)。
[0017]共享標(biāo)志位與數(shù)據(jù)塊指針的控制過程如下:共享標(biāo)志位用來標(biāo)志該數(shù)據(jù)在片上是否處于共享狀態(tài),當(dāng)緩存塊處于無效狀態(tài)時(shí)標(biāo)志位不起作用,當(dāng)緩存塊處于有效狀態(tài)時(shí),首次建立的緩存塊默認(rèn)是私有的,此時(shí),數(shù)據(jù)塊指針用來索引該緩存塊在私有緩存中的數(shù)據(jù)備份,如果私有緩存中沒有備份,數(shù)據(jù)塊指針指向
目錄緩存用來維護(hù)共享數(shù)據(jù)的一致性,具體是指:目錄緩存是一個(gè)采用組相聯(lián)結(jié)構(gòu)的緩存,每個(gè)緩存塊包括標(biāo)簽(TAG)與共享向量(Shared-Vector);共享向量用來記錄共享數(shù)據(jù)在私有緩存中的位置。
[0018]基于末級(jí)共享緩存以及目錄緩存將數(shù)據(jù)分成私有數(shù)據(jù)與共享數(shù)據(jù),具體是指: 一次數(shù)據(jù)訪問根據(jù)末級(jí)共享緩存以及目錄緩存的命中與缺失情況將數(shù)據(jù)塊分為如下四類:
(1)、LLC-Hit及DC-Hit的數(shù)據(jù)塊,其中DC-Hit說明該數(shù)據(jù)塊是共享數(shù)據(jù)、處于共享狀態(tài),此時(shí)LLC中該數(shù)據(jù)的共享標(biāo)志位處于共享狀態(tài);
(2)LLC-Hit及DC-Miss的數(shù)據(jù)塊,其中DC-Miss說明該數(shù)據(jù)塊是私有數(shù)據(jù)、處于私有狀態(tài),此時(shí)LLC中該數(shù)據(jù)塊的共享標(biāo)志位處于私有狀態(tài),但是數(shù)據(jù)塊指針未必有效,允許離處理器更近的私有緩存中沒有數(shù)據(jù)備份;
(3)、LLC-Miss及DC-Hit的數(shù)據(jù)塊,其中DC-Hit說明該數(shù)據(jù)塊是共享數(shù)據(jù)、處于共享狀態(tài),此時(shí)LLC-Miss說明LLC的組織方式是無包含關(guān)系(Non-1nclusive)或者互斥關(guān)系(Exclusive)的;
(4)、LLC-Miss及DC-Miss的數(shù)據(jù)塊,說明該數(shù)據(jù)塊在片上沒有備份,要重新建立緩存,對(duì)于新建立的緩存數(shù)據(jù)默認(rèn)是私有數(shù)據(jù);
在上述四類情況的數(shù)據(jù)塊中,有兩類數(shù)據(jù)塊(I) (3)處于共享狀態(tài),這兩類數(shù)據(jù)塊需要占用目錄緩存的空間;另外兩類(2) (4)處于私有狀態(tài),占用末級(jí)共享緩存的空間,不占用目錄緩存的空間。
[0019]私有數(shù)據(jù)不占用目錄緩存的空間,通過私有緩存中目錄維護(hù)數(shù)據(jù)一致性;共享數(shù)據(jù)占用目錄緩存空間,通過目錄緩存維護(hù)數(shù)據(jù)一致性,具體是指:
(I)、對(duì)于任意一次數(shù)據(jù)訪問,首先訪問末級(jí)共享緩存,如果末級(jí)共享緩存缺失,則訪問目錄緩存,如果目錄緩存缺失,則說明這次訪問請(qǐng)求的是一組新數(shù)據(jù),從內(nèi)存中取數(shù)據(jù)回填到末級(jí)共享緩存,在末級(jí)共享緩存中標(biāo)記上私有數(shù)據(jù),數(shù)據(jù)塊指針指向發(fā)出請(qǐng)求的處理器核,返回?cái)?shù)據(jù)到更高層的私有緩存中,該數(shù)據(jù)塊不在目錄緩存中占用空間;
(2)、對(duì)于任意一次數(shù)據(jù)訪問,如果末級(jí)共享緩存缺失,則需要訪問目錄緩存,如果在目錄緩存中命中,則說明這次訪問請(qǐng)求的是一組共享數(shù)據(jù);如果是寫操作,需要向所有的共享數(shù)據(jù)發(fā)送使無效消息,然后從目錄緩存中退出,向內(nèi)存讀取數(shù)據(jù)保存在末級(jí)共享緩存中,并返回到更高層的私有緩存,在末級(jí)共享緩存中標(biāo)記為私有數(shù)據(jù),數(shù)據(jù)塊指針指向發(fā)出請(qǐng)求的處理器核;如果是讀操作,在目錄緩存的共享向量中對(duì)應(yīng)的位置做標(biāo)記,從內(nèi)存讀取數(shù)據(jù)保存在末級(jí)共享緩存,并返回到更高層的私有緩存,在末級(jí)共享緩存中標(biāo)記為共享數(shù)據(jù),數(shù)據(jù)塊指針指向空索引(NULL);
(3)、對(duì)于任意一次數(shù)據(jù)訪問,如果末級(jí)共享緩存命中,且標(biāo)記為私有數(shù)據(jù),但是請(qǐng)求的處理器核與數(shù)據(jù)塊指針指向的處理器核不同(訪存請(qǐng)求不可能從同一個(gè)處理器核發(fā)出);如果是寫請(qǐng)求,首先根據(jù)一致性協(xié)議維護(hù)一致性(如果是臟數(shù)據(jù)需要回寫,如果是干凈數(shù)據(jù)需要使無效該數(shù)據(jù)),然后,修改數(shù)據(jù)塊指針,最后寫入數(shù)據(jù)到末級(jí)共享緩存;如果是讀請(qǐng)求,需要將數(shù)據(jù)的狀態(tài)改成共享狀態(tài),將數(shù)據(jù)塊指針指向空索引(NULL),然后,在目錄緩存中占用一項(xiàng)紀(jì)錄共享向量;
(4)、對(duì)于任意一次數(shù)據(jù)訪問,如果末級(jí)共享緩存命中,且標(biāo)記為共享狀態(tài);如果是寫操作,首先訪問目錄緩存,根據(jù)共享向量使無效所有私有緩存中的數(shù)據(jù),然后修改標(biāo)記為私有數(shù)據(jù),將數(shù)據(jù)塊指針指向發(fā)出請(qǐng)求的處理器核,寫入數(shù)據(jù)到末級(jí)共享緩存并返回?cái)?shù)據(jù)到更高層的私有緩存;如果是讀操作,訪問目錄緩存,修改共享向量,返回?cái)?shù)據(jù)。
[0020]通過上面【具體實(shí)施方式】,所述【技術(shù)領(lǐng)域】的技術(shù)人員可容易的實(shí)現(xiàn)本發(fā)明。但是應(yīng)當(dāng)理解,本發(fā)明并不限于上述的2種【具體實(shí)施方式】。在公開的實(shí)施方式的基礎(chǔ)上,所述【技術(shù)領(lǐng)域】的技術(shù)人員可任意組合不同的技術(shù)特征,從而實(shí)現(xiàn)不同的技術(shù)方案。
【權(quán)利要求】
1.一種面向大數(shù)據(jù)應(yīng)用的目錄緩存管理方法,其特征在于在末級(jí)共享緩存中增加共享標(biāo)志位與數(shù)據(jù)塊指針,共享標(biāo)志位用來區(qū)分?jǐn)?shù)據(jù)是私有數(shù)據(jù)或是共享數(shù)據(jù),數(shù)據(jù)塊指針用來追蹤私有數(shù)據(jù)在私有緩存中的位置,目錄緩存用來維護(hù)共享數(shù)據(jù)的一致性;基于末級(jí)共享緩存以及目錄緩存將數(shù)據(jù)分成私有數(shù)據(jù)與共享數(shù)據(jù);私有數(shù)據(jù)不占用目錄緩存的空間,通過私有緩存中目錄維護(hù)數(shù)據(jù)一致性;共享數(shù)據(jù)占用目錄緩存空間,通過目錄緩存維護(hù)數(shù)據(jù)一致性。
2.根據(jù)權(quán)利要求1所述的一種面向大數(shù)據(jù)應(yīng)用的目錄緩存管理方法,其特征在于共享標(biāo)志位與數(shù)據(jù)塊指針的控制過程如下:共享標(biāo)志位用來標(biāo)志該數(shù)據(jù)在片上是否處于共享狀態(tài),當(dāng)緩存塊處于無效狀態(tài)時(shí)標(biāo)志位不起作用,當(dāng)緩存塊處于有效狀態(tài)時(shí),首次建立的緩存塊默認(rèn)是私有的,此時(shí),數(shù)據(jù)塊指針用來索引該緩存塊在私有緩存中的數(shù)據(jù)備份,如果私有緩存中沒有備份,數(shù)據(jù)塊指針指向空索引。
3.根據(jù)權(quán)利要求1所述的一種面向大數(shù)據(jù)應(yīng)用的目錄緩存管理方法,其特征在于目錄緩存用來維護(hù)共享數(shù)據(jù)的一致性,具體是指:目錄緩存是一個(gè)采用組相聯(lián)結(jié)構(gòu)的緩存,每個(gè)緩存塊包括標(biāo)簽與共享向量;共享向量用來記錄共享數(shù)據(jù)在私有緩存中的位置。
4.根據(jù)權(quán)利要求1所述的一種面向大數(shù)據(jù)應(yīng)用的目錄緩存管理方法,其特征在于基于末級(jí)共享緩存以及目錄緩存將數(shù)據(jù)分成私有數(shù)據(jù)與共享數(shù)據(jù),具體是指: 一次數(shù)據(jù)訪問根據(jù)末級(jí)共享緩存以及目錄緩存的命中與缺失情況將數(shù)據(jù)塊分為如下四類:
及00??!“的數(shù)據(jù)塊,其中00??!“說明該數(shù)據(jù)塊是共享數(shù)據(jù)、處于共享狀態(tài),此時(shí)[仏中該數(shù)據(jù)的共享標(biāo)志位處于共享狀態(tài); (2)及001188的數(shù)據(jù)塊,其中001188說明該數(shù)據(jù)塊是私有數(shù)據(jù)、處于私有狀態(tài),此時(shí)[仏中該數(shù)據(jù)塊的共享標(biāo)志位處于私有狀態(tài); (3),及00!!“的數(shù)據(jù)塊,其中00??!“說明該數(shù)據(jù)塊是共享數(shù)據(jù)、處于共享狀態(tài),此時(shí)說明1(:的組織方式是無包含關(guān)系或者互斥關(guān)系的; (4),110-1188及001188的數(shù)據(jù)塊,說明該數(shù)據(jù)塊在片上沒有備份,要重新建立緩存,對(duì)于新建立的緩存數(shù)據(jù)默認(rèn)是私有數(shù)據(jù); 在上述四類情況的數(shù)據(jù)塊中,有兩類數(shù)據(jù)塊(1)(3)處于共享狀態(tài),這兩類數(shù)據(jù)塊需要占用目錄緩存的空間;另外兩類(2) (4)處于私有狀態(tài),占用末級(jí)共享緩存的空間,不占用目錄緩存的空間。
5.根據(jù)權(quán)利要求1所述的一種面向大數(shù)據(jù)應(yīng)用的目錄緩存管理方法,其特征在于私有數(shù)據(jù)不占用目錄緩存的空間,通過私有緩存中目錄維護(hù)數(shù)據(jù)一致性;共享數(shù)據(jù)占用目錄緩存空間,通過目錄緩存維護(hù)數(shù)據(jù)一致性,具體是指: (0、對(duì)于任意一次數(shù)據(jù)訪問,首先訪問末級(jí)共享緩存,如果末級(jí)共享緩存缺失,則訪問目錄緩存,如果目錄緩存缺失,則說明這次訪問請(qǐng)求的是一組新數(shù)據(jù),從內(nèi)存中取數(shù)據(jù)回填到末級(jí)共享緩存,在末級(jí)共享緩存中標(biāo)記上私有數(shù)據(jù),數(shù)據(jù)塊指針指向發(fā)出請(qǐng)求的處理器核,返回?cái)?shù)據(jù)到更高層的私有緩存中,該數(shù)據(jù)塊不在目錄緩存中占用空間; 口)、對(duì)于任意一次數(shù)據(jù)訪問,如果末級(jí)共享緩存缺失,則需要訪問目錄緩存,如果在目錄緩存中命中,則說明這次訪問請(qǐng)求的是一組共享數(shù)據(jù);如果是寫操作,需要向所有的共享數(shù)據(jù)發(fā)送使無效消息,然后從目錄緩存中退出,向內(nèi)存讀取數(shù)據(jù)保存在末級(jí)共享緩存中,并返回到更高層的私有緩存,在末級(jí)共享緩存中標(biāo)記為私有數(shù)據(jù),數(shù)據(jù)塊指針指向發(fā)出請(qǐng)求的處理器核;如果是讀操作,在目錄緩存的共享向量中對(duì)應(yīng)的位置做標(biāo)記,從內(nèi)存讀取數(shù)據(jù)保存在末級(jí)共享緩存,并返回到更高層的私有緩存,在末級(jí)共享緩存中標(biāo)記為共享數(shù)據(jù),數(shù)據(jù)塊指針指向空索引; (3).對(duì)于任意一次數(shù)據(jù)訪問,如果末級(jí)共享緩存命中,且標(biāo)記為私有數(shù)據(jù),但是請(qǐng)求的處理器核與數(shù)據(jù)塊指針指向的處理器核不同;如果是寫請(qǐng)求,首先根據(jù)一致性協(xié)議維護(hù)一致性,然后,修改數(shù)據(jù)塊指針,最后寫入數(shù)據(jù)到末級(jí)共享緩存;如果是讀請(qǐng)求,需要將數(shù)據(jù)的狀態(tài)改成共享狀態(tài),將數(shù)據(jù)塊指針指向空索引,然后,在目錄緩存中占用一項(xiàng)紀(jì)錄共享向量; “)、對(duì)于任意一次數(shù)據(jù)訪問,如果末級(jí)共享緩存命中,且標(biāo)記為共享狀態(tài);如果是寫操作,首先訪問目錄緩存,根據(jù)共享向量使無效所有私有緩存中的數(shù)據(jù),然后修改標(biāo)記為私有數(shù)據(jù),將數(shù)據(jù)塊指針指向發(fā)出請(qǐng)求的處理器核,寫入數(shù)據(jù)到末級(jí)共享緩存并返回?cái)?shù)據(jù)到更高層的私有緩存;如果是讀操作,訪問目錄緩存,修改共享向量,返回?cái)?shù)據(jù)。
【文檔編號(hào)】G06F12/08GK104461932SQ201410611086
【公開日】2015年3月25日 申請(qǐng)日期:2014年11月4日 優(yōu)先權(quán)日:2014年11月4日
【發(fā)明者】唐士斌 申請(qǐng)人:浪潮電子信息產(chǎn)業(yè)股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
卢氏县| 莱州市| 旅游| 鲜城| 巨鹿县| 封丘县| 南乐县| 柘城县| 柏乡县| 高青县| 浦北县| 体育| 石河子市| 北京市| 安新县| 宁强县| 洛阳市| 株洲市| 德格县| 清镇市| 华坪县| 九寨沟县| 扶风县| 镇原县| 沙田区| 出国| 天峨县| 平乐县| 龙川县| 南召县| 凌海市| 武威市| 城口县| 新邵县| 图们市| 广西| 黔江区| 永修县| 车致| 五河县| 越西县|