• / 15
  • 下載費用:30 金幣  

在管理的運行時間環境域中的高速緩存管理.pdf

摘要
申請專利號:

CN201480009025.6

申請日:

2014.03.13

公開號:

CN105164651A

公開日:

2015.12.16

當前法律狀態:

授權

有效性:

有權

法律詳情: 授權|||實質審查的生效IPC(主分類):G06F 12/08申請日:20140313|||公開
IPC分類號: G06F12/08 主分類號: G06F12/08
申請人: 英特爾公司
發明人: 吳克強; 周經森; 李永豐
地址: 美國加利福尼亞州
優先權: 13/837,069 2013.03.15 US
專利代理機構: 中國專利代理(香港)有限公司72001 代理人: 張凌苗; 蔣駿
PDF完整版下載: PDF下載
法律狀態
申請(專利)號:

CN201480009025.6

授權公告號:

||||||

法律狀態公告日:

2018.11.02|||2016.01.13|||2015.12.16

法律狀態類型:

授權|||實質審查的生效|||公開

摘要

描述了在管理的運行時間環境中提供高速緩存管理的方法和裝置。在一個實施例中,控制器包括用于以下的邏輯:確定在運行時間環境中用于對象的更新頻率,以及當更新頻率超過更新頻率閾值時將對象分配給非共享高速緩存行。還描述了其它實施例。

權利要求書

權利要求書
1.  一種包括存儲于非瞬態計算機可讀介質中的邏輯指令的計算機程序產品,當被控制器執行時,所述邏輯指令將所述控制器配置為執行用于管理在運行時間環境中的高速緩沖存儲器的操作,包括:
確定在所述運行時間環境中用于對象400的更新頻率;以及
當所述更新頻率超過更新頻率閾值時,將所述對象400分配給非共享高速緩存行310。

2.  如權利要求1所述的計算機程序產品,還包括存儲于非瞬態計算機可讀介質中的邏輯指令,當被所述控制器執行時,所述邏輯指令將所述控制器配置為執行包括以下的操作:
將用于所述對象400的更新頻率存儲于所述對象的頭部中的數據字段中。

3.  如權利要求2所述的計算機程序產品,還包括存儲于非瞬態計算機可讀介質中的邏輯指令,當被所述控制器執行時,所述邏輯指令將所述控制器配置為執行包括以下的操作:
以周期性基礎監控在所述運行時間環境中用于多個對象400的更新頻率;以及
根據用于所述多個對象400的更新頻率,動態設置所述更新頻率閾值。

4.  如權利要求1所述的計算機程序產品,還包括存儲于非瞬態計算機可讀介質中的邏輯指令,當被所述控制器執行時,所述邏輯指令將所述控制器配置為執行包括以下的操作:
當所述更新頻率達到所述更新頻率閾值時,填充所述對象400的數據字段425。

5.  如權利要求1所述的計算機程序產品,還包括存儲于非瞬態計算機可讀介質中的邏輯指令,當被所述控制器執行時,所述邏輯指令將所述控制器配置為執行包括以下的操作:
當所述更新頻率落到所述更新頻率閾值以下時,不填充所述對象400的數據字段425。

6.  如權利要求1所述的計算機程序產品,還包括存儲于非瞬態計算機可讀介質中的邏輯指令,當被所述控制器執行時,所述邏輯指令將所述控制器配置為執行包括以下的操作:
將高速緩沖存儲器300的一段指定為單個對象行存儲器段;以及
當所述更新頻率超過更新頻率閾值時,將所述對象400分配給單個對象存儲器段。

7.  如權利要求1所述的計算機程序產品,還包括存儲于非瞬態計算機可讀介質中的邏輯指令,當被所述控制器執行時,所述邏輯指令將所述控制器配置為執行包括以下的操作:
當所述更新頻率超過更新頻率閾值時,將所述對象400指定為完全高速緩存行對象;以及
將所述對象400分配給非共享高速緩存行310。

