欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

共享緩存管理方法和系統(tǒng)的制作方法

文檔序號:6468460閱讀:217來源:國知局
專利名稱:共享緩存管理方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及信息技術(shù)領(lǐng)域,更具體地,本發(fā)明涉及用于共享緩存管理方法和系統(tǒng)。
背景技術(shù)
當(dāng)前,研究者已經(jīng)提出基于硬件的事務(wù)內(nèi)存系統(tǒng),來解決傳統(tǒng)基于鎖的并行編程 模型中存在的問題。事務(wù)內(nèi)存系統(tǒng)允許編程者指定串行方式執(zhí)行的代碼的區(qū)域(稱為事 務(wù))。也就是說,每個事務(wù)執(zhí)行時在線程中僅執(zhí)行其對應(yīng)的代碼。事務(wù)內(nèi)存系統(tǒng)允許應(yīng)用 程序以并行但原子的方式來訪問共享數(shù)據(jù)。事務(wù)內(nèi)存可以提高并行程序的性能??梢詤?考由Maurice Herlihy, J.Eliot B. Moss在1993年發(fā)表的文章"Transactional Memory: Architectural Support for Lock-Free DataStructures,,(文獻(xiàn)1),來了解事務(wù)內(nèi)存的實(shí) 現(xiàn)以及有關(guān)的一些術(shù)語或概念。在硬件/混合型事務(wù)內(nèi)存系統(tǒng)中廣泛采用了硬件專用緩存 器及相關(guān)控制機(jī)制,來實(shí)現(xiàn)版本管理和沖突檢測。 硬件專用緩存器的設(shè)計與多處理核架構(gòu)的特征密切相關(guān)。從多核架構(gòu)的發(fā)展來 看,存在兩個重要的特征或趨勢。 一方面,并發(fā)多線程(SMT)處理器核心變得越來越普及。 另一方面,將越來越多的處理核集成到同一芯片中。顯然,如果每個硬件線程(在并發(fā)多線 程核心的情況下)或者每個處理核(在多個處理核系統(tǒng)的情況下)需要私有的專用緩存, 則會引起非常高的實(shí)現(xiàn)成本。因此,需要在多個硬件線程(對于SMT核的情況)或者多個 處理器核(對于多核的情況)之間共享緩存。 用于硬件共享緩存的傳統(tǒng)緩存管理方法可以被分為兩種不同的方法。
1)獨(dú)占型共享緩存 來自不同線程的所有事務(wù)競爭同一共享緩存。并且,僅有一個事務(wù)能夠被獲準(zhǔn)訪 問該共享緩存,也即獨(dú)占的訪問,直到整個事務(wù)由于成功提交(commit)或者重試(retry) 而結(jié)束為止。因此,獨(dú)占型共享緩存可以以非常簡單的硬件邏輯實(shí)現(xiàn)。但是,這樣的設(shè)計可 能導(dǎo)致性能損失,因?yàn)檫@很大程度上限制了潛在的并發(fā)性。
2)非獨(dú)占型共享緩存 在這種設(shè)計中,來自不同事務(wù)的數(shù)據(jù)以不同的色彩標(biāo)記,這些事務(wù)被分配在共享 緩存中。通常,這種分配是以緩存塊(cacheline)為單位的細(xì)粒度來執(zhí)行的。為了區(qū)分緩 存器中每個緩存塊所存儲的數(shù)據(jù)屬于哪個事務(wù),緩存器中的每個緩存塊具有一個相應(yīng)的色 彩標(biāo)記。非獨(dú)占型共享緩存的主要優(yōu)點(diǎn)在于其相比于獨(dú)占型共享緩存的方法能夠獲得更 好的資源利用率。 然而,非獨(dú)占型共享緩存的設(shè)計將顯著增加事務(wù)提交(commit)、中止(abort)、替 代(r印lacement)以及沖突檢測(conflict detection)的實(shí)現(xiàn)復(fù)雜度。在事務(wù)以傳統(tǒng)的 細(xì)粒度(也即以緩存塊(cacheline)為粒度)隨機(jī)分配在非獨(dú)占型共享緩存中的情況下
對于事務(wù)提交或者中止,硬件邏輯必須比較每個緩存塊以匹配目標(biāo)色彩;
對于在替代策略中發(fā)生沖突失效(conflict miss)的情況,對于硬件來說很難選 擇一個事務(wù)來執(zhí)行替代。例如,小的事務(wù)應(yīng)該中止大的事務(wù),或者新的事務(wù)可以中止將被提交的事務(wù); 對于沖突檢測,硬件必須針對每個緩存塊附加色彩寄存器和對應(yīng)比較邏輯,這顯 然增加了硬件成本。

發(fā)明內(nèi)容
為了克服現(xiàn)有技術(shù)中的缺陷,本發(fā)明提出一種硬件事務(wù)內(nèi)存系統(tǒng)中的新的動態(tài)共 享緩存管理方案。該共享緩存管理方案能夠基于對事務(wù)需求緩存的大小的預(yù)測為多個事務(wù) 動態(tài)分配緩存。進(jìn)一步地,在一個實(shí)施例中,通過改變共享緩存的分配粒度進(jìn)一步實(shí)現(xiàn)對于 硬件部分的簡化。 根據(jù)本發(fā)明的第一方面,提供一種共享緩存管理系統(tǒng)。該系統(tǒng)包括資源管理模 塊,被配置為響應(yīng)于事務(wù)的開始,依據(jù)預(yù)測的事務(wù)數(shù)據(jù)大小為該事務(wù)分配共享緩存資源,并 且響應(yīng)于該事務(wù)的成功提交,記錄該事務(wù)實(shí)際占用的共享緩存大小以更新該事務(wù)的歷史信 息,其中該事務(wù)的預(yù)測的事務(wù)數(shù)據(jù)大小是由預(yù)測器在運(yùn)行時中根據(jù)事務(wù)的歷史信息預(yù)測的。
根據(jù)本發(fā)明的第二方面,提供一種共享緩存管理方法。該方法包括以下步驟在 運(yùn)行時中根據(jù)即將執(zhí)行的事務(wù)的歷史信息預(yù)測該事務(wù)的事務(wù)數(shù)據(jù)大小;響應(yīng)于該事務(wù)的開 始,依據(jù)預(yù)測事務(wù)數(shù)據(jù)大小為該事務(wù)分配共享緩存資源;響應(yīng)于該事務(wù)的成功提交,記錄該 事務(wù)實(shí)際占用的共享緩存大小以更新預(yù)測器中針對該事務(wù)的歷史信息。
根據(jù)本發(fā)明的第三方面,提供一種共享緩存器。該共享緩存器包括多個關(guān)聯(lián)緩
存路,其中每個緩存路中具有多個緩存塊;地址索引,用于尋址到所述每個緩存路中相應(yīng)位
置的緩存塊;色彩寄存器,用于針對每個緩存路存儲色彩值,其中每個色彩值對應(yīng)于不同事
務(wù),其中所述共享緩存被配置為以緩存路為粒度在多個事務(wù)之間共享緩存資源。 本發(fā)明的方案能夠?qū)⒂布膹?fù)雜度轉(zhuǎn)移到軟件中,而且?guī)缀醪粫a(chǎn)生性能損失。
通過預(yù)測事務(wù)的緩存需求的大小,該新的共享緩存管理方案能夠?yàn)槎鄠€事務(wù)動態(tài)地分配資
源。優(yōu)選地,以緩存路為粒度為多個事務(wù)動態(tài)地分配共享緩存資源。在這方面,根據(jù)本發(fā)明
的方案能夠很大程度上簡化硬件實(shí)現(xiàn),因?yàn)槊總€緩存路僅需要配備一個色彩比特寄存器,
而這使得提交和中止的邏輯配置也將變得相當(dāng)簡單。


