麻豆精品无码国产在线播放,国产亚洲精品成人AA片新蒲金,国模无码大尺度一区二区三区,神马免费午夜福利剧场

一種高速緩存同步的方法及裝置制造方法

文檔序號:6621386閱讀:202來源:國知局
一種高速緩存同步的方法及裝置制造方法
【專利摘要】本發(fā)明提供一種高速緩存同步的方法及裝置,該方法包括:將所述多處理器的計算機系統(tǒng)中的處理器劃分為兩個或以上的分區(qū),每個分區(qū)內(nèi)各指定一個處理器核為本分區(qū)的代表節(jié)點;在宿主代理節(jié)點處建立用于存儲高速緩存行的分區(qū)的位置及共享信息的目錄;當(dāng)所述分區(qū)內(nèi)的任一處理器核訪問指定高速緩存行發(fā)生缺失時,在本分區(qū)內(nèi)采用源監(jiān)聽進(jìn)行同步,如通過源監(jiān)聽未能實現(xiàn)同步,則由本分區(qū)的代表節(jié)點向所述宿主代理節(jié)點發(fā)送數(shù)據(jù)請求,由所述宿主代理節(jié)點采用宿主監(jiān)聽進(jìn)行同步。本發(fā)明將多核、多處理器系統(tǒng)的處理器資源進(jìn)行分區(qū)管理,分區(qū)內(nèi)的處理器核依據(jù)源監(jiān)聽協(xié)議方法進(jìn)行高速緩存一致性維護(hù),分區(qū)之間依據(jù)宿主監(jiān)聽協(xié)議方法進(jìn)行高速緩存內(nèi)容一致性維護(hù)。
【專利說明】一種高速緩存同步的方法及裝置

【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計算機體系領(lǐng)域,特別是涉及一種高速緩存同步的方法及裝置。

【背景技術(shù)】
[0002]由于制造工藝、能耗以及漏電限制,單處理器設(shè)計在本世紀(jì)初遭遇到了時鐘頻率墻(frequency wall),通過提升處理器主頻來提升處理器性能變得越來越困難,代價越來越高。因此,處理器廠商提出了多核、多處理器來迎合高性能及嵌入式計算群體。
[0003]多核、多處理器系統(tǒng)中的高速緩存一致性問題是困擾系統(tǒng)結(jié)構(gòu)設(shè)計人員的主要問題。一方面,高速緩存內(nèi)容的一致性直接關(guān)系著系統(tǒng)運行的正確性,使用“過時”的數(shù)據(jù)將導(dǎo)致計算機產(chǎn)生錯誤的運算結(jié)果,甚至導(dǎo)致系統(tǒng)崩潰。另一方面,數(shù)據(jù)的快速獲取與同步對于系統(tǒng)高效運行直觀重要。由于處理器主頻不斷提升,系統(tǒng)集成的處理器核數(shù)越來越大,多核、多處理器系統(tǒng)的計算性能急劇增強,但是存儲系統(tǒng)的性能卻未成比例增加,因此,數(shù)據(jù)訪問速度稱為制約系統(tǒng)性能的“瓶頸”,“低速”的存儲訪問極大的影響了系統(tǒng)的效率和吞吐量。高速緩存正是填補二者性能差異的有效手段,因此,保證高速緩存高效的工作是設(shè)計高性能計算機系統(tǒng)的重要內(nèi)容。高速緩存一致性同步方法的高效實現(xiàn)是保證高速緩存正常工作的基礎(chǔ),也是為處理器快速提供正確數(shù)據(jù)的關(guān)鍵。
[0004]傳統(tǒng)的Cache (高速緩存)一致性同步方法主要包括源監(jiān)聽(source snooping)及宿主監(jiān)聽(home snooping)兩種。在源監(jiān)聽方法中,當(dāng)一個處理器核(稱為緩存代理(Caching Agent,簡稱CA))需要訪問數(shù)據(jù)而該數(shù)據(jù)不在本地高速緩存中或處于沖突狀態(tài)時,需向系統(tǒng)中所有其它的CA廣播監(jiān)聽消息,其它CA收到該消息會檢查自己的本地高速緩存并據(jù)此做出應(yīng)答。這種同步方法的優(yōu)點在于消息傳遞延遲小,每次消息傳遞只需要經(jīng)過兩跳即可返回結(jié)果。其缺點是拓展性差,當(dāng)系統(tǒng)包含的處理器數(shù)目達(dá)到一定規(guī)模后,用于維護(hù)高速緩存一致性的廣播消息將使得總線擁塞不堪,系統(tǒng)性能急劇下降。為此,研究人員提出了另一種高速緩存一致性同步方式一home監(jiān)聽方式。在基于home監(jiān)聽方式的系統(tǒng)中,所有CA發(fā)送的請求被送往home代理(通常為存儲器),home代理適用一個“目錄”記錄Cache行的共享信息,并依據(jù)目錄的內(nèi)容給相關(guān)的CA發(fā)送(請求數(shù)據(jù)或同步)消息,滿足要求的CA根據(jù)消息作出應(yīng)答并提供數(shù)據(jù)。這種同步方式的優(yōu)勢在于減少高速緩存同步消息的廣播,降低總線負(fù)載,拓展性較好,能夠適應(yīng)大規(guī)模系統(tǒng)的需求。缺點是當(dāng)系統(tǒng)規(guī)模較小時,效率不及source監(jiān)聽方式,數(shù)據(jù)訪問需要經(jīng)過三跳,延遲較大。


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

