用于在多高速緩存環(huán)境中管理高速緩沖存儲器的方法和裝置的制造方法
【技術(shù)領(lǐng)域】
[0001] 本公開一般地設(shè)及高速緩沖存儲器管理,并且更特別地設(shè)及用W在多高速緩存環(huán) 境中管理高速緩沖存儲器的方法和裝置。
【背景技術(shù)】
[0002] 近年來,在計(jì)算機(jī)(例如,服務(wù)器、個人計(jì)算機(jī)、服務(wù)器場等)中已經(jīng)采用協(xié)處理器 板來擴(kuò)展此類計(jì)算機(jī)的一個或多個能力。協(xié)處理器板可包括布置在總線可插入附加卡上的 任何數(shù)目的核、存儲器和高速緩存。協(xié)處理器板允許計(jì)算機(jī)W可縮放的方式滿足處理需求, 只要可用總線接口常駐在主計(jì)算機(jī)上即可。
【附圖說明】
[0003] 圖1是已知主計(jì)算機(jī)配置的示意圖。
[0004] 圖2是用W在多高速緩存環(huán)境中管理高速緩沖存儲器的主計(jì)算機(jī)配置的示意圖。
[0005] 圖3是W符合本文公開的方法、裝置、系統(tǒng)和制品的方式在多高速緩存環(huán)境中管理 高速緩沖存儲器的圖2的示例性委托管理器的示意圖。
[0006] 圖4是W符合本文公開的方法、裝置、系統(tǒng)和制品的方式在多高速緩存環(huán)境中管理 高速緩沖存儲器的圖2的示例性遠(yuǎn)程高速緩存客戶端的示意圖。
[0007] 圖5、6、74、78、84、88和8(:是表示可被執(zhí)行^在多高速緩存環(huán)境中管理高速緩沖存 儲器的示例性機(jī)器可讀指令的流程圖。
[000引圖9是可執(zhí)行圖5、6、74、78、84、88和8(:的示例性機(jī)器可讀指令^實(shí)現(xiàn)圖2-4的示例 性委托管理器和示例性遠(yuǎn)程高速緩存客戶端的示例性處理器平臺的框圖。
【具體實(shí)施方式】
[0009] 雖然協(xié)處理器板(在本文中有時稱為集成眾核(MIC)設(shè)備/節(jié)點(diǎn))可被插入具有一 個或多個可用總線接口(例如,外圍部件互連(PCI)、快速PCKPCI-E)等)的主計(jì)算機(jī)平臺 中,但此類協(xié)處理器板依賴于與主機(jī)平臺相關(guān)聯(lián)的一個或多個通信層W促進(jìn)存儲服務(wù)。通 常,協(xié)處理器板不包括板上儲存器(例如,硬盤驅(qū)動器)且替代地依賴于用于存儲資源的主 計(jì)算機(jī)。主計(jì)算機(jī)存儲資源可包括一個或多個硬盤驅(qū)動器、光學(xué)驅(qū)動器、固態(tài)驅(qū)動器和/或 到外部存儲子系統(tǒng)(例如,網(wǎng)絡(luò)附加儲存(NAS ))的網(wǎng)絡(luò)連接。
[0010] 通常由MIC節(jié)點(diǎn)通過采用和/或W其他方式結(jié)合主機(jī)總線上的仿真網(wǎng)絡(luò)堆找作為 基于網(wǎng)絡(luò)的文件系統(tǒng)(NBFS)(諸如網(wǎng)絡(luò)文件系統(tǒng)(NFS)來訪問主計(jì)算機(jī)存儲資源。然而, NBFS實(shí)施方式引入了在處理向/從主計(jì)算機(jī)的讀和/或?qū)懖僮鲿r負(fù)擔(dān)一個或多個協(xié)處理器 板的能力的軟件開銷、管理復(fù)雜性和帶寬限制。圖1是具有被與之連接的一個節(jié)點(diǎn)的已知主 計(jì)算機(jī)配置100的示意圖。在圖1的所示示例中,配置100包括主計(jì)算機(jī)系統(tǒng)102,其具有被通 信連接到節(jié)點(diǎn)1〇6(例如,Inter Xeon PM ?協(xié)處理器板)的總線104(例如,PCI-E總線)。雖 然圖1的所示示例包括總線104,但本文公開的示例性方法、裝置、系統(tǒng)和/或制品不限于此。 在一些示例中,可經(jīng)由一個或多個集群或集群結(jié)構(gòu)互連來連接MIC。在其他示例中,可經(jīng)由 InfiniBand?集群互連和/或任何其他高速集群互連來實(shí)現(xiàn)總線104。示例性主機(jī)102包括虛 擬文件系統(tǒng)(VFS)108W促進(jìn)高速緩存管理和與示例性高速緩存110的通信,其中,示例性 VFS 108被通信連接到文件系統(tǒng)管理器112、仿真存儲/網(wǎng)絡(luò)層114W及物理儲存器115(例 如,存儲器(RAM)、磁盤、硬盤驅(qū)動器等)。示例性存儲/網(wǎng)絡(luò)層114被通信連接到示例性總線 104W允許對示例性節(jié)點(diǎn)106上的文件系統(tǒng)層發(fā)生讀和/或?qū)懖僮鳌?br>[0011] 示例性節(jié)點(diǎn)106包括VFS 116、文件系統(tǒng)管理器118和仿真存儲/網(wǎng)絡(luò)層120W促進(jìn) 高速緩存管理和與示例性節(jié)點(diǎn)高速緩存122的通信。在發(fā)生文件訪問請求124(例如,被節(jié)點(diǎn) 的一個或多個執(zhí)行進(jìn)程調(diào)用的用戶文件訪問請求等)的情況下,穿過所有的示例性VFS 116、文件系統(tǒng)管理器118和仿真存儲/網(wǎng)絡(luò)層120。如上所述,節(jié)點(diǎn)采用主機(jī)的制來促 進(jìn)存儲讀和/或?qū)懖僮?,運(yùn)增加復(fù)雜性和帶寬限制。例如,NBFS 118包括要求調(diào)諧W允許總 線104和/或總線接口之上的仿真的網(wǎng)絡(luò)堆找。另外,MIC節(jié)點(diǎn)通常被針對計(jì)算速度和/或效 率進(jìn)行優(yōu)化,并且添加仿真網(wǎng)絡(luò)層并不是很好地配合在MIC節(jié)點(diǎn)的受限板上管理系統(tǒng)(例 如,系統(tǒng)管理控制器(SMC))內(nèi)的本地部件。
[0012] 圖2是用W在多高速緩存環(huán)境中管理高速緩沖存儲器的主計(jì)算機(jī)配置200的示意 圖。在圖2的所示示例中,主機(jī)配置200包括主計(jì)算機(jī)202,其具有用戶/設(shè)備文件訪問請求管 理器204、鎖定和高速緩存委托管理器206(在下文中"委托管理器")、高速緩沖存儲器208和 文件系統(tǒng)管理器210,文件系統(tǒng)管理器210被通信連接到磁盤儲存器212和網(wǎng)絡(luò)儲存器214。 示例性委托管理器206經(jīng)由主計(jì)算機(jī)202的總線218被通信連接到節(jié)點(diǎn)216。如上所述,可將 示例性總線218實(shí)現(xiàn)為PCI總線、PCI-E總線和/或任何其他類型的總線或任何類型的高速互 連,諸如InfiniBand?或類似集群結(jié)構(gòu)互連。同樣如上所述,示例性節(jié)點(diǎn)216可W是協(xié)處理器 板,其具有任何數(shù)目的核,諸如名為Xeon Phi ?的由Inter制造的MIC。雖然圖2的所示示例 包括單個節(jié)點(diǎn)(即,節(jié)點(diǎn)216),但可基于示例性主計(jì)算機(jī)202的可用總線插槽的數(shù)目實(shí)現(xiàn)任 何數(shù)目的節(jié)點(diǎn)。
[0013] 在圖2的所示示例中,節(jié)點(diǎn)216包括用戶/設(shè)備文件訪問請求管理器220、遠(yuǎn)程高速 緩存客戶端222W及節(jié)點(diǎn)高速緩沖存儲器224。在操作中,通過示例性主機(jī)202和/或(一個或 多個)示例性節(jié)點(diǎn)216的所有讀和/或?qū)懻埱笥墒纠晕泄芾砥?06經(jīng)由示例性總線218來 管理。特別地,示例性委托管理器206繞過、約束、轉(zhuǎn)移、禁用和/或W其他方式阻斷傳統(tǒng)上可 能W與示例性主機(jī)202相關(guān)聯(lián)的基于NBFS的網(wǎng)絡(luò)層為目標(biāo)的高速緩存讀/寫請求。當(dāng)由示例 性委托管理器206檢測到總線設(shè)備(例如,MIC節(jié)點(diǎn)佩,諸如被連接到示例性總線218的一個 或多個節(jié)點(diǎn),示例性委托管理器206確定新添加/附接的總線設(shè)備是否包括遠(yuǎn)程高速緩存客 戶端,諸如圖2的示例性遠(yuǎn)程高速緩存客戶端222。如果是運(yùn)樣,則示例性委托管理器206禁 用和/或W其他方式阻止對節(jié)點(diǎn)的基于網(wǎng)絡(luò)的文件訪問W減少帶寬等待時間和/或使其最 小化,并經(jīng)由示例性總線218來建立節(jié)點(diǎn)高速緩存通信服務(wù)。在一些示例中,針對一個或多 個其他MIC功能保持仿真網(wǎng)絡(luò)層114。另外,響應(yīng)于由示例性主機(jī)202和/或一個或多個節(jié)點(diǎn) (例如,節(jié)點(diǎn)216)發(fā)起的一個或多個讀和/或?qū)懻埱?,示例性委托管理?06控制兩個設(shè)備充 當(dāng)共享高速緩存的高速緩存行為,如下面進(jìn)一步詳細(xì)描述的。換言之,示例性委托管理器 206使單獨(dú)節(jié)點(diǎn)處的兩個單獨(dú)高速緩存設(shè)備之間的高速緩存狀態(tài)同步W促進(jìn)通過主機(jī)平臺 總線(例如,總線218)的鎖定通信。
[0014] 圖3是圖2的示例性委托管理器206的示意圖。在圖3的所示示例中,委托管理器206 包括主機(jī)文件請求接口 302、主機(jī)總線接口 304、主機(jī)高速緩存管理器306、遠(yuǎn)程高速緩存管 理器308、鎖定管理器310和塊對齊管理器312。在操作中,示例性主機(jī)總線接口 304檢索和/ 或W其他方式在總線218上從節(jié)點(diǎn)(例如,示例性節(jié)點(diǎn)216)接收一個或多個讀/寫請求。例 如,來自節(jié)點(diǎn)216的讀請求被示例性總線主機(jī)接口 304經(jīng)由總線218檢索,并調(diào)用示例性鎖定 管理器310W應(yīng)用一個或多個鎖定規(guī)則。如下面進(jìn)一步詳細(xì)描述的一個或多個鎖定規(guī)則建 立請求者(例如,發(fā)出讀請求的節(jié)點(diǎn)216)的節(jié)點(diǎn)高速緩存224與主機(jī)高速緩存208之間的相 互且同步的鎖定狀態(tài)。然后高速緩存數(shù)據(jù)傳輸可比(一個或多個)硬盤讀/寫操作基本 上更快和/或比基于網(wǎng)絡(luò)的數(shù)據(jù)傳輸基本上更快的方式發(fā)生。另外,由于(一個或多個)NBFS 層被從通信參與中排除(例如,被約束、轉(zhuǎn)移、禁用),所W與相對較慢的仿真基于網(wǎng)絡(luò)的標(biāo) 準(zhǔn)(例如,W太網(wǎng))相比,相對更快的主機(jī)總線218(例如,快速PCI)改善了通信速度。
[0015] 在一個或多個共享高速緩存?zhèn)鬏斨?,示例性主機(jī)文件請求接口 302與示例性主 機(jī)文件系統(tǒng)管理器210相交互W管理向/從相對較慢的存儲設(shè)備(例如,硬盤、NAS等)的寫 和/或讀。此類相對較慢的存儲設(shè)備可被示例性主機(jī)文件請求接口 302獨(dú)立于共享高速緩存 活動而調(diào)用W避免一個或多個瓶頸。示例性遠(yuǎn)程高速緩存管理器308和示例性主機(jī)高速緩 存管理器306分別地促進(jìn)示例性節(jié)點(diǎn)高速緩存224與主機(jī)高速緩存208之間的數(shù)據(jù)傳輸。另 夕h當(dāng)前鎖定狀態(tài)值可被示例性遠(yuǎn)程高速緩存管理器308和示例性主機(jī)高速緩存管理器306 查詢,從而使得示例性鎖定管理器310可調(diào)用正確的狀態(tài)轉(zhuǎn)換規(guī)則。
[0016] 在一些示例中,讀和/或?qū)懻埱罂砂缭絻蓚€或更多塊的字節(jié)范圍。一般而言, 高速緩沖存儲器的每個塊(例如,節(jié)點(diǎn)高速緩存224、主機(jī)高速緩存208、附加節(jié)點(diǎn)高速緩存 設(shè)備等)可W包括例如512個字節(jié),其中讀和寫操作基于逐個塊發(fā)生。換言之,并不在塊的各 部分中執(zhí)行高速緩存讀/寫操作,而是替代地要求對整個塊巧12字節(jié))進(jìn)行讀/寫。雖然本文 公開的所示示例指代具有512個字節(jié)的塊尺寸的系統(tǒng),但本文公開的示例性方法、系統(tǒng)、裝 置和/或制品不限于此。在跨越超過一個塊的讀/寫請求的情況下,此類讀/寫請求是未對齊 的。例如,在字節(jié)15的讀請求的情況下,則所有的字節(jié)1-512(即,第一塊)實(shí)際上都被檢索, 并且在其后可提取與字節(jié)15相關(guān)聯(lián)的特定信息/數(shù)據(jù)。另一方面,在讀操作對字節(jié)500-524 感興趣的情況下,則讀操作是未對齊的,因?yàn)樽止?jié)1-512與第一塊相關(guān)聯(lián),并且字節(jié)513-1024與第二塊相關(guān)聯(lián)。同樣地,集中于跨越兩個或更多塊的一系列字節(jié)的讀操