8.  一種包括邏輯的控制器,所述邏輯用于執行用于在運行時間環境中管理高速緩沖存儲器的操作,包括:
確定在所述運行時間環境中用于對象400的更新頻率;以及
當所述更新頻率超過更新頻率閾值時,將所述對象400分配給非共享高速緩存行310。

9.  如權利要求8所述的控制器,還包括用于以下的邏輯:
將用于所述對象400的更新頻率存儲于所述對象的頭部中的數據字段中。

10.  如權利要求8所述的控制器,還包括用于以下的邏輯:
以周期性基礎監控在所述運行時間環境中用于多個對象400的更新頻率;以及
根據用于所述多個對象400的更新頻率,動態設置所述更新頻率閾值。

11.  如權利要求9所述的控制器,還包括用于以下的邏輯:
當所述更新頻率達到所述更新頻率閾值時,填充所述對象400的數據字段425。

12.  如權利要求8所述的控制器,還包括用于以下的邏輯:
當所述更新頻率落到所述更新頻率閾值以下時,不填充所述對象400的數據字段425。

13.  如權利要求9所述的控制器,還包括用于以下的邏輯:
將高速緩沖存儲器300的一段指定為單個對象行存儲器段;以及
當所述更新頻率超過更新頻率閾值時,將所述對象400分配給單個對象存儲器段。

14.  如權利要求9所述的控制器,還包括用于以下的邏輯:
當所述更新頻率超過更新頻率閾值時,將所述對象400指定為完全高速緩存行對象;以及
將所述對象400分配給非共享高速緩存行310。

15.  一種電子設備,包括:
至少一個高速緩沖存儲器;以及
控制器,其包括邏輯,所述邏輯用于執行用于在運行時間環境中管理所述高速緩沖存儲器的操作,包括:
  確定在所述運行時間環境中用于對象400的更新頻率;以及
  當所述更新頻率超過更新頻率閾值時,將所述對象400分配給非共享高速緩存行310。

16.  如權利要求15所述的電子設備,其中,所述控制器還包括用于以下的邏輯:
將用于所述對象400的更新頻率存儲于所述對象的頭部中的數據字段中。

17.  如權利要求16所述的電子設備,其中,所述控制器還包括用于以下的邏輯:
以周期性基礎監控在所述運行時間環境中用于多個對象400的更新頻率;以及
根據用于所述多個對象400的更新頻率,動態設置所述更新頻率閾值。

18.  如權利要求15所述的電子設備,其中,所述控制器還包括用于以下的邏輯:
當所述更新頻率達到所述更新頻率閾值時,填充所述對象400的數據字段425。

19.  如權利要求15所述的電子設備,其中,所述控制器還包括用于以下的邏輯:
當所述更新頻率落到所述更新頻率閾值以下時,不填充所述對象400的數據字段425。

20.  如權利要求15所述的電子設備,其中,所述控制器還包括用于以下的邏輯:
將高速緩沖存儲器300的一段指定為單個對象行存儲器段;以及
當所述更新頻率超過更新頻率閾值時,將所述對象400分配給單個對象存儲器段。

21.  如權利要求15所述的電子設備,其中,所述控制器還包括用于以下的邏輯:
當所述更新頻率超過更新頻率閾值時,將所述對象400指定為完全高速緩存行對象;以及
將所述對象400分配給非共享高速緩存行310。

22.  一種用于在運行時間環境中管理高速緩沖存儲器的方法,包括:
確定在所述運行時間環境中用于對象400的更新頻率;以及
當所述更新頻率超過更新頻率閾值時,將所述對象400分配給非共享高速緩存行310。

23.  如權利要求22所述的方法,還包括:
將用于所述對象400的更新頻率存儲于所述對象的頭部中的數據字段中。

24.  如權利要求22所述的方法,還包括:
以周期性基礎監控在所述運行時間環境中用于多個對象400的更新頻率;以及
根據用于所述多個對象400的更新頻率,動態設置所述更新頻率閾值。