[0005]本發(fā)明要解決的技術(shù)問題是提供一種高速緩存同步的方法及裝置,以緩解單純使用source監(jiān)聽帶來的消息風(fēng)暴問題。
[0006]為了解決上述技術(shù)問題,本發(fā)明提供了一種高速緩存同步的方法,應(yīng)用于多處理器的計算機系統(tǒng),包括:
[0007]將所述多處理器的計算機系統(tǒng)中的處理器劃分為兩個或以上的分區(qū),每個分區(qū)內(nèi)包括兩個或以上的處理器,所述處理器包括一個或多個處理器核,每個分區(qū)內(nèi)各指定一個處理器核為本分區(qū)的代表節(jié)點;
[0008]在宿主代理節(jié)點處建立用于存儲高速緩存行的分區(qū)的位置及共享信息的目錄;
[0009]當(dāng)所述分區(qū)內(nèi)的任一處理器核訪問指定高速緩存行發(fā)生缺失時,在本分區(qū)內(nèi)采用源監(jiān)聽進(jìn)行同步,如通過源監(jiān)聽未能實現(xiàn)同步,則由本分區(qū)的代表節(jié)點向所述宿主代理節(jié)點發(fā)送數(shù)據(jù)請求,由所述宿主代理節(jié)點采用宿主監(jiān)聽進(jìn)行同步。
[0010]進(jìn)一步地,上述方法還具有下面特點:所述由宿主代理節(jié)點采用宿主監(jiān)聽進(jìn)行同步的過程中包括:
[0011]所述宿主代理節(jié)點接收到數(shù)據(jù)請求后,查找所述目錄,如查找到存儲有所述指定高速緩存行數(shù)據(jù)的分區(qū)的位置,則根據(jù)該位置向該存儲有所述指定高速緩存行數(shù)據(jù)的分區(qū)的代表節(jié)點發(fā)送數(shù)據(jù)請求,由所述存儲有所述指定高速緩存行數(shù)據(jù)的分區(qū)的代表節(jié)點在其所在的分區(qū)內(nèi)進(jìn)行源監(jiān)聽。
[0012]進(jìn)一步地,上述方法還具有下面特點:所述存儲有所述指定高速緩存行數(shù)據(jù)的分區(qū)的代表節(jié)點在其所在的分區(qū)內(nèi)進(jìn)行源監(jiān)聽的過程中包括:
[0013]存儲有所述指定高速緩存行數(shù)據(jù)的分區(qū)的代表節(jié)點在其所在的分區(qū)內(nèi)廣播數(shù)據(jù)請求消息;
[0014]該分區(qū)內(nèi)的存儲有所述指定高速緩存行數(shù)據(jù)的處理器核接收到所述數(shù)據(jù)請求消息后發(fā)送數(shù)據(jù)應(yīng)答消息,同時向所述宿主代理節(jié)點發(fā)送表示高速緩存行請求完成消息。
[0015]進(jìn)一步地,上述方法還具有下面特點:將所述多處理器的計算機系統(tǒng)中的處理器分為兩個以上的分區(qū),包括:
[0016]將位于同一套接口中的多個處理器劃入同一分區(qū)。
[0017]進(jìn)一步地,上述方法還具有下面特點:
[0018]所述每個分區(qū)內(nèi)的處理器核小于或等于16個。
[0019]為了解決上述問題,本發(fā)明還提供了一種高速緩存同步的裝置,應(yīng)用于多處理器的計算機系統(tǒng),其中,包括:
[0020]多個處理器,所述處理器包括一個或多個處理器核;宿主代理節(jié)點;
[0021]所述多個處理器劃分為兩個或以上的分區(qū),每個分區(qū)內(nèi)包括兩個或以上的處理器,每個分區(qū)內(nèi)各指定一個處理器核為該分區(qū)的代表節(jié)點;
[0022]所述宿主代理節(jié)點用于建立存儲高速緩存行的分區(qū)的位置及共享信息的目錄;以及當(dāng)收到所述代表節(jié)點的數(shù)據(jù)請求后,采用宿主監(jiān)聽進(jìn)行同步;
[0023]所述處理器核用于當(dāng)訪問指定高速緩存行發(fā)生缺失時,在本分區(qū)內(nèi)采用源監(jiān)聽進(jìn)行同步,如通過源監(jiān)聽未能實現(xiàn)同步,且本處理器核不是代表節(jié)點,則通知本分區(qū)的代表節(jié)點;如果本處理器核是代表節(jié)點,且通過源監(jiān)聽未能實現(xiàn)同步或收到本分區(qū)其它處理器核的通知,則向所述宿主代理節(jié)點發(fā)送數(shù)據(jù)請求。
[0024]進(jìn)一步地,上述裝置還具有下面特點:
[0025]所述宿主代理節(jié)點,采用宿主監(jiān)聽進(jìn)行同步的過程中包括:接收到數(shù)據(jù)請求后,查找所述目錄,如查找到存儲有所述指定高速緩存行數(shù)據(jù)的分區(qū)的位置,則根據(jù)該位置向該存儲有所述指定高速緩存行數(shù)據(jù)的分區(qū)的代表節(jié)點發(fā)送數(shù)據(jù)請求,由所述存儲有所述指定高速緩存行數(shù)據(jù)的分區(qū)的代表節(jié)點在其所在的分區(qū)內(nèi)進(jìn)行源監(jiān)聽。
[0026]進(jìn)一步地,上述裝置還具有下面特點:
[0027]所述存儲有所述指定高速緩存行數(shù)據(jù)的分區(qū)的代表節(jié)點,在其所在的分區(qū)內(nèi)進(jìn)行源監(jiān)聽的過程中包括:在其所在的分區(qū)內(nèi)廣播數(shù)據(jù)請求消息;
[0028]該分區(qū)內(nèi)的存儲有所述指定高速緩存行數(shù)據(jù)的處理器核,接收到所述數(shù)據(jù)請求消息后發(fā)送數(shù)據(jù)應(yīng)答消息,同時向所述宿主代理節(jié)點發(fā)送表示高速緩存行請求完成消息。
[0029]進(jìn)一步地,上述裝置還具有下面特點:
[0030]位于同一套接口中的多個處理器劃入同一分區(qū)。
[0031]進(jìn)一步地,上述裝置還具有下面特點:
[0032]每個分區(qū)內(nèi)的處理器核小于或等于16個。
[0033]綜上,本發(fā)明提供一種高速緩存同步的方法及裝置,將多核、多處理器系統(tǒng)的處理器資源進(jìn)行分區(qū)管理,分區(qū)內(nèi)的處理器核依據(jù)源監(jiān)聽協(xié)議方法進(jìn)行高速緩存一致性維護(hù),分區(qū)之間依據(jù)宿主監(jiān)聽協(xié)議方法進(jìn)行高速緩存內(nèi)容一致性維護(hù)。既可緩解單純使用source監(jiān)聽帶來的消息風(fēng)暴問題,亦可降低數(shù)據(jù)訪問的延遲。