通過以下結(jié)合附圖的說明,并且隨著對本發(fā)明的更全面了解,本發(fā)明的其他目的 和效果將變得更加清楚和易于理解,其中 圖1示意性地示出了根據(jù)本發(fā)明的共享緩存管理系統(tǒng)的架構(gòu);
圖2示意性地示出了根據(jù)本發(fā)明一種實(shí)施方式的共享緩存管理系統(tǒng)的結(jié)構(gòu);
圖3示意性地示出了根據(jù)本發(fā)明圖2的實(shí)施方式的共享內(nèi)存的微邏輯架構(gòu);
圖4示意性地示出了根據(jù)本發(fā)明又一實(shí)施方式的共享緩存管理系統(tǒng)的結(jié)構(gòu);
圖5示出了根據(jù)本發(fā)明的一個實(shí)施方式的共享緩存管理方法的流程圖。
在所有的上述附圖中,相同的標(biāo)號表示具有相同、相似或相應(yīng)的特征或功能。
具體實(shí)施例方式本發(fā)明適用于事務(wù)內(nèi)存技術(shù)領(lǐng)域,以下說明將以事務(wù)內(nèi)存的運(yùn)行環(huán)境為例,即處理器上運(yùn)行的應(yīng)用程序包含若干事務(wù),事務(wù)使用共享緩存器來存儲中間狀態(tài)數(shù)據(jù),以色彩 標(biāo)記指示事務(wù)的標(biāo)識號(ID)。當(dāng)然,本領(lǐng)域的技術(shù)人員應(yīng)該理解,本發(fā)明不限于此,而是可 以將事務(wù)抽象到更一般的概念程序,因?yàn)槭聞?wù)是應(yīng)用程序的一部分。 本發(fā)明已經(jīng)注意到,在硬件事務(wù)內(nèi)存系統(tǒng)的共享內(nèi)存涉及方案中,一個主要的挑 戰(zhàn)在于按需的資源管理,這對于系統(tǒng)性能非常關(guān)鍵。例如,具有不同數(shù)據(jù)大小的多個事務(wù)彼 此競爭申請相同的共享緩存,則按需資源管理的策略將選擇響應(yīng)那些可能的事務(wù)組合,即 這些事務(wù)所要求的總緩存大小沒有超過總的硬件資源的極限。按需資源管理的另一優(yōu)點(diǎn)在 于,如果一個具有很大數(shù)據(jù)大小的事務(wù)總是使得緩存溢出,這樣的事務(wù)將直接進(jìn)入運(yùn)行時 中對于溢出的特殊處理,避免其占用硬件緩存。根據(jù)本發(fā)明,按需資源管理要求資源分配邏 輯在事務(wù)起始時就知道該事務(wù)所請求的總的緩存大小。在本發(fā)明中,這是通過對于事務(wù)數(shù) 據(jù)大小的預(yù)測機(jī)制提供的。 通過實(shí)驗(yàn)觀察可以發(fā)現(xiàn)大多數(shù)的事務(wù)具有可預(yù)測的寫數(shù)據(jù)大小,標(biāo)識著該事務(wù)在 執(zhí)行時可能需求的緩存大小。這表明對于事務(wù)數(shù)據(jù)大小(即對事務(wù)需求的緩存大小)進(jìn)行 預(yù)測的可能性。 圖1示意性地示出了根據(jù)本發(fā)明一種實(shí)施方式的共享緩存管理系統(tǒng)的結(jié)構(gòu)。其 中,參考標(biāo)號100表示根據(jù)本發(fā)明一個實(shí)施方式的共享緩存系統(tǒng)。 如圖1所示,在共享緩存管理系統(tǒng)100中,包括軟件部分、硬件部分以及相適應(yīng)的 操作系統(tǒng)(未示出)。 在軟件部分中,多個線程220-1. . . 220-n,每一個線程可包括多個事務(wù),例如 如圖所示,線程220-1包括事務(wù)2201、2202,線程220-n包括事務(wù)2203、2204、2205。線 程220-1... 220-n可以屬于同一個進(jìn)程,也可以屬于不同的進(jìn)程。在環(huán)境100中,線程 220-1. . . 220-n的執(zhí)行是并行的,而每一個線程中的多個事務(wù)的執(zhí)行是串行的。
預(yù)測器210對每個事務(wù)的數(shù)據(jù)大小,也即對共享緩存需求的大小進(jìn)行預(yù)測。預(yù)測 器210可以置于軟件運(yùn)行時端,例如設(shè)置在運(yùn)行時庫中。這樣的設(shè)置能夠?yàn)橄到y(tǒng)提供多種 優(yōu)勢,例如可以使得系統(tǒng)硬件設(shè)計得以簡化,獲得良好的靈活性,可以支持更復(fù)雜的預(yù)測算 法,等等。 在每個事務(wù)請求開始執(zhí)行之前,將向預(yù)測器210獲取該事務(wù)可能的寫數(shù)據(jù)大小。 該數(shù)據(jù)大小可以以一定粒度給出。衡量事務(wù)數(shù)據(jù)大小的粒度的選擇與共享緩存的物理設(shè)計 相關(guān)。通過改變共享緩存的物理設(shè)計能夠簡化該共享緩存管理系統(tǒng)。這一點(diǎn)將在后文中結(jié) 合硬件部分著重闡述。如果針對該事務(wù)所預(yù)測的數(shù)據(jù)大小大于總的硬件緩存,則該事務(wù)將 直接進(jìn)入用于溢出事務(wù)的特殊處理。如果針對該事務(wù)所預(yù)測的數(shù)據(jù)大小在合理的范圍內(nèi), 則可以將該預(yù)測的數(shù)據(jù)大小通知資源管理模塊310,以便進(jìn)行緩存資源分配。
硬件部分包括共享緩存320,并且在一些有利的實(shí)施中硬件部分還包括資源管理 模塊310,其中,資源管理模塊310負(fù)責(zé)以一定粒度對硬件資源特別是共享緩存320的資源 進(jìn)行分配和回收。 資源管理模塊310與當(dāng)前資源記錄裝置311進(jìn)行交互。當(dāng)前資源記錄裝置311用 于記錄與當(dāng)前可用的緩存資源有關(guān)的信息。根據(jù)所通知的預(yù)測事務(wù)大小,并且基于當(dāng)前資 源記錄裝置311所記錄的有關(guān)當(dāng)前共享緩存320中可用資源的信息,資源管理模塊310執(zhí) 行對于共享緩存320的資源管理,分別包括在事務(wù)開始時通過分配邏輯完成對事務(wù)的共享內(nèi)存的分配;以及在事務(wù)中止或者提交時尋址相應(yīng)的緩存資源,以執(zhí)行相應(yīng)的操作,并且通 過回收邏輯回收共享緩存320的可用緩存資源,進(jìn)而相應(yīng)地更新當(dāng)前資源記錄裝置311。
以上通過參照圖1對本發(fā)明的技術(shù)方案進(jìn)行了總的說明。各個部件的具體實(shí)現(xiàn)存 在多種可選的實(shí)施方案。例如,根據(jù)圖l所示出的共享緩存管理系統(tǒng)的基本架構(gòu),可以具體 設(shè)計運(yùn)行時庫中的預(yù)測器210對事務(wù)大小進(jìn)行預(yù)測的算法、策略,以便能夠更佳地適應(yīng)各 種具體應(yīng)用情況。如何在事務(wù)開始之前向資源管理模塊310通知將執(zhí)行事務(wù)的預(yù)測數(shù)據(jù)大 小,也可以通過各種不同的方式實(shí)現(xiàn),例如作為現(xiàn)有指令的參數(shù),或者專門為其設(shè)置通知指 令等。在圖1中,資源管理模塊310是在硬件部分中實(shí)現(xiàn)的,但是可以理解還可以通過軟件 或者硬件與軟件相結(jié)合的方式實(shí)現(xiàn)資源管理模塊310。更加靈活的是,根據(jù)本發(fā)明的共享 緩存管理架構(gòu)可以應(yīng)用到各種共享緩存。換句話說,通過改變共享緩存的硬件設(shè)計方案,可 以進(jìn)一步增加根據(jù)本發(fā)明的共享緩存管理系統(tǒng)的性能,而不會由此造成更多的硬件成本增 加。 以下參照圖2-4進(jìn)一步描述根據(jù)本發(fā)明共享緩存管理系統(tǒng)的具體實(shí)施例,以及其 工作過程。 圖2示意性地示出了根據(jù)本發(fā)明一種實(shí)施方式的共享緩存管理系統(tǒng)的結(jié)構(gòu)。
如圖2所示的共享緩存管理系統(tǒng)100A將預(yù)測機(jī)制與新穎的粗粒度共享緩存相結(jié) 合。作為一種示例,圖2所示的共享緩存320A為4路關(guān)聯(lián)緩存。資源管理模塊310A以緩 存路作為粒度對共享緩存進(jìn)行資源管理。具體而言,根據(jù)預(yù)測的事務(wù)數(shù)據(jù)大小,共享緩存能 夠動態(tài)的為多個事務(wù)以緩存路作為粒度分配共享緩存。因此,在共享緩存320A中,僅為每 個緩存路配置色彩標(biāo)記和相應(yīng)控制邏輯。這樣的設(shè)計能夠減少硬件成本,并且能夠獲得靈 活的軟件預(yù)測機(jī)制。 首先從工作流角度描述共享緩存管理系統(tǒng)IOOA。在程序中,事務(wù)220-1. . . 220_n 均以事務(wù)開始運(yùn)行時函數(shù)transaction_begin()和事務(wù)結(jié)束運(yùn)行時函數(shù)transaction_ begin ()標(biāo)記。在transaction—begin ()中,運(yùn)行時中的預(yù)測器210負(fù)責(zé)在進(jìn)入該事務(wù)的區(qū) 域之前(事務(wù)開始指令trans—begin指令執(zhí)行之前),根據(jù)歷史信息預(yù)測該事務(wù)所需的數(shù)據(jù) 大小。如果針對該事務(wù)所預(yù)測的數(shù)據(jù)大小大于總的硬件緩存,則該事務(wù)將直接進(jìn)入用于溢 出事務(wù)的特殊處理。如果針對該事務(wù)所預(yù)測的數(shù)據(jù)大小在合理的范圍內(nèi)(例如,當(dāng)前硬件 可用的緩存區(qū)大小可以滿足預(yù)測的數(shù)據(jù)大小),則可以將該預(yù)測的數(shù)據(jù)大小傳遞給資源管 理模塊310A。在本實(shí)施例中,將所預(yù)測的數(shù)據(jù)大小作為事務(wù)開始指令trans—begin中的一 個參數(shù)指示給資源管理器模塊310A。硬件資源管理模塊310A將該預(yù)測的大小與共享緩存 當(dāng)前可用的大小(根據(jù)當(dāng)前資源記錄裝置311A提供的信息)進(jìn)行比較。如果存在足夠資 源,則該請求得到滿足,即正常執(zhí)行事務(wù)開始指令trans—begin ;否則,如果不存在足夠的 可用資源,則事務(wù)開始指令trans—begin返回零值,即未成功執(zhí)行該事務(wù)。此時,控制流可 以控制該事務(wù)進(jìn)行重試(例如立即重試或者等待一段時間后重試),以便在共享緩存320A 中存在足夠可用緩存資源時能夠開始執(zhí)行該事務(wù)。在事務(wù)執(zhí)行中,transaction—begin() 檢查事務(wù)開始指令trans—begin的返回值是否為零值,如果在一次嘗試中沒有成功執(zhí)行該 事務(wù),即在執(zhí)行該事務(wù)過程中溢出所分配的共享緩存(這里稱為假溢出),則資源管理模塊 310A報告該溢出,并且在工作流中按照一定策略進(jìn)行重試,直到重新執(zhí)行該事務(wù)為止。在每 次事務(wù)重試中,所請求的數(shù)據(jù)大小可以在預(yù)測器210的預(yù)測值基礎(chǔ)上增加特定的值。這樣的迭代方法確保了每個事務(wù)在假溢出的情況下最終能夠被響應(yīng)。 一旦事務(wù)成功提交,該事 務(wù)最終所占用的緩存大小將作為該事務(wù)的實(shí)際數(shù)據(jù)大小,并且將其存儲在支持預(yù)測器210 工作的歷史信息中。 在軟件部分中,預(yù)測器210將針對每個待執(zhí)行的事務(wù)預(yù)測其事務(wù)數(shù)據(jù)大小。本實(shí) 施例中,該預(yù)測的事務(wù)數(shù)據(jù)大小是以緩存路為粒度(粗粒度)給出的。當(dāng)每個事務(wù)在執(zhí)行時 由于溢出所分配的、等于預(yù)測事務(wù)數(shù)據(jù)大小的緩存大小而進(jìn)行重試時,這里稱之為假溢出, 軟件部分將以緩存路為粒度增加該事務(wù)所請求的緩存數(shù)據(jù)大小(例如,每次增加一個緩存 路)。 一旦事務(wù)提交成功,預(yù)測器210記錄該事務(wù)執(zhí)行實(shí)際使用的緩存大小作為其數(shù)據(jù)大小
的歷史信息。 由于每個事務(wù)都需要預(yù)測器210提供預(yù)測的事務(wù)數(shù)據(jù)大小,因此在實(shí)現(xiàn)上該預(yù)測 器210應(yīng)該是非時間消耗的。雖然存在多種可行的算法對事務(wù)數(shù)據(jù)大小進(jìn)行預(yù)測,但是應(yīng) 該理解,在本發(fā)明中預(yù)測器210應(yīng)該采用不太復(fù)雜的預(yù)測算法,而且當(dāng)來自不同線程的多 個事務(wù)同時嘗試訪問、更新歷史信息時,保存各事務(wù)的歷史信息數(shù)據(jù)存儲(例如,哈希表) 應(yīng)該是非鎖定的。 在圖2所示的共享緩存管理系統(tǒng)100A中,預(yù)測器210可以具有雙層軟件哈希表, 其中對于每個事務(wù)(事務(wù)ID)記錄有最近N次的數(shù)據(jù)大小信息。該雙層哈希表被設(shè)計為具 有非鎖定的特點(diǎn)。該哈希表的第一層通過線程ID進(jìn)行索引,并且第二層通過事務(wù)起始地址 進(jìn)行索引。哈希表的雙層結(jié)構(gòu)確保了每個線程具有其私有的哈希表,從而避免在更新歷史 信息時的鎖定/解鎖操作。當(dāng)然,對第一層條目的插入和刪除操作應(yīng)該對哈希表進(jìn)行鎖定/ 解鎖。但由于上述動作僅在線程創(chuàng)建和退出的情況下才需要,因此執(zhí)行這些動作的頻率要 比執(zhí)行對歷史信息更新的動作的頻率少得多。 正如上文所述,在預(yù)測器210中使用過于復(fù)雜的預(yù)測算法可能會對系統(tǒng)性能產(chǎn)生 負(fù)面影響。作為預(yù)測算法的示例,這里討論以下幾種預(yù)測算法。
1)最近值預(yù)測 在該算法中,對于事務(wù)最近一次請求的數(shù)據(jù)大小將被預(yù)測為該事務(wù)即將執(zhí)行時所 需要的數(shù)據(jù)大小。該算法非常簡單,使得預(yù)測器210在給出預(yù)測結(jié)果時僅需要非常短的時 間,而且使得所維護(hù)的哈希表對于每個事務(wù)條目僅具有一個節(jié)點(diǎn),由此節(jié)約了存儲空間。當(dāng) 每個事務(wù)成功提交時,以該事務(wù)實(shí)際占用的共享緩存大小更新對于每個事務(wù)條目的事務(wù)數(shù) 據(jù)大小的歷史信息。
2)平均值預(yù)測 在一些應(yīng)用中,相同事務(wù)的區(qū)域在每次執(zhí)行時可能具有可變的寫數(shù)據(jù)大小。例如, 這樣的事務(wù)可能具有每次運(yùn)行中執(zhí)行不同迭代的循環(huán)結(jié)構(gòu)。對于這樣不規(guī)則的情況,可以 采用諸如Markolv模型等復(fù)雜的算法對其數(shù)據(jù)大小進(jìn)行預(yù)測。但是考慮到在本發(fā)明中首要 考慮的因素是避免過度的運(yùn)算時間,則僅采用對特定數(shù)目N的歷史數(shù)據(jù)大小值進(jìn)行簡單平 均運(yùn)算的平均值預(yù)測。平均值預(yù)測的算法能夠很好地平衡時間消耗問題和精確度問題。在 該算法中,在哈希表中針對每個事務(wù)記錄其最近N個數(shù)據(jù)大小信息。該最近N數(shù)據(jù)大小值 的品均值將作為該事務(wù)即將執(zhí)行時的預(yù)測值。
3)其它預(yù)測算法 實(shí)際上,根據(jù)不同的應(yīng)用以及在該應(yīng)用中線程的事務(wù)特點(diǎn),可以安排其它的預(yù)測算法。例如,可以在N個歷史數(shù)據(jù)大小值中選擇最大值作為為即將開始的事務(wù)的數(shù)據(jù)大小 預(yù)測;還可以以一定幅度模擬某些事務(wù)在每次執(zhí)行時數(shù)據(jù)大小的變化趨勢(增大或者減 少),等等。 本領(lǐng)域技術(shù)人員可以理解,可以靈活地配置預(yù)測器210事務(wù)數(shù)據(jù)大小的預(yù)測算 法,以使用任一預(yù)測算法或者預(yù)測算法的組合。 資源管理模塊310A負(fù)責(zé)以緩存路為粒度對硬件資源特別是共享緩存320A的資源 進(jìn)行分配和回收。資源管理模塊310A與當(dāng)前資源記錄裝置311A進(jìn)行交互。
當(dāng)前資源記錄裝置311A例如可以實(shí)現(xiàn)為計數(shù)器寄存器,以記錄當(dāng)前可用的緩存 路的數(shù)目。該當(dāng)前資源記錄裝置311A在任何事務(wù)的開始、提交和中止時進(jìn)行更新。這樣的 更新動作是通過資源管理模塊310A執(zhí)行的。資源管理模塊310A將在trans—begin指令中 攜帶的針對某事務(wù)的請求事務(wù)大小與當(dāng)前資源記錄裝置311A的計數(shù)器寄存器所維持的數(shù) 值進(jìn)行比較。當(dāng)當(dāng)前資源記錄裝置311A的計數(shù)器寄存器的數(shù)值大于或者等于所請求的數(shù) 據(jù)大小時,才響應(yīng)該請求并且事務(wù)開始指令trans—begin的返回值為1。否則,將拒絕該請 求并且事務(wù)開始指令trans—begin的返回值為0。此時,控制流可以控制該事務(wù)進(jìn)行重試 (例如立即重試或者等待一段時間后重試),以便在當(dāng)前資源記錄裝置311A的計數(shù)器寄存 器顯示共享緩存320A中存在足夠可用緩存資源時能夠開始執(zhí)行該事務(wù)。
資源管理模塊310A可以具有相對簡單的邏輯。應(yīng)該注意,資源管理模塊310A可 以訪問并更新共享緩存320A中針對各個緩存路所分配的色彩寄存器以及其有效標(biāo)志。以 下針對不同的場景描述資源管理模塊310A的工作流。 在事務(wù)開始的情況下,資源管理模塊310A訪問并比較針對每個緩存路所分配的 色彩寄存器。如果按照每個色彩寄存器的附加標(biāo)志指示的,該色彩寄存器可用,則意味著該 緩存路可以被分配給進(jìn)行請求的事務(wù)。此時將該色彩寄存器設(shè)置為該請求事務(wù)的色彩值。 并且,所請求的數(shù)據(jù)大小將減少1。該過程繼續(xù)重復(fù)執(zhí)行,直到所請求的數(shù)據(jù)大小等于O,則 意味著所有請求的硬件資源已經(jīng)被分配。 在事務(wù)提交的情況下,資源管理模塊310A通過迭代的比較共享緩存320A中每個 緩存路的色彩寄存器與在事務(wù)提交指令trans—commit中的色彩值,定位目標(biāo)事務(wù)所占用 的共享緩存320A的空間。并且,資源管理模塊310A控制將所有存儲在具有目標(biāo)色彩值的 緩存路中的每個緩存塊的推測數(shù)據(jù)寫入到內(nèi)存系統(tǒng)中。 在事務(wù)中止的情況下,資源管理模塊310A通過迭代的比較共享緩存320A中每個 緩存路的色彩寄存器與在事務(wù)回滾指令trans—rollback中的色彩值,定位目標(biāo)事務(wù)所占 用的共享緩存320A的空間。并且,資源管理模塊310A控制丟棄所有存儲在具有目標(biāo)色彩 值的緩存路中的每個緩存塊的推測數(shù)據(jù)并且使其失效。 在事務(wù)內(nèi)存系統(tǒng)中,在事務(wù)區(qū)域中的任何內(nèi)存訪問請求攜帶有色彩信息,這需要 考慮版本管理和沖突檢測。圖3示意性地示出了根據(jù)本發(fā)明圖2的實(shí)施方式的共享內(nèi)存的 微邏輯架構(gòu)。參照圖3可以清楚的理解在上文中提出的粗粒度共享緩存320A。
圖3所示出的緩存器320A是一個4路關(guān)聯(lián)緩存器,其中每路具有128個緩存塊 (圖中僅示例地表示出部分緩存塊)。色彩寄存器321用于針對每個緩存路存儲其色彩值。
通過地址索引322可以尋址到每路中相應(yīng)位置4個緩存塊。選擇器323根據(jù)標(biāo)簽 以及色彩寄存器321中的色彩值確定是否命中或者發(fā)生沖突。
在事務(wù)加載操作中,如果命中(hit)具有相同色彩標(biāo)記的緩存路中的緩存塊,則 應(yīng)該讀取緩存塊中的推測數(shù)據(jù)。如果未命中(miss),則向緩存控制器提出常規(guī)的緩存未命 中信號。如果命中具有不同色彩標(biāo)記的緩存路中的緩存塊,則會檢測到寫后讀(RAW)沖突 并且將會報告硬件異常,這可以由運(yùn)行時庫中的異常處理程序處理。 在事務(wù)存儲操作中也應(yīng)該檢測緩存。如果命中具有相同色彩標(biāo)記的緩存路中的緩 存塊,則更新該緩存塊中的推測數(shù)據(jù)。如果未命中,則可以將一個無效消息發(fā)送到所有其它 遠(yuǎn)程共享緩存,以檢測是否存在潛在的沖突,并且獲得獨(dú)占的寫操作特權(quán)。如果命中具有不 同色彩標(biāo)記的緩存路中的緩存塊,則檢測到寫后寫(WAW)沖突。 任何本地共享緩存監(jiān)聽遠(yuǎn)程緩存一致性消息。如果其中的地址命中本地共享緩存 的緩存塊,則檢測到?jīng)_突如果該消息由讀操作未命中引起,則該沖突為RAW沖突;如果該 消息由存儲未命中引起,則該沖突為WAW。在這種情況下,將不必考慮色彩寄存器的值,因?yàn)?無論色彩值是否相同,只要出現(xiàn)命中的情況就說明發(fā)生了沖突。當(dāng)然,針對該地址還需要檢 測本地事務(wù)讀取緩存或者簽名。 —旦檢測到?jīng)_突,仲裁器將會確定將中止哪個事務(wù)。并且,通過事務(wù)回滾指令 trans—rollback可以將該色彩信息傳送到資源管理模塊310A。并且,資源管理模塊310A 執(zhí)行對于具有相同色彩信息的所有緩存路的中止操作。 即使在事務(wù)即將開始時能夠準(zhǔn)確地預(yù)測事務(wù)數(shù)據(jù)大小,由于沖突未命中的原因事 務(wù)仍然可能溢出所分配的緩存。這在緩存設(shè)計中是常見的??梢栽O(shè)置犧牲者緩存(victim buffer)(未示出)來存儲替代的數(shù)據(jù),以緩解緩存未命中的處罰。根據(jù)圖3所示的共享緩 存結(jié)構(gòu)也可以采用犧牲者緩存來處理沖突未命中??梢跃哂型ㄟ^多種不同的選擇來設(shè)計犧 牲者緩存。在一種簡單的設(shè)計中,可以僅允許犧牲者緩存存儲具有相同色彩的數(shù)據(jù)。在這 種情況中,其僅需要色彩寄存器。在一種更為復(fù)雜的設(shè)計中,為犧牲者緩存的每個條目添 加色彩寄存器??紤]到犧牲者緩存空間較小的特點(diǎn),可以采用后一種設(shè)計。由于沖突未命 中的情況相對于容量未命中的情況來說很少發(fā)生,在本發(fā)明中僅給出簡要的示例性解決方 案,不再進(jìn)行詳細(xì)討論。 圖4示意性地示出了根據(jù)本發(fā)明又一實(shí)施方式的共享緩存管理系統(tǒng)的結(jié)構(gòu)。
如圖2所示的共享緩存管理系統(tǒng)100B將預(yù)測機(jī)制與傳統(tǒng)的細(xì)度共享緩存相結(jié)合。 作為一種示例,圖4所示的共享緩存320B為4路關(guān)聯(lián)緩存。資源管理模塊310B以緩存塊作 為粒度對共享緩存進(jìn)行資源管理。具體而言,根據(jù)預(yù)測的事務(wù)數(shù)據(jù)大小(以緩存塊作為粒 度),共享緩存能夠動態(tài)的為多個事務(wù)以緩存塊作為粒度分配共享緩存。因此,在共享緩存 320B中,類似于傳統(tǒng)共享緩存的設(shè)計,需要為每個緩存塊配置色彩標(biāo)記和相應(yīng)控制邏輯。
本領(lǐng)域的技術(shù)人員可以理解,由于雖然在圖4所示的實(shí)施例中采用了與圖2所示 實(shí)施例不同的共享緩存設(shè)計,但是共享緩存管理系統(tǒng)的工作原理和工作過程是類似的,特 別地,軟件部分以及系統(tǒng)中工作流的實(shí)現(xiàn)是類似的。不同之處,僅在于預(yù)測器210以緩存塊 作為粒度為即將開始的事務(wù)預(yù)測事務(wù)數(shù)據(jù)大小。 在一些有利的實(shí)施中,在硬件部分中實(shí)現(xiàn)資源管理模塊310B。資源管理模塊310B 負(fù)責(zé)以緩存路為粒度對硬件資源特別是共享緩存320B的資源進(jìn)行分配和回收。資源管理 模塊310B與當(dāng)前資源記錄裝置311B進(jìn)行交互。本領(lǐng)域技術(shù)人員可以理解,由于在本實(shí)施 例中,共享緩存320B采用傳統(tǒng)的細(xì)粒度(緩存塊為粒度)的傳統(tǒng)設(shè)計,因此資源管理模塊310B雖然基本工作原理將與圖2所示的資源管理模塊310A的基本工作原理類似,但其具體 實(shí)現(xiàn)可以存在不同。 當(dāng)前資源記錄裝置311B例如可以實(shí)現(xiàn)為記錄表格,記錄當(dāng)前緩存中現(xiàn)有的色彩、 其對應(yīng)請求的緩存塊數(shù)目以及實(shí)際占用的緩存塊數(shù)目。由此,當(dāng)前資源記錄裝置311B可以 通過共享緩存320B中總緩存塊減去各個事務(wù)(對應(yīng)于不同的色彩)實(shí)際占用的緩存塊來 獲知當(dāng)前可用的緩存資源數(shù)目。由此,資源管理模塊310B在當(dāng)某事務(wù)請求開始執(zhí)行時,將 在trans—begin指令中攜帶的針對某事務(wù)的請求事務(wù)大小與當(dāng)前資源記錄裝置311B所提 供的當(dāng)前可用緩存資源數(shù)目進(jìn)行比較,以確定是否能夠開始執(zhí)行該事務(wù)。如果事務(wù)請求的 數(shù)據(jù)大小超出當(dāng)前可用的緩存資源數(shù)目,才響應(yīng)事務(wù)開始的請求并且事務(wù)開始指令trans— begin的返回值為1。否則,將拒絕該事務(wù)開始請求并且事務(wù)開始指令trans—begin的返 回值為O。此時,控制流可以控制該事務(wù)進(jìn)行重試(例如立即重試或者等待一段時間后重 試),以便在當(dāng)前資源記錄裝置311B指示共享緩存320B中存在足夠可用緩存資源時能夠開 始執(zhí)行該事務(wù)。當(dāng)每個事務(wù)在執(zhí)行時由于溢出所分配的、等于預(yù)測事務(wù)數(shù)據(jù)大小的緩存大 小而進(jìn)行重試時,這里稱之為假溢出,在軟件部分中將增加該事務(wù)所請求的緩存數(shù)據(jù)大小, 例如,每次增加預(yù)定數(shù)目的緩存塊。每當(dāng)事務(wù)在執(zhí)行中將數(shù)據(jù)寫入一個新的緩存塊,則資源 管理模塊310B更新當(dāng)前資源記錄裝置311B中所維護(hù)的表格。 由于共享緩存320B采用了傳統(tǒng)的細(xì)粒度結(jié)構(gòu),資源管理模塊310B在各種場景下
對于共享緩存320B的管理和控制邏輯與現(xiàn)有技術(shù)中所采用的邏輯類似。本領(lǐng)域的技術(shù)人
員可以以任何現(xiàn)有的方式實(shí)現(xiàn)在各種場景下對于共享緩存320B的讀、寫以及沖突檢測等
操作。這里為了簡潔,僅給出上述概括介紹,而省略具體示例性描述。 圖5示出了根據(jù)本發(fā)明的一個實(shí)施方式的共享緩存管理方法的流程圖。 在步驟S500中,該方法的流程開始。 在步驟S501中,獲取預(yù)測的事務(wù)數(shù)據(jù)大小。該數(shù)據(jù)大小可以以一定粒度給出。衡 量事務(wù)數(shù)據(jù)大小的粒度的選擇與共享緩存的物理設(shè)計相關(guān)。對于某一事務(wù)的事務(wù)數(shù)據(jù)大小 進(jìn)行的預(yù)測可以通過在運(yùn)行時中實(shí)現(xiàn)的預(yù)測器基于該事務(wù)的數(shù)據(jù)大小的歷史信息來執(zhí)行。 此時,如果預(yù)測器的所述預(yù)測的事務(wù)數(shù)據(jù)大小已經(jīng)大于共享緩存資源,則該事務(wù)可以直接 進(jìn)入用于事務(wù)溢出的特殊處理(未示出)。 在步驟S502中,事務(wù)通過運(yùn)行時函數(shù)transaction_begin()請求開始執(zhí)行。
在步驟S503中,依據(jù)預(yù)測的事務(wù)數(shù)據(jù)大小請求共享緩存的硬件資源。在一個實(shí)施 例中,可以將所預(yù)測的數(shù)據(jù)大小作為事務(wù)開始指令trans—begin中的一個參數(shù)指示給資源 管理器模塊。 在步驟S504中,將該預(yù)測的大小與共享緩存當(dāng)前可用的大小進(jìn)行比較,以確定是 否存在足夠的共享緩存資源。 如果確定存在足夠的共享緩存資源,則繼續(xù)執(zhí)行步驟S506 ;如果確定不存在足夠 的共享緩存資源,則此時發(fā)生溢出,該流程繼續(xù)執(zhí)行步驟S505。 在步驟S505中,拒絕該事務(wù)開始請求,并控制該事務(wù)進(jìn)行重試。立即或者等待一 段時間之后重新執(zhí)行事務(wù)開始指令trans—begin。此時,可以不必改變所請求的事務(wù)數(shù)據(jù)大 小。 在步驟S506中,在硬件部分中為該事務(wù)分配所請求的共享緩存資源,其中該分配
11的共享緩存大小等于預(yù)測的事務(wù)數(shù)據(jù)大小。
在步驟S507中,開始執(zhí)行事務(wù)。 在步驟S508中,確定該事務(wù)是否溢出所分配的共享緩存資源。例如可以通過檢查 事務(wù)開始指令trans—begin的返回值是否為零值,確定該事務(wù)是否正常執(zhí)行。
如果在一次嘗試中沒有成功執(zhí)行該事務(wù),即在執(zhí)行該事務(wù)過程中溢出所分配的共 享緩存(這里稱為假溢出),則繼續(xù)執(zhí)行步驟S510。如果成功執(zhí)行該事務(wù),即在執(zhí)行該事務(wù) 過程中沒有溢出所分配的共享緩存,則繼續(xù)執(zhí)行步驟S509。 在步驟S509中,將預(yù)測事務(wù)數(shù)據(jù)大小增加特定的值,并將該值作為新的預(yù)測值。 該流程返回到步驟S502,對該事務(wù)進(jìn)行重試。這樣的迭代方法確保了每個事務(wù)在假溢出的 情況下最終能夠被響應(yīng)。 在步驟S510中,一旦事務(wù)成功提交,記錄該事務(wù)實(shí)際所占用的緩存大小將作為該 事務(wù)的數(shù)據(jù)大小,由此更新針對該事務(wù)的歷史信息。
在步驟S511中,該方法的流程結(jié)束。 應(yīng)當(dāng)注意,為了更清楚地闡述根據(jù)本發(fā)明的共享內(nèi)存管理方法,圖5所示的方法 以及對圖5的以上描述省略了已經(jīng)參照圖l-4詳細(xì)闡述的硬件工作步驟,而且還省略了對 于本領(lǐng)域的技術(shù)人員來說是公知的、并且對于本發(fā)明的實(shí)現(xiàn)可能是必需的具體實(shí)現(xiàn)步驟。
提供本發(fā)明的說明書的目的是為了說明和描述,而不是用來窮舉或?qū)⒈景l(fā)明限制 為所公開的形式。對本領(lǐng)域的普通技術(shù)人員而言,許多修改和變更都是顯而易見的。本領(lǐng) 域技術(shù)人員還應(yīng)該理解,可以通過軟件、硬件、固件或者它們的結(jié)合的方式,來實(shí)現(xiàn)本發(fā)明 實(shí)施例中的方法和裝置。 因此,選擇并描述實(shí)施方式是為了更好地解釋本發(fā)明的原理及其實(shí)際應(yīng)用,并使 本領(lǐng)域普通技術(shù)人員明白,在不脫離本發(fā)明實(shí)質(zhì)的前提下,所有修改和變更均落入由權(quán)利 要求書所限定的本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
一種共享緩存管理系統(tǒng),包括資源管理模塊,被配置為響應(yīng)于事務(wù)的開始,依據(jù)預(yù)測的事務(wù)數(shù)據(jù)大小為該事務(wù)分配共享緩存資源,并且響應(yīng)于該事務(wù)的成功提交,記錄該事務(wù)實(shí)際占用的共享緩存大小以更新該事務(wù)的歷史信息,其中該事務(wù)的所述預(yù)測的事務(wù)數(shù)據(jù)大小是由預(yù)測器在運(yùn)行時中根據(jù)所述事務(wù)的歷史信息預(yù)測的。
2. 根據(jù)權(quán)利要求1所述的共享緩存管理系統(tǒng),其中響應(yīng)于該事務(wù)溢出所分配的共享緩存資源,所述預(yù)測器以所述預(yù)測事務(wù)數(shù)據(jù)大小增加 預(yù)定值作為新的預(yù)測事務(wù)數(shù)據(jù)大小,并且所述資源管理模塊被配置為響應(yīng)于該事務(wù)的重新開始依據(jù)新的預(yù)測的事務(wù)數(shù)據(jù)大小 為該事務(wù)分配共享緩存資源。
3. 根據(jù)權(quán)利要求1所述的共享緩存管理系統(tǒng),其中所述資源管理模塊被配置為 比較所述預(yù)測事務(wù)數(shù)據(jù)大小與所述共享緩存當(dāng)前的可用資源; 響應(yīng)于存在足夠的可用資源,為該事務(wù)分配等于預(yù)測事務(wù)數(shù)據(jù)大小的共享資源; 響應(yīng)于不存在足夠的可用資源,不為該事務(wù)分配共享資源并拒絕該事務(wù)開始,并控制重新開始該事務(wù)。
4. 根據(jù)權(quán)利要求1所述的共享緩存管理系統(tǒng),其中所述資源管理模塊被配置為 比較所述預(yù)測事務(wù)數(shù)據(jù)大小與所述共享緩存當(dāng)前的可用資源; 響應(yīng)于不存在足夠的可用資源,該事務(wù)直接進(jìn)入用于事務(wù)溢出的處理。
5. 根據(jù)權(quán)利要求1-4中任一權(quán)利要求所述的共享緩存管理系統(tǒng),其中 所述預(yù)測器被配置為按照以下方式中的任何一種或者任何組合來對事務(wù)數(shù)據(jù)大小進(jìn)行預(yù)測1) 最近值預(yù)測;2) 平均值預(yù)測;3) 最大值預(yù)測;以及4) 幅度模擬預(yù)測。
6. 根據(jù)權(quán)利要求1-4中任一權(quán)利要求所述的共享緩存管理系統(tǒng),其中所述事務(wù)的歷史 信息被配置為雙層軟件哈希表,其中第一層以線程標(biāo)識進(jìn)行索引,并且第二層以事務(wù)地址 進(jìn)行索引。
7. 根據(jù)權(quán)利要求1-4中任一權(quán)利要求所述的共享緩存管理系統(tǒng),其中在所述共享緩存 中為每個緩存路配置色彩寄存器,以存儲針對不同事務(wù)的色彩標(biāo)記,其中,所述預(yù)測器被配置為以緩存路為粒度為事務(wù)預(yù)測事務(wù)數(shù)據(jù)大小,并且所述資源 管理模塊被配置為以緩存路為粒度分配共享緩存資源。
8 根據(jù)權(quán)利要求1-4中任一權(quán)利要求所述的共享緩存管理系統(tǒng),其中在所述共享緩存 中為每個緩存塊配置色彩寄存器,以存儲針對不同事務(wù)的色彩標(biāo)記,其中,所述預(yù)測器被配置為以緩存塊為粒度為事務(wù)預(yù)測事務(wù)數(shù)據(jù)大小,并且所述資源 管理模塊被配置為以緩存塊為粒度分配共享緩存資源。
9. 一種共享緩存管理方法,包括在運(yùn)行時中根據(jù)即將執(zhí)行的事務(wù)的歷史信息預(yù)測該事務(wù)的事務(wù)數(shù)據(jù)大??;響應(yīng)于該事務(wù)的開始,依據(jù)預(yù)測事務(wù)數(shù)據(jù)大小為該事務(wù)分配共享緩存資源; 響應(yīng)于該事務(wù)的成功提交,記錄該事務(wù)實(shí)際占用的共享緩存大小以更新該事務(wù)的歷史 信息。
10. 根據(jù)權(quán)利要求9所述的共享緩存管理方法,進(jìn)一步包括響應(yīng)于該事務(wù)溢出所分配的共享緩存資源,將所述預(yù)測事務(wù)數(shù)據(jù)大小增加預(yù)定值,以 作為新的預(yù)測事務(wù)數(shù)據(jù)大小;以及響應(yīng)于該事務(wù)的重新開始,依據(jù)新的預(yù)測事務(wù)數(shù)據(jù)大小為該事務(wù)分配共享緩存資源。
11. 根據(jù)權(quán)利要求9所述的共享緩存管理方法,其中分配共享緩存資源的步驟進(jìn)一步 包括比較所述預(yù)測事務(wù)數(shù)據(jù)大小與所述共享緩存當(dāng)前的可用資源; 響應(yīng)于存在足夠的可用資源,為該事務(wù)分配等于預(yù)測事務(wù)數(shù)據(jù)大小的共享資源; 響應(yīng)于不存在足夠的可用資源,不為該事務(wù)分配共享資源并并拒絕該事務(wù)開始, 所述方法進(jìn)一步包括 控制重新開始該事務(wù)。
12. 根據(jù)權(quán)利要求9所述的共享緩存管理方法,其中預(yù)測事務(wù)數(shù)據(jù)大小的步驟進(jìn)一步 包括比較所述預(yù)測事務(wù)數(shù)據(jù)大小與所述共享緩存當(dāng)前的可用資源; 響應(yīng)于不存在足夠的可用資源,該事務(wù)直接進(jìn)入用于事務(wù)溢出的處理。
13. 根據(jù)權(quán)利要求9-12中任一權(quán)利要求所述的共享緩存管理方法,其中按照以下方式 中的任何一種或者任何組合來對事務(wù)數(shù)據(jù)大小進(jìn)行預(yù)測1) 最近值預(yù)測;2) 平均值預(yù)測;3) 最大值預(yù)測;以及4) 幅度模擬預(yù)測。
14. 根據(jù)權(quán)利要求9-12中任一權(quán)利要求所述的共享緩存管理方法,其中所述事務(wù)的歷 史信息被配置為雙層軟件哈希表,其中第一層以線程標(biāo)識進(jìn)行索引,并且第二層以事務(wù)地 址進(jìn)行索引。
15. 根據(jù)權(quán)利要求9-12中任一權(quán)利要求所述的共享緩存管理方法,其中在所述共享緩 存中為每個緩存路配置色彩寄存器,以存儲針對不同事務(wù)的色彩標(biāo)記,其中以緩存路為粒度執(zhí)行預(yù)測事務(wù)大小的步驟,以及 以緩存路為粒度執(zhí)行分配共享緩存資源的步驟。
16. 根據(jù)權(quán)利要求9-12中任一權(quán)利要求所述的共享緩存管理方法,其中在所述共享緩 存中為每個緩存塊配置色彩寄存器,以存儲針對不同事務(wù)的色彩標(biāo)記,其中以緩存塊為粒度執(zhí)行預(yù)測事務(wù)大小的步驟,以及 以緩存塊為粒度執(zhí)行分配共享緩存資源的步驟。
全文摘要
本發(fā)明提供一種共享緩存管理系統(tǒng)。該系統(tǒng)包括資源管理模塊,被配置為響應(yīng)于事務(wù)的開始,依據(jù)預(yù)測的事務(wù)數(shù)據(jù)大小為該事務(wù)分配共享緩存資源,并且響應(yīng)于該事務(wù)的成功提交,記錄該事務(wù)實(shí)際占用的共享緩存大小以更新該事務(wù)的歷史信息,其中該事務(wù)的預(yù)測的事務(wù)數(shù)據(jù)大小是由預(yù)測器在運(yùn)行時中根據(jù)事務(wù)的歷史信息預(yù)測的。本發(fā)明還提供相應(yīng)的共享緩存管理方法。根據(jù)本發(fā)明的技術(shù)方案能夠通過預(yù)測事務(wù)的緩存需求的大小,為多個事務(wù)動態(tài)地分配共享緩存資源。
文檔編號G06F12/08GK101739298SQ200810181608
公開日2010年6月16日 申請日期2008年11月27日 優(yōu)先權(quán)日2008年11月27日
發(fā)明者T·凱恩, 侯銳, 沈曉衛(wèi), 王華勇 申請人:國際商業(yè)機(jī)器公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
高州市| 岳普湖县| 庆元县| 乐昌市| 营山县| 潞西市| 枣阳市| 平谷区| 文登市| 仁化县| 昌宁县| 景泰县| 墨江| 定西市| 卓尼县| 竹溪县| 保定市| 比如县| 北海市| 江源县| 鹰潭市| 武清区| 菏泽市| 抚宁县| 宁阳县| 布拖县| 景洪市| 文化| 德化县| 安岳县| 绥阳县| 巴青县| 阳谷县| 荥阳市| 阜城县| 包头市| 安丘市| 武宁县| 赫章县| 榕江县| 玉山县|