新四季網

應用層高速緩存映像知曉和再分配的系統和方法

2023-04-29 16:23:11

專利名稱:應用層高速緩存映像知曉和再分配的系統和方法
技術領域:
本發明與數據處理有關,具體地說,與數據處理系統內高速緩存訪問機制有關。
背景技術:
傳統的多處理器數據處理系統可以包括一個系統總線,這個系統總線上接有一個系統存儲器和若干個各可以包括一個處理器和一級或多級高速緩衝存儲器的處理單元。高速緩存是用來以不同的等待時間存儲數據處理系統的主存儲器的子集的暫時存儲器材。在一個高速緩存體系的各級,要在給定的體系這級的高速緩存的容量與訪問等待時間之間進行折衷。直接接到一個處理單元上的高速緩存通常稱為第一級或「L1」高速緩存,通常具有最小的等待時間,但在各高速緩存中是最小的。類似,體系中處在最低級的高速緩存通常具有較大的存儲容量,一般要比L1高速緩存大一兩個數量級,但是具有較大的訪問等待時間。
通常的情況是(雖然不一定是)處在高速緩存體系內較低級別的高速緩存含有在處在高速緩存體系內較高級別的這些高速緩存內含有的所有數據的一個拷貝。這種屬性稱為「蘊含(inclusion)」,這必然導致要求一個處在高速緩存體系的較低級別的高速緩存至少要有處在體系的比它高一級的高速緩存那樣大,以便使這個較低級的高速緩存包括存儲器的高速緩存在高一級高速緩存內的內容。如熟悉該技術的人員所周知,按照可用的實現技術構成一個使高速緩存體系各級的訪問等待時間和容量最優化的多級高速緩存體系可以使系統性能達到最佳。
一個處在體系的給定級別的高速緩存通常的由若干部分組成,包括一個高速緩存目錄陣列、一個高速緩存數據陣列和更新和管理本高速緩存所必需的那些功能邏輯單元。高速緩存的數據陣列部分是一組用來存儲主存儲器一些部分的拷貝的數據存儲元。數據陣列被分成一系列所謂的「高速緩存塊」。這些高速緩存塊是用來存放數據處理系統內主存儲器的一些連續部分的拷貝。這些塊通常容量各為128位元組的量級,配置成一些通常各由8到16個塊組成的組(set)。整個數據陣列含有若干個這樣的組。在將存儲器的一部分內容放在高速緩存內時,通常用存儲器的塊的地址的一些比特作為指向高速緩存組的索引,確定存儲器的塊要裝入的組。也就是說,數據處理系統內主存儲器的每個連續排列的部分映像到一個特定的組。在高速緩存組內,使用各種分配策略從組內這些構件中選出裝入這個塊的構件。概括地說,數據陣列被分成多個各含有多個高速緩存塊的高速緩存組。存儲器內任何給定的塊通常指配到一個由與主存儲器內這個塊的地址相應的一些地址比特的映像功能選擇的特定的組內的某個所選的塊。
高速緩存通常還包括一個高速緩存目錄陣列。這個陣列包括列出整個數據處理系統存儲器的當前在本高速緩存內存在的部分和它們的處理狀態的薄記信息(bookkeeping information)。典型的是,高速緩存數據陣列內的每個塊在高速緩存目錄陣列內也有一個相應的表項,列出主存儲器的在本高速緩存數據塊內存在的部分和它的處理狀態。每個目錄表項通常包括若干段,可以是包括TAG(標籤)段、STATE(狀態)段、LRU(最近最少使用)段、INCLUSION(蘊含)段和ECC(糾錯檢錯)段。
目錄表項內的TAG段相應於確定在與這個目錄表項關聯的高速緩存數據陣列表項內存在的是主存儲器內的哪個塊所必需的那些高位地址比特。TAG段通常在一個高速緩存目錄表項內佔了大部分比特。STATE段通常指出本高速緩存行的處理STATE。例如,這段通常用來按照諸如眾所周知的「MESI」協議之類的某個高速緩存相關性協議維護高速緩存塊的高速緩存相關性狀態。LRU段通常含有最近訪問高速緩存行的情況的信息,用來在高速緩存組內分配新地址的高速緩存塊時指導高速緩存塊替換策略。最後,蘊含段通常指示在上一級高速緩存內是否存在當前的高速緩存塊。熟悉該技術的人員可以理解,在這裡所述的目錄表項的格式和內容僅僅是可行的一種典型格式。
為了使較大而級別較低的高速緩存不劇烈增加高速緩存目錄陣列的開銷,通常使用一種稱為「分段(sectoring)」的技術。在分段中,一個級別較低的高速緩存內的高速緩存塊通常包括若干不同的「段(sector)」。也就是說,在級別較低的高速緩存內,將如上面所說明的這些高速緩存塊進一步分成兩個或更多個同樣大小的子區。這些段通常在容量上等於高速緩存體系內比本高速緩存高一級的高速緩存的高速緩存塊容量。
此外,每個段通常可以單獨處置和管理。例如,一個高速緩存塊中的一個段可能存在於較低級的高速緩存內,而另一個段可能不存在。為了支持對各段的獨立處理,目錄表項通常格式化成包括每個段的STATE段。重要的是,在高速緩存目錄表項內佔高速緩存目錄表項容量大部分的單個TAG段現在相應於一個較大的高速緩存塊。也就是說,帶有按照段附加的一些STATE段的同樣數量的目錄表項可以在同樣的高速緩存目錄區域內支持比以不分段的對於每個段會需要一個附加的TAG段的實現方式可以支持的大的高速緩存。
最後,高速緩存還含有一些功能邏輯隊列,這些隊列包括更新高速緩存、為較高級的高速緩存或處理單元提供數據和承受來自系統互連或較低級的高速緩存的窺探(snoop)請求所必需的功能邏輯。這些功能隊列通常分成讀隊列和窺探隊列兩類隊列,分別處理來自較高級的高速緩存或處理單元的請求或者來自系統互連或較低級的高速緩存的請求。作為它們的一部分功能,這些隊列負責更新高速緩存數據陣列和目錄陣列。
現在所用的優化高速緩存性能的方法包括對準和高速緩存行填充。在高速緩存內還可以用大的頁來提供均勻分配。這三個途徑各有各的不能令人滿意的問題。對準在高速緩存內雖然提供了對象分離(例如,兩個塊分開在兩個高速緩存行上,以避免衝突),但可用的高速緩存資源由於大量未使用的空間而利用率不高。高速緩存行填充也存在類似的問題。大的頁提供較好的分配,因為大的頁內的實際地址相繼映像入一些全等類組(congruence class set)。然而,在一些大頁映像成為相同時,多個大頁導致在高速緩存內的衝突。此外,任何應用的訪問模式可能不是整個在理論上都適合大頁的(例如,應用可以得益於交織高速緩存內的對象)。