【專利附圖】

【附圖說明】
[0034]圖1為本發(fā)明實施例的高速緩存同步的方法的流程圖。
[0035]圖2為本發(fā)明實施例的對處理器資源分區(qū)管理的示意圖。
[0036]圖3為本發(fā)明實施例一的高速緩存同步的方法的示意圖。
[0037]圖4為本發(fā)明實施例二的高速緩存同步的方法的示意圖。

【具體實施方式】
[0038]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚明白,下文中將結(jié)合附圖對本發(fā)明的實施例進(jìn)行詳細(xì)說明。需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互任意組合。
[0039]圖1為本發(fā)明實施例的高速緩存同步的方法的流程圖,如圖1所示,可以包括以下步驟:
[0040]步驟11、將所述多處理器的計算機系統(tǒng)中的處理器劃分為兩個或以上的分區(qū),每個分區(qū)內(nèi)包括兩個或以上的處理器,所述處理器包括一個或多個處理器核,每個分區(qū)內(nèi)各指定一個處理器核為本分區(qū)的代表節(jié)點;
[0041]步驟12、在宿主代理節(jié)點處建立用于存儲高速緩存行的分區(qū)位置及共享信息的目錄;
[0042]步驟13、當(dāng)分區(qū)內(nèi)的任一處理器核訪問指定高速緩存行發(fā)生缺失時,在本分區(qū)內(nèi)采用源監(jiān)聽進(jìn)行同步,如通過源監(jiān)聽未能實現(xiàn)同步,則由本分區(qū)的代表節(jié)點向所述宿主代理節(jié)點發(fā)送數(shù)據(jù)請求,由所述宿主代理節(jié)點采用宿主監(jiān)聽進(jìn)行同步。
[0043]本發(fā)明實施例提出的高速緩存同步方法,應(yīng)用于多核、多處理器系統(tǒng)高速緩存一致性維護(hù),具有延遲小,拓展性好,目錄開銷小等優(yōu)點,能夠同時滿足小型系統(tǒng)對訪問延遲的要求及大型系統(tǒng)對拓展性的要求。
[0044]本發(fā)明實施例按照系統(tǒng)物理拓?fù)淝闆r將處理器資源分成若干個分區(qū),為每個分區(qū)選定一個代表節(jié)點,由該節(jié)點負(fù)責(zé)分區(qū)內(nèi)的處理器與分區(qū)外處理器的消息傳遞。在分區(qū)內(nèi),處理器間通過廣播傳遞請求,一旦請求無法滿足,則由代表節(jié)點向home代理節(jié)點發(fā)送請求,home代理節(jié)點負(fù)責(zé)轉(zhuǎn)發(fā)請求及更新目錄項。
[0045]為了降低目錄的容量,home代理節(jié)點處目錄僅僅記載Cache行在各個分區(qū)的狀態(tài),而不具體至某個分區(qū)內(nèi)的處理器。一定程度上緩解了數(shù)據(jù)訪問延遲與系統(tǒng)拓展性的矛盾關(guān)系,充分利用了小范圍內(nèi)廣播低延遲以及home監(jiān)聽易于拓展的特性。目錄僅僅記錄Cache行在分區(qū)級別的共享情況,從而緩解了傳統(tǒng)目錄實現(xiàn)方法導(dǎo)致目錄占用空間過大的問題。
[0046]在本實施例的方法中,為了降低全局目錄的開銷及減小相鄰處理器節(jié)點的高速緩存數(shù)據(jù)傳輸及消息傳遞延遲,將處理器資源按照物理拓?fù)浞植嫉摹坝H疏”分為不同的分區(qū)。通常位于同一 socket (套接口)中的處理器劃入同一分區(qū)。在系統(tǒng)規(guī)模一定時,分區(qū)的大小直接決定目錄項的大小,分區(qū)越大,目錄項越小,反之亦然。一般而言,當(dāng)系統(tǒng)規(guī)模較大時,分區(qū)的大小可適度較大,但是也不宜過大,一般不超過16個處理器核。這是因為如果分區(qū)過大,分區(qū)內(nèi)消息廣播過于頻繁,導(dǎo)致總線負(fù)載過大,使得數(shù)據(jù)請求得不到及時響應(yīng),從而不利于系統(tǒng)性能。
[0047]圖1所示的系統(tǒng)包括16個處理器核,被劃分為4個分區(qū),每4個處理器節(jié)點被劃分為一個分區(qū)。每個分區(qū)中的一個處理器節(jié)點(即處理器核)(Caching Agent,簡稱CA)被指定為代表節(jié)點(Representative Node,簡稱RN)。
[0048]在Home代理(home agent)節(jié)點處,同樣需要建立一個目錄結(jié)構(gòu)用于存儲高速緩存行的位置及共享信息。與傳統(tǒng)不同之處在于,每個目錄項包含的位置向量的每一位不再與每個處理器一一對應(yīng),而是與每個分區(qū)對應(yīng)。對于圖1所示的系統(tǒng),如果使用傳統(tǒng)的全映射目錄,需要16位來記錄每個高速緩存行的位置及共享信息,如果該行在某個處理器節(jié)點存在,則將相應(yīng)的位置1,否則置O。相反,如果使用本發(fā)明實施例的方法,則只需4位即可,假設(shè)某個分區(qū)中的一個或多個處理器節(jié)點具有該高速緩存的拷貝,則將其對應(yīng)位置1,否則置O。可見,對于一個包含16個處理器節(jié)點的系統(tǒng),每個目錄項可節(jié)省12位,假若系統(tǒng)高速緩存包含IM個Cache行,則使用分區(qū)管理方法可節(jié)約12M的目錄空間。
[0049]圖2為本發(fā)明實施例一的高速緩存同步的方法的示意圖,本實施例中,處理器節(jié)點數(shù)據(jù)請求在同一分區(qū)其它節(jié)點中命中的過程,包括如下步驟:
[0050]步驟101:當(dāng)分區(qū)O內(nèi)的節(jié)點CAl訪問高速緩存行X發(fā)生缺失時,其向分區(qū)內(nèi)的其它CA (本例中為CAO、CA2及CA3)廣播消息,請求包含X合法拷貝的節(jié)點提供數(shù)據(jù);
[0051]步驟102:同一分區(qū)內(nèi)的其它CA(本例中為分區(qū)O內(nèi)的CA0、CA2及CA3)接收到該請求后,檢查本地高速緩存是否存在目標(biāo)行X。由于CA3存在X的拷貝,因此,其向CAl發(fā)送X的拷貝,同時向代表節(jié)點RN(本例中為CA0)發(fā)送數(shù)據(jù)請求確認(rèn)消息,告知RN高速緩存行請求在分區(qū)內(nèi)滿足。RN收到該消息后,不向home代理發(fā)送請求。高速緩存行請求過程結(jié)束。
[0052]圖3為本發(fā)明實施例二的高速緩存同步的方法的示意圖,本實施例中,處理器節(jié)點數(shù)據(jù)請求在不同分區(qū)其它節(jié)點命中的過程,其步驟如下:
[0053]步驟201:當(dāng)分區(qū)O內(nèi)的節(jié)點CAl訪問高速緩存行X發(fā)生缺失時,其向分區(qū)內(nèi)的其它CA (本例中為CAO、CA2及CA3)廣播消息,請求包含X合法拷貝的節(jié)點提供數(shù)據(jù);
[0054]步驟202:同一分區(qū)內(nèi)的其它CA (本例中為分區(qū)O內(nèi)的CA0、CA2及CA3)接收到該請求后,檢查本地高速緩存是否存在目標(biāo)行X。結(jié)果顯示,分區(qū)O內(nèi)的其它CA均不存在X的拷貝,高速緩存行請求在本分區(qū)中缺失。分區(qū)O內(nèi)的其它CA向CAO發(fā)送不存在X的拷貝的消息。
[0055]步驟203:分區(qū)O的代表節(jié)點CAO向home代理節(jié)點轉(zhuǎn)發(fā)高速緩存行X請求消息;
[0056]步驟204:home代理節(jié)點接收到該消息后查找目錄,發(fā)現(xiàn)X對應(yīng)的共享信息位為0010,即分區(qū)2包含X的數(shù)據(jù)拷貝,因此home代理節(jié)點向分區(qū)2的代表節(jié)點的數(shù)據(jù)請求消息,分區(qū)2的代表節(jié)點向本分區(qū)內(nèi)的CA發(fā)送snoop廣播消息;
[0057]步驟205:分區(qū)2內(nèi)的CA接收至該snoop消息后,查找本地高速緩存,查找結(jié)果顯示,CAl包含X的拷貝。CAl向分區(qū)O的CAl發(fā)送數(shù)據(jù)應(yīng)答消息,同時向home代理節(jié)點發(fā)送消息表示高速緩存行請求完成。Home代理節(jié)點接收到該消息后更新目錄中X對應(yīng)的分區(qū)共享信息。
[0058]本發(fā)明實施例還提供一種高速緩存同步的裝置,應(yīng)用于多處理器的計算機系統(tǒng),其中,包括:
[0059]多個處理器,所述處理器包括一個或多個處理器核;宿主代理節(jié)點;
[0060]所述多個處理器劃分為兩個或以上的分區(qū),每個分區(qū)內(nèi)包括兩個或以上的處理器,每個分區(qū)內(nèi)各指定一個處理器核為該分區(qū)的代表節(jié)點;
[0061]所述宿主代理節(jié)點用于建立存儲高速緩存行的分區(qū)的位置及共享信息的目錄;以及當(dāng)收到所述代表節(jié)點的數(shù)據(jù)請求后,采用宿主監(jiān)聽進(jìn)行同步;
[0062]所述處理器核用于當(dāng)訪問指定高速緩存行發(fā)生缺失時,在本分區(qū)內(nèi)采用源監(jiān)聽進(jìn)行同步,如通過源監(jiān)聽未能實現(xiàn)同步,且本處理器核不是代表節(jié)點,則通知本分區(qū)的代表節(jié)點;如果本處理器核是代表節(jié)點,且通過源監(jiān)聽未能實現(xiàn)同步或收到本分區(qū)其它處理器核的通知,則向所述宿主代理節(jié)點發(fā)送數(shù)據(jù)請求。
[0063]其中,所述宿主代理節(jié)點,采用宿主監(jiān)聽進(jìn)行同步的過程中可以包括:接收到數(shù)據(jù)請求后,查找所述目錄,如查找到存儲有所述指定高速緩存行數(shù)據(jù)的分區(qū)的位置,則根據(jù)該位置向該存儲有所述指定高速緩存行數(shù)據(jù)的分區(qū)的代表節(jié)點發(fā)送數(shù)據(jù)請求,由所述存儲有所述指定高速緩存行數(shù)據(jù)的分區(qū)的代表節(jié)點在其所在的分區(qū)內(nèi)進(jìn)行源監(jiān)聽。
[0064]其中,所述存儲有所述指定高速緩存行數(shù)據(jù)的分區(qū)的代表節(jié)點,在其所在的分區(qū)內(nèi)進(jìn)行源監(jiān)聽的過程中包括:在其所在的分區(qū)內(nèi)廣播數(shù)據(jù)請求消息;
[0065]該分區(qū)內(nèi)的存儲有所述指定高速緩存行數(shù)據(jù)的處理器核,接收到所述數(shù)據(jù)請求消息后發(fā)送數(shù)據(jù)應(yīng)答消息,同時向所述宿主代理節(jié)點發(fā)送表示高速緩存行請求完成消息。
[0066]本實施例中,可以將位于同一套接口中的多個處理器劃入同一分區(qū),每個分區(qū)內(nèi)的處理器核小于或等于16個。
[0067]本領(lǐng)域普通技術(shù)人員可以理解上述方法中的全部或部分步驟可通過程序來指令相關(guān)硬件完成,所述程序可以存儲于計算機可讀存儲介質(zhì)中,如只讀存儲器、磁盤或光盤等。可選地,上述實施例的全部或部分步驟也可以使用一個或多個集成電路來實現(xiàn)。相應(yīng)地,上述實施例中的各模塊/單元可以采用硬件的形式實現(xiàn),也可以采用軟件功能模塊的形式實現(xiàn)。本發(fā)明不限制于任何特定形式的硬件和軟件的結(jié)合。
[0068]以上僅為本發(fā)明的優(yōu)選實施例,當(dāng)然,本發(fā)明還可有其他多種實施例,在不背離本發(fā)明精神及其實質(zhì)的情況下,熟悉本領(lǐng)域的技術(shù)人員當(dāng)可根據(jù)本發(fā)明作出各種相應(yīng)的改變和變形,但這些相應(yīng)的改變和變形都應(yīng)屬于本發(fā)明所附的權(quán)利要求的保護(hù)范圍。
【權(quán)利要求】
1.一種高速緩存同步的方法,應(yīng)用于多處理器的計算機系統(tǒng),包括: 將所述多處理器的計算機系統(tǒng)中的處理器劃分為兩個或以上的分區(qū),每個分區(qū)內(nèi)包括兩個或以上的處理器,所述處理器包括一個或多個處理器核,每個分區(qū)內(nèi)各指定一個處理器核為本分區(qū)的代表節(jié)點; 在宿主代理節(jié)點處建立用于存儲高速緩存行的分區(qū)的位置及共享信息的目錄; 當(dāng)所述分區(qū)內(nèi)的任一處理器核訪問指定高速緩存行發(fā)生缺失時,在本分區(qū)內(nèi)采用源監(jiān)聽進(jìn)行同步,如通過源監(jiān)聽未能實現(xiàn)同步,則由本分區(qū)的代表節(jié)點向所述宿主代理節(jié)點發(fā)送數(shù)據(jù)請求,由所述宿主代理節(jié)點采用宿主監(jiān)聽進(jìn)行同步。
2.如權(quán)利要求1所述的方法,其特征在于,所述由宿主代理節(jié)點采用宿主監(jiān)聽進(jìn)行同步的過程中包括: 所述宿主代理節(jié)點接收到數(shù)據(jù)請求后,查找所述目錄,如查找到存儲有所述指定高速緩存行數(shù)據(jù)的分區(qū)的位置,則根據(jù)該位置向該存儲有所述指定高速緩存行數(shù)據(jù)的分區(qū)的代表節(jié)點發(fā)送數(shù)據(jù)請求,由所述存儲有所述指定高速緩存行數(shù)據(jù)的分區(qū)的代表節(jié)點在其所在的分區(qū)內(nèi)進(jìn)行源監(jiān)聽。
3.如權(quán)利要求2所述的方法,其特征在于,所述存儲有所述指定高速緩存行數(shù)據(jù)的分區(qū)的代表節(jié)點在其所在的分區(qū)內(nèi)進(jìn)行源監(jiān)聽的過程中包括: 存儲有所述指定高速緩存行數(shù)據(jù)的分區(qū)的代表節(jié)點在其所在的分區(qū)內(nèi)廣播數(shù)據(jù)請求消息; 該分區(qū)內(nèi)的存儲有所述指定高速緩存行數(shù)據(jù)的處理器核接收到所述數(shù)據(jù)請求消息后發(fā)送數(shù)據(jù)應(yīng)答消息,同時向所述宿主代理節(jié)點發(fā)送表示高速緩存行請求完成消息。
4.如權(quán)利要求1所述的方法,其特征在于,將所述多處理器的計算機系統(tǒng)中的處理器分為兩個以上的分區(qū),包括: 將位于同一套接口中的多個處理器劃入同一分區(qū)。
5.如權(quán)利要求1-4任一項所述的方法,其特征在于, 所述每個分區(qū)內(nèi)的處理器核小于或等于16個。
6.一種高速緩存同步的裝置,應(yīng)用于多處理器的計算機系統(tǒng),其特征在于,包括: 多個處理器,所述處理器包括一個或多個處理器核;宿主代理節(jié)點; 所述多個處理器劃分為兩個或以上的分區(qū),每個分區(qū)內(nèi)包括兩個或以上的處理器,每個分區(qū)內(nèi)各指定一個處理器核為該分區(qū)的代表節(jié)點; 所述宿主代理節(jié)點用于建立存儲高速緩存行的分區(qū)的位置及共享信息的目錄;以及當(dāng)收到所述代表節(jié)點的數(shù)據(jù)請求后,采用宿主監(jiān)聽進(jìn)行同步; 所述處理器核用于當(dāng)訪問指定高速緩存行發(fā)生缺失時,在本分區(qū)內(nèi)采用源監(jiān)聽進(jìn)行同步,如通過源監(jiān)聽未能實現(xiàn)同步,且本處理器核不是代表節(jié)點,則通知本分區(qū)的代表節(jié)點;如果本處理器核是代表節(jié)點,且通過源監(jiān)聽未能實現(xiàn)同步或收到本分區(qū)其它處理器核的通知,則向所述宿主代理節(jié)點發(fā)送數(shù)據(jù)請求。
7.如權(quán)利要求6所述的裝置,其特征在于, 所述宿主代理節(jié)點,采用宿主監(jiān)聽進(jìn)行同步的過程中包括:接收到數(shù)據(jù)請求后,查找所述目錄,如查找到存儲有所述指定高速緩存行數(shù)據(jù)的分區(qū)的位置,則根據(jù)該位置向該存儲有所述指定高速緩存行數(shù)據(jù)的分區(qū)的代表節(jié)點發(fā)送數(shù)據(jù)請求,由所述存儲有所述指定高速緩存行數(shù)據(jù)的分區(qū)的代表節(jié)點在其所在的分區(qū)內(nèi)進(jìn)行源監(jiān)聽。
8.如權(quán)利要求7所述的裝置,其特征在于, 所述存儲有所述指定高速緩存行數(shù)據(jù)的分區(qū)的代表節(jié)點,在其所在的分區(qū)內(nèi)進(jìn)行源監(jiān)聽的過程中包括:在其所在的分區(qū)內(nèi)廣播數(shù)據(jù)請求消息; 該分區(qū)內(nèi)的存儲有所述指定高速緩存行數(shù)據(jù)的處理器核,接收到所述數(shù)據(jù)請求消息后發(fā)送數(shù)據(jù)應(yīng)答消息,同時向所述宿主代理節(jié)點發(fā)送表示高速緩存行請求完成消息。
9.如權(quán)利要求6所述的裝置,其特征在于, 位于同一套接口中的多個處理器劃入同一分區(qū)。
10.如權(quán)利要求6-9任一項所述的裝置,其特征在于, 每個分區(qū)內(nèi)的處理器核小于或等于16個。
【文檔編號】G06F12/08GK104239270SQ201410360196
【公開日】2014年12月24日 申請日期:2014年7月25日 優(yōu)先權(quán)日:2014年7月25日
【發(fā)明者】陳繼承, 倪璠, 王洪偉 申請人:浪潮(北京)電子信息產(chǎn)業(yè)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
主站蜘蛛池模板: 昌吉市| 靖安县| 穆棱市| 东方市| 遂平县| 桦川县| 县级市| 会东县| 贵定县| 高青县| 密云县| 南郑县| 林州市| 庆安县| 略阳县| 汾阳市| 清镇市| 安图县| 昌都县| 姜堰市| 久治县| 吉水县| 巴塘县| 左云县| 余干县| 随州市| 通榆县| 垫江县| 兴山县| 南木林县| 黑龙江省| 平度市| 凭祥市| 阿克苏市| 滦平县| 禹州市| 玛曲县| 嘉定区| 南川市| 北海市| 安顺市|