專利名稱:用于存儲(chǔ)器分層優(yōu)化的統(tǒng)計(jì)計(jì)數(shù)的制作方法
用于存儲(chǔ)器分層優(yōu)化的統(tǒng)計(jì)計(jì)數(shù)背景常見(jiàn)的計(jì)算機(jī)相關(guān)問(wèn)題涉及管理大量數(shù)據(jù)或信息。一般而言,應(yīng)當(dāng)高效地維護(hù)信 息以最小化所需存儲(chǔ)量,使得可以快速定位并取回?cái)?shù)據(jù)集內(nèi)的相關(guān)數(shù)據(jù)。在數(shù)據(jù)處理機(jī)中采用了各種系統(tǒng)和算法來(lái)高效地管理可用存儲(chǔ)器資 源。一種這樣 的已知算法是LRU(最近最少使用),其中認(rèn)為緩沖區(qū)中的最近最少引用(例如最長(zhǎng)時(shí)間未 使用)的塊是最不重要的,并且因此可被蓋寫或替換而只產(chǎn)生最小的系統(tǒng)性能影響。一般 而言,LRU要求一種跟蹤緩沖區(qū)中相應(yīng)塊中的內(nèi)容的相對(duì)使用的方法。例如,一種常規(guī)方法是在下推(push-down)棧中跟蹤塊地址或它們的表示,其中 該棧中的位置表示相應(yīng)塊內(nèi)容的相對(duì)使用。下推棧是使用鎖存設(shè)備設(shè)計(jì)的,并且取決于緩 沖區(qū)的大小和塊的大小,該??勺兊孟喈?dāng)大且實(shí)現(xiàn)起來(lái)很昂貴。此外,在這樣的數(shù)據(jù)處理系統(tǒng)中,處理器(CPU)的速度通常比其存儲(chǔ)器快得多。因 此,為允許CPU盡可能即時(shí)且平滑地存取數(shù)據(jù),CPU的存儲(chǔ)通常組織成異構(gòu)設(shè)備的分層結(jié) 構(gòu)多級(jí)高速緩存、主存儲(chǔ)器、磁鼓、隨機(jī)存取緩存的DASD (直接存取存儲(chǔ)設(shè)備)、以及常規(guī) DASD。邏輯上,來(lái)自CPU的任何存儲(chǔ)器存取必須沿該分層結(jié)構(gòu)向下搜索,直至在某一層找到 所需數(shù)據(jù)為止,隨后該數(shù)據(jù)通常必須加載到上方的所有層。這樣的數(shù)據(jù)安排和對(duì)CPU的按 需饋送是實(shí)現(xiàn)存儲(chǔ)器分層結(jié)構(gòu)的最簡(jiǎn)單且最基本的方式。此外,標(biāo)準(zhǔn)存儲(chǔ)器分層結(jié)構(gòu)設(shè)計(jì)通常假定所有存取要針對(duì)存儲(chǔ)器的最快一層(例 如,Ll高速緩存)并且高速緩存未中涉及將數(shù)據(jù)移至Ll高速緩存。然而,在復(fù)雜系統(tǒng)中, 存儲(chǔ)器操作在不污染快速存儲(chǔ)器的情況下直接對(duì)較低層存儲(chǔ)器(例如,L2或L3)操作是可 能的。自然地,這樣的繞過(guò)操作可伴有一些性能懲罰。因此,在面對(duì)對(duì)于不在最快存儲(chǔ)器中 的存儲(chǔ)器的存取時(shí),存在以下選擇該存儲(chǔ)器可移至快速存儲(chǔ)器(頂替已在此處的某物), 或者另選地執(zhí)行對(duì)該緩慢存儲(chǔ)器的緩慢直接存取。在不能由存儲(chǔ)器的快速/緩慢/最慢集合的單個(gè)分層結(jié)構(gòu)來(lái)描述的分布式系統(tǒng)環(huán) 境中也發(fā)生了這樣的復(fù)雜性。例如,在多處理器系統(tǒng)中,每一處理器可具有Ll高速緩存,一 對(duì)處理器可共享一 L2高速緩存,且四個(gè)處理器的集合可共享一 L3高速緩存。在(寫操作 的)任何時(shí)刻,存儲(chǔ)器的每一可寫塊通常只可處于這些高速緩存位置之一中。優(yōu)化這樣的 寫操作指示確定是要移動(dòng)該塊還是執(zhí)行對(duì)該塊的直接緩慢存取。概述以下提出了簡(jiǎn)化概述以便提供對(duì)在此描述的某些方面的基本理解。本概述并不是 對(duì)所要求保護(hù)的主題的全面綜述。它既不旨在標(biāo)識(shí)出所要求保護(hù)的主題的關(guān)鍵或重要的要 素,也不描繪其范圍。其唯一的目的是以簡(jiǎn)化的形式來(lái)介紹一些概念,作為稍后提出的更為 詳細(xì)的描述的序言。本發(fā)明提供一種用于通過(guò)采用跟蹤存儲(chǔ)器位置的統(tǒng)計(jì)使用計(jì)數(shù)以及該計(jì)數(shù)與閾 值的比較的存儲(chǔ)器管理組件來(lái)優(yōu)化存儲(chǔ)器在分層(和/或分布式)環(huán)境中的布置的系統(tǒng)。 這樣的優(yōu)化系統(tǒng)采用計(jì)數(shù)的近似值來(lái)跟蹤一塊或一段存儲(chǔ)器實(shí)際上被操作系統(tǒng)(OS)多久 使用一次一(而非昂貴的對(duì)這樣的存儲(chǔ)器段的完全使用計(jì)數(shù)的跟蹤一例如在對(duì)每一存儲(chǔ)器存取執(zhí)行32位或64位計(jì)數(shù)器遞增時(shí),每塊4-8字節(jié)的存儲(chǔ)器存儲(chǔ)/帶寬可變得過(guò)于
昂貴)o分層存儲(chǔ)器環(huán)境在分層的多個(gè)位置提供數(shù)據(jù)存儲(chǔ),其中一些位置比其他位置提供 更快的數(shù)據(jù)存取?;诖鎯?chǔ)器存取和/或?qū)?shù)據(jù)位置的存取期間的數(shù)據(jù)使用,存儲(chǔ)器管理 組件方便了一種近似地標(biāo)識(shí)存儲(chǔ)器組塊多久被使用一次的簡(jiǎn)潔方式,以促進(jìn)系統(tǒng)整體的高 效操作。此外,每一存儲(chǔ)器位置都可基于對(duì)應(yīng)的存儲(chǔ)器存取來(lái)改變(例如,反復(fù)使用的數(shù)據(jù) 可被置于相對(duì)快速的位置,并且未被充分使用的數(shù)據(jù)可被置于被認(rèn)為相對(duì)慢的位置)。在一 相關(guān)方面,本發(fā)明的優(yōu)化系統(tǒng)利用預(yù)定數(shù)量的位(例如,1位或2位來(lái)作為存取位)來(lái)跟蹤 存儲(chǔ)器頁(yè)(例如,一 4K的頁(yè)),其中只要處理單元對(duì)存儲(chǔ)器進(jìn)行存取,則可生成可對(duì)照閾值 進(jìn)行比較的隨機(jī)數(shù)。如果這樣的隨機(jī)數(shù)超過(guò)閾值,則針對(duì)該存儲(chǔ)器的存取位可被設(shè)為“打開(kāi) (on)”。這樣的存取位可保持“打開(kāi)”以獲取附加數(shù)據(jù),直至被再次設(shè)為0(例如由存儲(chǔ)器管 理組件)。取決于存儲(chǔ)器位置被存取的次數(shù),可以自適應(yīng)地調(diào)整閾值。這樣的閾值可由存儲(chǔ) 器管理組件提供,該組件也讀存取位。因此,只要處理單元對(duì)存儲(chǔ)器塊/組塊進(jìn)行存取,則 可以執(zhí)行統(tǒng)計(jì)測(cè)試,這可改變存取位的狀態(tài)(例如,從關(guān)閉(off)到打開(kāi))。存取位(例如, 存取閾值寄存器)位于處理單元內(nèi),并且基于它們的“打開(kāi)”狀態(tài)可以提供關(guān)于存儲(chǔ)器分配 和布置的反饋??梢允褂枚喾N算法來(lái)跟蹤對(duì)存儲(chǔ)器組塊的存取。可以理解,在沒(méi)有閾值所 設(shè)定的足夠存取的情況下,這樣的存取位具有很低的概率被意外地置位為“打開(kāi)”狀態(tài)。如此,被充分使用的頁(yè)(如由閾值所表示的)可以與其他頁(yè)(例如,如由閾值所表 示的未被充分使用的那些)相區(qū)別。這樣的閾值可由存儲(chǔ)器管理組件(例如,隨機(jī))設(shè)定, 其中基于從CPU對(duì)存儲(chǔ)器的存取所生成的數(shù)與閾值數(shù)的比較所返回的結(jié)果,可將存取位置 位成“打開(kāi)”狀態(tài)。隨后,可以作出關(guān)于應(yīng)當(dāng)將存儲(chǔ)器重新定位在何處的決定。因此,閾值 可基于存儲(chǔ)器活動(dòng)的類型來(lái)進(jìn)行適應(yīng)(例如,如果頁(yè)被密集地使用則提升)??梢悦靼祝?發(fā)明還可適用于具有異構(gòu)性能特性的分區(qū)存儲(chǔ)器。在一相關(guān)方面,該優(yōu)化系統(tǒng)還采用試探式計(jì)數(shù)器經(jīng)由對(duì)該計(jì)數(shù)器的遞增和/或復(fù) 位來(lái)跟蹤存儲(chǔ)器存取,其中讀這樣的計(jì)數(shù)器并隨后從本發(fā)明的優(yōu)化系統(tǒng)中清零。因此,可以 監(jiān)視并比較不同處理單元對(duì)存儲(chǔ)器位置進(jìn)行存取的活動(dòng)以優(yōu)化存儲(chǔ)器布置。為實(shí)現(xiàn)上述及相關(guān)目的,在此結(jié)合以下描述和附圖描述了所要求保護(hù)的主題的某 些說(shuō)明性方面。這些方面指示可實(shí)踐本主題的各種方式,它們均落在所要求保護(hù)的主題的 范圍之內(nèi)。當(dāng)結(jié)合附圖閱讀以下詳細(xì)描述時(shí),本發(fā)明的其他優(yōu)點(diǎn)和新穎特征將變得顯而易 見(jiàn)。附圖簡(jiǎn)述
圖1示出采用計(jì)數(shù)的近似值來(lái)跟蹤存儲(chǔ)器塊多久被存取一次的優(yōu)化系統(tǒng)的框圖。圖2示出包括存儲(chǔ)器管理組件的優(yōu)化系統(tǒng)的另一框圖。圖3示出利用預(yù)定數(shù)量的位來(lái)跟蹤存儲(chǔ)器頁(yè)的特定優(yōu)化系統(tǒng)。圖4示出根據(jù)本發(fā)明的一方面的優(yōu)化存儲(chǔ)器布置的相關(guān)方法。圖5示出根據(jù)本發(fā)明的一方面的用于存儲(chǔ)器布置的統(tǒng)計(jì)跟蹤的相關(guān)方法。圖6示出根據(jù)本發(fā)明的一方面的采用計(jì)數(shù)器的示例性優(yōu)化系統(tǒng)。圖7示出根據(jù)本發(fā)明的一方面的移動(dòng)存儲(chǔ)器位置的相關(guān)方法。圖8示出根據(jù)本發(fā)明的一方面的便于調(diào)整閾值的人工智能組件。
圖9示出了用于實(shí)現(xiàn)本發(fā)明的各方面的示例性環(huán)境。圖10是根據(jù)本發(fā)明一方面的可用于存儲(chǔ)器優(yōu)化的示例計(jì)算環(huán)境的示意性框圖。詳細(xì)描述現(xiàn)在將參考附圖描述本發(fā)明的各方面,全部附圖中相同的標(biāo)號(hào)指的是相同或相應(yīng) 的元 素。然而應(yīng)該了解,附圖及其相關(guān)詳細(xì)描述不旨在將所要求保護(hù)的主題限于所公開(kāi)的 具體形式。相反,其意圖是覆蓋落在所要求保護(hù)的主題的精神和范圍內(nèi)的所有修改、等效和 替換方案。圖1示出采用計(jì)數(shù)的近似值來(lái)跟蹤存儲(chǔ)器組塊或段102、104、106 (其中N是整數(shù)) 實(shí)際上被操作系統(tǒng)(OS)多久使用一次的優(yōu)化系統(tǒng)100的框圖。存儲(chǔ)器塊102、104、106可 形成分層安排,其中這種分層存儲(chǔ)安排可利用例如計(jì)算機(jī)程序中的存儲(chǔ)器位置。每一存儲(chǔ) 器塊102、104、106和/或該分層結(jié)構(gòu)的每一層可包括比其他或較低層具有更高速度、更小 大小、或更低等待時(shí)間的屬性。優(yōu)化系統(tǒng)100減輕其中處理單元140 (例如,中央處理單元、 圖形處理單元)將其大量時(shí)間花在空閑上以等待存儲(chǔ)器I/O完成的情況,其中這樣的處理 單元140操作得太快以致于對(duì)大多數(shù)程序工作負(fù)載而言,存儲(chǔ)器存取的引用的位置和高速 緩存的效率以及分層結(jié)構(gòu)的不同層之間的存儲(chǔ)器轉(zhuǎn)移是對(duì)處理速度的實(shí)際限制。此外,存儲(chǔ)器塊102、104、106可包括大小只有幾百字節(jié)的最快的可能存取(通常 1個(gè)CPU周期);通常具有數(shù)十千字節(jié)的、通常在只有幾個(gè)周期內(nèi)存取的1級(jí)(L1)高速緩 存;通常具有512KiB或更大的、比L1等待時(shí)間高2到10倍的2級(jí)(L2)高速緩存;通常具 有若干MiB的、等待時(shí)間高于L2的3級(jí)(L3)高速緩存;可花費(fèi)數(shù)百周期但卻是數(shù)千兆字節(jié) 的主存儲(chǔ)器(DRAM),等等。例如,處理器寄存器可以位于存儲(chǔ)器分層結(jié)構(gòu)的頂層,并向處理單元140提供存 取數(shù)據(jù)的最快方式。處理器寄存器可由處理單元140上可用的相對(duì)少量的存儲(chǔ)來(lái)表示,這 些存儲(chǔ)的內(nèi)容與其他位置可用的存儲(chǔ)相比可被更快速地存取。一般而言,編譯器可以確定 將什么數(shù)據(jù)移動(dòng)到哪一寄存器。處理單元140的寄存器可包括被直接編碼成指令的一部分的寄存器組,如指令集 所定義的。這可被稱為“架構(gòu)寄存器”。例如,x86指令集定義8個(gè)32位寄存器的集合,但 實(shí)現(xiàn)x86指令集的CPU將包含比這8個(gè)更多的寄存器。具體而言,操作可以基于將數(shù)據(jù)從 主存儲(chǔ)器移到寄存器、對(duì)它們進(jìn)行操作、隨后將結(jié)果移回主存儲(chǔ)器的原理(例如,加載_存 儲(chǔ)架構(gòu))。這提供了引用的位置,其中相同的值通常被重復(fù)地存?。徊⑶以诩拇嫫髦斜3诌@ 些頻繁使用的值提高了程序執(zhí)行性能。因此,并非跟蹤存儲(chǔ)器段102、104、106的完全使用 計(jì)數(shù)——這將是昂貴的,本發(fā)明的優(yōu)化系統(tǒng)100方便了一種近似地標(biāo)識(shí)存儲(chǔ)器組塊多久被 使用一次的簡(jiǎn)潔方式,以促進(jìn)系統(tǒng)整體的高效操作。圖2示出根據(jù)本發(fā)明的一方面的包括存儲(chǔ)器管理組件230的優(yōu)化系統(tǒng)200的另一 框圖。存儲(chǔ)器管理組件230通過(guò)存儲(chǔ)器位置的統(tǒng)計(jì)使用計(jì)數(shù)與閾值的比較來(lái)跟蹤該計(jì)數(shù)。 如圖2所示,數(shù)據(jù)存儲(chǔ)是在分層的多個(gè)位置提供的,其中一些位置提供比其他位置更快的 數(shù)據(jù)存取?;诖鎯?chǔ)器存取和/或?qū)?shù)據(jù)位置的存取期間的數(shù)據(jù)使用,存儲(chǔ)器管理組件230 方便了一種近似地標(biāo)識(shí)存儲(chǔ)器組塊235、237、以及239多久被使用一次的簡(jiǎn)潔方式,以促進(jìn) 系統(tǒng)整體的高效操作。與塊235、237、239相關(guān)聯(lián)的每一存儲(chǔ)器位置都可基于對(duì)應(yīng)的存儲(chǔ)器 存取來(lái)改變(例如,反復(fù)使用的數(shù)據(jù)可被置于相對(duì)快速的位置,并且未充分使用的數(shù)據(jù)可以置于被認(rèn)為相對(duì)慢的位置)。圖3示出利用預(yù)定數(shù)量的位(例如,1位或2位來(lái)作為存取位340)來(lái)跟蹤頁(yè)(例 如,一 4K的頁(yè))的優(yōu)化系統(tǒng)300,其中只要處理單元對(duì)存儲(chǔ)器進(jìn)行存取,則可生成可對(duì)照閾 值350進(jìn)行比較的隨機(jī)數(shù)。如果這樣的隨機(jī)數(shù)超過(guò)閾值,則針對(duì)該存儲(chǔ)器的存取位可被打 開(kāi)。這樣的存取位可保持打開(kāi)以獲取附加數(shù)據(jù),直至被再次設(shè)為0(例如由存儲(chǔ)器管理組件 330)。取決于存儲(chǔ)器位置被存取的次數(shù),可以自適應(yīng)地調(diào)整閾值350。這樣的閾值350可由 存儲(chǔ)器管理組件330提供,該組件也讀存取位340。如此,只要處理單元對(duì)存儲(chǔ)器組塊進(jìn)行 存取,則可以執(zhí)行統(tǒng)計(jì)測(cè)試,這可改變存取位的狀態(tài)(例如,從關(guān)閉到打開(kāi))。存取位340(例 如,存取閾值寄存器)可位于處理單元內(nèi),并且基于它們的“打開(kāi)”狀態(tài)可以提供關(guān)于存儲(chǔ) 器分配和布置的反饋??梢允褂枚喾N算法來(lái)跟蹤對(duì)存儲(chǔ)器組塊的存取??梢岳斫?,在沒(méi)有 閾值350所設(shè)定的足夠存取的情況下,這樣的存取位具有很低的概率被意外地設(shè)為“打開(kāi)” 狀態(tài)。圖4示出根據(jù)本發(fā)明的一方面的優(yōu)化存儲(chǔ)器在分層環(huán)境中的布置的方法400。雖 然該示例性方法此處被示出并描述為表示各種事件和/或動(dòng)作的一系列框,但本發(fā)明并不 受所示出的這些框的排序的限制。例如,根據(jù)本發(fā)明,除了在此示出的次序之外,某些動(dòng)作 或事件可以按不同的次序發(fā)生和/或與其他動(dòng)作或事件同時(shí)發(fā)生。此外,不是所有示出的 框、事件或動(dòng)作都是實(shí)施根據(jù)本發(fā)明的方法所必需的。此外,將會(huì)認(rèn)識(shí)到根據(jù)本發(fā)明的該示 例性方法和其他方法可以與在此圖示并描述的方法相關(guān)聯(lián)地實(shí)現(xiàn),也可與未示出或描述的 其他系統(tǒng)和裝置相關(guān)聯(lián)地實(shí)現(xiàn)。一開(kāi)始且在410,以分層安排來(lái)提供存儲(chǔ)器塊。這樣的分層 安排在分層的多個(gè)位置提供數(shù)據(jù)存儲(chǔ),其中一些位置提供比其他位置更快的數(shù)據(jù)存取。接 著,并且在420,處理單元經(jīng)由CPU對(duì)存儲(chǔ)器塊進(jìn)行存取。在430,可以確定關(guān)于存儲(chǔ)器存取 的近似值。隨后,在440,基于在存儲(chǔ)器存取和/或?qū)?shù)據(jù)位置的存取期間的這一近似,方 法400方便了一種近似地標(biāo)識(shí)存儲(chǔ)器組塊多久被使用一次的簡(jiǎn)潔方式,以促進(jìn)系統(tǒng)整體的 高效操作。圖5示出根據(jù)本發(fā)明的一方面的優(yōu)化存儲(chǔ)器布置的另一方法500。一開(kāi)始并且在 510,可以向CPU提供閾值(例如,存儲(chǔ)器管理組件提供針對(duì)存儲(chǔ)器組塊的閾值信息)。在 520,處理單元每次對(duì)這樣的存儲(chǔ)器組塊進(jìn)行存取時(shí),都可生成隨機(jī)數(shù)。在530,這一隨機(jī)數(shù) 隨后可以與閾值進(jìn)行比較,其中如果這一隨機(jī)數(shù)超過(guò)閾值,則在540可對(duì)該存儲(chǔ)器將針對(duì) 該存儲(chǔ)器組塊的位打開(kāi)。例如,并且如在圖6所示,兩個(gè)處理器A和B可各自具有其自己的專用快速存儲(chǔ)器 組塊610、620。對(duì)于該示例,假定移動(dòng)塊要比對(duì)其他處理器的快速存儲(chǔ)器執(zhí)行單個(gè)存取操 作(例如,寫操作)昂貴得多。如果單個(gè)塊通常由CPU A存取并且很少由B存取,則本發(fā)明 的優(yōu)化系統(tǒng)610移動(dòng)該塊以使其處于A的快速存儲(chǔ)器內(nèi),并且可指示B使用緩慢存取操作。 此外,如果B頻繁地寫,則該塊可被移除以處于B的快速存儲(chǔ)器內(nèi)。如上所述,并非跟蹤對(duì)一個(gè)塊的存儲(chǔ)器存取的確切計(jì)數(shù)來(lái)確定,優(yōu)化系統(tǒng)615采 用計(jì)數(shù)的近似值來(lái)跟蹤存儲(chǔ)器的組塊或段實(shí)際上多久被操作系統(tǒng)(OS)使用一次。例如,在 中央處理單元(CPU) A 610對(duì)存儲(chǔ)器進(jìn)行存取時(shí),與其相關(guān)聯(lián)的位隨后被打開(kāi)。CPU每次對(duì) 該存儲(chǔ)器進(jìn)行存取時(shí)都發(fā)生對(duì)計(jì)數(shù)器的遞增。同樣,CPU B 620可以對(duì)存儲(chǔ)器進(jìn)行存取并 且與其相關(guān)聯(lián)的位也可被打開(kāi)。在CPU A 610或B 620對(duì)存儲(chǔ)器進(jìn)行存取時(shí),優(yōu)化系統(tǒng)615還采用試探式計(jì)數(shù)器627經(jīng)由對(duì)存儲(chǔ)器的遞增和/或復(fù)位來(lái)跟蹤存儲(chǔ)器存取,其中讀這樣 的計(jì)數(shù)器627并隨后從本發(fā)明的優(yōu)化系統(tǒng)615中清零。因此,可以監(jiān)視并比較不同處理單 元對(duì)存儲(chǔ)器位置進(jìn)行存取的活動(dòng)以優(yōu)化存儲(chǔ)器布置。例如,在一個(gè)方面,計(jì)數(shù)器627可以是 廣義靈活隨機(jī)化計(jì)數(shù)器(GFRC)??梢宰x這樣的計(jì)數(shù)器并從可以用硬件或軟件實(shí)現(xiàn)的存儲(chǔ) 器優(yōu)化器中清零,如上述存取位。例如,生成127個(gè)隨機(jī)位可以表示為R[127:0]。在廣義 128位廣義GFRC[127:0]的情況下,在每一次存儲(chǔ)器操作,生成128個(gè)隨機(jī)位=R[127:0]。 如果所有128個(gè)位在R中都被置位,則GFRC[127]被置位,并且如果R[1260]都被置位,則 GFRC[126]可被置位。一般而言,GFRC[i]在一個(gè)操作后被置位的概率正好是2(i+1)分之一 (其中i是整數(shù))。在讀回?cái)?shù)據(jù)時(shí),最高置位的位指示該計(jì)數(shù)器被“遞增”的次數(shù)的估計(jì)。為使該計(jì)數(shù) 器靈活,注意,可以獨(dú)立地計(jì)算GFRC的每一個(gè)位并且因而只需要存儲(chǔ)這些位的子集。因此, FRC {0,10,20,30,40,50,60}可返回7個(gè)位,這可以提供是否存在一次或更多次存取、21Q次 或更多次存取、22°次或更多次存取等的統(tǒng)計(jì)估計(jì)。為得到更大的存儲(chǔ)效率,可以通過(guò)采用 (l+log2k)位計(jì)數(shù)器來(lái)存儲(chǔ)k位FRC (其中k是整數(shù))。為減少隨機(jī)位的數(shù)量,串行地生成各 隨機(jī)位并且在第一個(gè)0處停止(或直到達(dá)到限度)通常將只需要幾個(gè)隨機(jī)位。平均而言, 可以只生成兩個(gè)隨機(jī)位而不管計(jì)數(shù)器的范圍。例如,這可如下表示偽碼復(fù)位計(jì)數(shù)器()GFRC [127:0] ^ 0 ;結(jié)束;遞增計(jì)數(shù)器()L — 0While (Random () == 1 && L < 127)L++ ;GFRC[L] — 1結(jié)束;假定“Rand0m(隨機(jī))”有1/2的概率返回1。為存儲(chǔ)GFRC作為計(jì)數(shù)器,具有以下遞增計(jì)數(shù)器()L —0While (Random () == 1 && L < 127)L++ ;GFRC — max (GFRC, L);結(jié)束;動(dòng)態(tài)FRC 用于各FRC層的值可以動(dòng)態(tài)地設(shè)定。例如,F(xiàn)RC(0,a,b,c),其中{a,b,c}是優(yōu)化 系統(tǒng)615所設(shè)定的值。例如,考慮具有64MB快速存儲(chǔ)器和1TB慢存儲(chǔ)器的系統(tǒng),可以假定 FRC{0,10}系統(tǒng)就位。盡管不具有引用的所有塊可被放入慢存儲(chǔ)器,但如果存在超過(guò)64MB 個(gè)其中位被置為真的塊,則什么應(yīng)放在哪里變得不清楚。使用動(dòng)態(tài)系統(tǒng),F(xiàn)RC{0,10}可被調(diào) 整成FRC{0,20},以使得存儲(chǔ)器的大約64MB可被標(biāo)識(shí)為高頻率,并且因此值得被放入快速存儲(chǔ)器??梢悦靼?,如果基本上很少存儲(chǔ)器被標(biāo)記為高頻率,則相反的問(wèn)題發(fā)生,并且如上 所述,調(diào)整FRC范圍可便于標(biāo)識(shí)塊的正確布置。高分辨率FRC在以上示例中,可以假定FRC和GFRC采用2的冪來(lái)作為閾值級(jí)別。這最小化了硬 件成本并便于說(shuō)明。這僅僅是假設(shè)并且為實(shí)現(xiàn)計(jì)數(shù)器的更高控制和粒度,可以采用以下方 法GPU寄存器存取線程032位存取線程132位存取線程232位存取線程332位存儲(chǔ)器存取頁(yè)存取信息=從存取位讀頁(yè)存取信息()隨機(jī)值=生成32位隨機(jī)值()頁(yè)存取信息
| =(隨機(jī)值<存取線程0)頁(yè)存取信息[1] | =(隨機(jī)值<存取線程1)頁(yè)存取信息[2] | =(隨機(jī)值<存取線程2)頁(yè)存取信息[3] | =(隨機(jī)值<存取線程3)將頁(yè)存取信息寫回存取位()根據(jù)以上示例,根據(jù)本發(fā)明的一方面,并非作為60位的計(jì)數(shù)器,F(xiàn)RC可以只用3個(gè) 位來(lái)實(shí)現(xiàn)并且仍然(在概率上)在數(shù)千次存取(對(duì)百萬(wàn)的六乘方次存取)之間有所區(qū)別。 此外,范圍與存儲(chǔ)無(wú)關(guān),對(duì)于僅有的兩個(gè)位,可以計(jì)算FRC{0,10,100}。因此,這一信息便于 經(jīng)由基于硬件或軟件的布置方案來(lái)進(jìn)行存儲(chǔ)器塊布置。具體而言,這一信息能產(chǎn)生優(yōu)于LRU 方法的那些選擇的、實(shí)際成本低得多的選擇。另外,動(dòng)態(tài)調(diào)整允許改變存取模式并將最高頻 率塊高效、準(zhǔn)確地布置到最高效存儲(chǔ)器中。圖7示出根據(jù)本發(fā)明的一方面的移動(dòng)存儲(chǔ)器位置的相關(guān)方法700??蓪⑴c存儲(chǔ)器 塊相關(guān)聯(lián)的存取位設(shè)為0(例如,由存儲(chǔ)器管理組件)以獲得附加數(shù)據(jù)。隨后并在720,取 決于存儲(chǔ)器位置被存取的次數(shù),可以自適應(yīng)地調(diào)整閾值。基于這一閾值,在730,可更新存 取位,其中存儲(chǔ)器管理可以讀回存取位。接著,從對(duì)存取位存儲(chǔ)器的這些讀,可以在分層環(huán) 境中移動(dòng)各個(gè)位置(例如,被存取最多的存儲(chǔ)器位置中的數(shù)據(jù)被移動(dòng)到可被最快存取的位 置)。因此,CPU可使用閾值信息和對(duì)存取位的更新來(lái)跟蹤存儲(chǔ)器存取。圖8示出根據(jù)本發(fā)明的一方面的可用來(lái)便于推斷和/或確定何時(shí)、何地、如何改變 閾值840的人工智能(AI)組件830。如此處所使用的,術(shù)語(yǔ)“推斷”通常指的是根據(jù)經(jīng)由 事件和/或數(shù)據(jù)捕獲的一組觀察結(jié)果來(lái)推出或推斷系統(tǒng)、環(huán)境、和/或用戶狀態(tài)的過(guò)程。例 如,推斷可用于標(biāo)識(shí)特定的上下文或動(dòng)作,或可生成狀態(tài)的概率分布。推斷可以是概率性 的,即,基于對(duì)數(shù)據(jù)和事件的考慮計(jì)算所關(guān)注狀態(tài)的概率分布。推斷也可以指用于從一組事 件和/或數(shù)據(jù)組成更高級(jí)事件的技術(shù)。這類推斷導(dǎo)致從一組觀察到的事件和/或存儲(chǔ)的事 件數(shù)據(jù)中構(gòu)造新的事件或動(dòng)作,而無(wú)論事件是否在相鄰時(shí)間上相關(guān),也無(wú)論事件和數(shù)據(jù)是 來(lái)自一個(gè)還是若干個(gè)事件和數(shù)據(jù)源。
AI組件830可采用如上文中結(jié)合促進(jìn)此處所描述的本發(fā)明的各方面描述的各種 合適的基于AI的方案中的任一種。例如,可以經(jīng)由自動(dòng)分類系統(tǒng)和過(guò)程來(lái)促進(jìn)用于顯式或 隱式地學(xué)習(xí)如何自適應(yīng)地調(diào)整閾值840的過(guò)程。分類可采用基于概率和/或基于統(tǒng)計(jì)的分 析(例如,分解成分析效用和成本)來(lái)預(yù)測(cè)或推斷用戶期望自動(dòng)執(zhí)行的動(dòng)作。例如,可采用 支持向量機(jī)(SVM)分類器??刹捎闷渌诸惙椒ǎㄘ惾~斯網(wǎng)絡(luò)、決策樹(shù)、以及提供不同 獨(dú)立性模式的概率分類模型。此處所使用的分類也包括用于開(kāi)發(fā)優(yōu)先級(jí)模型的統(tǒng)計(jì)回歸。如從本說(shuō)明書(shū)中可以容易地理解的,本發(fā)明可以使用顯式訓(xùn)練(例如,經(jīng)由一般 訓(xùn)練數(shù)據(jù))以及隱式訓(xùn)練(例如,經(jīng)由觀察用戶行為、接收外來(lái)信息)的分類器,以使得使 用分類器來(lái)根據(jù)預(yù)定準(zhǔn)則自動(dòng)確定向問(wèn)題返回哪一個(gè)答案。例如,對(duì)于公知的SVM,SVM經(jīng) 由分類器構(gòu)造器和特征選擇模塊中的學(xué)習(xí)或訓(xùn)練階段來(lái)配置。分類器是將輸入屬性矢量x =(xl,x2,x3,x4,xn)映射到該輸入屬于一個(gè)類的置信度的函數(shù),即f(x)=置信度(類)。在此使用詞語(yǔ)“示例性”意指用作示例、實(shí)例或說(shuō)明。在此被描述為“示例性”的 任何方面或設(shè)計(jì)并不一定要被解釋為相比其他方面或設(shè)計(jì)更優(yōu)選或有利。類似地,在此提 供的示例只是出于清楚和理解的目的并且并不意味著以任何方式限制本發(fā)明或其部分???以理解,本可呈現(xiàn)多個(gè)其他或替換示例,但已出于簡(jiǎn)明的目的而省略了。此外,本發(fā)明的全部或部分可以使用產(chǎn)生控制計(jì)算機(jī)以實(shí)現(xiàn)所公開(kāi)的發(fā)明的軟 件、固件、硬件或其任意組合的標(biāo)準(zhǔn)編程和/或工程技術(shù)而被實(shí)現(xiàn)為方法、裝置或制品。例 如,計(jì)算機(jī)可讀介質(zhì)可以包括但不限于磁存儲(chǔ)設(shè)備(例如,硬盤、軟盤、磁帶……)、光盤(例 如,緊致盤(⑶)、數(shù)字多功能盤(DVD)……)、智能卡和閃存設(shè)備(例如,卡、棒、鑰匙驅(qū)動(dòng) 器……)。另外應(yīng)該明白,可以使用載波來(lái)承載計(jì)算機(jī)可讀電子數(shù)據(jù),例如那些用于發(fā)送和 接收電子郵件或用于訪問(wèn)如因特網(wǎng)或局域網(wǎng)(LAN)等網(wǎng)絡(luò)的數(shù)據(jù)。當(dāng)然,本領(lǐng)域的技術(shù)人 員將會(huì)認(rèn)識(shí)到,在不背離所要求保護(hù)的主題的范圍或精神的前提下可以對(duì)這一配置進(jìn)行許 多修改。為給所公開(kāi)的主題的各方面提供上下文,圖9和10以及以下討論旨在提供可以在 其中實(shí)現(xiàn)所公開(kāi)的主題的各方面的合適的環(huán)境的簡(jiǎn)要、概括的描述。盡管以上在運(yùn)行在一 臺(tái)和/或多臺(tái)計(jì)算機(jī)上的計(jì)算機(jī)程序的計(jì)算機(jī)可執(zhí)行指令的一般上下文中描述了本主題, 但本領(lǐng)域的技術(shù)人員將認(rèn)識(shí)到,本發(fā)明也可結(jié)合其他程序模塊實(shí)現(xiàn)。一般而言,程序模塊包 括執(zhí)行特定任務(wù)和/或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、對(duì)象、組件、數(shù)據(jù)結(jié)構(gòu)等。而 且,本領(lǐng)域的技術(shù)人員可以理解,本發(fā)明的方法可用其他計(jì)算機(jī)系統(tǒng)配置實(shí)現(xiàn),包括單處理 器或多處理器計(jì)算機(jī)系統(tǒng)、小型計(jì)算設(shè)備、大型計(jì)算機(jī)、以及個(gè)人計(jì)算機(jī)、手持式計(jì)算設(shè)備 (例如,個(gè)人數(shù)字助理(PDA)、電話、手表...)、基于微處理器或可編程消費(fèi)產(chǎn)品或工業(yè)電子 設(shè)備等。所示各方面也可在任務(wù)由通過(guò)通信網(wǎng)絡(luò)鏈接的遠(yuǎn)程處理設(shè)備中執(zhí)行的分布式計(jì)算 環(huán)境中實(shí)現(xiàn)。然而,即使不是本發(fā)明的全部方面,至少也有本發(fā)明的部分方面可以在獨(dú)立計(jì) 算機(jī)上實(shí)現(xiàn)。在分布式計(jì)算環(huán)境中,程序模塊可以位于本地和遠(yuǎn)程存儲(chǔ)器存儲(chǔ)設(shè)備中。參考圖9,描述了用于實(shí)現(xiàn)本發(fā)明的各方面的示例性環(huán)境910,其包括計(jì)算機(jī)912。 計(jì)算機(jī)912包括處理單元914、系統(tǒng)存儲(chǔ)器916和系統(tǒng)總線918。系統(tǒng)總線918將包括但不 限于系統(tǒng)存儲(chǔ)器916的系統(tǒng)組件耦合到處理單元914。處理單元914可以是各種可用處理 器中的任一種。雙微處理器和其他多處理器體系結(jié)構(gòu)也可用作處理單元914。系統(tǒng)總線918可以是若干類型的總線結(jié)構(gòu)中的任一種,包括存儲(chǔ)器總線或存儲(chǔ)器
10控制器、外圍總線或外部總線、和/或使用各種可用的總線體系結(jié)構(gòu)中的任一種的局部總 線,可用的總線體系結(jié)構(gòu)包括,但不限于,11位總線、工業(yè)標(biāo)準(zhǔn)體系結(jié)構(gòu)(ISA)、微通道體系 結(jié)構(gòu)(MCA)、擴(kuò)展ISA(EISA)、智能驅(qū)動(dòng)器電子接口(IDE)、VESA局部總線(VLB)、外圍部件 互連(PCI)、通用串行總線(USB)、高級(jí)圖形接口(AGP)、個(gè)人計(jì)算機(jī)存儲(chǔ)卡國(guó)際協(xié)會(huì)總線 (PCMCIA)以及小型計(jì)算機(jī)系統(tǒng)接口(SCSI)。系統(tǒng)存儲(chǔ)器916包括易失性存儲(chǔ)器920和非易失性存儲(chǔ)器922?;据斎?輸出 系統(tǒng)(BIOS)包含諸如在啟動(dòng)期間在計(jì)算機(jī)912的元件之間傳送信息的基本例程,其存儲(chǔ) 在非易失性存儲(chǔ)器922中。作為說(shuō)明而非局限,非易失性存儲(chǔ)器922可以包括只讀存儲(chǔ)器 (ROM)、可編程ROM(PROM)、電可編程ROM(EPROM)、電可擦除ROM(EEPROM)或者閃存。易失性 存儲(chǔ)器920包括用作外部高速緩存存儲(chǔ)器的隨機(jī)存取存儲(chǔ)器(RAM)。作為示例而非限制, RAM以多種形式可用,諸如同步RAM(SRAM)、動(dòng)態(tài)RAM(DRAM)、同步DRAM (SDRAM)、雙倍數(shù)據(jù)速 率SDRAM(DDRSDRAM)、增強(qiáng)型SDRAM(ESDRAM)、同步鏈路DRAM(SLDRAM)以及直接存儲(chǔ)器總線 (Rambus)RAM(DRRAM)。
計(jì)算機(jī)912還包括可移動(dòng)/不可移動(dòng)、易失性/非易失性計(jì)算機(jī)存儲(chǔ)介質(zhì)。圖9 示出了盤存儲(chǔ)924,其中這一盤存儲(chǔ)924包括但不限于諸如磁盤驅(qū)動(dòng)器、軟盤驅(qū)動(dòng)器、磁帶 驅(qū)動(dòng)器、Jaz驅(qū)動(dòng)器、Zip驅(qū)動(dòng)器、LS-60驅(qū)動(dòng)器、閃存卡、或者記憶棒等設(shè)備。此外,盤存儲(chǔ) 924可以包括獨(dú)立的或者與其他存儲(chǔ)介質(zhì)結(jié)合的存儲(chǔ)介質(zhì),其他存儲(chǔ)介質(zhì)包括但不限于諸 如緊致盤ROM設(shè)備(⑶-ROM)、可記錄⑶驅(qū)動(dòng)器(⑶-R驅(qū)動(dòng)器)、可重寫⑶驅(qū)動(dòng)器(⑶-RW 驅(qū)動(dòng)器)或者數(shù)字多功能盤ROM驅(qū)動(dòng)器(DVD-ROM)這樣的光盤驅(qū)動(dòng)器。為了便于將盤存儲(chǔ) 設(shè)備924連接到系統(tǒng)總線918,通常使用諸如接口 926等可移動(dòng)或不可移動(dòng)接口。應(yīng)該明白,圖9描述了在用戶和在合適的操作環(huán)境910中描述的基本計(jì)算機(jī)資源 之間擔(dān)當(dāng)中介的軟件。這樣的軟件包括操作系統(tǒng)928??杀淮鎯?chǔ)在盤存儲(chǔ)924上的操作系 統(tǒng)928用于控制并分配計(jì)算機(jī)系統(tǒng)912的資源。系統(tǒng)應(yīng)用程序930通過(guò)存儲(chǔ)在系統(tǒng)存儲(chǔ)器 916或盤存儲(chǔ)924上的程序模塊932和程序數(shù)據(jù)934來(lái)利用操作系統(tǒng)928對(duì)資源的管理。 應(yīng)該明白,在此描述的各個(gè)組件可以用各種操作系統(tǒng)或操作系統(tǒng)的組合來(lái)實(shí)施。用戶通過(guò)輸入設(shè)備936將命令或信息輸入到計(jì)算機(jī)912中。輸入設(shè)備936包括但 不限于諸如鼠標(biāo)、跟蹤球、指示筆、觸摸墊等定點(diǎn)設(shè)備,鍵盤,話筒,操縱桿,游戲手柄,圓盤 式衛(wèi)星天線,掃描儀,TV調(diào)諧卡,數(shù)碼相機(jī),數(shù)碼攝像機(jī),網(wǎng)絡(luò)攝像頭等等。這些以及其他輸 入設(shè)備通過(guò)系統(tǒng)總線918經(jīng)由接口端口 938連接至處理單元914。接口端口 938包括,例 如串行端口、并行端口、游戲端口、以及通用串行總線(USB)。輸出設(shè)備940利用與輸入設(shè) 備936相同類型的某些端口。因此,例如,USB端口可以用來(lái)向計(jì)算機(jī)912提供輸入,以及 將來(lái)自計(jì)算機(jī)912的信息輸出到輸出設(shè)備940。提供輸出適配器942是為了示出存在如監(jiān) 視器、揚(yáng)聲器、和打印機(jī)以及其他輸出設(shè)備940等需要特殊適配器的一些輸出設(shè)備940。輸 出適配器942包括,作為說(shuō)明而非限制,提供輸出設(shè)備940和系統(tǒng)總線918之間的連接手段 的顯卡和聲卡。應(yīng)該注意到,其他設(shè)備和/或設(shè)備系統(tǒng)提供了輸入和輸出能力,諸如遠(yuǎn)程計(jì) 算機(jī)944。計(jì)算機(jī)912可以使用至諸如遠(yuǎn)程計(jì)算機(jī)944等一個(gè)或多個(gè)遠(yuǎn)程計(jì)算機(jī)的邏輯連 接在網(wǎng)絡(luò)化環(huán)境中操作。遠(yuǎn)程計(jì)算機(jī)944可以是個(gè)人計(jì)算機(jī)、服務(wù)器、路由器、網(wǎng)絡(luò)PC、工 作站、基于微處理器的電器、對(duì)等設(shè)備或者其他常見(jiàn)的網(wǎng)絡(luò)節(jié)點(diǎn)等,且通常包括相對(duì)于計(jì)算機(jī)912所描述的多個(gè)或者全部元件。為了簡(jiǎn)明起見(jiàn),對(duì)遠(yuǎn)程計(jì)算機(jī)946僅示出了存儲(chǔ)器存 儲(chǔ)設(shè)備944。遠(yuǎn)程計(jì)算機(jī)944經(jīng)由網(wǎng)絡(luò)接口 948被邏輯地連接到計(jì)算機(jī)912,然后經(jīng)由通信 連接950物理地連接。網(wǎng)絡(luò)接口 948涵蓋諸如局域網(wǎng)(LAN)和廣域網(wǎng)(WAN)這樣的通信 網(wǎng)絡(luò)。LAN技術(shù)包括光纖分布式數(shù)據(jù)接口(FDDI)、銅分布式數(shù)據(jù)接口(⑶DI)、以太網(wǎng)/IEEE 802. 3、令牌環(huán)/IEEE 802. 5等。WAN技術(shù)包括但不限于,點(diǎn)對(duì)點(diǎn)鏈路、諸如綜合業(yè)務(wù)數(shù)字網(wǎng) (ISDN)及其各種變體等電路交換網(wǎng)、分組交換網(wǎng)、以及數(shù)字用戶線(DSL)。 通信連接950指的是用于將網(wǎng)絡(luò)接口 948連接到總線918的硬件/軟件。雖然 為了清楚地舉例說(shuō)明,通信連接950被示為在計(jì)算機(jī)912的內(nèi)部,但其也可以在計(jì)算機(jī)912 的外部。僅出于示例的目的,連接到網(wǎng)絡(luò)接口 948所需要的硬件/軟件包括內(nèi)部和外部技 術(shù),諸如包括常規(guī)電話級(jí)調(diào)制解調(diào)器、電纜調(diào)制解調(diào)器以及DSL調(diào)制解調(diào)器等調(diào)制解調(diào)器, ISDN適配器,和以太網(wǎng)卡。圖10是可用于實(shí)現(xiàn)本發(fā)明的優(yōu)化系統(tǒng)的示例計(jì)算環(huán)境1000的示意性框圖。系統(tǒng) 1000包括一個(gè)或多個(gè)客戶機(jī)1010??蛻魴C(jī)1010可以是硬件和/或軟件(例如,線程、進(jìn)程、 計(jì)算設(shè)備)。系統(tǒng)1000還包括一個(gè)或多個(gè)服務(wù)器1030。服務(wù)器1030也可以是硬件和/或 軟件(例如,線程、進(jìn)程、計(jì)算設(shè)備)。服務(wù)器1030可以容納各線程以通過(guò)例如利用在此描 述的各組件執(zhí)行轉(zhuǎn)換。在客戶機(jī)1010和服務(wù)器1030之間的一種可能的通信能夠以適合在 兩個(gè)或更多計(jì)算機(jī)進(jìn)程之間傳輸?shù)臄?shù)據(jù)分組的形式進(jìn)行。系統(tǒng)1000包括可以用來(lái)使客戶 機(jī)1010和服務(wù)器1030之間通信更容易的通信框架1050。客戶機(jī)1010可在操作上連接至 一個(gè)或多個(gè)客戶機(jī)數(shù)據(jù)存儲(chǔ)1060,客戶機(jī)數(shù)據(jù)存儲(chǔ)可用來(lái)存儲(chǔ)對(duì)客戶機(jī)1010本地的信息。 同樣地,服務(wù)器1030可在操作上連接到一個(gè)或多個(gè)服務(wù)器數(shù)據(jù)存儲(chǔ)1040,服務(wù)器數(shù)據(jù)存儲(chǔ) 可以用來(lái)存儲(chǔ)對(duì)服務(wù)器1030本地的信息。以上描述的內(nèi)容包括各個(gè)示例性方面。當(dāng)然,出于描繪這些方面的目的而描述每 一個(gè)可以想到的組件或方法的組合是不可能的,但本領(lǐng)域內(nèi)的普通技術(shù)人員應(yīng)該認(rèn)識(shí)到, 許多進(jìn)一步的組合和排列都是可能的。因此,在此描述的各方面旨在包括所有這些屬于所 附權(quán)利要求書(shū)的精神和范圍內(nèi)的改變、修改和變型。此外,就在說(shuō)明書(shū)或權(quán)利要求書(shū)中使用術(shù)語(yǔ)“包括”而言,這一術(shù)語(yǔ)旨在以與術(shù)語(yǔ) “包含”在被用作權(quán)利要求書(shū)中的過(guò)渡此時(shí)所解釋的相似的方式為包含性的。
權(quán)利要求
一種計(jì)算機(jī)實(shí)現(xiàn)的系統(tǒng),包括以下計(jì)算機(jī)可執(zhí)行組件包括具有不同速度的多個(gè)存儲(chǔ)器塊的分層或分布式存儲(chǔ)器環(huán)境;以及采用存儲(chǔ)器塊存取的計(jì)數(shù)的近似值來(lái)重新安排存儲(chǔ)器位置的優(yōu)化系統(tǒng)。
2.如權(quán)利要求1所述的計(jì)算機(jī)實(shí)現(xiàn)的系統(tǒng),其特征在于,還包括跟蹤所述計(jì)數(shù)的近似 值的存儲(chǔ)器管理組件。
3.如權(quán)利要求1所述的計(jì)算機(jī)實(shí)現(xiàn)的系統(tǒng),其特征在于,還包括便于確定所述計(jì)數(shù)的 近似值的存取位。
4.如權(quán)利要求3所述的計(jì)算機(jī)實(shí)現(xiàn)的系統(tǒng),其特征在于,所述優(yōu)化系統(tǒng)與同閾值進(jìn)行 比較的統(tǒng)計(jì)使用計(jì)數(shù)相關(guān)聯(lián)。
5.如權(quán)利要求4所述的計(jì)算機(jī)實(shí)現(xiàn)的系統(tǒng),其特征在于,所述閾值可基于存儲(chǔ)器存取 自適應(yīng)地調(diào)整。
6.如權(quán)利要求1所述的計(jì)算機(jī)實(shí)現(xiàn)的系統(tǒng),其特征在于,還包括經(jīng)由遞增或復(fù)位來(lái)跟 蹤存儲(chǔ)器存取的試探式計(jì)數(shù)器。
7.如權(quán)利要求6所述的計(jì)算機(jī)實(shí)現(xiàn)的系統(tǒng),其特征在于,所述試探式計(jì)數(shù)器是靈活隨 機(jī)化計(jì)數(shù)器(FRC)。
8.如權(quán)利要求4所述的計(jì)算機(jī)實(shí)現(xiàn)的系統(tǒng),其特征在于,還包括便于設(shè)定所述閾值的 人工智能組件。
9.如權(quán)利要求7所述的計(jì)算機(jī)實(shí)現(xiàn)的系統(tǒng),其特征在于,所述FRC是動(dòng)態(tài)的。
10.一種計(jì)算機(jī)實(shí)現(xiàn)的方法,包括以下計(jì)算機(jī)可執(zhí)行動(dòng)作經(jīng)由統(tǒng)計(jì)使用計(jì)數(shù)來(lái)跟蹤分層存儲(chǔ)器安排中的存儲(chǔ)器存??;以及基于所述統(tǒng)計(jì)使用計(jì)數(shù)來(lái)重新安排所述分層存儲(chǔ)器的位置。
11.如權(quán)利要求10所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其特征在于,還包括在對(duì)所述分層存儲(chǔ) 器安排中的存儲(chǔ)器塊進(jìn)行存取時(shí)生成隨機(jī)數(shù)。
12.如權(quán)利要求11所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其特征在于,還包括將所述隨機(jī)數(shù)與預(yù) 定閾值相比較。
13.如權(quán)利要求11所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其特征在于,還包括在所述隨機(jī)數(shù)超過(guò) 所述預(yù)定閾值時(shí),將存取位的狀態(tài)改變成打開(kāi)。
14.如權(quán)利要求11所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其特征在于,還包括將存取位設(shè)為0。
15.如權(quán)利要求14所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其特征在于,還包括自適應(yīng)地調(diào)整所述 閾值。
16.如權(quán)利要求14所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其特征在于,還包括更新所述存取位。
17.如權(quán)利要求16所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其特征在于,還包括監(jiān)視與所述分層存 儲(chǔ)器安排相關(guān)聯(lián)的不同處理單元的活動(dòng)。
18.如權(quán)利要求17所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其特征在于,還包括針對(duì)存儲(chǔ)器存取來(lái) 遞增計(jì)數(shù)器。
19.如權(quán)利要求18所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,其特征在于,還包括基于試探法來(lái)推斷 要對(duì)所述預(yù)定閾值設(shè)定的值。
20.一種計(jì)算機(jī)實(shí)現(xiàn)的方法,包括以下計(jì)算機(jī)可執(zhí)行動(dòng)作用于經(jīng)由統(tǒng)計(jì)使用計(jì)數(shù)來(lái)跟蹤對(duì)存儲(chǔ)器位置的存取的裝置;以及用于基于所述統(tǒng)計(jì)使用位置來(lái)優(yōu)化存儲(chǔ)器操作的裝置。
全文摘要
在分層和/或分布式數(shù)據(jù)存儲(chǔ)中優(yōu)化存儲(chǔ)器分配的系統(tǒng)和方法。存儲(chǔ)器管理組件方便了一種近似地標(biāo)識(shí)存儲(chǔ)器組塊多久被使用一次的簡(jiǎn)潔方式,以促進(jìn)系統(tǒng)整體的高效操作。每一存儲(chǔ)器位置可基于通過(guò)跟蹤存儲(chǔ)器位置的統(tǒng)計(jì)使用計(jì)數(shù)和其與閾值的比較來(lái)確定的對(duì)應(yīng)的存儲(chǔ)器存取來(lái)改變。
文檔編號(hào)G06F9/38GK101861573SQ200880117521
公開(kāi)日2010年10月13日 申請(qǐng)日期2008年11月19日 優(yōu)先權(quán)日2007年11月19日
發(fā)明者A·A·齊特, K·K·達(dá)拉爾, S·普羅諾夫索特 申請(qǐng)人:微軟公司