25.  如權利要求22所述的方法,還包括:
當所述更新頻率達到所述更新頻率閾值時,填充所述對象400的數據字段425。

說明書

說明書在管理的運行時間環境域中的高速緩存管理
技術領域
本公開一般涉及計算領域。更具體地,本發明的實施例一般涉及在管理的運行時間環境中的高速緩存管理。
背景技術
現代計算系統使得管理的運行時間環境能夠實現于多核心處理器系統上。許多多核心處理器系統利用分布式相干高速緩沖存儲器,其引起錯誤共享問題,錯誤共享問題繼而降低了系統的性能。因此,減少錯誤共享問題的技術可能有實用性。
附圖說明
參照附圖提供了詳細描述。在圖中,附圖標記最左邊的(多個)數字標識該附圖標記首次出現在其中的圖。在不同圖中使用相同的附圖標記指示類似或相同項目。
圖1-2是根據一些實施例的可以適用于在管理的運行時間環境中實現高速緩存管理的電子設備的示意性框圖圖示。
圖3是根據一些實施例的可以用于在管理的運行時間環境中實現高速緩存管理的高速緩沖存儲器的示意性圖示。
圖4是根據一些實施例的在管理的運行時間環境中的對象的示意性圖示。
圖5是圖示根據一些實施例的在管理的運行時間環境中實現高速緩存管理的方法中的操作的流程圖。
具體實施方式
本文所描述的是管理高速緩存操作以在管理的運行時間環境中消除或至少減少錯誤共享問題的技術的各種實施例。通常,錯誤共享發生在以下時候:多處理器環境中不同線程頻繁訪問(讀取或寫入)兩個對象或字段,至少一個線程正在寫入,并且對象恰巧在同一高速緩存行上。隨著將更多核心集成到單個系統中的工業趨勢,高速緩存行錯誤共享很可能成為計算機性能瓶頸。減少高速緩存行錯誤共享可以顯著改善計算機性能。
本文所描述的廣泛的各種實施例通過實現以下技術解決了該問題,在該技術中,為管理的運行時間環境中的對象確定更新頻率,并且對頻繁更新的對象分配非共享高速緩存行。在一些實施例中,可以例如通過對運行時間環境中管理的多個對象周期性編譯更新頻率統計,來建立更新閾值。因此,在一些實施例中,可以根據管理的運行時間環境所管理的特定工作負荷而動態調整更新頻率閾值。
比更新頻率閾值更頻繁地更新的對象可以被視為超出更新頻率閾值,并可以被分配給非共享高速緩存行。在一些實施例中,可以例如通過插入額外數據而填充這些對象,從而對象消耗整個高速緩存行。在一些實施例中,可以將高速緩沖存儲器的至少一段指定為單個對象行存儲器,并且這些對象可以被分配給高速緩沖存儲器的單個對象行存儲器。在一些實施例中,可以將對象指定為完全高速緩存行對象,并將其分配給非共享高速緩存行。
將最頻繁更新的對象分配給非共享高速緩存行降低了錯誤共享事件的可能性。因此,本文描述的各種實施例解決了在管理的運行時間環境中管理高速緩沖存儲器以便減少錯誤共享事件的技術問題。
在下面的描述中,闡述了多個具體細節以提供對各種實施例的透徹理解。然而,本發明的各種實施例可以在沒有這些具體細節的情況下實踐。在其它實例中,為了不模糊本發明的特定實施例,沒有詳細描述公知的方法、過程、部件和電路。此外,可以使用各種手段來執行本發明的實施例的各個方面,所述手段例如是集成半導體電路(“硬件”)、組織為一個或多個程序的計算機可讀指令(“軟件”)、或者硬件和軟件的某種組合。出于本公開的目的,提及“邏輯”應當意指硬件、軟件(例如,包括控制處理器、固件的操作的微代碼等),或其某種組合。而且,如本文所討論的,術語“硬件”和“邏輯”是可互換的。
圖1-2是根據一些實施例的可以適用于在管理的運行時間環境中實現高速緩存管理的電子設備的示意性框圖圖示。系統100可以包括一個或多個處理器102-1到102-N(在此總稱為“多個處理器102”或“處理器102”)。多個處理器102可以經由互連網絡或總線104進行通信。每個處理器可以包括各種部件,為了清楚起見,僅參照處理器102-1討論了其中一些部件。相應地,剩余的處理器102-2到102-N中的每個可以包括參照處理器102-1討論的相同或類似部件。
在實施例中,處理器102-1可以包括一個或多個處理器核心106-1到106-M(本文中稱為“核心106”或在描述調度器的上下文中稱為執行器)、共享高速緩存108、路由器110、和/或處理器控制邏輯或單元120。處理器核心106可以實現于單個集成電路(IC)芯片上。此外,芯片可以包括一個或多個共享和/或私有高速緩存(例如高速緩存108)、總線或互連(例如,總線或互連網絡112)、存儲器控制器或其它部件。
處理器核心106可以包括本地高速緩沖存儲器116-1到116-M(本文稱為高速緩存116),并包括任務調度器邏輯118-1到118-M(本文稱為任務調度器邏輯118)。任務調度器邏輯118可以實現如下所述的操作,以將任務分配給一個或多個核心106和/或在核心106具有可用的計算帶寬時從一個或多個核心106偷走任務。
在一個實施例中,路由器110可用于處理器102-1和/或系統100的各個部件之間進行通信。此外,處理器102-1可以包括多于一個的路由器110。此外,多個路由器110可以進行通信以使得數據能夠在處理器102-1內或外的各個部件之間路由。
共享高速緩存108可以存儲由處理器102-1的一個或多個部件(例如,核心106)所利用的數據(例如,包括指令)。例如,共享高速緩存108可以在本地對存儲于存儲器114中的數據進行緩存,以由處理器102的部件更快速地訪問。在實施例中,高速緩存108可以包括中級高速緩存(例如,2級(L2)、3級(L3)、4級(L4)、或其它級的高速緩存)、末級高速緩存(LLC)和/或其組合。此外,處理器102-1的各個部件可以通過總線(例如總線112)和/或存儲器控制器或中心與共享高速緩存108直接通信。如圖1所示,在一些實施例中,一個或多個核心106可以包括1級(L1)高速緩存116-1(本文中總稱為“L1高速緩存116”)。
圖2圖示了根據本發明實施例的處理器核心106的部分和計算系統的其它部件的框圖。在一個實施例中,圖2所示的箭頭圖示了指令通過核心106的流動方向。一個或多個處理器核心(例如處理器核心106)可以實現于單個集成電路芯片(或管芯)上,例如參照圖1所討論的。此外,芯片可以包括一個或多個共享和/或私有高速緩存(例如,圖1的高速緩存108)、互連(例如,圖1的互連104和/或112)、控制單元、存儲器控制器或其它部件。
如圖2所示,處理器核心106可以包括取出單元202,以取出供核心106執行的指令(包括具有條件分支的指令)。可以從例如存儲器114的任意存儲設備取出指令。核心106還可以包括解碼單元204,用于對取出的指令進行解碼。例如,解碼單元204可以將取出的指令解碼為多個uop(微操作)。
另外,核心106可以包括調度單元206。調度單元206可以執行與存儲經解碼指令(例如,從解碼單元204所接收到的)相關聯的各種操作,直到指令準備好用于分派,例如直到經解碼指令的所有源值變得可用。在一個實施例中,調度單元206可以調度和/或發布(或分派)經解碼指令到執行單元208以進行執行。執行單元208可以在它們被解碼(例如,通過解碼單元204)和分派(例如,通過調度單元206)之后執行分派的指令。在實施例中,執行單元208可以包括多于一個執行單元。執行單元208還可以執行各種算術運算,例如加、減、乘和/或除,并可以包括一個或多個算術邏輯單元(ALU)。在實施例中,協處理器(未示出)可以連同執行單元208執行各種算術運算。
此外,執行單元208可以亂序執行指令。因此,在一個實施例中,處理器核心106可以是亂序處理器核心。核心106還可以包括引退單元210。引退單元210可以在執行的指令被提交后引退它們。在實施例中,執行的指令的引退可能導致處理器狀態從指令的執行被提交、由指令所使用的物理寄存器被解除分配等。
核心106還可以包括總線單元114,用于使得能夠在處理器核心106的部件和其它部件(例如參照圖2所討論的部件)之間經由一個或多個總線(例如,總線104和/或112)通信。核心106還可以包括一個或多個寄存器216,用于存儲由核心106的各個部件訪問的數據(例如,與功率消耗狀態設置有關的值)。
此外,即使圖1圖示了控制單元120經由互連212耦合到核心106,但在各種實施例中,控制單元120可以位于其它位置,例如,在核心106內、經由總線104耦合到核心等。
圖3是可以用于實現圖1-2中描繪的一個或多個高速緩沖存儲器的高速緩沖存儲器的示意性圖示。參照圖3,在一些實施例中,高速緩存300包括多個高速緩存,在圖3中標識為高速緩存行1310、高速緩存行2310、直到高速緩存行N。在各種實施例中,每個高速緩存行310在長度上可以是64字節,并可以每個保持高至16字節的四個描述符。在高速緩存300中的高速緩存行310的數目是高速緩存總大小的函數。
例如圖1-2所描繪的電子設備的電子設備100可以用于實現管理的運行時間環境中的虛擬機。管理的運行時間環境的例子包括Java虛擬機(JVM)或微軟.NET公共語言運行時間(CLR)。將在JVM的上下文中描述本申請,但是原理等同地應用于其它管理的運行時間環境。
圖4是根據一些實施例的在管理的運行時間環境中的對象的示意性圖示。JVM、其它虛擬機或其它面向對象語言中的對象包括連同頭部的一個或多個對象數據字段435。出于簿記的目的,頭部可以包含多個字段410-430。作為舉例,用于64比特JVM的對象頭部通常包括以下字段:
TIB指針410:TIB(類型信息塊)指針保持應用于一種類型的所有對象的信息。每個對象指向TIB,其可以是一類對象或一些其它相關對象。例如,在IBMJikes研究虛擬機中,TIB包括虛擬方法表、指向表示類型的對象的指針、以及指向幾個數據結構的指針以促進有效接口調用和動態類型檢查。
默認散列代碼415:每個Java對象具有默認的散列代碼。
鎖420:每個Java對象具有相關聯的鎖狀態。這可以是指向鎖對象的指針或鎖的直接表示。
無用信息收集信息425:每個JVM對象具有存儲器管理系統所使用的相關聯的信息。通常,這包括一個或多個標記比特,但是其也可以包括引用計數、前向指針等的某種組合。
在本文所描述的實施例中,虛擬機對象在頭部維持MFU(最頻繁更新)字段430。MFU字段可以用于存儲頻率更新指示符,其指示在一段時間有多頻繁地更新對象。例如,MFU可以包括8比特,即,7比特用于計數其已經被更新了多少次,且第8個比特僅在更新頻率超過閾值(即,128)時被設置。在虛擬機中作為最頻繁更新對象的對象可以被分配給非共享高速緩存行,以減小虛擬機中錯誤共享的可能性。
已經描述了可以適用于實現位置感知工作偷走運行時間調度器方法以實現用于在管理的運行時間環境中實現高速緩存管理的方法的電子設備的各種實施例和配置。圖5是圖示根據一些實施例的在管理的運行時間環境中實現高速緩存管理的方法中的操作的流程圖。將參照圖5來描述任務調度器的操作。
在管理的運行時間環境的上下文內描述圖5中所描繪的實施例。因此,在操作510處,在虛擬機上執行管理的運行時間應用。虛擬機可以管理具有參照圖3所描述的特性的高速緩沖存儲器,并將定義具有參照圖4描述的特性的多個對象。
在一些實施例中,僅當在高于閾值的級別處利用系統資源時,才實現高速緩存管理。作為舉例,在一些實施例中,訪問系統參數以判定多于一個的套接字(socket)是否為對應用開放和/或是否CPU利用高于閾值率(例如,50%)。如果在操作515處利用率小于閾值,則控制傳遞回操作510,并且應用在沒有活動的高速緩存管理的情況下繼續執行。
作為對比,如果在操作515處利用率滿足或超過閾值,則控制傳遞到操作525,并且監控針對應用實例化的各個對象的更新頻率,并且在操作525處,設置最頻繁更新(MFU)閾值。作為舉例,在一些實施例中,可以周期性監控針對應用實例化的各個對象的更新頻率。在一些實施例中,可以以更新頻率的百分位(例如,90%)設置MFU閾值。在其他實施例中,可以采用更新頻率的平均值或其它統計衍生物。
一旦已經設置了MFU閾值,則可以在每次更新對象時將閾值應用于針對應用實例化的各個對象。因此,如果在操作530處對象被更新,則控制傳遞到操作535并且確定用于對象的新的更新頻率。在操作540處,將更新頻率存儲于對象的MFU字段430中。
在一些實施例中,在周期性無用信息收集過程期間,在高速緩沖存儲器中管理對象。因此,如果在操作545處無用信息收集過程不是活動的,則控制傳遞回操作510,且過程繼續在運行時間環境中監控對象。作為對比,如果在操作545處無用信息收集過程是活動的,則控制傳遞到操作550,且實現標記/壓縮過程。
如果在操作555處在管理的運行時間環境中的對象的MFU字段至少等于在操作525處確定的MFU閾值,則那些對象被分配給非共享高速緩存行(操作560)。作為對比,可以將MFU字段小于MFU閾值的對象分配給共享高速緩存行(操作565)。
可以使用各種技術將MFU字段至少等于在操作525處確定的MFU閾值的對象分配給非共享高速緩存行。在一些實施例中,可以填充這些對象的數據字段,從而所述對象具有足夠的大小以取消與另一對象共享高速緩存行的機會。作為舉例,在一些實施例中,可以在無用信息收集過程的壓縮階段期間填充對象。
在進一步的實施例中,可以將高速緩沖存儲器300的一段指定為單個對象行存儲器段,其被允許僅保持單個對象。可以將MFU字段至少等于在操作525處確定的MFU閾值的對象分配給單個對象存儲器段。在進一步的實施例中,MFU字段至少等于在操作525處確定的MFU閾值的對象可以是完全高速緩存行對象,并被分配給高速緩存中的非共享高速緩存行310。
以下例子屬于進一步的實施例。
例子1是一種包括存儲于非瞬態計算機可讀介質中的邏輯指令的計算機程序產品,當被控制器執行時,所述邏輯指令將所述控制器配置為執行用于管理在運行時間環境中的高速緩沖存儲器的操作,包括:確定在所述運行時間環境中用于對象400的更新頻率,以及當所述更新頻率超過更新頻率閾值時,將所述對象400分配給非共享高速緩存行310。
在一些實施例中,所述邏輯指令將所述控制器配置為執行包括以下的操作:將用于所述對象400的更新頻率存儲于所述對象的頭部中的數據字段中。在一些實施例中,所述邏輯指令將所述控制器配置為執行包括以下的操作:以周期性基礎監控在所述運行時間環境中用于多個對象400的更新頻率;以及根據用于所述多個對象400的更新頻率,動態設置所述更新頻率閾值。
在一些實施例中,所述邏輯指令將所述控制器配置為執行包括以下的操作:當所述更新頻率達到所述更新頻率閾值時,填充所述對象400的數據字段425。在一些實施例中,所述邏輯指令將所述控制器配置為執行包括以下的操作:當所述更新頻率落到所述更新頻率閾值以下時,不填充所述對象400的數據字段425。
在一些實施例中,所述邏輯指令將所述控制器配置為執行包括以下的操作:將高速緩沖存儲器300的一段指定為單個對象行存儲器段,以及當所述更新頻率超過更新頻率閾值時,將所述對象400分配給單個對象存儲器段。
在一些實施例中,所述邏輯指令將所述控制器配置為執行包括以下的操作:當所述更新頻率超過更新頻率閾值時,將所述對象400指定為完全高速緩存行對象,以及將所述對象400分配給非共享高速緩存行310。
例子2是一種包括邏輯的控制器,所述邏輯用于執行用于在運行時間環境中管理高速緩沖存儲器的操作,包括:確定在所述運行時間環境中用于對象400的更新頻率,以及當所述更新頻率超過更新頻率閾值時,將所述對象400分配給非共享高速緩存行310。
在一些實施例中,所述邏輯將所述控制器配置為:將用于所述對象400的更新頻率存儲于所述對象的頭部中的數據字段中。在一些實施例中,所述邏輯將所述控制器配置為:以周期性基礎監控在所述運行時間環境中用于多個對象400的更新頻率,以及根據用于所述多個對象400的更新頻率,動態設置所述更新頻率閾值。
在一些實施例中,所述邏輯將所述控制器配置為:當所述更新頻率達到所述更新頻率閾值時,填充所述對象400的數據字段425。
在一些實施例中,所述邏輯將所述控制器配置為:當所述更新頻率落到所述更新頻率閾值以下時,不填充所述對象400的數據字段425。
在一些實施例中,所述邏輯將所述控制器配置為:將高速緩沖存儲器300的一段指定為單個對象行存儲器段,以及當所述更新頻率超過更新頻率閾值時,將所述對象400分配給單個對象存儲器段。在一些實施例中,所述邏輯將所述控制器配置為:當所述更新頻率超過更新頻率閾值時,將所述對象400指定為完全高速緩存行對象,以及將所述對象400分配給非共享高速緩存行310。
在例子3中,一種電子設備包括:至少一個高速緩沖存儲器;以及控制器,其包括邏輯,所述邏輯用于執行用于在運行時間環境中管理所述高速緩沖存儲器的操作,包括:確定在所述運行時間環境中用于對象400的更新頻率;以及當所述更新頻率超過更新頻率閾值時,將所述對象400分配給非共享高速緩存行310。
在一些實施例中,所述邏輯將所述控制器配置為:將用于所述對象400的更新頻率存儲于所述對象的頭部中的數據字段中。在一些實施例中,所述邏輯將所述控制器配置為:以周期性基礎監控在所述運行時間環境中用于多個對象400的更新頻率,以及根據用于所述多個對象400的更新頻率,動態設置更新頻率閾值。
在一些實施例中,所述邏輯將所述控制器配置為:當所述更新頻率達到所述更新頻率閾值時,填充所述對象400的數據字段425。在一些實施例中,所述邏輯將所述控制器配置為:當所述更新頻率落到所述更新頻率閾值以下時,不填充所述對象400的數據字段425。
在一些實施例中,所述邏輯將所述控制器配置為:將高速緩沖存儲器300的一段指定為單個對象行存儲器段,以及當所述更新頻率超過更新頻率閾值時,將所述對象400分配給單個對象存儲器段。在一些實施例中,所述邏輯將所述控制器配置為:當所述更新頻率超過更新頻率閾值時,將所述對象400指定為完全高速緩存行對象,以及將所述對象400分配給非共享高速緩存行310。
在例子4中,一種用于在運行時間環境中管理高速緩沖存儲器的方法包括:確定在所述運行時間環境中用于對象400的更新頻率,以及當所述更新頻率超過更新頻率閾值時,將所述對象400分配給非共享高速緩存行310。
在一些實施例中,所述方法包括:將用于所述對象400的更新頻率存儲于所述對象的頭部中的數據字段中。在一些實施例中,所述方法包括:以周期性基礎監控在所述運行時間環境中用于多個對象400的更新頻率,以及根據用于所述多個對象400的更新頻率,動態設置所述更新頻率閾值。
在一些實施例中,所述方法包括:當所述更新頻率達到所述更新頻率閾值時,填充所述對象400的數據字段425。在一些實施例中,所述方法包括:當所述更新頻率落到所述更新頻率閾值以下時,不填充所述對象400的數據字段425。
在一些實施例中,所述方法包括:將高速緩沖存儲器300的一段指定為單個對象行存儲器段,以及當所述更新頻率超過更新頻率閾值時,將所述對象400分配給單個對象存儲器段。在一些實施例中,所述方法包括:當所述更新頻率超過更新頻率閾值時,將所述對象400指定為完全高速緩存行對象,以及將所述對象400分配給非共享高速緩存行310。
在例子5中,一種裝置包括:用于確定在運行時間環境中用于對象400的更新頻率的單元,以及用于當所述更新頻率超過更新頻率閾值時,將所述對象400分配給非共享高速緩存行310的單元。
在一些實施例中,所述裝置包括:用于將用于所述對象400的更新頻率存儲于所述對象的頭部中的數據字段中的單元。在一些實施例中,所述方法包括:用于以周期性基礎監控在所述運行時間環境中用于多個對象400的更新頻率的單元,以及用于根據用于所述多個對象400的更新頻率,動態設置所述更新頻率閾值的單元。
用于當所述更新頻率達到所述更新頻率閾值時,填充所述對象400的數據字段425的單元。在一些實施例中,所述方法包括:用于當所述更新頻率落到所述更新頻率閾值以下時,不填充所述對象400的數據字段425的單元。
在一些實施例中,所述方法包括:用于將高速緩沖存儲器300的一段指定為單個對象行存儲器段的單元,以及用于當所述更新頻率超過更新頻率閾值時,將所述對象400分配給單個對象存儲器段的單元。在一些實施例中,所述方法包括:用于當所述更新頻率超過更新頻率閾值時,將所述對象400指定為完全高速緩存行對象的單元,以及用于將所述對象400分配給非共享高速緩存行310的單元。
在說明書中提及“一個實施例”或“實施例”意指結合該實施例描述的特定特征、結構或特性可以包括于至少一種實現中。在所明書中各處出現的短語“在一個實施例中”可以全指或者可以不全指同一實施例。
另外,在說明書和權利要求書中,可以使用術語“耦合”和“連接”及其衍生詞。在本發明的一些實施例中,“連接”可以用于指示兩個或更多個元件直接彼此物理或電接觸。“耦合”可以意指兩個或更多個元件直接物理或電接觸。然而,“耦合”還可以意指兩個或更多個元件可以彼此不直接接觸,但仍可以彼此協作或交互。
另外,這樣的計算機可讀介質可以被下載為計算機程序產品,其中程序可以通過數據信號的方式(例如,通過載波或其它傳播介質)經由通信鏈路(例如,總線、調制解調器或網絡鏈接)從遠程計算機(例如,服務器)傳送到請求計算機(例如,客戶端)。
因此,雖然已經以特定于結構特征和/或方法動作的語言描述了本發明的實施例,但應理解的是所要求保護的主題可以不限于所描述的具體特征或動作。而是,這些具體特征和動作被公開為實現所要求保護的主題的范例形式。

關 鍵 詞:
管理 運行 時間 環境 域中 高速緩存
  專利查詢網所有資源均是用戶自行上傳分享,僅供網友學習交流,未經上傳用戶書面授權,請勿作他用。
關于本文
本文標題:在管理的運行時間環境域中的高速緩存管理.pdf
鏈接地址:http://www.rgyfuv.icu/p-6409641.html
關于我們 - 網站聲明 - 網站地圖 - 資源地圖 - 友情鏈接 - 網站客服客服 - 聯系我們

[email protected] 2017-2018 zhuanlichaxun.net網站版權所有
經營許可證編號:粵ICP備17046363號-1 
 


收起
展開
山东11选5中奖结果走势图