發明內容
考慮到現有高速緩存優化技術的上述缺點,本發明提供了一種得到改善的可以優化高速緩存利用率的方法、系統和電腦程式產品。在一個實施例中,應用向內核業務(kernel service)請求內核高速緩存映像(image),然後接收到這個內核高速緩存映像。應用為來自所述應用的數據集設計最佳的高速緩存覆蓋區(cache footprint)。從以下詳細說明中可以清楚地看到本發明的目的、優點和特色。
在本發明的一個實施例中,應用將存儲器再分配命令(order)發送給存儲器管理器。
在本發明的一個實施例中,應用將一個存儲器再分配命令發送給存儲器管理器的步驟進一步包括應用將一個含有最佳的高速緩存覆蓋區的存儲器再分配命令發送給存儲器管理器的步驟。
在本發明的一個實施例中,應用將一個存儲器再分配命令發送給存儲器管理器的步驟進一步包括應用將一個含有最佳的高速緩存覆蓋區的存儲器再分配命令發送給存儲器管理器內的再分配服務工具的步驟。


在所附權利要求書中給出了相信是新穎的本發明特徵。然而,從以下結合附圖對本發明的例示性實施例的詳細說明中可以更好地理解本發明本身以及它的優選使用模式、其他目的和優點。在這些附圖中圖1示出了一個可以有益地應用本發明的多處理器數據處理系統的例示性實施例;圖2為按照本發明設計的分成段的高速緩存的高層方框圖;圖3為例示按照本發明的一個實施例設計的內核業務的軟體層示意圖;圖4為例示按照本發明的一個優選實施例設計的請求和接收內核產生的高速緩存映像和設計高速緩存再分配方案的過程的高層邏輯流程圖;圖5為按照本發明的一個實施例設計的使內核業務形成高速緩存映像發送給應用的過程的高層邏輯流程圖;以及圖6為按照本發明的一個實施例設計的使內核業務響應來自應用的請求再分配高速緩存資源的過程的高層邏輯流程圖。
具體實施例方式
下面來看這些附圖,特別是圖1,圖中例示了按照本發明設計的一個多處理器數據處理系統的高層方框圖。如圖所示,數據處理系統100包括若干個接到系統互連裝置112上進行通信的處理單元110a-110c。處理單元110a-110c各是一個包括一個或多個處理器114a-114c的集成電路。除了用來執行程序指令的寄存器、指令流邏輯和執行單元之外,處理器114a-114c各自還包括一個暫時存儲所關聯的處理器114a-114c可能要訪問的指令和數據的第一級(L1)高速緩存116a-116c。雖然在圖1中將L1高速緩存116a-116c例示為存儲指令和數據(以下將這兩者統稱為數據)的統一的高速緩存,但是熟悉該技術的人員可以理解,L1高速緩存116a-116c也可以實現為指令和數據分為兩支的高速緩存。
如圖1中還示出的,數據處理系統100的存儲體系還包括一些形成存儲體系內級別最低的易失性數據存儲器的分布系統存儲器122a-122c和一級或多級級別較低的高速緩存,諸如晶片上的第二級(L2)高速緩存118a-118c和晶片外的L3高速緩存120a-120c,用來存儲系統存儲器122a-122c給處理器114a-114c的數據。此外,處理器114a-114c各包括一個轉換後援緩衝器(translation lookaside buffer,TLB)128a-128c,用來高速緩存來自分布於各系統存儲器122a-122c的分布頁幀表126a-126c的表項的拷貝。
如熟悉該技術的人員所理解的,存儲器體系的各級別較低的存儲器通常能存儲比級別較高的存儲器更多的數據,但訪問等待時間較長。例如,在一個典型的實施例中,L1高速緩存116a-116c可以各具有512個64位元組的高速緩存行,總存儲容量為32K字節(kB),等待時間為單個周期。L2高速緩存118a-118c可以各具有2048個128位元組的高速緩存行,總存儲容量為256kB,而等待時間為10個周期左右。L3高速緩存120a-120c可以各具有4096個256位元組的高速緩存行,總存儲容量為1MB,等待時間為40-60個周期左右。最後,系統存儲器122a-122c各可以存儲幾十或幾百兆字節的數據,等待時間更長,例如為300-400個周期。存儲器體系的各級之間的訪問等待時間差別那樣大,因此有益的是儘量減少對存儲器體系內級別較低的特別是對系統存儲器122a-122c的訪問。
系統互連裝置112可以包括一個或多個總線或一個交叉點交換器,用作在處理單元110a-110c和其他接到系統互連裝置上的窺探裝置(例如,L3高速緩存120a-120c)之間事務通信的渠道。系統互連裝置112上的典型事務以一個請求開始,這個請求可以包括一個指出事務類型的事務段、一些分別指出事務的源和預定接收方的源和目的地標籤和一個地址和/或數據。優選的是,接到系統互連裝置112上的每個裝置窺探系統互連裝置112上的所有事務,如果適當的話就用一個窺探響應來響應這個請求。這樣一些窺探響應由響應邏輯124接收和彙編,提供一個組合響應,指出每個窺探裝置在響應這個請求中需採取的行動(如果有的話)。這些行動可以包括將數據送到系統互連裝置112上、存儲由請求的窺探裝置提供的數據等。
熟悉該技術的人員可以理解,數據處理系統100可以包括許多其他組成部分,諸如與其他互連裝置互連的橋接器、I/O設備、非易失性存儲器和連接網絡或附屬設備的埠之類。由於這些其他組成部分對於理解本發明並不是必需的,因此在圖1中沒有示出,在這裡也不再進一步說明。
現在來看圖2,圖中示出了一個可以用來實現按照本發明所設計的任何L1高速緩存116、L2高速緩存118和L3高速緩存120的高速緩存230的例示性實施例的較為詳細的方框圖。在這個例示性實施例中,高速緩存230是一個4路組關聯高速緩存(four-way set associativecashe),包括一個目錄陣列232、一個數據陣列234和一個高速緩存控制器236。因此,高速緩存230的數據陣列234包括一系列各含有四路存儲高速緩存行的全等類(或組)。如在傳統的組關聯高速緩存中那樣,用系統存儲器地址內的一些預定的索引比特將系統存儲器222內的存儲單元映像到數據陣列234內的特定的全等類(或組)。
還如圖2所示,數據陣列234內的每個高速緩存行分成一個或多個可以單獨訪問和修改的段238a-238n。雖然本發明並不需要,但如果每個高速緩存所用的段容量與所關聯的比它高一級的高速緩存(如果有的話)的高速緩存行容量相同的話是很方便的。例如,如果L1高速緩存216具有64位元組的高速緩存行,L2高速緩存218和L3高速緩存220優選的是分別配置成提供256位元組(四個64位元組的段)和512位元組(四個128位元組的段)的高速緩存行。
存儲在數據陣列234內的高速緩存行記錄在高速緩存目錄陣列232內,高速緩存目錄陣列232含有數據陣列234內每個高速緩存塊一個的目錄表項。每個目錄表項包括一個標籤(TAG)段240、一個或多個狀態(STATUS)段242a-242n、一個最近最少使用(LRU)段244、一個蘊含(I)段246和一個ECC段268。標籤段240通過存儲高速緩存行的系統存儲器地址的標籤比特標明在數據陣列234的相應塊內存儲的是哪個高速緩存行。狀態段242用預定的比特組合分別指出存儲在數據陣列234的相應塊內的高速緩存行的每個段的相關性和/或一致性狀態。LRU段244指出數據陣列234的相應塊相對它的全等類內其他塊最近受到訪問的情況,從而指出在高速緩存未命中的情況下應該從全等類內收回哪個高速緩存行。令牌(TOKEN)段269存放令牌數據,情況如下面結合圖3所說明的。
蘊含段246指出存儲在數據陣列234的相應路內的高速緩存行的每個段是否也存儲在存儲器體系的低一級的局部存儲單元(即,高速緩存或系統存儲器)內。最後,ECC段268提供一些校驗比特,用來校正和/或檢測高速緩存目錄表項內的軟比特差錯。應注意的是,對目錄表項內的任何段或子段的更新要求根據目錄表項內所有各段的新的值重新計算ECC段的值。
還如圖2所示,高速緩存控制器236管理在數據陣列234內的數據存儲和檢索,響應從存儲器體系的所關聯的部分接收到的信號和在互連裝置212上窺探到的事務更新高速緩存目錄232。如所示出的那樣,高速緩存控制器236維護一個讀隊列250和一個窺探隊列252,根據讀隊列250和窺探隊列252執行對高速緩存目錄232的更新和對數據陣列234的訪問。
響應一個接收到的操作,一個窺探隊列或讀隊列通常執行若干個子任務,更新(如果必要的話)高速緩存目錄陣列232隻是其中一個子任務。這些子任務可以包括使級別較高的高速緩存目錄無效、從高速緩存數據陣列234讀取高速緩存數據,以及插入、傳送或推進高速緩存數據等。一些較高層的相關性通常要求包括目錄陣列更新在內的子任務以某個次序執行,使得一些子任務不相互交疊。
現在來看圖3,圖中以方框圖示出了按照本發明的一個實施例交互作用的一組數據處理操作。如圖3所示,這種軟體配置包括與數據處理系統100的底層硬體交互作用的固件300。這種軟體配置還包括一個作業系統302、一組應用程式接口(API)306和一些應用308a-308c。
在作業系統302內,內核304提供一組內核業務310-318。這些內核業務中第一內核業務是提供內時鐘的時鐘服務310。中斷內核業務312提供中斷服務。任務管理內核業務314平衡任務之間的資源。數據流和I/O內核業務316提供與各I/O單元互動服務。存儲器管理器318為各任務分配諸如分布系統存儲器122a-122c、L2高速緩存118a-118c和L3高速緩存120a-120c之類的存儲資源。熟悉該技術的人員很快就可以認識到還可以包含一些其他未示出的內核業務。
存儲器管理器318通過所規定的諸如消息320和322之類的接口與固件300交互作用。存儲器管理器318的功能中有一組高速緩存映像業務324。存儲器管理器318提供為將應用308a-308c所用的虛擬地址轉換成分布系統存儲器122a-122c、L2高速緩存118a-118c和L3高速緩存120a-120c所用的物理地址所必需的服務。物理地址與虛擬地址之間的轉換稱為地址轉換。扣住存儲器(Pinning memory)是為轉換固定一個虛擬地址與一個物理地址之間的關聯的結構。存儲器管理器318用令牌數據369提供高速緩存映像服務,指出對於一個給定目錄表項的令牌範圍。每個高速緩存全等類組通常將指配有一個唯一的令牌值。令牌值將在0到『n』的範圍內,其中『n』相應於最大的令牌值。最大令牌值為最後一個全等類組的產物。例如,在一個具有2048個各有16個高速緩存行的全等類組的高速緩存內,令牌值可以從0到32,767。最大令牌值與實現方式有關,在一個有2048個全等類而高速緩存行不指配令牌差別的實施例中最大令牌值可以是2048。而在一個有2048個全等類而每個高速緩存段令牌值不同的實施例中令牌值可以從0到131,071。本發明適合於任何劃分高速緩存的方法,因為本發明為高速緩存內每個有區別的區段指定唯一的令牌。存儲器管理器318還提供再分配業務327的服務。
本發明通過向內核304的存儲器管理器318內的高速緩存映像業務324發送一個高速緩存映像請求326使應用308c可以接收到一個高速緩存映像。存儲器管理器318內的高速緩存映像業務324於是將消息320發送給固件300,從而接收到列有對高速緩存映像的情況的消息320,如在該技術領域內所周知。內核304的存儲器管理器318內的高速緩存映像業務324於是將高速緩存映像328發送給應用308c。
同樣本發明使應用308c可以向內核304的存儲器管理器318上的再分配業務320發送一個再分配請求330。再分配業務320於是可以將消息322發送給固件300,將一些虛擬地址物理再分配給RAM的不同部分,從而可以響應應用308c,將一個再分配響應332發送給應用308c。
現在參見圖4,圖中示出了按照本發明的一個優選實施例設計的一個在一個請求和接收一個內核產生的高速緩存映像和設計一個高速緩存再分配方案的應用上的過程的高層邏輯流程圖。這個過程開始於步驟400。然後,過程進至步驟402,示為應用308c通過向內核304的存儲器管理器318的高速緩存映像業務324發送一種高速緩存映像請求326請求一個高速緩存映像。然後,過程進至步驟404。步驟404示為應用308c從內核304的存儲器管理器318上的高速緩存映像業務324接收到一個高速緩存映像328。應用308可以自由地請求對於任何時間分配的任何頁的任何高速緩存描述。這樣的高速緩存描述將包括與適當的高速緩存行關聯的令牌段269的值。
然後,過程進至步驟412。在步驟412,應用308c確定對於需要一個新的高速緩存映像的設計的應用308c在當前的高速緩存映像中是否存在什麼問題。如果是這樣的話,過程進至如下所述的步驟406。如果當前高速緩存映像是可接受的,過程就在步驟414結束。
然後,過程進至步驟406,示為應用308c設計最佳的高速緩存覆蓋區。在本發明中,應用可以用高速緩存令牌值來評估為它的對象分配的一個範圍或所有的所扣住的存儲器,判定是否已經分配了適當的高速緩存分配。應用判定是否已經分配了適當的高速緩存分配的方法是與應用有關的。有些應用需要一個使用可用範圍內的所有高速緩存令牌的分配方案。其他一些應用需要令牌的統計分配遵循一個給定模式的分配。再分配例行程序的優化可以包括一個列有一些不是候選頁的最近重新分配的頁的清單。列清單可以按線程、過程或系統範圍進行。經優化的高速緩存覆蓋區的一個例子表現為將數據集中在單個全等類或一個由一些全等類組成的有限組內,諸如第一高速緩存行280和第二高速緩存行282內。這樣一個例子在應用傳送一些在時間上分開的數據流的情況下是適當的,這些數據流會佔用相同的全等類和由相同的令牌269支持。相反,來自諸如執行矩陣變換之類的其他應用的數據組可以分配到多個全等類上(以使高的高速緩存訪問利用率和效率的可能性達到最大)。如在該技術領域內所周知,許多高速緩存設計為對同一個全等類內的數據的多個連續訪問服務效率不高。
然後,過程進至步驟408。在步驟408,應用308c將一個存儲器再分配消息330發送給內核304的存儲器管理器318的再分配業務327。各個應用將設計什麼時候分配是適當的判定和再分配頁的可接受的嘗試數。應用最終將接收到一個可接受的高速緩存映像或放棄對再分配的嘗試。內核304的存儲器管理器318的再分配業務327然後將一個再分配存儲器的消息332發送給固件300和對再分配請求330作出響應。
過程然後進至步驟410,示為應用308c從內核304的存儲器管理器318的再分配業務320接收到再分配請求響應332。然後,過程返回到上面所說明的步驟402。
現在來看圖5,圖中示出了按照本發明的一個實施例設計的一個使內核業務產生一個高速緩存映像發送給應用的過程的高層邏輯流程圖。這個過程開始於步驟500。然後,過程進至步驟502,示為內核304的存儲器管理器318上的高速緩存映像業務324從應用308c接收到高速緩存映像請求326。然後,過程進至步驟504。在步驟504,內核304的存儲器管理器318的高速緩存映像業務324從高速緩存映像請求326a中提取一個虛擬指針。然後,過程進至步驟506,示為高速緩存映像業務324將在步驟504提取的虛擬指針變換成一個物理地址。
然後,過程進至步驟508,內核304的存儲器管理器318的高速緩存映像業務324根據高速緩存230的目錄陣列232內的令牌段269產生一個描述物理地址的令牌範圍的高速緩存映像結構。然後,高速緩存映像業務324通過用消息320與固件300交互作用產生一個高速緩存映像結構。然後,過程進至步驟510,示為內核304的存儲器管理器318上的高速緩存映像業務324將一個高速緩存映像328發送給提出請求的應用308c。於是,過程在步驟512結束。
現在來看圖6,圖中示出了按照本發明的一個實施例設計的一個使一個內核響應來自應用的請求再分配高速緩存資源的過程的高層邏輯流程圖。過程開始於步驟600,然後進至步驟602。在步驟602,內核304的存儲器管理器318的再分配業務327從應用308c接收到一個高速緩存再分配請求330。
接著,過程進至步驟604,示為內核304的存儲器管理器318的再分配業務320確定高速緩存再分配請求330是否請求訪問受限制的資源,諸如一個受限制的地址範圍。應用可以自由地再分配任何不受限制的頁,無論這頁是否先前已重新分配。如果內核304的存儲器管理器318上的再分配業務327確定來自應用308c的高速緩存再分配請求330請求訪問的是受限制的資源,過程就進至步驟618,示為再分配業務327將一個含有一個出錯消息的再分配請求應答332發送給應用308c。於是,過程在步驟620結束。
回到步驟604,如果內核304的存儲器管理器318上的再分配業務327確定應用308c所發送的再分配請求330不是請求受限制的資源,過程就進至步驟606。步驟606示為再分配業務327鬆開存儲器管理器318內的一個物理頁。過程於是進至步驟608,示為存儲器管理器318從頁幀表126a-126c中刪除影響所重新分配的RAM的頁幀表表項。接著,過程進至步驟610,示為內核304的存儲器管理器318上的再分配業務327將一個不同的物理頁分配給由再分配請求306表示的頁。再分配一個物理頁將一個虛擬地址保留在適當的位置,並不改變應用對象對頁對象的訪問的語義。因此,從這個應用來看一個具有一些連續的頁的多頁對象將繼續具有一些連續的頁。分配一個不同的物理頁將需要更新轉換後援緩衝器128a-128c。然後,過程進至步驟612,示為內核304的存儲器管理器318上的再分配業務320將頁框表126a-126c增添一個新的頁幀表表項,反映再分配請求330內所指出的再分配。
接著,過程進至步驟614,示為內核304的再分配業務320和存儲器管理器318確定再分配請求330內所請求的再分配是否成功得到執行。如果包含在再分配請求330內的再分配請求由內核304的存儲器管理器318上的再分配業務成功執行,過程就進至步驟616,示為向應用308c發送一個含有確認再分配請求330成功執行的消息的再分配請求應答332。於是,過程在步驟620結束。如果再分配請求330沒有成功執行,過程就進至上面已說明的步驟618。
本發明提供了一種使內核業務向應用提供有關特定的存儲資源的高速緩存特性的信息的方法。本發明允許應用在執行時利用內核業務所提供的信息來優化它的高速緩存覆蓋區。所預期的使用這內核業務會長期運行為改善優化的高速緩存規劃而可能支付較高代價的計算工作負荷。這些應用可以是對高速緩存效率非常敏感的,在科學工作負荷的情況下,吞吐量取決於最長等待時間。通過優化高速緩存覆蓋區,本發明允許長時間運行的應用改善它們的性能。
雖然以上是結合本發明的一個優選實施例對本發明進行說明的,但熟悉該技術的人員可以理解其中無論在形式上還是在細節上都可以作出各種更改,這並不背離本發明的精神和專利保護範圍。
權利要求
1.一種用於數據處理系統的方法,所述方法包括下列步驟應用從內核業務請求內核高速緩存映像;所述應用接收所述內核高速緩存映像;以及為來自所述應用的數據集設計最佳高速緩存覆蓋區。
2.權利要求1的方法,所述方法還包括所述應用將存儲器再分配命令發送給存儲器管理器的步驟。
3.權利要求2的方法,其中所述應用將存儲器再分配命令發送給存儲器管理器的步驟進一步包括所述應用將含有所述最佳高速緩存覆蓋區的所述存儲器再分配命令發送給所述存儲器管理器的步驟。
4.權利要求2的方法,其中所述應用將存儲器再分配命令發送給存儲器管理器的步驟進一步包括所述應用將所述存儲器再分配命令發送給所述存儲器管理器內的再分配服務工具的步驟。
5.權利要求1的方法,所述方法還包括所述應用接收確認所述存儲器管理器是否執行了所述再分配命令的結果的步驟。
6.權利要求1的方法,其中所述為來自所述應用的數據集設計最佳高速緩存覆蓋區的步驟進一步包括跨多個高速緩存行分布數據的步驟。
7.權利要求1的方法,其中所述為來自所述應用的數據集設計最佳高速緩存覆蓋區的步驟進一步包括為矩陣操作設計高速緩存覆蓋區的步驟。
8.權利要求1的方法,其中所述為來自所述應用的數據集設計最佳高速緩存覆蓋區的步驟進一步包括將多個數據元聚集在單個全等類內的步驟。
9.權利要求1的方法,其中所述設計最佳高速緩存覆蓋區的步驟進一步包括指定令牌值的步驟。
10.一種數據處理系統,所述系統包括應用從內核業務請求內核高速緩存映像的裝置;所述應用接收所述內核高速緩存映像的裝置;以及為來自所述應用的數據集設計最佳高速緩存覆蓋區的裝置。
11.權利要求10的系統,所述系統還包括所述應用將存儲器再分配命令發送給存儲器管理器的裝置。
12.權利要求11的系統,其中所述應用將存儲器再分配命令發送給存儲器管理器的裝置進一步包括所述應用將含有所述最佳高速緩存覆蓋區的所述存儲器再分配命令發送給所述存儲器管理器的裝置。
13.權利要求11的系統,其中所述應用將存儲器再分配命令發送給存儲器管理器的裝置進一步包括所述應用將所述存儲器再分配命令發送給所述存儲器管理器內的再分配服務工具的裝置。
14.權利要求10的系統,所述系統還包括所述應用接收確認所述存儲器管理器是否執行了所述再分配命令的結果的裝置。
15.權利要求10的系統,其中所述為來自所述應用的數據集設計最佳高速緩存覆蓋區的裝置進一步包括跨多個高速緩存行分布數據的裝置。
16.權利要求10的系統,其中所述為來自所述應用的數據集設計最佳高速緩存覆蓋區的裝置進一步包括為矩陣操作設計高速緩存覆蓋區的裝置。
17.權利要求10的系統,其中所述為來自所述應用的數據集設計最佳高速緩存覆蓋區的裝置進一步包括將多個數據元聚集在單個全等類內的裝置。
18.權利要求10的系統,其中所述設計最佳高速緩存覆蓋區的裝置進一步包括指定令牌值的裝置。
19.一種用於數據處理系統的電腦程式產品,所述電腦程式產品包括計算機可讀媒體;在所述計算機可讀媒體上的向內核業務請求內核高速緩存映像的指令;在所述計算機可讀媒體上的接收所述內核高速緩存映像的指令;以及在所述計算機可讀媒體上的為數據集設計最佳高速緩存覆蓋區的指令。
20.權利要求19的電腦程式產品,所述電腦程式產品還包括在所述計算機可讀媒體上的將存儲器再分配命令發送給存儲器管理器的指令。
全文摘要
考慮到現有高速緩存優化技術的缺點,本發明提供了一種得到改善的可以優化高速緩存利用率的方法、系統和電腦程式產品。在一個實施例中,應用從內核業務請求內核高速緩存映像,而後接收到這個內核高速緩存映像。應用為來自所述應用的數據集設計最佳高速緩存覆蓋區。從詳細說明中可以清楚地看到本發明的目的、優點和特色。在本發明的一個實施例中,應用將存儲器再分配命令發送給存儲器管理器。在本發明的一個實施例中,應用將一個存儲器再分配命令發送給存儲器管理器的步驟進一步包括應用將一個含有最佳高速緩存覆蓋區的存儲器再分配命令發送給存儲器管理器。在本發明的一個實施例中,應用將一個存儲器再分配命令發送給存儲器管理器的步驟進一步包括應用將存儲器再分配命令發送給存儲器管理器內的再分配服務工具。
文檔編號G06F12/08GK1786927SQ20051012468
公開日2006年6月14日 申請日期2005年11月14日 優先權日2004年12月7日
發明者安德魯·鄧史, 黛安·G.·弗雷名 申請人:國際商業機器公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