專利名稱:混合存儲服務器中的數(shù)據(jù)訪問管理的制作方法
技術(shù)領(lǐng)域:
本發(fā)明一般涉及核外(out-of-core)處理,且更具體地,涉及核外處理環(huán)境中的混合存儲服務器。
背景技術(shù):
核外處理環(huán)境一般指這樣一種環(huán)境,其中存儲設備維護由更強大的處理設備來處理的數(shù)據(jù),其中,只有當前正在被處理的數(shù)據(jù)部分位于處理設備中。例如,存儲設備可包含模型數(shù)據(jù),而計算處理被分配給更強大的處理設備。傳統(tǒng)的核外處理環(huán)境在資源利用、用戶支持和安全性方面是低效的。例如,很多傳統(tǒng)核外處理環(huán)境在同一時刻只能支持一個用戶。同時,這些系統(tǒng)允許數(shù)據(jù)集位于加速器處,由此使系統(tǒng)脆弱。很多這樣的傳統(tǒng)環(huán)境使用網(wǎng)絡文件系統(tǒng)(NFS),該網(wǎng)絡文件系統(tǒng)可將塊出頁(page out),從而導致系統(tǒng)響應降低。這些傳 統(tǒng)環(huán)境也支持用于只讀模式中的可視化的模型數(shù)據(jù)呈現(xiàn),而不支持對數(shù)據(jù)集的更新和修改/注釋。更進一步地,某些這樣的傳統(tǒng)環(huán)境僅使用動態(tài)隨機存取存儲器(DRAM)來緩存所有模型數(shù)據(jù)。這對于某些使用模型來說是昂貴的。于2005 年9 月 6 日提交的題為 “Method and apparatus for balanceingdistributed application”(用于平衡分布式應用的方法和裝置)的美國專利申請?zhí)?,941,341提出了一種用于在客戶端/服務器網(wǎng)絡例如有線電視網(wǎng)絡中平衡分布式應用的方法和裝置。在該發(fā)明的一方面,公開了一種在各種服務器部分(DASP)和服務器機器之間對分布式應用客戶端部分(DACP)進行負載平衡的方法。一個或多個軟件進程維護關(guān)于服務器的可用資源及其負載的統(tǒng)計數(shù)據(jù)。當客戶端設備負載增加或改變時,新進程線程和/或分布式應用服務器部分在服務器之間被分配,以維持最優(yōu)的系統(tǒng)性能。在另一方面,公開了一種同時使用垂直和水平分區(qū)兩者以及“可變”(即可傳遞)對象的面向?qū)ο蟮姆植际綉密浖軜?gòu)。所述可變對象可位于分布式應用的服務器或客戶端部分,同時維護至少一個網(wǎng)絡分區(qū)。還公開了一種適于上述面向?qū)ο蠓植际綉玫牟僮鞯倪\行時環(huán)境,包括用于進程間通信的高效消息協(xié)議。還公開了一種方法,其用于從服務器下載DACP、并基于客戶端設備配置來縮放下載的DACP。于2008 年 5 月 29 日提交的題為 “Methods and Arrangements for Hybrid DataStorage”(用于混合數(shù)據(jù)存儲的方法和裝置)的美國專利公開號2008/0126716提出了可包含混合存儲控制器的實施例,該混合存儲控制器有助于對在下面一般被稱為混合存儲器設備或混合高速緩存設備的多于一種類型的存儲器設備進行訪問?;旌洗鎯刂破骺砂▌澐诌壿媮泶_定是否將寫請求的數(shù)據(jù)劃分為多于一部分,并將每個部分存儲在不同類型的數(shù)據(jù)存儲設備中。例如,一個實施例包括混合存儲控制器,以在SRAM和DRAM設備兩者中存儲數(shù)據(jù)。SRAM和DRAM設備可包括管芯(die)上的獨特電路、芯片中的獨特模具、存儲器模塊中的獨特芯片、獨特存儲器模塊等。因此,需要在本領(lǐng)域中解決上述問題。
發(fā)明內(nèi)容
從一個方面來看,本發(fā)明提供了一種加速器系統(tǒng)上的用于在核外處理環(huán)境中訪問數(shù)據(jù)的方法。所述方法包括從管理多個數(shù)據(jù)集的服務器系統(tǒng)接收數(shù)據(jù)訪問配置?;谠摂?shù)據(jù)訪問配置,確定從服務器系統(tǒng)取回的數(shù)據(jù)集將被本地存儲。從用戶客戶機接收與給定數(shù)據(jù)集進行交互的請求。從服務器系統(tǒng)取回給定數(shù)據(jù)集的至少一部分。基于接收到的數(shù)據(jù)訪問配置,將給定數(shù)據(jù)集的至少一部分本地存儲在存儲器中。在另一實施例中,公開了一種核外處理環(huán)境中的服務器系統(tǒng)上的用于管理加速器系統(tǒng)對數(shù)據(jù)的訪問的方法。該方法包括從加速器系統(tǒng)接收訪問給定數(shù)據(jù)集的請求。確定與給定數(shù)據(jù)集關(guān)聯(lián)的訪問上下文?;诖_定的訪問上下文,將加速器動態(tài)配置為執(zhí)行下列各項中的一個直接從服務器系統(tǒng)訪問給定數(shù)據(jù)集,將給定數(shù)據(jù)集的一部分本地存儲在存儲器中,以及將給定數(shù)據(jù)集的全部本地存儲在存儲器中。從另一方面來看,本發(fā)明提供了一種用于在核外處理環(huán)境中訪問數(shù)據(jù)的加速器系統(tǒng)。該加速器系統(tǒng)包括存儲器和通信地耦合到該存儲器的處理核心。數(shù)據(jù)訪問管理器通信 地耦合到該存儲器和處理核心,并被配置為執(zhí)行方法。所述方法包括從管理多個數(shù)據(jù)集的服務器系統(tǒng)接收數(shù)據(jù)訪問配置。基于該數(shù)據(jù)訪問配置,確定從服務器系統(tǒng)取回的數(shù)據(jù)集將被本地存儲。從用戶客戶機接收與給定數(shù)據(jù)集進行交互的請求。從服務器系統(tǒng)取回給定數(shù)據(jù)集的至少一部分。基于接收到的數(shù)據(jù)訪問配置,將給定數(shù)據(jù)集的至少一部分本地存儲在存儲器中。從另一方面來看,本系統(tǒng)提供了一種用于管理加速器系統(tǒng)對數(shù)據(jù)的訪問的核外處理環(huán)境中的服務器系統(tǒng)。服務器系統(tǒng)包括存儲器和通信地耦合到該存儲器的處理器。數(shù)據(jù)訪問管理器通信地耦合到該存儲器和處理器,并被配置為執(zhí)行方法。所述方法包括從加速器系統(tǒng)接收訪問給定數(shù)據(jù)集的請求。確定與給定數(shù)據(jù)集關(guān)聯(lián)的訪問上下文。基于確定的訪問上下文,加速器被動態(tài)配置,被配置為執(zhí)行下列各項中的一個直接從服務器系統(tǒng)訪問給定數(shù)據(jù)集,將給定數(shù)據(jù)集的一部分本地存儲在存儲器中,以及將給定數(shù)據(jù)集的全部本地存儲在存儲器中。從另一方面來看,本發(fā)明提供了一種用于在核外處理環(huán)境中訪問數(shù)據(jù)的計算機程序產(chǎn)品。該計算機程序產(chǎn)品包括存儲介質(zhì),該存儲介質(zhì)可被處理電路讀取并存儲了由處理電路執(zhí)行以執(zhí)行方法的指令。所述方法包括從管理多個數(shù)據(jù)集的服務器系統(tǒng)接收數(shù)據(jù)訪問配置?;谠摂?shù)據(jù)訪問配置,確定從服務器系統(tǒng)取回的數(shù)據(jù)集將被本地存儲。從用戶客戶機接收與給定數(shù)據(jù)集進行交互的請求。從服務器系統(tǒng)取回給定數(shù)據(jù)集的至少一部分?;诮邮盏降臄?shù)據(jù)訪問配置,將給定數(shù)據(jù)集的至少一部分本地存儲在存儲器中。從另一方面來看,本發(fā)明提供了一種計算機程序,該計算機程序存儲在計算機可讀介質(zhì)中,并可被載入到數(shù)字計算機的內(nèi)部存儲器,該計算機程序包括軟件代碼部分,當所述程序在計算機上運行時,所述軟件代碼部分用于執(zhí)行本發(fā)明的步驟。
現(xiàn)在將僅通過示例參考如下列圖中所示的優(yōu)選實施例來描述本發(fā)明圖I是示出根據(jù)本發(fā)明的一個實施例的操作環(huán)境的一個例子的框圖;圖2是示出根據(jù)本發(fā)明的一個實施例的核外處理環(huán)境中的混合存儲服務器配置的一個例子的框圖;圖3是示出根據(jù)本發(fā)明的一個實施例的核外處理環(huán)境中的加速器配置的一個例子的框圖;圖4是不出根據(jù)本發(fā)明的一個實施例的核外處理環(huán)境中的加速器配置的另一例子的框圖;圖5是示出根據(jù)本發(fā)明的一個實施例的核外處理環(huán)境中的混合存儲服務器的隧道協(xié)議的一個例子的框圖;圖6是示出根據(jù)本發(fā)明的一個實施例的核外處理環(huán)境中的加速器的預取配置的一個例子的框圖;圖7是示出根據(jù)本發(fā)明的一個實施例的核外處理環(huán)境中的加速器的虛擬化配置 的一個例子的框圖;圖8是示出根據(jù)本發(fā)明的一個實施例的在核外處理環(huán)境中的服務器系統(tǒng)上預處理數(shù)據(jù)的一個例子的操作流程圖;圖9是示出根據(jù)本發(fā)明的一個實施例的根據(jù)數(shù)據(jù)訪問配置來配置的核外處理環(huán)境中的加速器的一個例子的操作流程圖;圖10是示出根據(jù)本發(fā)明的一個實施例的根據(jù)另一數(shù)據(jù)訪問配置來配置的核外處理環(huán)境中的加速器的一個例子的操作流程圖;圖11是示出根據(jù)本發(fā)明的一個實施例的根據(jù)另一數(shù)據(jù)訪問配置來動態(tài)配置核外處理環(huán)境中的加速器的一個例子的操作流程圖,該加速器是根據(jù)數(shù)據(jù)訪問配置來配置的;圖12是示出根據(jù)本發(fā)明的一個實施例的根據(jù)另一數(shù)據(jù)訪問配置來動態(tài)建立核外處理環(huán)境中的服務器和加速器之間的安全鏈路的一個例子的操作流程圖;圖13是示出根據(jù)本發(fā)明的一個實施例的由核外處理環(huán)境中的加速器來維護用于被緩存數(shù)據(jù)的脆弱性窗口的一個例子的操作流程圖;圖14是示出根據(jù)本發(fā)明的一個實施例的在核外處理環(huán)境中的服務器上利用協(xié)議隧道的一個例子的操作流程圖;圖15是示出根據(jù)本發(fā)明的一個實施例的核外處理環(huán)境中的服務器利用語義分析將數(shù)據(jù)推送(push)到加速器的一個例子的操作流程圖;圖16是示出根據(jù)本發(fā)明的一個實施例的核外處理環(huán)境中的計數(shù)器從服務器預取數(shù)據(jù)的一個例子的操作流程圖;圖17是示出根據(jù)本發(fā)明的一個實施例的將核外處理環(huán)境中的加速器邏輯劃分為虛擬化加速器的一個例子的操作流程圖;圖18是示出根據(jù)本發(fā)明的一個實施例的信息處理系統(tǒng)的詳細視圖的框圖。
具體實施例方式根據(jù)需要,這里公開了本發(fā)明的詳細優(yōu)選實施例。但是,可以理解,公開的實施例僅是本發(fā)明的示例,本發(fā)明可以以多種形式來實施。因此,這里公開的特定結(jié)構(gòu)和功能細節(jié)不應被理解為限制,而僅是權(quán)利要求的基礎,以及用于教導本領(lǐng)域技術(shù)人員以幾乎任何合適的詳細結(jié)構(gòu)來不同地使用本發(fā)明的代表性基礎。此外,這里使用的術(shù)語和詞組不是要限制;而是要提供本發(fā)明的可理解的描述。
這里使用的術(shù)語“一”、“一個”被定義為一個或多于一個。這里使用的術(shù)語多個被定義為兩個或多于兩個。復數(shù)和單數(shù)術(shù)語是相同的,除非另外明確說明。這里使用的術(shù)語另一個被定義為至少第二個或多個。術(shù)語包括和/或具有被定義為包含(即開放語言)。這里使用的術(shù)語耦合被定義為連接,盡管不必須是直接連接,且不必須是機械上連接。這里使用的術(shù)語程序或軟件應用可包括子例程、函數(shù)、過程、以象方法、對象實現(xiàn)、可執(zhí)行應用、小應用程序、小服務程序、源代碼、目標代碼、共享庫/動態(tài)加載庫和/或被設計為在計算機系統(tǒng)上執(zhí)行的其他指令序列。操作環(huán)境圖I示出了可用于本發(fā)明的多個優(yōu)選實施例的操作環(huán)境的一個例子。特別地,圖I示出了服務器系統(tǒng)102、多個加速器系統(tǒng)104、以及經(jīng)一個或多個網(wǎng)絡108通信耦合的一個或多個用戶客戶機106。一個或多個網(wǎng)絡108可以是任意類型的有線和/或無線通信網(wǎng)絡。例如,網(wǎng)絡108可以是內(nèi)聯(lián)網(wǎng)、外聯(lián)網(wǎng)或互聯(lián)網(wǎng)例如因特網(wǎng),或其組合。網(wǎng)絡108可包括無線、有線和/或光纖鏈路。
在一個實施例中,服務器系統(tǒng)102是任意類型的服務器系統(tǒng),例如但不限于,IBM Systemz 服務器。服務器系統(tǒng)102可以是存儲服務器,該存儲服務器包含一個或多個數(shù)據(jù)集110,例如但不限于,被加速器系統(tǒng)104處理并被發(fā)送到用戶客戶機106的建模/模擬數(shù)據(jù)。除了加速器系統(tǒng)104訪問服務器系統(tǒng)102上的數(shù)據(jù)集110,用戶客戶機106也可以訪問數(shù)據(jù)集110。在一個實施例中,服務器102包括數(shù)據(jù)訪問管理器118,該數(shù)據(jù)訪問管理器管理數(shù)據(jù)集110和對該數(shù)據(jù)集的訪問。服務器102還包括安全管理器122,該安全管理器管理數(shù)據(jù)集110的安全性。安全管理器122可位于數(shù)據(jù)訪問管理器118內(nèi)部或外部。數(shù)據(jù)訪問管理器118和安全管理器122將在下面更詳細地討論。在一個實施例中,力口速器104包括請求管理器120,該管理器管理從用戶客戶機106收到的請求,并從服務器取回數(shù)據(jù)110來滿足這些請求。在一個實施例中,加速器104還可包括安全計數(shù)器124,該安全計數(shù)器用于實現(xiàn)針對被緩存數(shù)據(jù)的脆弱性窗口。加速器104還可包括彈性恢復(elasticresilience)模塊126,該彈性恢復模塊提供加速器104上的應用的恢復能力。請求管理器122、安全計數(shù)器124和彈性恢復模塊126將在下面更詳細地討論。在一個實施例中,加速器系統(tǒng)104是刀片服務器,例如但不限于,IBM System p 或System x 服務器。加速器104中的每個包含一個或多個處理核心112,例如但不限于,IBM* PowerPC*或 Cell 13/E 處理核心。IBM、System z>System p、SystemX和PowerPC是國際商業(yè)機器公司在全世界很多管轄區(qū)域注冊的商標。需要注意,加速器系統(tǒng)104中的每個可包含相同或不同類型的處理核心。加速器系統(tǒng)104執(zhí)行圖I的環(huán)境100中的大部分數(shù)據(jù)處理,而服務器系統(tǒng)102主要被用來管理數(shù)據(jù)集110。在一個實施例中,用戶客戶機106是任意信息處理系統(tǒng),例如但不限于,工作站、臺式機、筆記本、無線通信設備、游戲控制臺等,其允許用戶與服務器系統(tǒng)102和/或加速器系統(tǒng)104進行交互。服務器系統(tǒng)102和加速器系統(tǒng)104的組合在這里被稱為混合服務器或混合存儲服務器114,因為它是多種不同系統(tǒng)類型的服務器102和加速器104的異構(gòu)組合。用戶客戶機106包括一個或多個接口 116,所述接口允許用戶與服務器系統(tǒng)102和/或加速器系統(tǒng)104進行交互。需要注意,上面給出的服務器系統(tǒng)102、加速器系統(tǒng)104和用戶客戶機106的例子僅用于示例目的,且其他類型的系統(tǒng)也是適用的。在一個例子中,圖I中的環(huán)境100是核外處理環(huán)境。圖I中的核外處理環(huán)境100一般在位于服務器系統(tǒng)102上或與之通信耦合的一個或多個存儲設備中維護大部分數(shù)據(jù),而僅在加速器系統(tǒng)104中保留正在被處理的數(shù)據(jù)。例如,在服務器102上的數(shù)據(jù)集110為建模數(shù)據(jù)的實施例中,客戶機系統(tǒng)106上的用戶通過接口 116與模型進行交互。用戶命令從客戶機系統(tǒng)106發(fā)送到一個或多個加速器系統(tǒng)104。一個或多個加速器系統(tǒng)104從服務器系統(tǒng)102請求滿足用戶命令的建模數(shù)據(jù)部分。建模數(shù)據(jù)的這些部分被加速器系統(tǒng)104處理。加速器系統(tǒng)僅從服務器系統(tǒng)102請求并處理滿足用戶請求所需的模型數(shù)據(jù)部分。因此,大部分模型數(shù)據(jù)保留在服務器系統(tǒng)102上,而僅有正被處理的部分模型數(shù)據(jù)位于加速器系統(tǒng)104中。加速器系統(tǒng)106然后向用戶客戶機系統(tǒng)106提供處理(例如圖形呈現(xiàn)、過濾、轉(zhuǎn)換)過的建模數(shù)據(jù)。需要注意,服務器系統(tǒng)102可將給定的一組加速器分配給給定的一組數(shù)據(jù)集,但這不是必須的。如以上所討論的,傳統(tǒng)的核外處理環(huán)境在資源利用、用戶支持和安全性方面通常是低效的。例如,很多傳統(tǒng)核外處理環(huán)境在同一時刻只能支持一個用戶。同時,這些系統(tǒng)允許數(shù)據(jù)集位于加速器中,由此使系統(tǒng)脆弱。很多這樣的傳統(tǒng)環(huán)境使用網(wǎng)絡文件系統(tǒng)(NFS),該網(wǎng)絡文件系統(tǒng)可將塊出頁,這導致系統(tǒng)響應降低。這些傳統(tǒng)環(huán)境還支持只讀模式中的模型數(shù)據(jù)處理(呈現(xiàn)),而不支持對數(shù)據(jù)集的更新和修改/注釋。更進一步地,某些這樣的傳統(tǒng)環(huán)境僅使用動態(tài)隨機存取存儲器(DRAM)來緩存所有模型數(shù)據(jù)。這對于某些使用模型來說是昂貴的。 因此,如下面更詳細地討論的,本發(fā)明的各種優(yōu)選實施例如下克服了關(guān)于傳統(tǒng)核外處理環(huán)境的上述問題。一個或多個實施例允許核外處理環(huán)境100中支持多個用戶。例如,這些實施例利用單獨的物理加速器、虛擬化加速器,并/或在同一物理加速器上支持多個用戶,由此共享同一高速緩存。各種實施例允許核外處理環(huán)境100以各種模式來使用,例如數(shù)據(jù)集僅被緩存在服務器102上;數(shù)據(jù)集被緩存在服務器102和加速器104上;使用請求調(diào)頁(demand paging)在加速器104上緩存數(shù)據(jù)集;以及通過在系統(tǒng)初始化期間下載數(shù)據(jù)集在加速器104上緩存該數(shù)據(jù)集。一個或多個實施例通過利用(i)顯式預取協(xié)議和(ii)用較高帶寬來交換較低延時的推測性推拉(speculative push-pull)協(xié)議,來降低傳統(tǒng)核外處理環(huán)境中存在的延時。在其他實施例中,可從頭實現(xiàn)用于系統(tǒng)102的定制存儲服務器設計?;蛘?,定制存儲服務器設計的元素可被添加到現(xiàn)有的NFS服務器設計。其他實施例中的核外處理環(huán)境100支持對數(shù)據(jù)的修改和注釋。同時,某些使用模型需要服務器僅在服務器和加速器之間的“調(diào)用一返回”模式中使用。因此,一個或多個實施例允許在“調(diào)用一返回”模式中完成數(shù)據(jù)密集處理。而且,在一個或多個實施例中,安全分布式沙箱(sandboxing)被用于隔離“模型”、服務器、加速器和用戶客戶機上的用戶。此外,一個或多個實施例允許某些數(shù)據(jù)被緩存在快速存儲器例如DRAM以及慢速存儲器例如閃存中。具有異構(gòu)存儲器的混合服務器在一個實施例中,服務器102包括異構(gòu)存儲系統(tǒng)202,如圖2所示。在一個實施例中,該異構(gòu)存儲服務器202包括快速存儲器204例如DRAM和慢速存儲器206例如閃存和/或盤存儲器208??焖俅鎯ζ?04被配置為易失性存儲器且慢速存儲器206被配置為非易失性存儲器。通過數(shù)據(jù)訪問管理器118,服務器102可以在快速存儲器204、慢速存儲器206或兩者的組合上存儲數(shù)據(jù)集110。例如,如果服務器102在需要應用的部分之前運行這些部分,服務器102將這些部分所需的數(shù)據(jù)集存儲在慢速存儲器206中,因為它們被用于未來的某個時刻,且因此在當 前是不重要的。例如,虛擬世界中的模擬可在當前時間的前面運行,以計劃未來的資源使用和各種其他建模場景。因此,多個實施例使用多種存儲器類型例如閃存、DRAM和盤存儲。而且,在一個或多個實施例中,在快速存儲器204中被替換的塊首先被換出到慢速存儲器206然后到盤存儲器208。慢速存儲器206可被用作元數(shù)據(jù),且數(shù)據(jù)交換的單位是數(shù)據(jù)結(jié)構(gòu)基本構(gòu)造塊而不是NFS存儲塊。除了位于服務器102上的存儲器系統(tǒng)202,服務器102還可訪問加速器104上的選通存儲器210。例如,一旦加速器104完成給定存儲器部分中的數(shù)據(jù)的處理,加速器104可將該存儲器部分釋放給服務器102,并允許服務器102利用該存儲器部分。選通存儲器還和服務器關(guān)聯(lián)。服務器可通過不允許外部加速器訪問,來處理數(shù)據(jù)并將結(jié)果存儲在存儲器中。服務器然后可通過“開啟選通”存儲器來允許加速器訪問。而且,在一個例子中,存儲器系統(tǒng)202可被劃分為由服務器102自己管理的存儲器和由加速器104管理的存儲器(即,被服務器釋放給加速器的存儲器)。在存儲器系統(tǒng)202中具有被加速器104管理的存儲器,允許加速器104直接寫入該存儲器,而不用耗費服務器102上的任何處理資源。閃存模塊可被置于服務器的輸入/輸出(I/O)總線中,以用于加速器104的直接訪問。這些閃存模塊可具有從加速器104接收消息的網(wǎng)絡鏈路。閃存模塊中的處理器可處理這些消息,并向閃存I/O模塊上的閃存讀取/寫入值。閃存還可和DRAM存儲器一起被附加到處理器系統(tǒng)總線。遠程加速器可使用RDMA (遠程直接存儲器訪問)命令來向附加到總線的閃存模塊讀取/寫入值。而且,該配置允許加速器104互相之間傳遞消息,因為該存儲器是在加速器104之間共享的。這些消息可利用快速存儲器204在加速器104之間傳遞以用于更重要的通信,或利用慢速存儲器206在加速器104之間傳遞以用于不太重要的通信。此外,數(shù)據(jù)和/或消息也可在慢速存儲器模塊之間傳遞。例如,加速器104可從慢速存儲器206獲取數(shù)據(jù)并將其寫回到另一慢速存儲器206。或者,如果慢速存儲器模塊位于同一 I/O總線上,慢速存儲器模塊可來回互相傳遞數(shù)據(jù)/消息。服務器102上的慢速存儲器用作可靠的臨時或緩沖存儲。這避免了加速器104在其稀有的加速器常駐存儲器上緩沖數(shù)據(jù)的需要。每個加速器在服務器102上可具有分配給它的私有閃存模塊,以及可被所有加速器訪問的公共存儲器區(qū)域。如果數(shù)據(jù)要被傳輸?shù)搅硪患铀倨鳎摂?shù)據(jù)不需要被讀回到加速器的存儲器,而可以使用閃存模塊間傳輸在服務器102的邊界內(nèi)傳輸。這些傳輸可在系統(tǒng)總線或I/O總線上完成。這可以節(jié)省加速器104將數(shù)據(jù)拷貝到另一加速器的幾個來回。加速器104于是可使用交換網(wǎng)絡在其間通信短消息,并使用服務器102上的慢速存儲器來交換長的/大塊消息或具有延遲動作需求的消息。慢速存儲器有好處,因為它允許加速器104完成相關(guān)數(shù)據(jù)條目的處理并將該存儲器“釋放”給服務器102或另一加速器,而不用轉(zhuǎn)換或整理結(jié)果來給服務器102或另一加速器使用。這改善了系統(tǒng)的延時和總體性能。下面是上面給出的實施例的更詳細的例子。在一個例子中,數(shù)據(jù)集110是文件,其被構(gòu)造成NFS共享,而客戶機對該文件進行“_ap”?!癬ap”是客戶機所使用的操作系統(tǒng)調(diào)用,來通過使用隨機存取存儲器語義來訪問文件。當文件字節(jié)被觸及(touch)時,NFS文件部分被存儲在DRAM的NFS塊緩沖高速緩存中。但是,在某些情形下,如果使用了基于“年齡”(age)的策略或最近最少使用(LRU)策略,在存儲器中存儲的塊可被其他塊替換。被替換的塊將帶來額外的延時,因為可能需要訪問盤。因此,另一實施例在DRAM中創(chuàng)建了隨機存取存儲器盤(RAMdisk),并將RAMdisk文件系統(tǒng)映射到NFS文件系統(tǒng)。在另一例子中,RAMdisk是用閃存來創(chuàng)建的,且RAMdisk文件系統(tǒng)被映射到NFS文件系統(tǒng)。對于具有DRAM帶寬需求的應用,元數(shù)據(jù)被存儲在閃存中而高帶寬數(shù)據(jù)被存儲在DRAM中。被替換的DRAM塊可被存儲在閃存中而不是將它們寫回到盤。閃存可以用作“犧牲者”(victim)存儲器。需要注意,NFS塊首先被加速器104訪問。然后從NFS塊中提取相關(guān)數(shù)據(jù)。在本發(fā)明的一個或多個優(yōu)選實施例的存儲器設計中,數(shù)據(jù)交換的粒度為數(shù)據(jù)結(jié)構(gòu)基本構(gòu)造塊。這允許從服務器102直接訪問數(shù)據(jù)并將該數(shù)據(jù)直接寫到加速器數(shù)據(jù)結(jié)構(gòu)。例如,具有三層的二叉樹可被確定為基本構(gòu)造塊?;緲?gòu)造塊可被用作服務器和加速器之間的傳輸單位。在其他實施例中,服務器102可通過預處理模塊212來預處理存儲器系統(tǒng)202中·存儲的數(shù)據(jù),以將該數(shù)據(jù)轉(zhuǎn)換為可被請求加速器104的處理核心112處理的格式,而不用加速器104來轉(zhuǎn)換該數(shù)據(jù)。換句話說,服務器102以這種方式預存儲并預構(gòu)建該數(shù)據(jù),從而加速器104不需要執(zhí)行任何額外的操作來處理該數(shù)據(jù)。例如,加速器104可包括IBM Cell B/E處理核心112。因此,服務器102能夠?qū)?shù)據(jù)預處理為Cell B/E處理核心所需的格式或數(shù)據(jù)結(jié)構(gòu),從而加速器可以處理該數(shù)據(jù)而不用首先將該數(shù)據(jù)轉(zhuǎn)換為所需的格式。需要注意,除了將數(shù)據(jù)轉(zhuǎn)換為加速器104所需的格式,服務器102還可以將數(shù)據(jù)轉(zhuǎn)換為用于給定操作的格式或數(shù)據(jù)結(jié)構(gòu)。例如,如果服務器102確定在給定數(shù)據(jù)集上經(jīng)常執(zhí)行排序操作,服務器102可將該數(shù)據(jù)集轉(zhuǎn)換為適于排序操作的形式。因此,當處理器104接收該數(shù)據(jù)集時,它可以執(zhí)行排序操作而不用格式化數(shù)據(jù)。而且,用戶在與用戶客戶機系統(tǒng)106上的數(shù)據(jù)進行交互時,可以注釋(annotate)數(shù)據(jù)集110。當用戶注釋數(shù)據(jù)110時,加速器104將該注釋信息寫回到服務器102,從而其他用戶能夠看到所述注釋。在多個用戶訪問數(shù)據(jù)集例如模型的實施例中,用戶首先獲取對需要更新的數(shù)據(jù)區(qū)域的寫鎖(write lock)。該寫鎖由數(shù)據(jù)訪問管理器118授予和管理??梢赃M行注釋而不用獲取鎖,但對注釋的更改需要寫鎖??蛻魴C對數(shù)據(jù)結(jié)構(gòu)的更新使得具有緩存數(shù)據(jù)的客戶機上的條目被標記為陳舊的。這些條目然后在需要時被刷新?;旌戏掌魃系臄?shù)據(jù)分級(staging)下面詳細討論涉及在混合服務器114上分級數(shù)據(jù)的實施例。如上所討論的,混合服務器114的服務器系統(tǒng)102包括被加速器104處理的一個或多個數(shù)據(jù)集110。因此,為了提供對加速器104所處理的數(shù)據(jù)集的110的部分的安全而高效的訪問,在混合服務器114中可以利用各種數(shù)據(jù)分級架構(gòu)。在一個實施例中,數(shù)據(jù)訪問管理器118管理數(shù)據(jù)是如何在服務器系統(tǒng)102和加速器104之間被訪問的。在一個實施例中,數(shù)據(jù)訪問管理器118位于服務器系統(tǒng)102、一個或多個加速器104以及/或遠程系統(tǒng)(未示出)上。在一個實施例中,數(shù)據(jù)訪問管理器118可將一組加速器分配給服務器系統(tǒng)中的第一數(shù)據(jù)集并將另一組加速器分配給第二數(shù)據(jù)集。在該實施例中,只有被分配給數(shù)據(jù)集的加速器才訪問該數(shù)據(jù)集?;蛘?,數(shù)據(jù)訪問管理器118可在多個數(shù)據(jù)集之間共享加速器。數(shù)據(jù)訪問管理器118還根據(jù)各種數(shù)據(jù)訪問配置來配置加速器104。例如,在一個實施例中,數(shù)據(jù)訪問管理器118將加速器104配置為直接從服務器系統(tǒng)102訪問數(shù)據(jù)集110。換句話說,加速器104被配置,從而它們不緩存來自數(shù)據(jù)集110的任何數(shù)據(jù),且數(shù)據(jù)集110僅被存儲在服務器系統(tǒng)102上。在關(guān)心數(shù)據(jù)集110的保密性/安全性和可靠性的情況下,該實施例具有優(yōu)勢,因為服務器系統(tǒng)102通常提供比加速器104更安全和可靠的系統(tǒng)。在另一實施例中,數(shù)據(jù)訪問管理器118將加速器104配置為取回并在其上存儲/緩存將由加速器104處理的數(shù)據(jù)集110的所有數(shù)據(jù),如圖3所示。例如,一個或多個加速器104在Tl接收與給定模型例如飛機模型進行交互的請求。加速器104上的請求管理器120在T2分析該請求302并在T3從服務器系統(tǒng)102取回全部或基本上全部數(shù)據(jù)304以滿足用戶請求。加速器104然后在T4將該數(shù)據(jù)本地存儲在存儲器/高速緩存306中。現(xiàn)在,在T5從用戶客戶機106接收到訪問請求時,加速器104在T6本地訪問緩存的數(shù)據(jù),而不是從服務器102請求該數(shù)據(jù)。需要注意,在另一實施例中,數(shù)據(jù)訪問管理器118將加速器104配置為在系統(tǒng)初始化時取回并存儲/緩存數(shù)據(jù)集,而不是在收到用戶客戶機的初始請求后才執(zhí)行這些操作。使用加速器104和服務器系統(tǒng)102之間的快速互連,這種將數(shù)據(jù)集下載到加速器104可在合理的時間內(nèi)實現(xiàn)。一旦被存儲在存儲器306中,如上所討論,數(shù)據(jù)集304可被加速器104直接訪問。在另一實施例中,數(shù)據(jù)訪問管理器118將加速器104配置為僅取回并存儲/緩存滿足用戶請求所需的數(shù)據(jù)集110的一部分404,而數(shù)據(jù)集的剩余部分保留在服務器系統(tǒng)102上,如圖4所示。例如,一個或多個加速器104在Tl接收與給定模型例如信用卡詐騙檢測模型進行交互的請求402。加速器104上的請求管理器120在T2分析該請求,并在T3從服務器系統(tǒng)102取回滿足用戶請求的、其存儲器406所允許的盡可能多的數(shù)據(jù)110。加速器104然后在T4將該數(shù)據(jù)404本地存儲在存儲器/高速緩存406中?,F(xiàn)在,在T5從用戶客戶機106接收到訪問請求時,取決于使用所緩存的數(shù)據(jù)部分404、本地數(shù)據(jù)是否能滿足用戶請求,加速器104在T6本地訪問緩存的數(shù)據(jù)404,并且/或者在T7訪問服務器系統(tǒng)上的數(shù)據(jù)集110。加速器104的配置可由數(shù)據(jù)訪問管理器118靜態(tài)和/或動態(tài)地執(zhí)行。例如,系統(tǒng)管理員可以指示數(shù)據(jù)訪問管理器118根據(jù)上面討論的實施例中的一個來靜態(tài)地配置加速器。或者,一組數(shù)據(jù)訪問策略可以和一個或多個加速器104關(guān)聯(lián)。這些數(shù)據(jù)訪問策略指示如何配置加速器104來從服務器102訪問數(shù)據(jù)。在該實施例中,數(shù)據(jù)訪問管理器118確定與給定加速器關(guān)聯(lián)的數(shù)據(jù)訪問策略,并按照該數(shù)據(jù)訪問策略的指示、根據(jù)上面討論的數(shù)據(jù)訪問實施例中的一個來靜態(tài)地配置加速器104?;蛘撸瑪?shù)據(jù)訪問管理器118可以基于一個或多個訪問配置來動態(tài)的配置加速器104中的每個,即,存儲/緩存全部整個數(shù)據(jù)集、數(shù)據(jù)集的一部分或者完全不緩存任何數(shù)據(jù)。在該實施例中,數(shù)據(jù)訪問管理器118利用訪問上下文來確定如何動態(tài)地配置加速器104,該訪問上下文可包括各種類型的信息,例如數(shù)據(jù)端口、用戶屬性、與該數(shù)據(jù)關(guān)聯(lián)的安全屬性等。例如,數(shù)據(jù)訪問管理器118可確定數(shù)據(jù)從服務器102傳輸?shù)郊铀倨?04和/或從加速器104傳輸?shù)接脩艨蛻魴C106的端口。基于確定的端口,取決于與端口關(guān)聯(lián)的安全性和可靠性,數(shù)據(jù)訪問管理器118可將加速器104動態(tài)地配置為存儲/緩存全部整個數(shù)據(jù)集、數(shù)據(jù)集的一部分或者完全不緩存任何數(shù)據(jù)。數(shù)據(jù)訪問策略可被用來指示在通過給定的一組端口來發(fā)送數(shù)據(jù)時,使用哪個訪問配置。在另一例子中,數(shù)據(jù)訪問管理器118基于將被訪問的數(shù)據(jù)集110來動態(tài)地配置加速器104。例如,數(shù)據(jù)集110可包括不同類型的數(shù)據(jù)、不同類型的保密需求等。被數(shù)據(jù)訪問管理器118用來確定如何動態(tài)配置加速器104的與數(shù)據(jù)集110關(guān)聯(lián)的該信息可被存儲在數(shù)據(jù)集本身中、存儲與該數(shù)據(jù)集關(guān)聯(lián)的記錄中等?;谠撔畔ⅲ瑪?shù)據(jù)訪問管理器118根據(jù)上面討論的訪問配置中的一個來動態(tài)地配置加速器104。例如,如果數(shù)據(jù)訪問管理器118確定給定數(shù)據(jù)集110需要高級的保密性,則數(shù)據(jù)訪問管理器118可將加速器104配置為僅從服務器訪問數(shù)據(jù)集110,而不緩存任何數(shù)據(jù)集110。在該實施例中,數(shù)據(jù)訪問策略可被用于指示哪個訪問配置將會基于與該數(shù)據(jù)集關(guān)聯(lián)的元數(shù)據(jù)。此外,在另一例子中,數(shù)據(jù)訪問管理器118基于請求訪問數(shù)據(jù)集110的用戶客戶機106上的用戶來動態(tài)地配置加速器104。例如,用戶可具有不同的訪問權(quán)限和與之關(guān)聯(lián)的許 可。因此,在該例子中,數(shù)據(jù)訪問管理器118確定與用戶關(guān)聯(lián)的多種元數(shù)據(jù)例如訪問權(quán)限和許可、數(shù)據(jù)使用歷史、請求類型(用戶請求用該數(shù)據(jù)來做什么)等?;谠撚脩粼獢?shù)據(jù),數(shù)據(jù)訪問管理器118根據(jù)訪問配置中的一個來動態(tài)地配置加速器104。需要注意,用戶元數(shù)據(jù)可被存儲在服務器102、加速器104和/或遠程系統(tǒng)上的用戶記錄中。除了數(shù)據(jù)訪問管理器118,混合服務器114還包括如上所討論的安全管理器122。安全管理器122可以是數(shù)據(jù)訪問管理器的一部分,或者也可位于數(shù)據(jù)訪問管理器118外部,在服務器系統(tǒng)102、一個或多個加速器104和/或遠程系統(tǒng)上。安全管理器122為混合系統(tǒng)114提供彈性的安全性。例如,安全管理器122可根據(jù)上面討論的訪問配置來管理加速器104的動態(tài)配置。此外,安全管理器122可將各種級別的安全性應用于服務器102和每個加速器104之間的通信鏈路。在該實施例中,安全管理器122在服務器102和加速器104之間提供完全加密的鏈路,或者修改的加密鏈路,由于不是每段數(shù)據(jù)都被加密,該修改的加密鏈路包括對鏈路上的部分數(shù)據(jù)的更弱強度/加密但更高的性能。在一個實施例中,用戶客戶機106上的系統(tǒng)管理員或用戶可選擇完全加密的鏈路或修改的加密鏈路。在另一實施例中,和上面討論的關(guān)于數(shù)據(jù)訪問的配置類似,安全管理器122基于數(shù)據(jù)被發(fā)送和/或數(shù)據(jù)被訪問的端口來選擇完全加密的鏈路或修改的加密鏈路。在又一實施例中,安全管理器122基于應用于加速器104的訪問配置來選擇完全加密的鏈路或修改的加密鏈路。例如,如果加速器104已被配置為僅從服務器102訪問數(shù)據(jù)集110且不緩存任何數(shù)據(jù),則安全管理器122可完全加密服務器102和加速器104之間的鏈路。如果,另一方面,加速器已被配置為緩存數(shù)據(jù)集110,則安全管理器122可在服務器102和加速器104之間提供部分加密(較弱加密強度或部分數(shù)據(jù)加密)的鏈路。在數(shù)據(jù)被緩存在加速器104上的實施例中(即圖3和圖4),安全管理器122還可實現(xiàn)脆弱性窗口機制。在該實施例中,安全管理器122指示加速器104維護用于加速器104上緩存的數(shù)據(jù)的計數(shù)器124。一旦計數(shù)器124達到給定值,高速緩存中的數(shù)據(jù)不再能被訪問。例如,加速器104刪除該數(shù)據(jù)、覆蓋該數(shù)據(jù)等。給定值可以是默認值,例如但不限于,時間間隔或訪問次數(shù)?;蛘?,安全管理器122可設置給定值并指示加速器124計數(shù)到該給定值。而且,不同的數(shù)據(jù)集和數(shù)據(jù)集部分可以和不同的值關(guān)聯(lián)。例如,在加速器104上緩存的數(shù)據(jù)集110的每個部分可與不同的計數(shù)器和值關(guān)聯(lián)。需要注意,如果所有數(shù)據(jù)都被緩存在加速器104上且只有單個用戶請求訪問,則一旦用戶完成訪問數(shù)據(jù),加速器104可在脆弱性窗口到期之前從高速緩存中刪除該數(shù)據(jù)。但是,如果多個用戶請求訪問該數(shù)據(jù),則數(shù)據(jù)需要保留在加速器104上,直到脆弱性窗口到期,因為其他用戶可能需要訪問該數(shù)據(jù)。脆弱性窗口機制允許安全管理器122調(diào)整混合服務器114中的安全級別,以通過要求加速器丟棄/刪除其高速緩存中的數(shù)據(jù),允許部分加密的鏈路提高性能而仍然確保數(shù)據(jù)安全性。系統(tǒng)設計者可選擇在鏈路加密強度和脆弱性窗口持續(xù)時間之間做出合適的權(quán)衡?;诩铀倨飨到y(tǒng)的安全性供應(security provision)的設計者置信水平,類似的考慮可被用來設置脆弱性窗口的持續(xù)時間。脆弱性窗口機制還確保不會長時間在加速器高速緩存中保持數(shù)據(jù),從而新數(shù)據(jù)可被緩存。由于安全管理器122將服務器102和加速器104之間的通信鏈路配置為具有給定級別的安全性,在某些實施例中,加速器104所緩存的數(shù)據(jù)被加密。在某些情況下,兩個或多個加速器104訪問相同的緩存數(shù)據(jù)集。例如,第一加速器可滿足來自第一用戶的請求且 第二加速器可滿足來自第二用戶的請求。例如,如果這些用戶訪問同一模型,則有很大的可能性第一和第二用戶將請求訪問同一數(shù)據(jù)。因此,當加速器中的一個解密其高速緩存中的數(shù)據(jù)時,它可和訪問同一數(shù)據(jù)集的其他加速器共享解密的數(shù)據(jù)。這樣,其他加速器不需要解密該數(shù)據(jù)并可節(jié)省處理資源。需要注意,如果脆弱性窗口被應用于第一加速器上的解密的數(shù)據(jù),該脆弱性窗口將在與第二加速器共享數(shù)據(jù)時被用于該解密的數(shù)據(jù)。從上面的討論可以看到,加速器104能夠以各種方式來配置,以用于訪問數(shù)據(jù)集來滿足用戶請求?;旌戏掌?14還提供動態(tài)安全環(huán)境,其中可以針對服務器102和加速器104之間的通信鏈路并針對加速器如何緩存數(shù)據(jù)來調(diào)整安全級別。此外,每個加速器104可以被配置為提供彈性恢復能力。例如,能夠從加速器104中的軟件崩潰中恢復,從而重要數(shù)據(jù)不會丟失且用戶體驗不被中斷,這一點很重要。在一個實施例中,由彈性恢復模塊126在加速器中提供彈性恢復能力。彈性恢復模塊126可將加速器動態(tài)地配置為在一個時刻具有運行的軟件程序的單個實例或多個副本。彈性恢復模塊126可基于用戶請求、被訪問的數(shù)據(jù)的性質(zhì)、所需的性能和可用的資源來切換這些配置?;謴湍芰κ峭ㄟ^在同一時刻運行同一程序的至少兩個副本來提供的。在該實施例中,軟件程序互相交叉檢查,從而每個程序總是知道另一個程序在做什么。因此,如果一個程序崩潰了,則另一個程序可以無縫地接管已崩潰程序的處理。協(xié)調(diào)的推測性數(shù)據(jù)推拉如以上所討論的,某些使用模型需要服務器僅被用于服務器102和加速器104之間的調(diào)用一返回模式。在該類型的配置中,不允許加速器104自己對服務器102進行訪問。因此,如圖5所示,在一個或多個實施例中,用戶的客戶機106向服務器102發(fā)送請求、命令等,而不是將它們直接發(fā)送到加速器104。這些實施例利用經(jīng)過服務器102的調(diào)用一返回路徑,并建立具有數(shù)據(jù)窺探(snoop)的協(xié)議隧道502。調(diào)用一返回允許混合服務器114的安全實現(xiàn)。在這些實施例中,數(shù)據(jù)訪問管理器118可以以多種方式來處理服務器102直接從用戶客戶機106接收到的請求。在一個例子中,從客戶機106接收到的請求從服務器的輸入直接隧道傳輸(tunnel)到加速器104。在另一例子中,這些請求在服務器102上處理,且結(jié)果被發(fā)送回用戶客戶機106。用戶客戶機106然后可將該數(shù)據(jù)“推送”到一個或多個加速器來處理,其中,加速器104將處理過的數(shù)據(jù)沿協(xié)議隧道502發(fā)送回用戶客戶機106。但是,如果用戶客戶機106包括足夠的資源來高效地自己執(zhí)行處理,則用戶客戶機106不需要將數(shù)據(jù)推送給加速器104。在又一例子中,傳入的請求沿協(xié)議隧道502被鏡像(miiTor)到加速器104和服務器102兩者。例如,服務器102維護實際請求的副本,并將該請求或副本發(fā)送給加速器104。此外,在另一例子中,服務器102將對應于小的請求的結(jié)果數(shù)據(jù)推送到用戶客戶機106,但允許長的/大塊(long/bulk)結(jié)果由用戶客戶機對加速器102的請求來服務。例如,產(chǎn)生長的/大塊結(jié)果的請求被傳遞給加速器104,其中,加速器從服務器102請求相應的數(shù)據(jù)。此外,長的請求消息可沿協(xié)議隧道502被發(fā)送到加速器104,以緩和服務器102上的“代理”(代表加速器102)處理。在服務器102上,重復的請求可被丟棄。協(xié)議隧道被配置,從而在一個網(wǎng)絡端口接收請求,并通過另一網(wǎng)絡端口將該請求發(fā)送到加速器104。但是,如圖5所示,服務器102包括窺探模塊504,其可位于數(shù)據(jù)訪問管理器中或在數(shù)據(jù)訪問管理器之外。窺探模塊504窺探被接收并被傳遞到加速器的請求,以確定加速器滿足請求所需的數(shù)據(jù)集或數(shù)據(jù)集的部分。數(shù)據(jù)訪問管理器然后能夠?qū)⒁汛_定的數(shù)據(jù)集或數(shù)據(jù)集部分推送到加速器。在一個實施例中,加速器從服務器接收的任何推送數(shù)·據(jù)被存儲在單獨的“推送”高速緩存中,并且不和牽拉(pull)的數(shù)據(jù)一起存儲。但是,該實施例不是必須的。因此,當加速器接收請求時,它們不是必須要從服務器取回數(shù)據(jù)集,因為服務器已經(jīng)開始將所需的數(shù)據(jù)集發(fā)送到加速器。來自用戶客戶機106的請求可以具有一位的標簽,該標簽用于向加速器指示請求所需的數(shù)據(jù)已經(jīng)在發(fā)送途中。加速器104由此可避免對服務器102的數(shù)據(jù)請求。當用戶客戶機106沒有用戶所有潛在位置的完整知識、但服務器102可能具有該信息、且不同用戶對數(shù)據(jù)集的更新可被反射(reflect)在數(shù)據(jù)集中然后被“推送”到其他用戶時,這樣的“推拉”協(xié)議具有優(yōu)勢。上述實施例的一個優(yōu)勢是,由于所有用戶請求首先被指向服務器102,服務器102具有多個用戶請求的知識。例如,在傳統(tǒng)的核外處理環(huán)境中,每個加速器一般在同一時刻只能支持一個用戶。因此,這些傳統(tǒng)的環(huán)境通常不能執(zhí)行基于其他用戶的使用模式的任何類型的推測性推/拉操作。但是,因為在本發(fā)明的一個或多個優(yōu)選實施例中,來自用戶客戶機106的請求首先被發(fā)送到服務器102,服務器102監(jiān)視所有用戶客戶機106正在處理什么數(shù)據(jù)集。這允許服務器102基于過去多個用戶請求的數(shù)據(jù)或基于用戶當前請求的數(shù)據(jù)來預測或推測給定用戶客戶機106未來需要什么數(shù)據(jù)。與上面已經(jīng)討論的實施例類似,服務器102然后能夠?qū)⒃摂?shù)據(jù)推送到合適的加速器104。例如,考慮其中服務器包含飛機模型的實施例。用戶在用戶客戶機器106上用實時顯示來導航通過飛機圖形模型?;趤碜远鄠€用戶的請求,服務器102確定當大多數(shù)用戶位于第一層行李艙中時,他們將導航到第二層行李艙。于是,當服務器102基于接收到的請求確定用戶位于第一層行李艙中,服務器102可將用于第二層行李艙的數(shù)據(jù)推送到相應的加速器104。因此,加速器104在接收到用戶訪問第二層的請求之前,已經(jīng)具有用于第二層行李艙的數(shù)據(jù)(且在某些實例中,已經(jīng)處理該數(shù)據(jù))。該實施例緩解了下列配置中加速器104通常遇到的延遲,在該配置中加速器104必須在從服務器102訪問數(shù)據(jù)之前等待,直到接收到訪問第二層的請求。在另外的實施例中,數(shù)據(jù)訪問管理器118監(jiān)視加速器為滿足請求而牽拉的數(shù)據(jù),以確定要推送到加速器104的數(shù)據(jù)。這些實施例可被應用于這樣的環(huán)境配置,在該環(huán)境配置中使用上面討論的協(xié)議隧道來從用戶客戶機106向加速器104發(fā)送請求或從用戶客戶機106向服務器102發(fā)送請求。當加速器104從服務器102牽拉數(shù)據(jù)以滿足請求時,服務器102可將任何相關(guān)數(shù)據(jù)推送到加速器104,從而加速器104在需要時已經(jīng)具有該數(shù)據(jù)并且不需要執(zhí)行額外的牽拉操作。例如,在其中數(shù)據(jù)集110包含以層次性質(zhì)例如層次樹存儲的數(shù)據(jù)的實施例中,當服務器102確定加速器104正在牽拉樹的頂級元素時,服務器預測/推測加速器104將最終需要與被牽拉的頂級元素關(guān)聯(lián)的葉子元素。因此,服務器102將這些葉子元素推送到加速器104。在一個實施例中,這些推/拉操作相互協(xié)作進行,即,服務器將數(shù)據(jù)推送到加速器,同時加速器從服務器牽拉相關(guān)的 數(shù)據(jù)。在另一實施例中,服務器102通過數(shù)據(jù)訪問管理器來執(zhí)行對加速器104所牽拉的數(shù)據(jù)的語義解析,以確定推送給加速器104的數(shù)據(jù)。換句話說,在該實施例中,服務器102不只是發(fā)送與加速器104當前牽拉的數(shù)據(jù)相關(guān)的所有數(shù)據(jù),而是發(fā)送與牽拉數(shù)據(jù)關(guān)聯(lián)的數(shù)據(jù)。例如,考慮服務器102上的數(shù)據(jù)集110用于虛擬世界的例子。用戶通過用戶客戶機106導航到用戶可選擇三條不同路徑的區(qū)域。當加速器104從服務器102牽拉數(shù)據(jù)以向用戶顯示該三條路徑時,服務器102語義分析該牽拉數(shù)據(jù)并確定用戶只能選擇第一路徑,因為該用戶沒有獲取用于第二和第三路徑的鍵(key)。因此,服務器102僅將與第一路徑關(guān)聯(lián)的數(shù)據(jù)推送到加速器104??梢岳斫猓瑑H基于數(shù)據(jù)集使用位置的推送數(shù)據(jù)的蠻力(brute force)方式可能是低效的。該蠻力方式可產(chǎn)生與被尋址數(shù)據(jù)條目相鄰、但對于用戶應用來說是無用的數(shù)據(jù)條目。而本發(fā)明的一個或多個優(yōu)選實施例對請求進行語義分析,從而用戶所操縱的應用級對象局部性和親合性(affinity)可被用于向加速器104推送數(shù)據(jù)。通過使“推送”的數(shù)據(jù)對于應用用戶上下文更為有用,該策略降低了延時并允許提升的效率。需要注意,推/拉數(shù)據(jù)移動可顯著提升更大的模型嵌套的多個模型的處理。當加速器104從服務器牽拉數(shù)據(jù)且該數(shù)據(jù)屬于具有定義的獨立模型的實體時,服務器102可將該模型數(shù)據(jù)直接推送到加速器104。任何后續(xù)的訪問都被指向嵌套的模型的本地副本??赏ㄟ^加鎖和一致性更新來實現(xiàn)用于同時讀寫的模型共享。預取流水線(prefetchpipelining)除了上面討論的協(xié)調(diào)的推測性數(shù)據(jù)推/拉實施例,混合服務器114還可被配置用于應用級預取,即,顯式的預取。在該實施例中,其中在基于NFS的讀取(對_ap的文件共享的fread或讀取)過程中存在隱式的預取,顯式預取被用來基于正被執(zhí)行的應用的語義來預取數(shù)據(jù)。需要注意,隱式預取由于空間局部性可產(chǎn)生位置連續(xù)的數(shù)據(jù)塊,但對于應用用戶上下文來說可能是無用的。虛擬世界或建模/圖形環(huán)境中的典型的應用用戶上下文由具有層次或關(guān)系的幾百到幾千個對象構(gòu)成。顯式預取允許用戶應用上下文中的對象局部性和親合性(affinity)被用于預取。這些對象不是必須在存儲器中連續(xù)分布。顯式預取允許用戶的動作,并可能比蠻力隱式預取對用戶更有用。在一個實施例中,基于應用中的用戶的狀態(tài)信息,應用可事先請求應用或用戶可能需要的數(shù)據(jù)塊。通過使用年齡或最近最少使用算法的合適替換策略,將這樣的塊存儲在推測性高速緩存中。這允許推測性塊不替換任何確定性的緩存的數(shù)據(jù)。在一個實施例中,如圖6所示,一個或多個加速器104包括一個或多個預取器602,預取器為在用戶客戶機106上運行的應用604預取數(shù)據(jù)。可以理解,在用戶客戶機106上運行的應用604的狀態(tài)維持處理可在服務器102上運行。應用處理實際上可跨服務器102和用戶客戶機分布,但預取可由用戶客戶機106上的處理來觸發(fā)。但是,需要注意,一個或多個預取器也可位于服務器系統(tǒng)102上。預取器602是η路選擇預取器,其載入與關(guān)聯(lián)于應用的當前狀態(tài)的多個選擇、情形、場景等關(guān)聯(lián)的數(shù)據(jù)。預取器分析在服務器102和/或加速器104或用戶客戶機106上維護的一組信息606,以沿著多個維度做出預取選擇,該組信息可包括用戶選擇和偏好、需要用戶交互的可能模型、當前應用狀態(tài)、傳入(到服務器102)的外部流狀態(tài)等。η路預取器獲取一組不同預取器的預取請求,作為輸入。每個預取器基于不同的選擇標準進行請求,且η路預取器可選擇發(fā)出一個或多個預取器的請求。例如,考慮在服務器102上運行的應用例如虛擬世界。在該例子中,用戶通過用戶客戶機106將他自己/她自己導航到允許用戶向兩個方向中的一個前進的門口。當用戶靠近門口時,應用可在加速器104上緩存來自用戶可選擇的所有可能方向的塊。當用戶選擇方向時,對應于一個“方向”的數(shù)據(jù)可被保留而其他“方向”的數(shù)據(jù)可被丟棄。注意到用戶總是可以退回其步伐,從而基于存儲器的可用性和服務質(zhì)量要求,每個“方向”都可被保留以供未來使用。預取緩解了如果不預取數(shù)據(jù)用戶通常會經(jīng)歷的延遲。 此外,在某些情形下,用戶可能無法選擇兩個方向中的任一個,而只能選擇其中一個方向。因此,預取器602分析預取信息606例如用戶的選擇歷史,以確定用戶能夠選擇的路徑并僅預取該路徑的數(shù)據(jù)。這和上面討論的語義分析實施例類似。在一個實施例中,加速器104包括預取請求隊列608,該預取請求隊列存儲來自位于用戶客戶機106上的應用604的預取請求。例如,如果應用604處于向用戶呈現(xiàn)具有可選擇的多條路徑的門口的狀態(tài),應用604向加速器104發(fā)送多個預取請求,每條路徑一個請求。這些預取請求將請求加速器104預取與給定路徑關(guān)聯(lián)的數(shù)據(jù)。加速器104在預取請求隊列610中存儲這些預取請求608中的每個。預取請求隊列可以是快速存儲器例如DRAM中的臨時區(qū)域、快速存儲器中的專用部分、或者可位于慢速存儲器例如閃存中。預取器602然后基于與預取請求關(guān)聯(lián)的資源需求,為每個預取請求指定評分。例如,該評分可基于預取被請求數(shù)據(jù)的存儲器需求。評分還可基于預取能提升多少用戶體驗。例如,可基于通過預取給定數(shù)據(jù)集能降低多少延時來指定評分。一旦指定了評分,預取器602從預取請求隊列610中選擇來滿足的一組預取請求,該組預取請求具有最高評分或大于給定閾值的一組評分。加速器104將預取請求發(fā)送到服務器102來預取所需的數(shù)據(jù)。在相同加速器或不同加速器上利用多個預取器602的實施例中,如果同一數(shù)據(jù)被請求預取,對該同一數(shù)據(jù)集的多個預取請求可被合并為單個請求并被發(fā)送到服務器102。需要注意,預取請求可被服務器102或加速器104丟棄。例如,在多數(shù)情況下,被請求預取的數(shù)據(jù)對于應用604不是關(guān)鍵的,因為該數(shù)據(jù)是將在未來的某個時刻使用的。因此,如果服務器102或加速器104沒有足夠的資源來處理預取請求,該請求可被丟棄/忽略。服務器102取回數(shù)據(jù)以滿足預取請求,并將該數(shù)據(jù)發(fā)回給加速器104。在一個實施例中,服務器102通過數(shù)據(jù)訪問管理器來分析預取的數(shù)據(jù),以確定是否有任何額外的數(shù)據(jù)也應被預取。服務器102確定與當前正被預取的數(shù)據(jù)集相關(guān)的其他對象,其中,這些其他對象可位于同一地址空間或位于層次樹的同一節(jié)點或位于不連續(xù)的地址空間或?qū)哟螛涞牟煌?jié)點/層。例如,如果被預取的數(shù)據(jù)集與棒球游戲中的投手相關(guān),服務器還可取回例如給定投手角色可做出的投擲類型如快球、曲線球、滑行曲線球或下墜球以及該投手角色能投擲出的速度范圍等信息。服務器102然后將預取的額數(shù)據(jù)發(fā)送到加速器104。加速器104將該數(shù)據(jù)存儲在為預取數(shù)據(jù)保留的存儲器614部分612。例如,加速器104將該數(shù)據(jù)存儲在慢速存儲器例如閃存的部分中,從而快速存儲器例如DRAM不會不必要地負擔預取過程。如以上所討論的,預取數(shù)據(jù)對于應用通常不是關(guān)鍵的,因為該數(shù)據(jù)將在未來某個時刻使用。但是,預取數(shù)據(jù)也可被存儲在快速存儲器中。在一個實施例中,存儲器中的這些預取數(shù)據(jù)部分中的每個跨一組加速器被聚集。因此,這些預取數(shù)據(jù)部分用作跨加速器的單個高速緩存。這允許加速器104互相之間共享數(shù)據(jù)。在一個實施例中,加速器104利用頁替換機制,從而存儲預取的存儲器不會變滿,或者從而新的預取數(shù)據(jù)可被寫入已滿的預取存儲器612。在該實施例中,加速器104監(jiān)視預取存儲器612中的數(shù)據(jù)使用。每次使用數(shù)據(jù)時,針對給定數(shù)據(jù)集來更新計數(shù)器。加速器104還確定與給定數(shù)據(jù)集關(guān)聯(lián)的計算復雜度。該計算復雜度可基于處理預取數(shù)據(jù)集所需的資源、處理時間等。加速器104然后基于計數(shù)器數(shù)據(jù)和/或與數(shù)據(jù)集關(guān)聯(lián)的計算復雜度來 給每個預取的數(shù)據(jù)集指定評分/權(quán)重。當存儲器612基本上滿的時候,預取器使用該評分來確定從存儲器612中移除的預取數(shù)據(jù),從而可在其中存儲新數(shù)據(jù)。預取代理可在服務器102上運行,作為加速器104上的預取器602的輔助。預取代理可跨加速器104聚集并關(guān)聯(lián)請求,并向服務存儲器層次結(jié)構(gòu)呈現(xiàn)單個請求集合,以避免請求重復。預取代理可使用預取請求的“評分”,以在寶貴的DRAM、較便宜的閃存或盤存儲器中保存相應的結(jié)果。在混合服務器上多路復用(multiplex)用戶并啟用虛擬化在一個或多個實施例中,混合服務器114支持多個用戶。這可通過多種方式來實現(xiàn)。例如,可以使用單獨的物理加速器、具有私有高速緩存客戶機的虛擬化加速器、具有窺探私有客戶機高速緩存的虛擬化加速器、具有彈性私有客戶機高速緩存的虛擬化加速器。在使用單獨的物理加速器104的實施例中,給每個用戶分配單獨的物理加速器。這具有好處,因為每個用戶可被限制于物理加速器,而沒有共享開銷和相關(guān)的安全問題。圖7示出了使用虛擬化加速器的一個實施例。特別地,圖7示出了一個或多個加速器104被邏輯劃分為一個或多個虛擬化加速器702、704,每個具有私有客戶機高速緩存。在該實施例中,每個用戶被分配虛擬化加速器702、704。加速器104的物理資源在虛擬化加速器702、704之間共享。每個虛擬化加速器702、704包括私有客戶機高速緩存706,私有客戶機高速緩存只能被它所映射到的虛擬化加速器使用。在使用虛擬化加速器702、704的另一實施例中,私有高速緩存706是窺探私有客戶機高速緩存。如果在不同用戶之間共享至少一個公共模型標識(ID)或數(shù)據(jù)集標識符,這些私有客戶機高速緩存可窺探到其他客戶機高速緩存的通信流(traffic)。這些私有虛擬化高速緩存706可跨虛擬加速器104被分布。在該實施例中,虛擬化加速器702、704窺探同一物理加速器104上的數(shù)據(jù)。對物理加速器104上的虛擬化加速器702、704進行管理的虛擬化加速器目錄代理710向共享同一數(shù)據(jù)集110例如模型數(shù)據(jù)的其他虛擬化加速器702、704廣播請求。私有客戶機高速緩存706可以用數(shù)據(jù)響應,如果它們已經(jīng)具有虛擬加速器中的一個從服務器102請求的數(shù)據(jù)。這在虛擬加速器702、704之間建立了虛擬總線。物理加速器104上的虛擬化加速器702、704能夠共享輸入數(shù)據(jù)和輸出數(shù)據(jù)。如果用戶包含相同狀態(tài),例如,多個用戶位于虛擬世界的同一區(qū)域或者體積中,虛擬化加速器702、704可被結(jié)合(即虛擬加速器702也為虛擬加速器704執(zhí)行工作)或邏輯分開以更高效地處理用戶請求和數(shù)據(jù)。而且,多個數(shù)據(jù)集可以在一個虛擬化加速器702、704上菊花鏈接(daisy chain)。例如,飛機模型可由多個模型構(gòu)成。因此,和單個集成模型相比,可在虛擬化加速器上建立模型的層次結(jié)構(gòu)。例如,來自該模型層次結(jié)構(gòu)的模型可被分配給每個虛擬加速器702、704。虛擬加速器702、704可在給定的物理加速器104上實例化。這允許虛擬加速器702、704共享數(shù)據(jù),因為數(shù)據(jù)集訪問很可能從互相鄰近的虛擬加速器服務,因為它們都對屬于同一層次結(jié)構(gòu)的數(shù)據(jù)集建模。虛擬加速器702、704還可跨越(span)多個物理加速器104。在該情形下,私有客戶機高速緩存706可由跨多個物理加速器104的存儲器資源構(gòu)成。在使用具有彈性私有客戶機高速緩存的虛擬化加速器的實施例中,為每個用戶分配了虛擬化加速器702、704。私有客戶機高速緩存跨物理加速器而存在,即,可以跨加速器104來使用存儲器資源。每個私有客戶機高速緩存706是用“名義”(nominal)和“高”的高速緩存大小來創(chuàng)建的。當高速緩存空間被使用時,虛擬加速器702、704的高速緩存大小可增加至“高”。如果其他虛擬加速器702、704選擇增加其高速緩存大小且存儲器資源不可 用,則為了性能,具有最高優(yōu)先級的虛擬加速器702、704可被授權(quán)使用較高的高速緩存大小。加速器的高速緩存大小的彈性允許它緩存滿足用戶客戶機請求所需的所有數(shù)據(jù)。如本領(lǐng)域技術(shù)人員所理解的,本發(fā)明的各方面可被實施為系統(tǒng)、方法或計算機程序產(chǎn)品。因此,本發(fā)明的方面可采取完全的硬件實施例、完全的軟件實施例(包括固件、駐留程序、微代碼等),或在此被統(tǒng)稱為“電路”、“模塊”或“系統(tǒng)”的結(jié)合軟件部分和硬件部分的實施例。而且,本發(fā)明的實施例可以是在其上實施有一個或多個計算機可讀程序代碼的一個或多個計算機可讀介質(zhì)上實施的計算機程序產(chǎn)品的形式。可以使用一個或多個計算機可讀的或計算機可讀的介質(zhì)的任何組合。計算機可讀的或計算機可讀的介質(zhì)例如可以是——但不限于——電的、磁的、光的、電磁的、紅外線的、或半導體的系統(tǒng)、裝置、器件或傳播介質(zhì)。計算機可讀介質(zhì)的更具體的例子(非窮舉的列表)包括以下有一個或多個導線的電連接、便攜式計算機盤、硬盤、隨機存取存儲器(RAM)、只讀存儲器(ROM)、可擦式可編程只讀存儲器(EPR0M或閃存)、光纖、便攜式緊湊盤只讀存儲器(CD-ROM)、光存儲器件、諸如支持因特網(wǎng)或內(nèi)部網(wǎng)的傳輸介質(zhì)、或者磁存儲器件,或上述的任意合適的組合。在本文件的語境中,計算機可讀的或計算機可讀的介質(zhì)可以是任何含有或存儲供指令執(zhí)行系統(tǒng)、裝置或器件使用的或與指令執(zhí)行系統(tǒng)、裝置或器件相聯(lián)系的有形介質(zhì)。計算機可讀的信號介質(zhì)可包括例如在基帶中或者作為載波一部分傳播的、由其體現(xiàn)計算機可讀的程序碼的數(shù)據(jù)信號。這樣傳播的信號可采取多種形式中的任一個,包括但不限于電磁、光學或其任意合適的組合。計算機可讀的信號介質(zhì)可以是任何除了計算機可讀存儲介質(zhì)外的計算機可讀的介質(zhì),其可通信、傳播或傳輸供指令執(zhí)行系統(tǒng)、設備或裝置或與指令執(zhí)行系統(tǒng)、設備或裝置相關(guān)聯(lián)的程序。實施在計算機可讀介質(zhì)上的程序碼可以用任何適當?shù)慕橘|(zhì)傳輸,包括但不限于無線、電線、光纜、RF等,或上述的任意合適的組合。用于執(zhí)行本發(fā)明的各方面的操作的計算機程序碼,可以以一種或多種程序設計語言的任何組合來編寫,所述程序設計語言包括面向?qū)ο蟮某绦蛟O計語言一諸如Java、Smalltalk、C++之類,還包括常規(guī)的過程式程序設計語言——諸如“C”程序設計語言或類似的程序設計語言。程序碼可以完全地在用戶的計算上執(zhí)行、部分地在用戶的計算機上執(zhí)行、作為一個獨立的軟件包執(zhí)行、部分在用戶的計算機上部分在遠程計算機上執(zhí)行、或者完全在遠程計算機或服務器上執(zhí)行。在后一種情形中,遠程計算機可以通過任何種類的網(wǎng)絡一包括局域網(wǎng)(LAN)或廣域網(wǎng)(WAN)—連接到用戶的計算機,或者,可以(例如,利用因特網(wǎng)服務提供商來通過因特網(wǎng))連接到外部計算機。以下將參考流程圖描述和/或根據(jù)本發(fā)明實施例的方法、設備(系統(tǒng))和計算機程序產(chǎn)品的框圖來描述本發(fā)明的各方面。將理解,流程圖描述的每個方框和/或框圖,以及流程圖描述中的方框組合和/或框圖,可由計算機程序指令實施。這些計算機程序指令可以提供給通用計算機、專用計算機或其他可編程數(shù)據(jù)處理裝置的處理器,從而生產(chǎn)出一種機器,使得通過計算機或其他可編程數(shù)據(jù)處理裝置執(zhí)行的這些指令,產(chǎn)生實現(xiàn)流程圖和/或框圖中的方框中規(guī)定的功能/操作的裝置(means)。也可以把這些計算機程序指令存儲在能指令計算機或其他可編程數(shù)據(jù)處理裝置以特定方式工作的計算機可讀介質(zhì)中,這樣,存儲在計算機可讀介質(zhì)中的指令產(chǎn)生一個包括實現(xiàn)流程圖和/或框圖中的方框中規(guī)定的功能/操作的指令裝置(instruction means) 的制造品。也可以把計算機程序指令加載到計算機、其他可編程數(shù)據(jù)處理裝置或其他裝置上,使得在計算機、其他可編程數(shù)據(jù)處理裝置或其他裝置上執(zhí)行一系列操作步驟,以產(chǎn)生計算機實現(xiàn)的過程,從而在計算機、其他可編程裝置或其他裝置上執(zhí)行的指令就提供實現(xiàn)流程圖和/或框圖中的方框中規(guī)定的功能/操作的過程。操作流程圖現(xiàn)在參考圖8-17,圖中的流程圖和框圖示出了根據(jù)本發(fā)明的各種優(yōu)選實施例的系統(tǒng)、方法和計算機程序產(chǎn)品的可能實施方式的結(jié)構(gòu)、功能和操作。在這點上,流程圖或框圖中的每個方框可以代表一個模塊、程序段或代碼的一部分,所述模塊、程序段或代碼的一部分包含一個或多個用于實現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令。也應當注意,在有些作為替換的實現(xiàn)中,方框中所標注的功能也可以以不同于附圖中所標注的順序發(fā)生。例如,兩個連續(xù)的方框?qū)嶋H上可以基本并行地執(zhí)行,它們有時也可以按相反的順序執(zhí)行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個方框、以及框圖和/或流程圖中的方框的組合,可以用執(zhí)行規(guī)定的功能或操作的專用的基于硬件的系統(tǒng)來實現(xiàn),或者可以用專用硬件與計算機指令的組合來實現(xiàn)。圖8是示出在如上所討論的核外處理環(huán)境中的服務器系統(tǒng)上預處理數(shù)據(jù)的一個例子的操作流程圖。圖8的操作開始于步驟802并直接進入步驟804。在步驟804,服務器102從加速器104接收對數(shù)據(jù)集110的請求。在步驟806,服務器102確定與被請求數(shù)據(jù)集關(guān)聯(lián)的操作類型和/或位于加速器104上的處理核心112的類型。在步驟808,服務器102基于所確定的操作類型和/或處理核心類型,將數(shù)據(jù)從第一格式轉(zhuǎn)換為第二格式?;蛘?,月艮務器102可以各種可直接被加速器104使用的形式來存儲數(shù)據(jù)。在步驟810,服務器102將已轉(zhuǎn)換的數(shù)據(jù)發(fā)送到加速器104??刂屏鞒淘诓襟E812退出。圖9是示出根據(jù)如上所討論的第一數(shù)據(jù)訪問配置來進行配置的核外處理環(huán)境中的加速器的一個例子的操作流程圖。圖9的操作流程開始于步驟902并直接進入步驟904。在步驟904,加速器104從用戶客戶機106接收與數(shù)據(jù)集110進行交互的請求302。在步驟906,加速器104分析請求302。在步驟908,加速器104從服務器102取回與請求302關(guān)聯(lián)的所有或幾乎所有數(shù)據(jù)集110。在步驟910,加速器104將取回的數(shù)據(jù)304本地存儲在高速緩存306中。在步驟912,加速器104從用戶客戶機106接收訪問數(shù)據(jù)集110的請求。在步驟914,加速器104處理本地存儲的數(shù)據(jù)304以滿足該請求。在步驟916,加速器104將處理過的數(shù)據(jù)發(fā)送給用戶客戶機106??刂屏鞒倘缓笤诓襟E1018退出。圖10是示出根據(jù)上面討論的第二數(shù)據(jù)訪問配置來進行配置的核外處理環(huán)境中的加速器的另一例子的操作流程圖。圖10的操作流程圖開始于步驟1002并直接進入步驟1004。在步驟1004,加速器104從用戶客戶機106接收與數(shù)據(jù)集110進行交互的請求402。在步驟1006,加速器分析請求402。在步驟1008,加速器104從服務器102取回與請求402關(guān)聯(lián)的數(shù)據(jù)集110的部分404。在步驟1010,加速器104將取回的數(shù)據(jù)部分404本地存儲在高速緩存406中。在步驟1012,加速器104從用戶客戶機106接收訪問數(shù)據(jù)集110的請求。在步驟1014,加速器104確定數(shù)據(jù)部分404是否能滿足該請求。如果該確定的結(jié)果是否定的,則在步驟1016,加速器104從服務器102取回額外的數(shù)據(jù)。在步驟1108,加速·器104處理數(shù)據(jù)部分404和額外的數(shù)據(jù)以滿足該請求。控制然后進入步驟1022。如果在步驟1014的結(jié)果是肯定的,則在步驟1020,加速器104處理緩存的數(shù)據(jù)部分404以滿足該請求。在步驟1022,加速器104將處理過的數(shù)據(jù)發(fā)送到用戶客戶機106??刂屏鞒倘缓笤诓襟E1024退出。圖11是示出根據(jù)如上討論的數(shù)據(jù)訪問配置來動態(tài)配置核外處理環(huán)境中的配置的加速器的一個例子的操作流程圖。圖11的操作流程開始于步驟1102并直接進入步驟1104。需要注意,下列步驟可由服務器102和/或加速器104來執(zhí)行。但是,僅為了示例的目的,下列討論基于服務器102的視角。在步驟1104,服務器102從加速器104接收對數(shù)據(jù)集110的請求。在步驟1106,服務器102確定用于在服務器102和加速器104之間傳輸數(shù)據(jù)的第一組數(shù)據(jù)端口。在步驟1108,服務器102確定用于在加速器104和用戶客戶機106之間傳輸數(shù)據(jù)的第二組端口。在步驟1110,服務器102確定加速器104正在請求的數(shù)據(jù)。在步驟1112,服務器102確定與請求訪問數(shù)據(jù)集110的用戶關(guān)聯(lián)的一組屬性。在步驟1114,服務器102根據(jù)基于所確定的第一組數(shù)據(jù)端口、第二組數(shù)據(jù)端口、正在請求的數(shù)據(jù)集以及與用戶關(guān)聯(lián)的屬性中的至少一個的數(shù)據(jù)訪問配置來動態(tài)配置加速器104。控制流程然后在步驟1114退出。圖12是示出在如上所討論的核外處理環(huán)境中動態(tài)建立服務器和加速器之間的安全鏈路的一個例子的操作流程圖。圖12的操作流程開始于步驟1202并直接進入步驟1204。需要注意,下列步驟可由服務器102和/或加速器104來執(zhí)行。但是,僅為了示例的目的,下列討論基于服務器102的視角。在步驟1204,服務器102確定用戶是否請求完全加密的鏈路。如果該確定的結(jié)果是肯定的,則在步驟1206,服務器102完全加密服務器102和加速器104之間的通信鏈路??刂屏鞒倘缓笤诓襟E1208退出。如果該確定的結(jié)果是否定的,則在步驟1210,服務器102確定加速器104是否已被配置為緩存來自服務器102的數(shù)據(jù)。如果該確定的結(jié)果是否定的,則在步驟1212,服務器102完全加密服務器102和加速器104之間的鏈路??刂屏鞒倘缓笤诓襟E1214退出。如果該確定的結(jié)果是肯定的,則在步驟1216,服務器102將服務器102和加速器104之間的通信鏈路配置為加密部分數(shù)據(jù)或以較弱的強度來加密所有數(shù)據(jù)。在步驟1218,服務器102指示加速器104利用用于被緩存數(shù)據(jù)的脆弱性窗口機制,以抵消由于部分數(shù)據(jù)加密或較弱強度加密所引起的系統(tǒng)可信度降低。控制流程然后在步驟1220退出。圖13是示出在如上所討論的核外處理環(huán)境中由加速器維護用于被緩存數(shù)據(jù)的脆弱性窗口的一個例子的操作流程圖。圖13的操作流程開始于步驟1302并直接進入步驟1304。在步驟1304,服務器102指示加速器104利用用于被緩存數(shù)據(jù)的脆弱性窗口機制。在步驟1306,加速器104為緩存的數(shù)據(jù)維護安全計數(shù)器124。在步驟1308,加速器104確定安全計數(shù)器124是否大于給定閾值。如果該確定的結(jié)果是否定的,控制流程回到步驟1306。如果該確定的結(jié)果是肯定的,在步驟1310,加速器104從高速緩存306中清除數(shù)據(jù)304??刂屏鞒倘缓笤诓襟E1312退出。圖14是示出在如上所討論的核外處理環(huán)境中的服務器上利用協(xié)議隧道的一個例子的操作流程圖。圖14的操作流程開始于步驟1402并直接進入步驟1404。在步驟1404,服務器102建立協(xié)議隧道502。在步驟1406,服務器102從用戶客戶機106接收訪問請求。 在步驟1408,服務器102分析該請求。在步驟1410,服務器102確定訪問請求所要求的數(shù)據(jù)集。在步驟1412,服務器102將訪問請求傳遞給加速器104,然后將確定的數(shù)據(jù)推送到加速器104。需要注意,可交錯地將結(jié)果數(shù)據(jù)和用戶客戶機請求推送到加速器104。在步驟1414,加速器104接收訪問請求和推送的數(shù)據(jù)。在步驟1416,加速器104將推送的數(shù)據(jù)與從服務器102牽拉來的任何數(shù)據(jù)分開存儲??刂屏鞒倘缓笤诓襟E1418退出。圖15是如上所討論的示出核外處理環(huán)境中的服務器利用語義分析來向加速器推送數(shù)據(jù)的一個例子的操作流程圖。圖15的操作流程開始于步驟1502并直接進入步驟1504。在步驟1504,服務器102從加速器104接收牽拉請求。在步驟1506,服務器102分析該牽拉請求。在步驟1508,服務器102確定被請求的數(shù)據(jù)與相關(guān)數(shù)據(jù)關(guān)聯(lián)。在步驟1510,服務器102基于語義信息來選擇相關(guān)數(shù)據(jù)的子集,該語義信息與和該數(shù)據(jù)關(guān)聯(lián)的當前應用狀態(tài)相關(guān)聯(lián)。在步驟1512,服務器102將牽拉請求所請求的數(shù)據(jù)和相關(guān)數(shù)據(jù)的子集發(fā)送到加速器104??刂屏鞒倘缓笤诓襟E1514退出。圖16是如上所討論的示出核外處理環(huán)境中的加速器從服務器預取數(shù)據(jù)的一個例子的操作流程圖。圖16的操作流程開始于步驟1602并直接進入步驟1604。在步驟1604,加速器104從在服務器102和用戶客戶機上運行的應用604接收預取請求608。在步驟1606,加速器104將預取請求608存儲在預取隊列610中。在步驟1608,加速器104至少基于每個請求608的資源需求來為每個預取請求608指定評分。在步驟1610中,加速器104選擇具有大于給定閾值的評分的一組預取請求。在步驟1612,加速器104從服務器102和用戶客戶機預取與該組預取請求關(guān)聯(lián)的數(shù)據(jù)??刂屏鞒倘缓笤诓襟E1614退出。圖17是如上所討論的將核外處理環(huán)境中的加速器邏輯劃分為虛擬化加速器的一個例子的操作流程圖。圖17的操作流程開始于步驟1702并直接進入步驟1704。需要注意,下列步驟可由服務器102和/或加速器104來執(zhí)行。在步驟1704,服務器102將至少一個加速器104邏輯劃分為一個或多個虛擬化加速器702、704。在步驟1706,服務器102在每個虛擬化加速器702、704上配置私有客戶機高速緩存706。在步驟1708中,第一虛擬化加速器702確定第二虛擬化加速器704與同一數(shù)據(jù)集110關(guān)聯(lián)。在步驟1710,第一和第二虛擬化加速器702、704上的私有高速緩存706為數(shù)據(jù)互相監(jiān)視。在步驟1712,第一和第二虛擬化加速器702、704在互相之間傳輸數(shù)據(jù)。控制流程然后在步驟1714退出。信息處理系統(tǒng)圖18是示出可在如上參考圖I所討論的操作環(huán)境100中使用的信息處理系統(tǒng)1800的更詳細視圖的框圖。信息處理系統(tǒng)1800基于合適配置的處理系統(tǒng),該處理系統(tǒng)適于實現(xiàn)本發(fā)明的一個或多個優(yōu)選實施例。類似地,任意合適配置的處理系統(tǒng)可被本發(fā)明的優(yōu)選實施例用作信息處理系統(tǒng)1800。需要注意,信息處理系統(tǒng)1800可以是服務器系統(tǒng)102或加速器系統(tǒng)104。信息處理系統(tǒng)1800包括計算機1802。計算機1802具有處理器1804,該處理器連接到主存儲器1806、大容量存儲器1808和網(wǎng)絡適配器硬件1810。系統(tǒng)總線1812將這些系統(tǒng)組件互連。在一個實施例中,主存儲器1806包含如上所討論的服務器系統(tǒng)102的組件例
如數(shù)據(jù)集110、數(shù)據(jù)訪問管理器118、安全管理器122、存儲器系統(tǒng)202、數(shù)據(jù)預處理器212、窺探模塊504和應用604,或者加速器104的組件例如請求管理器120、安全計數(shù)器124、彈性恢復模塊126、選通存儲器210、請求302、高速緩存306、預取器602和預取請求隊列610。盡管被示為同時存在于主存儲器1806中,很明顯主存儲器1806的各個組件不需要在所有時間或甚至在同一時間位于主存儲器1806中。在一個實施例中,信息處理系統(tǒng)1800利用傳統(tǒng)的虛擬尋址機制,以允許程序表現(xiàn)為好像它們訪問在這里被稱為計算機系統(tǒng)存儲器的單個大型存儲實體,而不是訪問多個較小的存儲實體例如主存儲器1806和數(shù)據(jù)存儲設備1816。注意到術(shù)語“計算機系統(tǒng)存儲器”在這里一般被用來表示信息處理系統(tǒng)1800的整個虛擬存儲器。大容量存儲接口 1808被用來將大容量存儲設備例如大容量存儲設備1814連接到信息處理系統(tǒng)1800。數(shù)據(jù)存儲設備的一種特定類型為光驅(qū)例如光盤或數(shù)字通用盤(CD或DVD)驅(qū)動,其可向/從計算機可讀介質(zhì)或存儲產(chǎn)品例如(但不限于)CD/DVD 1816存儲/讀取數(shù)據(jù)。數(shù)據(jù)存儲設備的另一類型為被配置為支持例如新技術(shù)文件系統(tǒng)(NTFS)類型的文件系統(tǒng)操作的數(shù)據(jù)存儲設備。盡管僅為計算機1802示出了一個中央處理器(CPU) 1804,具有多個CPU的計算機系統(tǒng)可被同樣有效地使用。本發(fā)明的實施例還可包含接口,每個接口包括被用來卸去CPU1804的處理負載的單獨的、完全編程的微處理器。主存儲器中包含的操作系統(tǒng)(未示出)是合適的多任務操作系統(tǒng)例如Linux 、 UNIX 、 Microsoft Windows xp和Microsoft Windows Server 2003 操作系統(tǒng)。Linux 是 Linux Torvalds 在美國、其他國家或這兩者的注冊商標。UNIX是開放組(The Open Group)在美國和其他國家的注冊商標。Microsoft、Windows和Windows徽標是微軟公司在美國、其他國家或這兩者的商標。本發(fā)明的實施例可使用任何其他合適的操作系統(tǒng)。本發(fā)明的某些優(yōu)選實施例利用例如面向?qū)ο罂蚣軝C制等架構(gòu),所述面向?qū)ο罂蚣軝C制允許操作系統(tǒng)(未示出)的組件的指令在信息處理系統(tǒng)1800中的任何處理器上執(zhí)行。網(wǎng)絡適配器1810用于提供到網(wǎng)絡108的接口。本發(fā)明的實施例能夠適于以包括當前的模擬和/或數(shù)字技術(shù)的任何數(shù)據(jù)通信連接或通過未來的連網(wǎng)機制來操作。盡管本發(fā)明的示例性優(yōu)選實施例是在完全功能的計算機系統(tǒng)的上下文中描述的,本領(lǐng)域普通技術(shù)人員將理解,各個實施例可以通過⑶或DVD例如⑶1816、⑶隨機存取存儲器(ROM)或其他形式的可記錄介質(zhì)或通過任意類型的電子傳輸方法,作為程序產(chǎn)品被分發(fā)。非限制性示例盡管公開了本發(fā)明的特定實施例,本領(lǐng)域普通技術(shù)人員將理解,可以對特定實施例進行修改,而不脫離本發(fā)明的范圍。因此本發(fā)明的范圍不限于特定的實施例,且所附權(quán)利要求書旨在覆蓋本發(fā)明范圍內(nèi)的任何和所有這樣的應用、修改和實施例。盡管本發(fā)明的各種示例優(yōu)選實施例是在完全功能的計算機系統(tǒng)的上下文中討論的,本領(lǐng)域普通技術(shù)人員將理解,各個實施例可以通過⑶或DVD例如⑶、⑶ROM或其他形式 的可記錄介質(zhì),以及/或根據(jù)其他實施例經(jīng)任意類型的電子傳輸方法,作為計算機可讀存儲介質(zhì)或程序產(chǎn)品被分發(fā)。
權(quán)利要求
1.一種加速器系統(tǒng)上的用于訪問核外處理環(huán)境中的數(shù)據(jù)的方法,所述方法包括下列步驟 從管理多個數(shù)據(jù)集的服務器系統(tǒng)接收數(shù)據(jù)訪問配置; 基于該數(shù)據(jù)訪問配置,確定從服務器系統(tǒng)取回的數(shù)據(jù)集將被本地存儲; 從用戶客戶機接收與給定數(shù)據(jù)集進行交互的請求; 從服務器系統(tǒng)取回給定數(shù)據(jù)集的至少一部分;以及 基于接收到的數(shù)據(jù)訪問配置,將給定數(shù)據(jù)集的至少一部分本地存儲在存儲器中。
2.如權(quán)利要求I所述的方法,還包括下列步驟 從用戶客戶機接收訪問給定數(shù)據(jù)集的請求; 確定該給定數(shù)據(jù)集的至少一部分滿足該訪問請求; 基于該訪問請求來處理給定數(shù)據(jù)集的至少一部分;以及 將已處理的給定數(shù)據(jù)集的至少一部分發(fā)送到用戶客戶機。
3.如以上權(quán)利要求中的任一個所述的方法,其中,從服務器系統(tǒng)取回給定數(shù)據(jù)集的至少一部分的步驟還包括取回給定數(shù)據(jù)集的全部。
4.如以上權(quán)利要求中的任一個所述的方法,還包括下列步驟 從用戶客戶機接收訪問給定數(shù)據(jù)集的請求; 確定給定數(shù)據(jù)集的該部分不能完全滿足該訪問請求; 響應于該確定,從服務器系統(tǒng)取回給定數(shù)據(jù)集的至少額外部分; 基于訪問請求來處理給定數(shù)據(jù)集的該部分和額外部分;以及 將已處理的給定數(shù)據(jù)集的該部分和額外部分發(fā)送到用戶客戶機。
5.如以上權(quán)利要求中的任一個所述的方法,還包括下列步驟 響應于將給定數(shù)據(jù)集的至少一部分本地存儲在存儲器中,啟動與該給定數(shù)據(jù)部分關(guān)聯(lián)的安全計數(shù)器; 針對該給定數(shù)據(jù)部分,監(jiān)視存儲器內(nèi)的給定時間量以及對該給定數(shù)據(jù)部分的訪問次數(shù)。
基于存儲器內(nèi)的給定時間量和對該給定數(shù)據(jù)部分的訪問次數(shù)中的至少一個,來遞增安全計數(shù)器。
6.如權(quán)利要求5所述的方法,還包括下列步驟 響應于遞增安全計數(shù)器,確定與安全計數(shù)器關(guān)聯(lián)的值大于給定閾值;以及 從存儲器中移除該給定數(shù)據(jù)部分。
7.如以上權(quán)利要求中的任一個所述的方法,其中,將給定數(shù)據(jù)集的至少一部分本地存儲在存儲器中的步驟包括將給定數(shù)據(jù)集的至少一部分本地存儲在高速緩存存儲器中的步驟。
8.—種核外處理環(huán)境中的服務器系統(tǒng)上的用于管理加速器系統(tǒng)對數(shù)據(jù)的方法,所述方法包括下列步驟 從加速器系統(tǒng)接收訪問給定數(shù)據(jù)集的請求; 確定與該給定數(shù)據(jù)集關(guān)聯(lián)的訪問上下文;以及 基于所確定的訪問上下文,將所述加速器系統(tǒng)動態(tài)地配置為執(zhí)行下列各項中的一個 直接從所述服務器系統(tǒng)訪問給定數(shù)據(jù)集,將給定數(shù)據(jù)集的一部分本地存儲在存儲器中,以及 將給定數(shù)據(jù)集的全部本地存儲在存儲器中。
9.如權(quán)利要求8所述的方法,其中,確定訪問上下文的步驟還包括 確定下列各項中的至少一個 與請求訪問給定數(shù)據(jù)集的用戶關(guān)聯(lián)的一組屬性; 與給定數(shù)據(jù)集關(guān)聯(lián)的一組安全屬性;以及 將被用來發(fā)送和接收給定數(shù)據(jù)集的一組數(shù)據(jù)端口。
10.如權(quán)利要求8或9中的任一個所述的方法,還包括下列步驟 響應于將所述加速器系統(tǒng)動態(tài)地配置為本地存儲給定數(shù)據(jù)集的一部分或全部中的一個,指示加速器系統(tǒng)為該給定數(shù)據(jù)集維護安全計數(shù)器;以及 將閾值與該安全計數(shù)器關(guān)聯(lián),其中該閾值指示加速器系統(tǒng)何時從存儲器中移除給定數(shù)據(jù)集的一部分或全部中的一個。
11.如權(quán)利要求8到10中的任一個所述的方法,還包括下列步驟 從與訪問給定數(shù)據(jù)集的請求關(guān)聯(lián)的用戶接收安全請求; 確定該安全請求指示用戶正在請求完全加密的通信鏈路;以及 與加速器建立完全加密的通信鏈路,以傳輸與給定數(shù)據(jù)集關(guān)聯(lián)的信息。
12.如權(quán)利要求8到11中的任一個所述的方法,還包括下列步驟 響應于將加速器系統(tǒng)動態(tài)地配置為本地存儲給定數(shù)據(jù)集的一部分或全部中的一個,建立與該加速器的部分加密的通信鏈路來傳輸與給定數(shù)據(jù)集關(guān)聯(lián)的信息,該部分加密通信鏈路包括比完全加密通信鏈路更弱的加密強度;以及 響應于建立該部分加密的通信鏈路,指示加速器系統(tǒng)維護安全計數(shù)器,該計數(shù)器指示何時從存儲器中移除給定數(shù)據(jù)集的一部分或全部中的一個。
13.如權(quán)利要求8到12中的任一個所述的方法,還包括下列步驟 確定與所述加速器系統(tǒng)關(guān)聯(lián)的處理核心的類型;以及 將給定數(shù)據(jù)集從第一格式轉(zhuǎn)換為第二格式,該第二格式與所確定的處理核心的類型關(guān)聯(lián)。
14.一種核外處理環(huán)境中的加速器系統(tǒng),該加速器系統(tǒng)包括 存儲器; 通信地耦合到該存儲器的處理核心;以及 通信地耦合到該存儲器和處理核心的數(shù)據(jù)管理器,其中,該數(shù)據(jù)管理器包括 接收組件,其用于從管理多個數(shù)據(jù)集的服務器系統(tǒng)接收數(shù)據(jù)訪問配置; 確定組件,其用于響應于該數(shù)據(jù)訪問配置,確定從服務器系統(tǒng)取回的數(shù)據(jù)集將被本地存儲; 所述接收組件還可操作以從用戶客戶機接收與給定數(shù)據(jù)集進行交互的請求; 取回組件,其用于從服務器系統(tǒng)取回給定數(shù)據(jù)集的至少一部分;以及存儲組件,其基于接收到的數(shù)據(jù)訪問配置,將給定數(shù)據(jù)集的至少一部分本地存儲在存儲器中。
15.—種核外處理環(huán)境中的加速器系統(tǒng),該加速器系統(tǒng)包括 存儲器;通信地耦合到該存儲器的處理核心;以及 通信地耦合到該存儲器和處理核心的數(shù)據(jù)管理器,其中,該數(shù)據(jù)管理器被配置為執(zhí)行包含下列步驟的方法 從管理多個數(shù)據(jù)集的服務器系統(tǒng)接收數(shù)據(jù)訪問配置; 基于該數(shù)據(jù)訪問配置,確定從服務器系統(tǒng)取回的數(shù)據(jù)集將被本地存儲; 從用戶客戶機接收與給定數(shù)據(jù)集進行交互的請求; 從服務器系統(tǒng)取回給定數(shù)據(jù)集的至少一部分;以及 基于接收到的數(shù)據(jù)訪問配置,將給定數(shù)據(jù)集的至少一部分本地存儲在存儲器中。
16.如權(quán)利要求15所述的加速器系統(tǒng),其中,所述方法還包括下列步驟 從用戶客戶機接收訪問給定數(shù)據(jù)集的請求; 確定給定數(shù)據(jù)集的至少一部分滿足該訪問請求; 基于該訪問請求來處理給定數(shù)據(jù)集的至少一部分;以及 將已處理的給定數(shù)據(jù)集的至少一部分發(fā)送到用戶客戶機。
17.如權(quán)利要求15或16中的任一個所述的加速器系統(tǒng),其中,所述方法還包括下列步驟 從用戶客戶機接收訪問給定數(shù)據(jù)集的請求; 確定給定數(shù)據(jù)集的一部分不能完全滿足該訪問請求; 響應于該確定,從服務器系統(tǒng)取回給定數(shù)據(jù)集的至少額外部分; 基于訪問請求來處理給定數(shù)據(jù)集的該部分和額外部分;以及 將已處理的給定數(shù)據(jù)集的該部分和額外部分發(fā)送到用戶客戶機。
18.如權(quán)利要求15到17中的任一個所述的加速器系統(tǒng),其中,所述方法還包括下列步驟 響應于將給定數(shù)據(jù)集的至少一部分本地存儲在存儲器中,啟動與該給定數(shù)據(jù)部分關(guān)聯(lián)的安全計數(shù)器; 針對該給定數(shù)據(jù)部分,監(jiān)視存儲器內(nèi)的給定時間量以及對該給定數(shù)據(jù)部分的訪問次數(shù)。
基于存儲器內(nèi)的給定時間量和對該給定數(shù)據(jù)部分的訪問次數(shù)中的至少一個,來遞增安全計數(shù)器。
19.如權(quán)利要求18所述的加速器系統(tǒng),其中,所述方法還包括下列步驟 響應于遞增安全計數(shù)器,確定與安全計數(shù)器關(guān)聯(lián)的值大于給定閾值;以及 從存儲器中移除該給定數(shù)據(jù)部分。
20.—種核外處理環(huán)境中的服務器系統(tǒng),該服務器系統(tǒng)包括 存儲器; 通信耦合到該存儲器的處理器;以及 通信耦合到該存儲器和處理器的數(shù)據(jù)管理器,其中,該數(shù)據(jù)管理器包含 接收組件,其用于從加速器系統(tǒng)接收訪問給定數(shù)據(jù)集的請求; 確定組件,其用于確定與給定數(shù)據(jù)集關(guān)聯(lián)的訪問上下文;以及 配置組件,其響應于已確定的訪問上下文,將加速器系統(tǒng)動態(tài)配置為可進行下列操作中的一個直接從服務器系統(tǒng)訪問給定數(shù)據(jù)集, 本地存儲給定數(shù)據(jù)集的一部分,以及 本地存儲給定數(shù)據(jù)集的全部。
21.—種核外處理環(huán)境中的服務器系統(tǒng),該服務器系統(tǒng)包括 存儲器; 通信地耦合到該存儲器的處理器;以及 通信地耦合到該存儲器和處理器的數(shù)據(jù)管理器,其中,該數(shù)據(jù)管理器被配置為執(zhí)行包含下列步驟的方法 從加速器系統(tǒng)接收訪問給定數(shù)據(jù)集的請求; 確定與給定數(shù)據(jù)集關(guān)聯(lián)的訪問上下文;以及 基于所確定的訪問上下文,將加速器系統(tǒng)配置動態(tài)地為執(zhí)行下列各項中的一個 直接從所述服務器系統(tǒng)訪問給定數(shù)據(jù)集, 將給定數(shù)據(jù)集的一部分本地存儲在存儲器中,以及 將給定數(shù)據(jù)集的全部本地存儲在存儲器中。
22.如權(quán)利要求21所述的服務器系統(tǒng),其中,所述確定訪問上下文的步驟包括下列步驟 確定下列各項中的至少一個 與請求訪問給定數(shù)據(jù)集的用戶關(guān)聯(lián)的一組屬性; 與給定數(shù)據(jù)集關(guān)聯(lián)的一組安全屬性;以及 將被用來發(fā)送和接收給定數(shù)據(jù)集的一組數(shù)據(jù)端口。
23.如權(quán)利要求21或22中任一個所述的服務器系統(tǒng),其中,所述方法還包括下列步驟 響應于將所述加速器系統(tǒng)動態(tài)地配置為本地存儲給定數(shù)據(jù)集的一部分或全部中的至少一個,指示加速器系統(tǒng)為給定數(shù)據(jù)集維護安全計數(shù)器;以及 將閾值與該安全計數(shù)器關(guān)聯(lián),其中該閾值指示加速器系統(tǒng)何時從存儲器中移除給定數(shù)據(jù)集的一部分或全部中的至少一個。
24.如權(quán)利要求21到23中任一個所述的服務器系統(tǒng),其中,所述方法還包括下列步驟 響應于將加速器系統(tǒng)動態(tài)地配置為本地存儲給定數(shù)據(jù)集的一部分或全部中的一個,建立與該加速器的部分加密的通信鏈路來傳輸與給定數(shù)據(jù)集關(guān)聯(lián)的信息,該部分加密的通信鏈路包括比完全加密通信鏈路更弱的加密強度;以及 響應于建立該部分加密的通信鏈路,指示該加速器系統(tǒng)維護安全計數(shù)器,該計數(shù)器指示何時從存儲器中移除給定數(shù)據(jù)集的一部分或全部中的一個。
25.一種用于在核外處理環(huán)境中訪問數(shù)據(jù)的計算機程序產(chǎn)品,該計算機程序產(chǎn)品包括 計算機可讀存儲介質(zhì),其可被處理電路讀取并存儲被處理電路執(zhí)行以執(zhí)行根據(jù)權(quán)利要求I到13中的任一個所述的方法的指令。
26.一種計算機程序,被存儲在計算機可讀介質(zhì)上,并被載入到數(shù)字計算機的內(nèi)部存儲器,其包含軟件代碼部分,當所述程序在計算機上運行時,用于執(zhí)行權(quán)利要求I到13中的任一 個所述的方法。
全文摘要
一種方法、加速器系統(tǒng)和計算機程序,訪問核外處理環(huán)境中的數(shù)據(jù)。從管理多個數(shù)據(jù)集的服務器系統(tǒng)接收數(shù)據(jù)訪問配置?;跀?shù)據(jù)訪問配置,確定從服務器系統(tǒng)取回的數(shù)據(jù)集將被本地存儲。從用戶客戶機接收與給定數(shù)據(jù)集進行交互的請求。從服務器系統(tǒng)取回給定數(shù)據(jù)集的至少一部分。基于接收到的數(shù)據(jù)訪問配置,將該給定數(shù)據(jù)集的至少一部分本地存儲在存儲器中。
文檔編號G06F17/30GK102906738SQ201080066963
公開日2013年1月30日 申請日期2010年11月8日 優(yōu)先權(quán)日2010年6月24日
發(fā)明者R·克里希納穆爾塞, Y·L·陳, C·J·帕里斯 申請人:國際商業(yè)機器公司