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

操作數(shù)據(jù)處理系統(tǒng)的方法、數(shù)據(jù)處理系統(tǒng)以及處理器的制造方法

文檔序號(hào):6629000閱讀:174來(lái)源:國(guó)知局
操作數(shù)據(jù)處理系統(tǒng)的方法、數(shù)據(jù)處理系統(tǒng)以及處理器的制造方法
【專利摘要】本發(fā)明涉及一種操作數(shù)據(jù)處理系統(tǒng)的方法、數(shù)據(jù)處理系統(tǒng)以及處理。操作數(shù)據(jù)處理系統(tǒng)的技術(shù)包括在生產(chǎn)者高速緩存的數(shù)據(jù)陣列中記錄生產(chǎn)者核心所修改的高速緩存線的地址,以創(chuàng)建用于生產(chǎn)者核心的高可用性(HA)日志。該技術(shù)還包括將HA日志從生產(chǎn)者高速緩存直接移動(dòng)到消費(fèi)者核心的消費(fèi)者高速緩存,以及將與HA日志的地址關(guān)聯(lián)的HA數(shù)據(jù)從生產(chǎn)者高速緩存直接移動(dòng)到消費(fèi)者高速緩存。HA日志對(duì)應(yīng)于包含多個(gè)地址的高速緩存線。最后,該技術(shù)包括由消費(fèi)者核心來(lái)為數(shù)據(jù)處理系統(tǒng)處理HA日志和HA數(shù)據(jù)。
【專利說(shuō)明】操作數(shù)據(jù)處理系統(tǒng)的方法、數(shù)據(jù)處理系統(tǒng)以及處理器

【技術(shù)領(lǐng)域】
[0001]本公開一般涉及基于檢查點(diǎn)的高可用性日志和數(shù)據(jù),更具體地,涉及將基于檢查點(diǎn)的高可用性日志和數(shù)據(jù)從生產(chǎn)者高速緩存直接移動(dòng)到消費(fèi)者高速緩存。

【背景技術(shù)】
[0002]可以依據(jù)應(yīng)用和支持平臺(tái)來(lái)考慮計(jì)算。支持平臺(tái)典型地包括一個(gè)或多個(gè)處理器核心、輸入/輸出、存儲(chǔ)器和固定存儲(chǔ)設(shè)備的硬件基礎(chǔ)設(shè)施(其組合支持操作系統(tǒng)(OS),該操作系統(tǒng)轉(zhuǎn)而支持一個(gè)或多個(gè)應(yīng)用)。應(yīng)用可被認(rèn)為是自包含的一組邏輯,其依賴于核心對(duì)象文件和相關(guān)的資源文件。隨著計(jì)算集成到現(xiàn)代產(chǎn)業(yè)中,應(yīng)用變得互相依賴于其他應(yīng)用的存在。即,應(yīng)用的必要環(huán)境不僅包括底層的OS和支持硬件平臺(tái),還包括其他關(guān)鍵應(yīng)用。
[0003]關(guān)鍵應(yīng)用可以包括應(yīng)用服務(wù)器、數(shù)據(jù)庫(kù)管理服務(wù)器、協(xié)作服務(wù)器,以及被統(tǒng)稱為中間件的通信邏輯。給定應(yīng)用的復(fù)雜性和平臺(tái)互操作性,在單個(gè)硬件平臺(tái)中執(zhí)行的應(yīng)用的不同組合可以表現(xiàn)出不同程度的性能和穩(wěn)定性。虛擬化技術(shù)在支持平臺(tái)和執(zhí)行應(yīng)用之間插入一層。從業(yè)務(wù)連續(xù)性和災(zāi)難恢復(fù)的角度來(lái)說(shuō),移動(dòng)配置有多種不同應(yīng)用的整個(gè)環(huán)境可以和將虛擬映像從一個(gè)支持硬件平臺(tái)移動(dòng)到另一個(gè)那么簡(jiǎn)單。
[0004]通常,更強(qiáng)大的計(jì)算環(huán)境可以支持多種不同虛擬映像的共存,而同時(shí)保持映像之間的虛擬分離。結(jié)果,一個(gè)虛擬映像中的故障情況典型地不會(huì)危害相同硬件平臺(tái)上的其他協(xié)同執(zhí)行的虛擬映像的完整性。虛擬機(jī)監(jiān)視器(VMM)或管理程序(hypervisor)管理每個(gè)虛擬映像和硬件平臺(tái)提供的底層資源之間的交互。裸機(jī)(bare metal)管理程序直接在硬件平臺(tái)上運(yùn)行,與OS直接在硬件上運(yùn)行類似。相反,有主機(jī)(hosted)的管理程序在主機(jī)OS中運(yùn)行。在任一情形下,管理程序可以支持不同訪客(guest)OS映像或虛擬機(jī)(VM)映像的運(yùn)行。VM映像的數(shù)量?jī)H受到VM容器的處理資源的限制,該容器具有VM映像或硬件平臺(tái)。
[0005]對(duì)于需要針對(duì)在單個(gè)硬件平臺(tái)上部署的不同類型應(yīng)用有單獨(dú)計(jì)算環(huán)境的終端用戶來(lái)說(shuō),虛擬化被證明特別有用。例如,一種類型的硬件平臺(tái)本機(jī)的基礎(chǔ)OS可以提供不同硬件平臺(tái)本機(jī)的虛擬化訪客OS (從而需要存在訪客OS的應(yīng)用可以和需要存在基礎(chǔ)OS的其他應(yīng)用共存)。在該情形下,終端用戶不需要提供單獨(dú)的計(jì)算環(huán)境來(lái)支持不同類型的應(yīng)用。即,不管訪客OS,對(duì)單個(gè)硬件平臺(tái)的底層資源的訪問(wèn)保持靜態(tài)。
[0006]虛擬化環(huán)境被部署,以在組合應(yīng)用解決方案時(shí)聚合不同VM中的不同的互相依賴的應(yīng)用。例如,應(yīng)用服務(wù)器可以在一個(gè)VM中執(zhí)行,而數(shù)據(jù)庫(kù)管理服務(wù)器在不同的VM中執(zhí)行,并且web服務(wù)器在另一個(gè)VM中執(zhí)行。每個(gè)VM可以在安全網(wǎng)絡(luò)中互相通信耦合,并且應(yīng)用的任何給定部署可以實(shí)時(shí)(live)遷移到不同的部署,而會(huì)干擾其他VM中的其他應(yīng)用的執(zhí)行。在典型的實(shí)時(shí)遷移中,VM可以從一臺(tái)主機(jī)服務(wù)器移動(dòng)到另一主機(jī)服務(wù)器,例如以允許服務(wù)器維護(hù)或允許改進(jìn)VM的硬件支持。
[0007]基于檢查點(diǎn)的高可用性(HA)是一種技術(shù),其中,在基礎(chǔ)主機(jī)上運(yùn)行的VM在每個(gè)周期(例如25mS)將其處理器和存儲(chǔ)器狀態(tài)鏡像到次級(jí)主機(jī)上。鏡像過(guò)程典型地包括:跟蹤基礎(chǔ)VM的存儲(chǔ)器和處理器狀態(tài)的變化;周期性地停止基礎(chǔ)VM ;通過(guò)網(wǎng)絡(luò)將該改變發(fā)送到次級(jí)主機(jī);等待次級(jí)主機(jī)對(duì)存儲(chǔ)器和處理器狀態(tài)更新的接收進(jìn)行確認(rèn);以及恢復(fù)基礎(chǔ)VM。鏡像過(guò)程確保在基礎(chǔ)主機(jī)面對(duì)突發(fā)硬件故障的情況下次級(jí)主機(jī)能夠以最小服務(wù)損失來(lái)恢復(fù)工作負(fù)載。如果次級(jí)主機(jī)檢測(cè)到基礎(chǔ)主機(jī)沒(méi)有響應(yīng)或者從基礎(chǔ)主機(jī)接收到顯式的通知,次級(jí)主機(jī)啟動(dòng)VM的鏡像版本,并且在外部看來(lái),在基礎(chǔ)主機(jī)故障時(shí)VM無(wú)縫連續(xù)地執(zhí)行。
[0008]盡管基于檢查點(diǎn)的HA技術(shù)提供了有效的硬件故障保護(hù),基于檢查點(diǎn)的HA技術(shù)不會(huì)保護(hù)軟件故障。因?yàn)榛A(chǔ)VM的處理器和存儲(chǔ)器的狀態(tài)在次級(jí)主機(jī)上如實(shí)地復(fù)制,如果軟件崩潰(例如零指針的去引用)導(dǎo)致次級(jí)主機(jī)上的故障轉(zhuǎn)移,VM從最后的檢查點(diǎn)恢復(fù)執(zhí)行,并且如果程序執(zhí)行是確定性的,會(huì)出現(xiàn)相同的錯(cuò)誤。存在某些受限的情形,其中如果軟件故障導(dǎo)致故障轉(zhuǎn)移,VM不會(huì)崩潰。但是,這些情形很少見(jiàn),并且更依賴于運(yùn)氣而非設(shè)計(jì)。例如,在低級(jí)主機(jī)上恢復(fù)工作負(fù)載時(shí),表現(xiàn)為一個(gè)處理器可能訪問(wèn)正被另一處理器修改的數(shù)據(jù)這種競(jìng)爭(zhēng)條件的軟件漏洞可能不會(huì)出現(xiàn),因?yàn)橛捎谡{(diào)度,數(shù)據(jù)可能最終沒(méi)有被并行訪問(wèn)。


【發(fā)明內(nèi)容】

[0009]一種操作數(shù)據(jù)處理系統(tǒng)的技術(shù),包括在生產(chǎn)者高速緩存的數(shù)據(jù)陣列中記錄生產(chǎn)者核心所修改的高速緩存線的地址,以便為生產(chǎn)者核心創(chuàng)建高可用性(HA)日志。該技術(shù)還包括將HA日志移動(dòng)到消費(fèi)者核心的消費(fèi)者高速緩存,以及將與HA日志的地址關(guān)聯(lián)的HA數(shù)據(jù)移動(dòng)到消費(fèi)者高速緩存。HA日志對(duì)應(yīng)于包含多個(gè)地址的高速緩存線。最后,該技術(shù)包括由消費(fèi)者核心來(lái)為數(shù)據(jù)處理系統(tǒng)處理HA日志和HA數(shù)據(jù)。
[0010]上述總結(jié)包含簡(jiǎn)化、概括和細(xì)節(jié)的忽略,并且不是對(duì)所請(qǐng)求保護(hù)的主題的全面描述,而是要提供與之關(guān)聯(lián)的某些功能的簡(jiǎn)要概覽。在查看下列附圖和詳細(xì)描述后,所請(qǐng)求保護(hù)的主題的其他系統(tǒng)、方法、功能、特征和優(yōu)勢(shì)對(duì)于本領(lǐng)域技術(shù)人員來(lái)說(shuō)將變得明顯。
[0011]在下列詳細(xì)描述中,本發(fā)明的上述以及其他目標(biāo)、特征和優(yōu)勢(shì)將變得明顯。

【專利附圖】

【附圖說(shuō)明】
[0012]將結(jié)合附圖來(lái)閱讀說(shuō)明性實(shí)施例的描述,在附圖中:
[0013]圖1是根據(jù)本公開的示例性數(shù)據(jù)處理系統(tǒng)環(huán)境的相關(guān)部分的圖,該數(shù)據(jù)處理系統(tǒng)環(huán)境被配置為產(chǎn)生高可用性(HA)日志和數(shù)據(jù);
[0014]圖2是可以在圖1的數(shù)據(jù)處理系統(tǒng)環(huán)境中部署的數(shù)據(jù)處理系統(tǒng)(其包括生產(chǎn)者核心和生產(chǎn)者高速緩存)和另一數(shù)據(jù)處理系統(tǒng)(其包括消費(fèi)者核心和消費(fèi)者高速緩存)的圖;
[0015]圖3是描述根據(jù)本公開的實(shí)施例HA日志和數(shù)據(jù)(分別使用高速緩存注入和橫向驅(qū)逐命令)從圖2中的生產(chǎn)者高速緩存?zhèn)鬏數(shù)较M(fèi)者高速緩存的圖;
[0016]圖4是根據(jù)本公開的另一實(shí)施例的高速緩存的相關(guān)部分的圖,該高速緩存的目錄包括用于每條高速緩存線的HA位,以表示高速緩存線是否需要從生產(chǎn)者高速緩存?zhèn)鬏數(shù)较M(fèi)者高速緩存;
[0017]圖5是根據(jù)本公開的實(shí)施例的創(chuàng)建并將HA日志注入到消費(fèi)者高速緩存的示例性過(guò)程的流程圖;
[0018]圖6是根據(jù)本公開的實(shí)施例的指定HA數(shù)據(jù)并將指定的HA數(shù)據(jù)注入到消費(fèi)者高速緩存的示例性過(guò)程的流程圖。

【具體實(shí)施方式】
[0019]說(shuō)明性實(shí)施例提供了一種方法、數(shù)據(jù)處理系統(tǒng)和處理器,其被配置為將基于檢查點(diǎn)的高可用性(HA)日志和數(shù)據(jù)從生產(chǎn)者高速緩存移動(dòng)到消費(fèi)者高速緩存。
[0020]在本發(fā)明的示例性實(shí)施例的下列詳細(xì)描述中,詳細(xì)描述了可以實(shí)現(xiàn)本發(fā)明的特定示例性實(shí)施例,使得本領(lǐng)域技術(shù)人員能夠?qū)崿F(xiàn)本發(fā)明,并且應(yīng)該理解,可以使用其他實(shí)施例,并且可以進(jìn)行邏輯、架構(gòu)、程序、機(jī)械、電和其他改變,而不脫離本發(fā)明的精神或范圍。因此下列詳細(xì)描述不應(yīng)被理解為限制性的,并且本發(fā)明的范圍由所附權(quán)利要求及其等價(jià)物來(lái)定義。
[0021]應(yīng)該理解,特定組件、設(shè)備和/或參數(shù)名稱的使用僅是示例,而不是暗示對(duì)本發(fā)明的任何限制。因此本發(fā)明可以以用于描述這里的組件/設(shè)備/參數(shù)的不同的命名/術(shù)語(yǔ)來(lái)實(shí)現(xiàn),而沒(méi)有限制。給定使用術(shù)語(yǔ)的上下文,這里使用的每個(gè)術(shù)語(yǔ)應(yīng)被給予最廣泛的解釋。如這里所使用的,術(shù)語(yǔ)“耦合”可以包括組件或元素之間的直接連接,或者使用一個(gè)或多個(gè)中間組件或元素的組件或元素之間的間接連接。
[0022]如上所述,基于檢測(cè)點(diǎn)的高可用性(HA)是一種技術(shù),其中在“基礎(chǔ)主機(jī)”上運(yùn)行的虛擬機(jī)(VM)定期(例如每隔25mS)執(zhí)行“檢查點(diǎn)”,其將基礎(chǔ)主機(jī)的處理器和存儲(chǔ)器狀態(tài)鏡像到“次級(jí)”主機(jī)。鏡像過(guò)程涉及:跟蹤VM的處理器寄存器和存儲(chǔ)器狀態(tài)的變化;周期性地停止VM ;(例如通過(guò)網(wǎng)絡(luò))將被跟蹤的變化發(fā)送到次級(jí)主機(jī);等待次級(jí)主機(jī)對(duì)處理器和存儲(chǔ)器狀態(tài)更新的接收進(jìn)行確認(rèn);以及恢復(fù)VM。這確保了次級(jí)主機(jī)在基礎(chǔ)主機(jī)遇到突發(fā)硬件故障時(shí)能夠以最小服務(wù)損失來(lái)恢復(fù)工作負(fù)載。
[0023]在一種或多種傳統(tǒng)的基于檢查點(diǎn)的HA實(shí)現(xiàn)中,管理程序使用頁(yè)保護(hù)來(lái)識(shí)別VM存儲(chǔ)器的修改區(qū)域,在頁(yè)保護(hù)中,在檢查點(diǎn)之后所有存儲(chǔ)器都被打上只讀標(biāo)記。管理程序的功能在于:檢測(cè)在對(duì)存儲(chǔ)器頁(yè)首次執(zhí)行存儲(chǔ)時(shí)出現(xiàn)的后續(xù)故障;恢復(fù)頁(yè)的原始訪問(wèn)許可;以及將頁(yè)標(biāo)記為“臟的”,需要在下一檢查點(diǎn)傳輸該頁(yè)。通常,使用檢查點(diǎn)的VM會(huì)比不使用檢查點(diǎn)帶來(lái)更多的頁(yè)保護(hù)故障。應(yīng)該理解,對(duì)頁(yè)中的單個(gè)字節(jié)的改變需要整個(gè)頁(yè)被發(fā)送到次級(jí)系統(tǒng),因?yàn)橐坏╉?yè)保護(hù)被移除,不使用額外的處理器周期和額外的存儲(chǔ)器將頁(yè)與原始頁(yè)的副本進(jìn)行比較,將無(wú)法知道頁(yè)有多少被修改了。由于需要將整個(gè)臟頁(yè)發(fā)送到次級(jí)系統(tǒng),傳統(tǒng)的系統(tǒng)典型地使用相對(duì)小的頁(yè)大小(例如4K頁(yè)大小,與64K頁(yè)大小相對(duì)),以減少基礎(chǔ)和次級(jí)系統(tǒng)之間的流量。在該情形下,傳統(tǒng)系統(tǒng)性能會(huì)受到不利影響,因?yàn)椴僮飨到y(tǒng)(OS)不能利用大的頁(yè)。
[0024]根據(jù)本公開的一個(gè)或多個(gè)方面,通過(guò)維護(hù)緩沖器,該緩沖器填充有從上個(gè)檢查點(diǎn)以來(lái)由生產(chǎn)者處理器核心(生產(chǎn)者核心)修改的高速緩存線地址,可以記錄對(duì)存儲(chǔ)器的修改,而沒(méi)有高速緩存線粒度上的缺頁(yè)??梢栽跈z查點(diǎn)期間或者推測(cè)性地在檢查點(diǎn)之前檢查緩沖器,以便確定需要將哪些高速緩存線發(fā)送到次級(jí)系統(tǒng)以維持一致的存儲(chǔ)器映像。由于更小的修改粒度(例如高速緩存線而不是頁(yè)),在高速緩存中維護(hù)緩沖器一般會(huì)減少缺頁(yè),并且減少基礎(chǔ)和次級(jí)系統(tǒng)之間的流量。緩沖器方法也是頁(yè)尺寸不可知的,且由此系統(tǒng)可使用更大的頁(yè)尺寸,而不會(huì)引起與頁(yè)尺寸相關(guān)的性能懲罰。
[0025]根據(jù)本公開的一個(gè)或多個(gè)實(shí)施例,與已知的方法相比,記錄高速緩存線地址帶來(lái)了顯著的性能優(yōu)勢(shì)和復(fù)雜度降低。在多個(gè)實(shí)施例中,公開的技術(shù)可以在硬件中實(shí)現(xiàn),某些組件在高速緩存中實(shí)現(xiàn),并且某些參數(shù)通過(guò)只能有特權(quán)的管理程序代碼訪問(wèn)的處理器寄存器來(lái)暴露。在一個(gè)或多個(gè)實(shí)施例中,管理程序軟件被修改,以利用添加的硬件特征。
[0026]在任何現(xiàn)代處理器設(shè)計(jì)的高速緩存層級(jí)結(jié)構(gòu)中,存在某種形式的驅(qū)逐引擎和窺探介入引擎。驅(qū)逐引擎負(fù)責(zé)將從高速緩存逐出的數(shù)據(jù)寫回到系統(tǒng)存儲(chǔ)器或?qū)懭氲脚c另一處理器關(guān)聯(lián)的高速緩存。窺探介入引擎負(fù)責(zé)將數(shù)據(jù)從給定的高速緩存提供給另一處理器,該處理器正嘗試訪問(wèn)包含該數(shù)據(jù)的高速緩存線。例如可以由在高速緩存中為進(jìn)入的數(shù)據(jù)釋放空間的需求來(lái)觸發(fā)驅(qū)逐引擎。例如可以觸發(fā)窺探介入引擎,以在另一處理器希望修改高速緩存線中的數(shù)據(jù)時(shí)向該另一處理器提供對(duì)高速緩存線的獨(dú)占訪問(wèn)。通常,在檢查點(diǎn)間隔期間(即兩個(gè)檢查點(diǎn)之間的時(shí)間),在檢查點(diǎn)之間修改的每條高速緩存線作為臟數(shù)據(jù)留在高速緩存中或者已經(jīng)經(jīng)過(guò)驅(qū)逐或窺探介入引擎,并且在檢查點(diǎn)上,可以觸發(fā)高速緩存行走(walk) / 清洗(scrub)。
[0027]高速緩存清除(flush)將臟數(shù)據(jù)推送到系統(tǒng)存儲(chǔ)器,從而在檢查點(diǎn)之間被修改的每條高速緩存線確保已經(jīng)經(jīng)過(guò)驅(qū)逐引擎。驅(qū)逐引擎和窺探介入引擎可被修改,從而除了將臟高速緩存線數(shù)據(jù)寫入到存儲(chǔ)器/另一高速緩存之外,引擎還可以運(yùn)行在將修改的高速緩存線的地址寫入到位于高速緩存中的循環(huán)緩沖器的模式中。為了提高效率,高速緩存硬件可被配置為管理中間緩沖器(例如兩條高速緩存線的深度緩沖器),該中間緩沖器收集驅(qū)逐和/或窺探介入引擎所報(bào)告的地址。在一個(gè)或多個(gè)實(shí)施例中,在中間緩沖器被地址的全高速緩存線有效負(fù)荷充滿時(shí),驅(qū)逐引擎(通過(guò)驅(qū)逐命令)將中間緩沖器的內(nèi)容移動(dòng)到循環(huán)緩沖器。在至少一個(gè)實(shí)施例中,中間緩沖器中的每條高速緩存線保存多達(dá)十六個(gè)八字節(jié)地址。
[0028]應(yīng)當(dāng)理解,并非數(shù)據(jù)處理系統(tǒng)的所有處理器核心都在所有時(shí)刻運(yùn)行在生產(chǎn)者模式下。在生產(chǎn)者模式下運(yùn)行的處理器核心在這里被稱為“生產(chǎn)者核心”。通過(guò)設(shè)置管理程序可訪問(wèn)的硬件標(biāo)記,可以將處理器核心置于生產(chǎn)者模式下。在至少一個(gè)實(shí)施例中,在處理器核心處于生產(chǎn)者核心模式時(shí),為了管理對(duì)循環(huán)緩沖器的寫入,驅(qū)逐引擎維護(hù)寄存器,其包含:基址(即到緩沖器的基地址的指針);生產(chǎn)者頭部(即緩沖器中下一地址將被寫入的偏移量);屏障(即邊界指針);以及大小(即緩沖器的大小的指示)。
[0029]在多個(gè)實(shí)施例中,HA日志被維護(hù)在存儲(chǔ)器中,該存儲(chǔ)器與分配給虛擬機(jī)(VM)的存儲(chǔ)器分離,并且只能被管理程序訪問(wèn)。在生產(chǎn)者核心模式下,除了正常的驅(qū)逐和/或窺探介入行為,驅(qū)逐和窺探介入操作還被配置為將被修改的高速緩存線的地址記錄到高速緩存的當(dāng)前填充中間緩沖器中(例如使用乒乓緩沖,從而一個(gè)緩沖器可以被填充而另一個(gè)被寫回到另一存儲(chǔ)器)。當(dāng)在生產(chǎn)者核心模式下時(shí),可以命令驅(qū)逐引擎通過(guò)下列行為將高速緩存線從高速緩存的中間緩沖器(在它們填充時(shí))移動(dòng)到高速緩存中的循環(huán)緩沖器:發(fā)起高速緩存線地址到生產(chǎn)者頭部指針的存儲(chǔ);遞增生產(chǎn)者頭部指針,如果生產(chǎn)者頭部指針到達(dá)基址(base)+大小(size),則折回到基址;并且如果生產(chǎn)者頭部等于屏障,則將故障傳遞給管理程序。
[0030]在多個(gè)實(shí)施例中,在下一檢查點(diǎn)出現(xiàn)時(shí):基礎(chǔ)主機(jī)上的管理程序掛起VM的執(zhí)行;觸發(fā)高速緩存行走操作,以便為HA日志生成條目;并且消費(fèi)者核心(其可以是物理不同的核心或相同的核心(但不再處于生產(chǎn)者核心模式))遍歷HA日志,并且針對(duì)每個(gè)條目,讀取地址,從VM的存儲(chǔ)器讀取該地址處的當(dāng)前數(shù)據(jù),將(地址、數(shù)據(jù))對(duì)發(fā)送到次級(jí)主機(jī)(在那兒它被用于更新次級(jí)VM的存儲(chǔ)器映像),與次級(jí)系統(tǒng)同步其他狀態(tài)(例如處理器寄存器),然后發(fā)起基礎(chǔ)VM的執(zhí)行恢復(fù)。
[0031]消費(fèi)者核心可以實(shí)現(xiàn)各種優(yōu)化。例如,在檢查點(diǎn)間隔中特定的地址被驅(qū)逐若干次時(shí),驅(qū)逐地址將出現(xiàn)在日志中多次。應(yīng)該理解,重復(fù)的驅(qū)逐地址僅需要被發(fā)送到次級(jí)系統(tǒng)一次,因?yàn)楸话l(fā)送的是VM的存儲(chǔ)器中的當(dāng)前數(shù)據(jù),而不是被驅(qū)逐時(shí)的數(shù)據(jù)(其未被記錄)。這樣,消費(fèi)者核心可以執(zhí)行某種縮減(reduct1n),以減少到次級(jí)系統(tǒng)的帶寬。如上所述,在VM使用多個(gè)處理器核心并且同一條高速緩存線在同一檢查點(diǎn)間隔期間被多于一個(gè)處理器核心驅(qū)逐時(shí),該地址將出現(xiàn)在多個(gè)日志中,但僅需要被發(fā)送一次。再一次地,可以執(zhí)行跨日志的某種縮減以減少帶寬。
[0032]消費(fèi)者核心可以開始推測(cè)性地處理檢查點(diǎn)之前的生產(chǎn)者核心的HA日志。盡管推測(cè)性地處理生產(chǎn)者核心的HA日志降低了用于縮減的范圍,推測(cè)性地處理生產(chǎn)者核心的HA日志會(huì)平滑到次級(jí)系統(tǒng)的數(shù)據(jù)傳輸,并更有效地利用可用的總帶寬。需要注意,基礎(chǔ)VM使用的工作足跡的主體(bulk)在檢查點(diǎn)之間的時(shí)間期間可以位于高速緩存中,并且記錄的主體可以出現(xiàn)在檢查點(diǎn)的時(shí)間。硬件的自然高速緩存可以在僅記錄給定高速緩存線一次時(shí)進(jìn)行有效的工作,即使在檢查點(diǎn)之間它已被存儲(chǔ)多次。屏障寄存器的目的是確保在檢查點(diǎn)操作期間不會(huì)由于日志折回而丟失任何數(shù)據(jù)?;谏a(chǎn)者頭部針對(duì)屏障的檢查,屏障指向檢查點(diǎn)間隔中的第一條日志記錄,以確保數(shù)據(jù)不會(huì)被覆蓋。
[0033]在多個(gè)實(shí)施例中,如果到達(dá)屏障,則發(fā)起故障轉(zhuǎn)移到次要系統(tǒng),或者所有VM存儲(chǔ)器都被重新同步。故障轉(zhuǎn)移到次要系統(tǒng)或者VM存儲(chǔ)器重新同步是需要的,因?yàn)樵诟咚倬彺嬷锌赡艽嬖谶€沒(méi)有經(jīng)過(guò)驅(qū)逐引擎的臟數(shù)據(jù)。在該情形下,不希望簡(jiǎn)單地發(fā)起即刻檢查點(diǎn),因?yàn)橐呀?jīng)沒(méi)有地方來(lái)記錄臟地址。通常,管理程序應(yīng)同時(shí)確保日志有合適的大小并且還能定期監(jiān)視生產(chǎn)者頭部指針,如果預(yù)期到日志溢出則發(fā)起較早的檢查點(diǎn)。如果消費(fèi)者核心推測(cè)性地處理日志,則管理程序可以周期性地移動(dòng)屏障指針,從而只有在生產(chǎn)者核心與(在消費(fèi)者核心落后的情況下)消費(fèi)者核心還沒(méi)有處理的日志條目沖突時(shí)才會(huì)觸發(fā)溢出。
[0034]可以實(shí)施修改,使得驅(qū)逐引擎和窺探介入引擎記錄在檢查點(diǎn)之間離開高速緩存的存儲(chǔ)器地址,并且在檢查點(diǎn)發(fā)起高速緩存清空以確保高速緩存中沒(méi)有留下修改的數(shù)據(jù)(由此確保被修改的數(shù)據(jù)經(jīng)過(guò)驅(qū)逐引擎并且被記錄)。該方法的缺點(diǎn)是在每個(gè)檢查點(diǎn)間隔都需要高速緩存清空。高速緩存清空導(dǎo)致驅(qū)逐引擎和存儲(chǔ)器子系統(tǒng)的額外壓力,并且一般會(huì)降低在高可用性(HA)模式下運(yùn)行的工作負(fù)載的性能。
[0035]根據(jù)另一方法,通過(guò)為高速緩存中的每條高速緩存線引入新的“HA位”來(lái)確保在檢查點(diǎn)間隔記錄所有地址,而不需要進(jìn)行高速緩存清空。當(dāng)處理器核心在生產(chǎn)者核心模式下運(yùn)行時(shí),通過(guò)高速緩存線的修改來(lái)設(shè)置HA位,并且可作為高速緩存行走操作的一部分來(lái)清除它,該高速緩存行走操作在檢查點(diǎn)上執(zhí)行,并且行走高速緩存使得HA位被認(rèn)定(asserted)的高速緩存線將其地址記錄到循環(huán)緩沖器。然后針對(duì)所有高速緩存線來(lái)解除認(rèn)定(de-aSSert)HA位。在該實(shí)現(xiàn)中,與高速緩存線關(guān)聯(lián)的數(shù)據(jù)未被寫入到系統(tǒng)存儲(chǔ)器,并且該高速緩存線在高速緩存內(nèi)部仍然被標(biāo)記為“臟的”。處理器高速緩存典型地被實(shí)現(xiàn)為查找表,其將地址(標(biāo)簽)與某些數(shù)據(jù)相關(guān)聯(lián)。該標(biāo)簽可以是虛擬或物理地址,或其某種組合,并且數(shù)據(jù)是固定大小的(例如高速緩存線)。對(duì)于任何給定標(biāo)簽,在高速緩存中可以存在能找到數(shù)據(jù)的若干個(gè)位置,且從而高速緩存查找典型地涉及檢查若干個(gè)槽(slot)來(lái)找到匹配的標(biāo)簽。此外,槽可以不包含任何數(shù)據(jù),且從而槽典型地不僅包含將與標(biāo)簽關(guān)聯(lián)的數(shù)據(jù),還包含多個(gè)標(biāo)志。
[0036]根據(jù)另一實(shí)現(xiàn),HA位被添加到高速緩存中的每個(gè)槽。當(dāng)與高速緩存線關(guān)聯(lián)的數(shù)據(jù)被在生產(chǎn)者核心模式下運(yùn)行的處理器核心更新時(shí),HA位被認(rèn)定。在檢查點(diǎn)上,高速緩存行走操作遍歷整個(gè)高速緩存,與高速緩存清空類似,但不是檢查“臟位”并將數(shù)據(jù)向外推送到系統(tǒng)存儲(chǔ)器,而是高速緩存行走操作會(huì)檢查“HA位”并將物理地址向外推送到循環(huán)緩沖器。
[0037]在大多數(shù)計(jì)算系統(tǒng)中,通常有多層高速緩存(例如級(jí)別I到級(jí)別N(即LI到LN),其中LI表示最快、最小的高速緩存,其最接近處理器核心,而N典型地是3或4,并且在N增加時(shí)趨向于更慢和更大)。在一個(gè)或多個(gè)實(shí)施例中,高速緩存行走操作遍歷可能包含HA修改數(shù)據(jù)的所有高速緩存,但這不一定意味著所有高速緩存都必須被遍歷,因?yàn)槟承└咚倬彺婕?jí)別可以是直寫式(write-through)或回寫式(write-back)的。眾所周知,直寫式高速緩存在高速緩存中保留數(shù)據(jù),但也將數(shù)據(jù)同步地推送回到下一高速緩存級(jí)別,以有利于后續(xù)讀取的快速訪問(wèn)時(shí)間。直寫式高速緩存的寫入比回寫式高速緩存更昂貴,因?yàn)閷懭胝弑仨毜却?更慢的)下一級(jí)別高速緩存的寫入完成。直寫式高速緩存不需要被清空?;貙懯礁咚倬彺嬖诟咚倬彺嬷斜A魯?shù)據(jù),但不會(huì)將數(shù)據(jù)同步地推送到高速緩存中的下一級(jí)別。使用回寫式高速緩存,寫入到高速緩存的過(guò)程更快,代價(jià)是必須管理對(duì)稱多處理器(SMP)系統(tǒng)中的高速緩存之間的數(shù)據(jù)一致性。在從高速緩存中逐出數(shù)據(jù)以為額外的數(shù)據(jù)騰出空間時(shí),會(huì)引起寫入到高速緩存中的下一級(jí)別的成本。
[0038]在多層高速緩存的層級(jí)結(jié)構(gòu)中,只有回寫式高速緩存需要被高速緩存行走操作遍歷。例如,在包含直寫式LI高速緩存、回寫式L2高速緩存和回寫式L3高速緩存的系統(tǒng)中,處理器執(zhí)行的任何寫入都將去往LI高速緩存(因?yàn)樗侵睂懯降?,也被寫到L2高速緩存。在該情形下,在LI高速緩存中不存在L2高速緩存中沒(méi)有的臟數(shù)據(jù)。由于在L2高速緩存中需要更多的空間,臟數(shù)據(jù)被逐出并變成L3高速緩存中的臟數(shù)據(jù)。在該例子中,在生產(chǎn)者核心模式下執(zhí)行的寫入會(huì)設(shè)置L2高速緩存中用于關(guān)聯(lián)的高速緩存線的HA位。當(dāng)在L2高速緩存中具有設(shè)置的HA位的高速緩存線被驅(qū)逐到L3高速緩存時(shí),L3高速緩存中的與該高速緩存線關(guān)聯(lián)的HA位被設(shè)置。在該例子中,LI高速緩存不需要HA位。在檢查點(diǎn)上,高速緩存行走操作需要遍歷L2和L3高速緩存兩者,將具有被認(rèn)定的HA位的高速緩存線的所有物理地址寫入到循環(huán)緩沖器,并且一旦操作完成則清除所有HA位。
[0039]上述描述說(shuō)明了對(duì)高速緩存硬件的增強(qiáng),以確保在定期的間隔中,高速緩存中的循環(huán)緩沖器存儲(chǔ)從最后檢查點(diǎn)以來(lái)由給定存儲(chǔ)器核心修改的所有存儲(chǔ)器位置的列表。被修改的存儲(chǔ)器位置的列表可被用于改善系統(tǒng)性能和可靠性。(在“循環(huán)緩沖器”、“HA日志”或“HA表”中存儲(chǔ)的)被修改的存儲(chǔ)器位置的列表由支持高速緩存例如L2/L3高速緩存維護(hù),并且修改的高速緩存線保持HA數(shù)據(jù)。HA日志和HA數(shù)據(jù)被消費(fèi)者核心處理,以提供系統(tǒng)可靠性和冗余度。HA生產(chǎn)者高速緩存將HA日志傳統(tǒng)地寫到系統(tǒng)存儲(chǔ)器。由于從和HA生產(chǎn)者核心關(guān)聯(lián)的高速緩存中犧牲(victimize)出了 HA數(shù)據(jù),該HA數(shù)據(jù)也被傳統(tǒng)地寫到系統(tǒng)存儲(chǔ)器。
[0040]為了處理HA日志和HA數(shù)據(jù),消費(fèi)者核心從系統(tǒng)存儲(chǔ)器傳統(tǒng)地讀取HA日志和HA數(shù)據(jù)兩者。與這里公開的技術(shù)相比,該傳統(tǒng)方法需要對(duì)系統(tǒng)存儲(chǔ)器的多次訪問(wèn),導(dǎo)致存儲(chǔ)器資源的相對(duì)大的帶寬成本,消耗功率,并增加了消費(fèi)者核心處理HA日志和HA數(shù)據(jù)的時(shí)間。在現(xiàn)代的大型服務(wù)器中,存儲(chǔ)器資源很昂貴,并且存儲(chǔ)器功率是系統(tǒng)功率的主要部分。根據(jù)本公開,處理HA日志和HA數(shù)據(jù)的時(shí)間被縮減,這增加了系統(tǒng)可以用于其他任務(wù)的時(shí)間。
[0041]根據(jù)本公開的一個(gè)或多個(gè)實(shí)施例,與HA生產(chǎn)者核心關(guān)聯(lián)的生產(chǎn)者高速緩存(從生產(chǎn)者高速緩存中的循環(huán)緩沖器)直接移動(dòng)HA日志到HA消費(fèi)者核心的高速緩存。根據(jù)多個(gè)方面,生產(chǎn)者高速緩存還將生產(chǎn)者高速緩存中存儲(chǔ)的HA數(shù)據(jù)直接移動(dòng)到消費(fèi)者核心的高速緩存中。通過(guò)該方式,取消了生產(chǎn)者高速緩存將HA日志和HA數(shù)據(jù)往外移動(dòng)到系統(tǒng)存儲(chǔ)器然后消費(fèi)者核心必須從系統(tǒng)存儲(chǔ)器獲取HA日志和HA數(shù)據(jù)兩者。這樣,消費(fèi)者核心執(zhí)行HA系統(tǒng)備份的時(shí)間被縮減,存儲(chǔ)器資源的負(fù)擔(dān)降低,并且與實(shí)現(xiàn)HA相關(guān)的功耗被降低。
[0042]在多個(gè)實(shí)施例中,HA生產(chǎn)者高速緩存被配置為標(biāo)識(shí)應(yīng)當(dāng)被置于HA日志中的高速緩存線。對(duì)于HA日志條目,HA生產(chǎn)者包含硬件寄存器來(lái)標(biāo)識(shí)HA日志的位置。在一個(gè)或多個(gè)實(shí)施例中,HA生產(chǎn)者高速緩存利用系統(tǒng)總線“高速緩存注入”命令或“強(qiáng)制的高速緩存注入”命令將HA日志條目一致地直接安裝到HA消費(fèi)者核心的高速緩存中(而不是將HA日志條目寫入到系統(tǒng)存儲(chǔ)器)。高速緩存注入命令被配置為維護(hù)一致性,因?yàn)樯a(chǎn)者核心在HA日志寫入時(shí)沒(méi)有HA日志高速緩存線的所有權(quán)。眾所周知,高速緩存注入命令是特殊的系統(tǒng)總線命令,其有助于將高速緩存線直接寫到高速緩存(例如消費(fèi)者高速緩存)中?;谏a(chǎn)者高速緩存的目錄中“HA位”,HA數(shù)據(jù)可以和非HA數(shù)據(jù)區(qū)分,該“HA位”被用于跟蹤哪條高速緩存線被HA生產(chǎn)者核心修改。
[0043]在生產(chǎn)者高速緩存犧牲HA數(shù)據(jù)時(shí),橫向驅(qū)逐(LCO)命令可被用于將HA數(shù)據(jù)一致地傳輸?shù)紿A消費(fèi)者核心的高速緩存(在同一級(jí)別,例如L2-L2,L3-L3),而不是系統(tǒng)存儲(chǔ)器。LCO命令允許生產(chǎn)者高速緩存為所有HA數(shù)據(jù)特別地以消費(fèi)者核心的高速緩存為目標(biāo)。在一個(gè)或多個(gè)實(shí)施例中,LCO命令被用于傳輸HA數(shù)據(jù),因?yàn)樯a(chǎn)者核心已經(jīng)具有HA數(shù)據(jù)的所有權(quán)并且LCO更高效。在(通過(guò)正常負(fù)載來(lái))處理HA日志時(shí),消費(fèi)者核心將發(fā)現(xiàn)HA日志高速緩存線條目已經(jīng)在其自己的L2和L3高速緩存中,這會(huì)最小化訪問(wèn)HA日志所需的時(shí)間(HA日志指向HA數(shù)據(jù)高速緩存線)。在消費(fèi)者核心發(fā)起HA數(shù)據(jù)處理時(shí),這些HA數(shù)據(jù)高速緩存線被發(fā)現(xiàn)已經(jīng)在消費(fèi)者核心高速緩存(例如消費(fèi)者核心的L2和L3高速緩存)中一致地安裝。將HA日志和HA數(shù)據(jù)從生產(chǎn)者高速緩存直接移動(dòng)到消費(fèi)者高速緩存大幅降低了與執(zhí)行系統(tǒng)的HA備份所需的消費(fèi)者核心處理HA日志和HA數(shù)據(jù)相關(guān)聯(lián)的系統(tǒng)總線流量和延遲。
[0044]參考圖1,示出了示例性數(shù)據(jù)處理環(huán)境100,其包含數(shù)據(jù)處理系統(tǒng)110,根據(jù)本公開的一個(gè)或多個(gè)實(shí)施例,數(shù)據(jù)處理系統(tǒng)110被配置為將HA日志和HA數(shù)據(jù)從生產(chǎn)者高速緩存直接移動(dòng)到消費(fèi)者高速緩存。數(shù)據(jù)處理系統(tǒng)110可以采用多種形式,例如工作站、膝上型計(jì)算機(jī)系統(tǒng)、筆記本計(jì)算機(jī)系統(tǒng)、桌面計(jì)算機(jī)系統(tǒng)或服務(wù)器以及/或者其集群。數(shù)據(jù)處理系統(tǒng)110包括耦合到數(shù)據(jù)存儲(chǔ)子系統(tǒng)104的一個(gè)或多個(gè)處理單元或處理器102 (其中每個(gè)可以包括用于執(zhí)行程序代碼的一個(gè)或多個(gè)處理器核心)、可選的顯示器106、一個(gè)或多個(gè)輸入設(shè)備108、以及網(wǎng)絡(luò)適配器109。數(shù)據(jù)存儲(chǔ)子系統(tǒng)104例如可以包括應(yīng)用合適數(shù)量的各種存儲(chǔ)器(例如動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM)、靜態(tài)RAM(SRAM)、只讀存儲(chǔ)器(ROM)),以及/或者一個(gè)或多個(gè)大容量存儲(chǔ)設(shè)備例如磁盤或光盤驅(qū)動(dòng)器。
[0045]數(shù)據(jù)存儲(chǔ)子系統(tǒng)104包括用于數(shù)據(jù)處理系統(tǒng)110的一個(gè)或多個(gè)操作系統(tǒng)(OS) 114。數(shù)據(jù)存儲(chǔ)子系統(tǒng)104還包括應(yīng)用程序,例如瀏覽器112 (其可選地包括定制插件來(lái)支持各種客戶端應(yīng)用)、用于管理由不同OS映像實(shí)例化的一個(gè)或多個(gè)虛擬機(jī)(VM) 120的管理程序(或虛擬機(jī)監(jiān)視器(VMM)) 116、以及其他應(yīng)用(例如字處理應(yīng)用、演示應(yīng)用以及電子郵件應(yīng)用)118。
[0046]顯示器106例如可以是陰極射線管(CRT)或液晶顯示器(IXD)。數(shù)據(jù)處理系統(tǒng)110的輸入設(shè)備108例如可以包括鼠標(biāo)、鍵盤、觸覺(jué)設(shè)備和/或觸摸屏。網(wǎng)絡(luò)適配器109支持?jǐn)?shù)據(jù)處理系統(tǒng)110使用一種或多種通信協(xié)議(例如802.X、HTTP、簡(jiǎn)單郵件傳輸協(xié)議(SMTP)等)與一個(gè)或多個(gè)有線和/或無(wú)線網(wǎng)絡(luò)進(jìn)行通信。數(shù)據(jù)處理系統(tǒng)110被顯示為通過(guò)一個(gè)或多個(gè)有線或無(wú)線網(wǎng)絡(luò)(例如互聯(lián)網(wǎng)122)連接到各個(gè)文件服務(wù)器124和各個(gè)網(wǎng)頁(yè)服務(wù)器126,該服務(wù)器向數(shù)據(jù)處理系統(tǒng)110的用戶提供感興趣的信息。數(shù)據(jù)處理環(huán)境100還包括以和數(shù)據(jù)處理系統(tǒng)110類似的方式配置的一個(gè)或多個(gè)數(shù)據(jù)處理系統(tǒng)(DPS) 150。通常,數(shù)據(jù)處理系統(tǒng)150表示數(shù)據(jù)處理系統(tǒng)110遠(yuǎn)端的數(shù)據(jù)處理系統(tǒng),并且可以執(zhí)行與在數(shù)據(jù)處理系統(tǒng)110上執(zhí)行的一個(gè)或多個(gè)OS映像相鏈接的OS映像。
[0047]本領(lǐng)域的普通技術(shù)人員將理解,圖1中示出的硬件組件和基本配置可以變化。數(shù)據(jù)處理系統(tǒng)110中的說(shuō)明性組件不是窮舉性的,而是說(shuō)明性的以突出可被用于實(shí)現(xiàn)本發(fā)明的組件。例如,額外地或者代替所示硬件,可以使用其他的設(shè)備/組件。所示例子不是要表示與當(dāng)前描述的實(shí)施例相關(guān)的架構(gòu)或其他限制。
[0048]參考圖2,以額外的細(xì)節(jié)來(lái)說(shuō)明數(shù)據(jù)處理系統(tǒng)(DPS) 110和150的相關(guān)組件。DPS110和150可以包括一個(gè)或多個(gè)處理器102,其中每個(gè)包含與例如可在數(shù)據(jù)存儲(chǔ)子系統(tǒng)104中實(shí)現(xiàn)的一個(gè)或多個(gè)其他高速緩存級(jí)別(例如L2和L3高速緩存)耦合的級(jí)別I (LI)高速緩存。如圖2所示,DPS 110包括耦合到生產(chǎn)者高速緩存(例如L2和/或1^3高速緩存)204的生產(chǎn)者核心202。如圖所示,生產(chǎn)者高速緩存204可以包括驅(qū)逐引擎205、窺探介入引擎206、循環(huán)緩沖器207以及中間緩沖器208。類似地,DPS 150包括耦合到消費(fèi)者高速緩存(例如L2和/或L3高速緩存)214的消費(fèi)者核心212。盡管生產(chǎn)者核心202/生產(chǎn)者高速緩存204和消費(fèi)者核心212/消費(fèi)者高速緩存214被示為在不同的數(shù)據(jù)處理系統(tǒng)中,可以理解,生產(chǎn)者核心202、生產(chǎn)者高速緩存204、消費(fèi)者核心212和消費(fèi)者高速緩存214可以在包含多個(gè)處理核心的同一數(shù)據(jù)處理系統(tǒng)中實(shí)現(xiàn)。
[0049]參考圖3,生產(chǎn)者高速緩存204被示為將HA數(shù)據(jù)302和HA日志304直接存儲(chǔ)到消費(fèi)者高速緩存214中。HA數(shù)據(jù)302和HA4日志304可被存儲(chǔ)在相同的高速緩存級(jí)別(例如H2或H3)中,或者可被存儲(chǔ)在不同的高速緩存級(jí)別中。消費(fèi)者高速緩存214被示為響應(yīng)于來(lái)自生產(chǎn)者高速緩存204的橫向驅(qū)逐(LCO)命令來(lái)存儲(chǔ)HA數(shù)據(jù)302。消費(fèi)者高速緩存214還被示為響應(yīng)于來(lái)自生產(chǎn)者高速緩存204的高速緩存注入命令來(lái)存儲(chǔ)HA日志304。應(yīng)該理解,可以使用其他類型的操作將HA數(shù)據(jù)302和HA日志304從生產(chǎn)者高速緩存204直接移動(dòng)到消費(fèi)者高速緩存214。通常,消費(fèi)者核心212處理HA日志304和HA數(shù)據(jù)302所需的時(shí)間被大幅縮短,因?yàn)橄M(fèi)者核心212不需要從系統(tǒng)存儲(chǔ)器取回HA日志304和HA數(shù)據(jù)302。如這里所使用的,術(shù)語(yǔ)“系統(tǒng)存儲(chǔ)器”是指“主存儲(chǔ)器”,并且不包含“高速緩存存儲(chǔ)器”。
[0050]參考圖4,示例性高速緩存402被示為包含目錄404 (其包含用于每條高速緩存線的標(biāo)簽和HA位)以及陣列406 (其包含數(shù)據(jù))。應(yīng)該理解,目錄404還可以包含用于每條高速緩存線的若干標(biāo)志(未示出)。如上所述,HA位指示高速緩存線是否需要從生產(chǎn)者高速緩存204傳輸?shù)较M(fèi)者高速緩存214以進(jìn)行處理。在與高速緩存線關(guān)聯(lián)的數(shù)據(jù)被生產(chǎn)者核心202(即在生產(chǎn)者核心模式下運(yùn)行的處理器核心)更新時(shí),該HA位被認(rèn)定。在檢查點(diǎn)上,(例如至少部分由驅(qū)逐引擎205執(zhí)行的)高速緩存行走操作可以遍歷真?zhèn)€生產(chǎn)者高速緩存204來(lái)檢查每條高速緩存線的“HA位”。具有被認(rèn)定的HA位的每條高速緩存線的物理地址然后被寫入到HA日志304中(其可以對(duì)應(yīng)于中間緩沖器208)。在一個(gè)或多個(gè)實(shí)施例中,在HA日志304充滿(或者在某些其他的閾值水平,例如四分之三充滿)時(shí),生產(chǎn)者高速緩存204(例如響應(yīng)于窺探介入引擎206所發(fā)出的高速緩存注入命令)將HA日志304移動(dòng)到消費(fèi)者高速緩存214以用于后續(xù)處理。在一個(gè)或多個(gè)實(shí)施例中,在犧牲HA數(shù)據(jù)302(即從生產(chǎn)者高速緩存204逐出高速緩存線以為額外數(shù)據(jù)騰出空間時(shí))時(shí),生產(chǎn)者高速緩存204 (例如響應(yīng)于來(lái)自驅(qū)逐引擎205的橫向驅(qū)逐命令)將HA數(shù)據(jù)302移動(dòng)到消費(fèi)者高速緩存214以用于后續(xù)處理?;蛘?,生產(chǎn)者高速緩存204可以在犧牲之前(例如響應(yīng)于橫向驅(qū)逐命令)將HA數(shù)據(jù)302移動(dòng)到消費(fèi)者高速緩存214。在任何情況下,在發(fā)起HA處理時(shí),消費(fèi)者核心212利用HA日志304來(lái)確定HA數(shù)據(jù)302的位置。
[0051]參考圖5,示出了過(guò)程500,每次例如HA日志304需要?jiǎng)?chuàng)建新條目(例如,響應(yīng)于在高速緩存行走、高速緩存清空、HA高速緩存線犧牲、以及/或者HA高速緩存線介入期間找到HA線)時(shí),該過(guò)程開始于框502。接下來(lái),在框504中,生產(chǎn)者高速緩存204在生產(chǎn)者高速緩存204中的HA日志304中創(chuàng)建條目。然后,在框506中,生產(chǎn)者高速緩存204在HA日志304中記錄修改的高速緩存線的地址(例如在生產(chǎn)者高速緩存204的中間緩沖器208中)。接下來(lái),在框507中,生產(chǎn)者高速緩存204解除認(rèn)定用于記錄的高速緩存線的HA位。接下來(lái),在決策框508中,生產(chǎn)者高速緩存204確定HA日志304是否已經(jīng)到達(dá)預(yù)定的填充水平(例如百分之七十滿、百分之八十滿、全滿)。響應(yīng)于在框508中HA日志304沒(méi)有滿,控制從框508傳到框506。響應(yīng)于在框508中HA日志304處于預(yù)定的填充水平,控制從框508傳到框510,在此,生產(chǎn)者高速緩存204 (例如在將HA日志從中間緩沖器208傳輸?shù)缴a(chǎn)者高速緩存204的循環(huán)緩沖器204之后)發(fā)起將HA日志304緩存注入到消費(fèi)者高速緩存214中。除了在框510中發(fā)起將HA日志304緩存注入到消費(fèi)者高速緩存214中,可以創(chuàng)建另一過(guò)程500來(lái)加速檢查點(diǎn)?;蛘撸a(chǎn)者高速緩存204可以使用另一閾值來(lái)確定何時(shí)將HA日志304注入到消費(fèi)者高速緩存214中。在框510之后,過(guò)程500在框512中結(jié)束,直到需要?jiǎng)?chuàng)建下一HA日志。
[0052]參考圖6,示出了過(guò)程600,其每次例如創(chuàng)建HA數(shù)據(jù)302時(shí)從框602開始。接下來(lái),在框604中,生產(chǎn)者高速緩存204認(rèn)定被修改的高速緩存線的HA位,以指示高速緩存線應(yīng)當(dāng)被記錄為生產(chǎn)者高速緩存204中的HA數(shù)據(jù)302。然后,在判定框606中,生產(chǎn)者高速緩存204確定HA數(shù)據(jù)302中的高速緩存線是否被犧牲。響應(yīng)于在框606中HA數(shù)據(jù)302中的高速緩存線未被犧牲,控制回到框606。響應(yīng)于在框606中HA數(shù)據(jù)302中的高速緩存線被犧牲,控制從框606傳到框608,其中,生產(chǎn)者高速緩存304發(fā)起將被修改的高速緩存線(即HA數(shù)據(jù)302)移動(dòng)到消費(fèi)者高速緩存214中。例如可以使用橫向驅(qū)逐(LCO)命令將被修改的高速緩存線從生產(chǎn)者高速緩存204移動(dòng)到消費(fèi)者高速緩存214。或者,可以在犧牲被修改的高速緩存線之前將被修改的高速緩存線從生產(chǎn)者高速緩存204移動(dòng)到消費(fèi)者高速緩存214。在框608之后,過(guò)程600在框610中結(jié)束,直到在生產(chǎn)者高速緩存204中修改下一高速緩存線。
[0053]因此,這里公開了將基于檢查點(diǎn)的高可用性(HA)日志和數(shù)據(jù)從生產(chǎn)者高速緩存直接移動(dòng)到消費(fèi)者高速緩存的技術(shù)。
[0054]在上述流程圖中,圖5和6所示的方法可以在包含計(jì)算機(jī)可讀代碼的計(jì)算機(jī)可讀介質(zhì)中實(shí)現(xiàn),從而在計(jì)算設(shè)備上執(zhí)行計(jì)算機(jī)可讀代碼時(shí)可以執(zhí)行一系列步驟。在某些實(shí)現(xiàn)中,該方法的特定步驟可被組合、同時(shí)或者以不同的順序來(lái)執(zhí)行、或者可能被省略,而不偏離本發(fā)明的精神和范圍。于是,盡管以特定的順序描述和說(shuō)明了方法步驟,使用特定順序的步驟并非表示對(duì)本發(fā)明的任何限制??梢葬槍?duì)步驟順序進(jìn)行更改,而不偏離本發(fā)明的精神和范圍。因此使用特定的順序不應(yīng)被理解為限制性的,并且本發(fā)明的范圍僅由所附權(quán)利要求來(lái)限定。
[0055]所屬【技術(shù)領(lǐng)域】的技術(shù)人員知道,本發(fā)明的各個(gè)方面可以實(shí)現(xiàn)為系統(tǒng)、方法或計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明的各個(gè)方面可以具體實(shí)現(xiàn)為以下形式,即:完全的硬件實(shí)施方式、完全的軟件實(shí)施方式(包括固件、駐留軟件、微代碼等),或硬件和軟件方面結(jié)合的實(shí)施方式,這里可以統(tǒng)稱為“電路”、“模塊”或“系統(tǒng)”。此外,在一些實(shí)施例中,本發(fā)明的各個(gè)方面還可以實(shí)現(xiàn)為在一個(gè)或多個(gè)計(jì)算機(jī)可讀介質(zhì)中的計(jì)算機(jī)程序產(chǎn)品的形式,該計(jì)算機(jī)可讀介質(zhì)中包含計(jì)算機(jī)可讀的程序代碼。
[0056]可以采用一個(gè)或多個(gè)計(jì)算機(jī)可讀介質(zhì)的任何組合。計(jì)算機(jī)可讀介質(zhì)可以是計(jì)算機(jī)可讀信號(hào)介質(zhì)或者計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)例如可以是一但不限于——電、磁、光、電磁、紅外線、或半導(dǎo)體的系統(tǒng)、裝置或器件,或者任何以上的組合。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)的更具體的例子(非窮舉的列表)包括:具有一個(gè)或多個(gè)導(dǎo)線的電連接、便攜式計(jì)算機(jī)盤、硬盤、隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、可擦式可編程只讀存儲(chǔ)器(EPR0M或閃存)、光纖、便攜式緊湊盤只讀存儲(chǔ)器(CD-ROM)、光存儲(chǔ)器件、磁存儲(chǔ)器件、或者上述的任何合適的組合。在本文件中,計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)可以是任何包含或存儲(chǔ)程序的有形介質(zhì),該程序可以被指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結(jié)合使用。
[0057]計(jì)算機(jī)可讀的信號(hào)介質(zhì)可以包括在基帶中或者作為載波一部分傳播的數(shù)據(jù)信號(hào),其中承載了計(jì)算機(jī)可讀的程序代碼。這種傳播的數(shù)據(jù)信號(hào)可以采用多種形式,包括——但不限于——電磁信號(hào)、光信號(hào)或上述的任何合適的組合。計(jì)算機(jī)可讀的信號(hào)介質(zhì)還可以是計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)以外的任何計(jì)算機(jī)可讀介質(zhì),該計(jì)算機(jī)可讀介質(zhì)可以發(fā)送、傳播或者傳輸用于由指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結(jié)合使用的程序。
[0058]計(jì)算機(jī)可讀介質(zhì)上包含的程序代碼可以用任何適當(dāng)?shù)慕橘|(zhì)傳輸,包括一但不限于——無(wú)線、有線、光纜、RF等等,或者上述的任何合適的組合。
[0059]可以以一種或多種程序設(shè)計(jì)語(yǔ)言的任何組合來(lái)編寫用于執(zhí)行本發(fā)明操作的計(jì)算機(jī)程序代碼,所述程序設(shè)計(jì)語(yǔ)言包括面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言一諸如Java、Smalltalk、C++等,還包括常規(guī)的過(guò)程式程序設(shè)計(jì)語(yǔ)言一諸如“C”語(yǔ)言或類似的程序設(shè)計(jì)語(yǔ)言。程序代碼可以完全地在用戶計(jì)算機(jī)上執(zhí)行、部分地在用戶計(jì)算機(jī)上執(zhí)行、作為一個(gè)獨(dú)立的軟件包執(zhí)行、部分在用戶計(jì)算機(jī)上部分在遠(yuǎn)程計(jì)算機(jī)上執(zhí)行、或者完全在遠(yuǎn)程計(jì)算機(jī)或服務(wù)器上執(zhí)行。在涉及遠(yuǎn)程計(jì)算機(jī)的情形中,遠(yuǎn)程計(jì)算機(jī)可以通過(guò)任何種類的網(wǎng)絡(luò)一包括局域網(wǎng)(LAN)或廣域網(wǎng)(WAN)—連接到用戶計(jì)算機(jī),或者,可以連接到外部計(jì)算機(jī)(例如利用互聯(lián)網(wǎng)服務(wù)提供商來(lái)通過(guò)互聯(lián)網(wǎng)連接)。
[0060]參照根據(jù)本發(fā)明實(shí)施例的方法、裝置(系統(tǒng))和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或框圖描述了本發(fā)明。應(yīng)當(dāng)理解,流程圖和/或框圖的每個(gè)方框以及流程圖和/或框圖中各方框的組合,都可以由計(jì)算機(jī)程序指令實(shí)現(xiàn)。這些計(jì)算機(jī)程序指令可以提供給通用計(jì)算機(jī)、專用計(jì)算機(jī)或其它可編程數(shù)據(jù)處理裝置的處理器,從而生產(chǎn)出一種機(jī)器,使得這些計(jì)算機(jī)程序指令在通過(guò)計(jì)算機(jī)或其它可編程數(shù)據(jù)處理裝置的處理器執(zhí)行時(shí),產(chǎn)生了實(shí)現(xiàn)流程圖和/或框圖中的一個(gè)或多個(gè)方框中規(guī)定的功能/動(dòng)作的裝置。
[0061]也可以把這些計(jì)算機(jī)程序指令存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)中,這些指令使得計(jì)算機(jī)、其它可編程數(shù)據(jù)處理裝置、或其他設(shè)備以特定方式工作,從而,存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)中的指令就產(chǎn)生出包括實(shí)現(xiàn)流程圖和/或框圖中的一個(gè)或多個(gè)方框中規(guī)定的功能/動(dòng)作的指令的制造品(article of manufacture)。也可以把計(jì)算機(jī)程序指令加載到計(jì)算機(jī)、其它可編程數(shù)據(jù)處理裝置或其他裝置上,使得在計(jì)算機(jī)、其它可編程數(shù)據(jù)處理裝置或其他裝置上執(zhí)行一系列操作步驟,以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的過(guò)程,從而在計(jì)算機(jī)、其它可編程裝置或其他裝置上執(zhí)行的指令就提供實(shí)現(xiàn)流程圖和/或框圖中的方框中規(guī)定的功能/操作的過(guò)程。
[0062]如將進(jìn)一步理解的,本發(fā)明的實(shí)施例中的過(guò)程可使用軟件、固件或硬件的任何組合被實(shí)施。作為將本發(fā)明在軟件中實(shí)施的準(zhǔn)備步驟,編程代碼(不管是軟件還是固件)將典型地被存儲(chǔ)在一個(gè)或多個(gè)機(jī)器可讀的存儲(chǔ)介質(zhì)中,諸如固定(硬)驅(qū)動(dòng)器、軟盤、光盤、磁帶、半導(dǎo)體存儲(chǔ)器,諸如R0M、PR0M等,由此制作根據(jù)本發(fā)明的制造品。包含程序代碼的制造品通過(guò)執(zhí)行直接來(lái)自存儲(chǔ)設(shè)備的代碼被使用,通過(guò)將來(lái)自存儲(chǔ)設(shè)備的代碼復(fù)制到另一個(gè)存儲(chǔ)設(shè)備,諸如硬盤、RAM等,或通過(guò)使用傳輸類型的介質(zhì)(諸如數(shù)字和模擬通信鏈路)傳輸代碼用于遠(yuǎn)程執(zhí)行。本發(fā)明的方法可通過(guò)合并一個(gè)或多個(gè)機(jī)器可讀存儲(chǔ)設(shè)備而被實(shí)現(xiàn),所述設(shè)備包含根據(jù)本發(fā)明的代碼,并具有合適的處理硬件來(lái)執(zhí)行其中包含的代碼。用于實(shí)施本發(fā)明的設(shè)備可以是一個(gè)或多個(gè)處理設(shè)備,以及包含根據(jù)本發(fā)明編碼的程序或具有對(duì)其的訪問(wèn)權(quán)的存儲(chǔ)子系統(tǒng)。
[0063]因此,盡管在具有安裝(或執(zhí)行)的軟件的完全功能計(jì)算機(jī)(服務(wù)器)系統(tǒng)環(huán)境中描述了本發(fā)明的說(shuō)明性實(shí)施例,本領(lǐng)域技術(shù)人員將理解本發(fā)明的說(shuō)明性實(shí)施例的軟件方面能以各種形式的程序產(chǎn)品被分發(fā),且本發(fā)明的說(shuō)明性實(shí)施例同樣適用,而不管被用于實(shí)際執(zhí)行分發(fā)的介質(zhì)的特定類型。
[0064]盡管已參考示例性實(shí)施例描述本發(fā)明,本領(lǐng)域技術(shù)人員講理解可對(duì)其元件進(jìn)行各種修改,并替換其等價(jià)物,而不脫離本發(fā)明的范圍。此外,可進(jìn)行許多修改以適應(yīng)特定系統(tǒng)、設(shè)備及其組件,以適于本發(fā)明的教導(dǎo)而不脫離實(shí)質(zhì)范圍。因此,本發(fā)明不限于在此描述的特定實(shí)施例,而是包括落入所附權(quán)利要求書范圍內(nèi)的所有實(shí)施例。而且,第一、第二等的術(shù)語(yǔ)的使用不是指示任何順序或重要性,而是用來(lái)區(qū)分元件。
[0065]在此使用的術(shù)語(yǔ)僅是為了描述特定實(shí)施例,且不旨在限制本發(fā)明。如在此使用的,單數(shù)形式“一”、“一個(gè)”和“該”也包括復(fù)數(shù)形式,除非上下文另有清楚說(shuō)明。將理解術(shù)語(yǔ)“包括”和/或“包含”,當(dāng)被用在本說(shuō)明書中時(shí),指示存在所述的特點(diǎn)、整體、步驟、操作、元件和/或組件,但不排除存在或添加一個(gè)或多個(gè)其他特點(diǎn)、整體、步驟、操作、元件、組件和/或其組合。
[0066]以下權(quán)利要求中的所述裝置或步驟加功能性元件的相應(yīng)的結(jié)構(gòu)、材料、行為和等價(jià)物旨在包括用于結(jié)合在權(quán)利要求中特意闡明的元件而執(zhí)行該功能的任何結(jié)構(gòu)、材料或行為。本發(fā)明的說(shuō)明已出于解釋和描述的目的被展示,但不限于將本發(fā)明限制在公開的形式。許多修改和變化對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)說(shuō)是明顯的,且不脫離本發(fā)明的精神和范圍。選擇并描述實(shí)施例是為了最好地解釋本發(fā)明的原理和實(shí)際應(yīng)用,且使得本領(lǐng)域普通技術(shù)人員能理解本發(fā)明的具有適用于所打算的特定用途的各種修改的各種實(shí)施例。
【權(quán)利要求】
1.一種操作數(shù)據(jù)處理系統(tǒng)的方法,包括: 在生產(chǎn)者高速緩存的數(shù)據(jù)陣列中記錄生產(chǎn)者核心所修改的高速緩存線的地址,以創(chuàng)建用于生產(chǎn)者核心的高可用性(HA)日志,其中,HA日志對(duì)應(yīng)于包含多個(gè)所述地址的高速緩存線.-^4 , 將HA日志從生產(chǎn)者高速緩存直接移動(dòng)到消費(fèi)者核心的消費(fèi)者高速緩存; 將與HA日志的地址關(guān)聯(lián)的HA數(shù)據(jù)從生產(chǎn)者高速緩存直接移動(dòng)到消費(fèi)者高速緩存;以及 由消費(fèi)者核心為數(shù)據(jù)處理系統(tǒng)處理HA日志和HA數(shù)據(jù)。
2.如權(quán)利要求1所述的方法,其中,所述被修改的高速緩存線由HA位指示。
3.如權(quán)利要求1所述的方法,其中,在生產(chǎn)者高速緩存中記錄生產(chǎn)者核心所修改的高速緩存線的地址包括在與生產(chǎn)者高速緩存關(guān)聯(lián)的中間緩沖器中記錄被修改的高速緩存線的地址。
4.如權(quán)利要求3所述的方法,其中,將HA日志從生產(chǎn)者高速緩存直接移動(dòng)到消費(fèi)者高速緩存包括響應(yīng)于中間緩沖器充滿而將HA日志從中間緩沖器傳輸?shù)窖h(huán)緩沖器,以及使用高速緩存注入命令將循環(huán)緩沖器中存儲(chǔ)的HA日志注入到消費(fèi)者高速緩存。
5.如權(quán)利要求1所述的方法,其中,響應(yīng)于生產(chǎn)者高速緩存犧牲與HA日志的地址關(guān)聯(lián)的HA數(shù)據(jù)而將該HA數(shù)據(jù)從生產(chǎn)者高速緩存直接移動(dòng)到消費(fèi)者高速緩存。
6.如權(quán)利要求5所述的方法,其中,所述生產(chǎn)者高速緩存利用橫向驅(qū)逐(LCO)命令來(lái)發(fā)起HA數(shù)據(jù)從生產(chǎn)者高速緩存到消費(fèi)者高速緩存的一致傳輸。
7.如權(quán)利要求1所述的方法,其中,所述消費(fèi)者高速緩存是級(jí)別2(L2)高速緩存或級(jí)別3(L3)高速緩存。
8.一種數(shù)據(jù)處理系統(tǒng),包括: 生產(chǎn)者核心; 與生產(chǎn)者核心耦合的生產(chǎn)者高速緩存; 消費(fèi)者核心;以及 與消費(fèi)者核心耦合的消費(fèi)者高速緩存,其中,所述生產(chǎn)者高速緩存被配置為:在生產(chǎn)者高速緩存的數(shù)據(jù)陣列中記錄生產(chǎn)者核心所修改的高速緩存線的地址,以創(chuàng)建用于生產(chǎn)者核心的高可用性(HA)日志;將HA日志直接寫入到消費(fèi)者核心的消費(fèi)者高速緩存,以及將與HA日志的地址關(guān)聯(lián)的HA數(shù)據(jù)直接寫入到消費(fèi)者高速緩存,并且其中,所述HA日志對(duì)應(yīng)于包含多個(gè)所述地址的高速緩存線,并且消費(fèi)者核心被配置成為數(shù)據(jù)處理系統(tǒng)處理HA日志和HA數(shù)據(jù)。
9.如權(quán)利要求8所述的數(shù)據(jù)處理系統(tǒng),其中,所述被修改的高速緩存線由HA位指示。
10.如權(quán)利要求8所述的數(shù)據(jù)處理系統(tǒng),其中,所述被修改的高速緩存線的地址被記錄在生產(chǎn)者高速緩存的中間緩沖器中。
11.如權(quán)利要求10所述的數(shù)據(jù)處理系統(tǒng),其中,響應(yīng)于中間緩沖器充滿,將HA日志從中間緩沖器傳輸?shù)较M(fèi)者高速緩存的循環(huán)緩沖器,并通過(guò)將循環(huán)緩沖器中存儲(chǔ)的HA日志注入到消費(fèi)者高速緩存將該日志寫入消費(fèi)者高速緩存。
12.如權(quán)利要求8所述的數(shù)據(jù)處理系統(tǒng),其中,響應(yīng)于生產(chǎn)者高速緩存犧牲與HA日志的地址關(guān)聯(lián)的HA數(shù)據(jù),將該HA數(shù)據(jù)直接寫入到消費(fèi)者高速緩存。
13.如權(quán)利要求12所述的數(shù)據(jù)處理系統(tǒng),其中,所述生產(chǎn)者高速緩存利用橫向驅(qū)逐(LCO)命令來(lái)發(fā)起HA數(shù)據(jù)從生產(chǎn)者高速緩存到消費(fèi)者高速緩存的一致傳輸。
14.如權(quán)利要求8所述的數(shù)據(jù)處理系統(tǒng),其中,所述消費(fèi)者高速緩存是級(jí)別2(L2)高速緩存或級(jí)別3 (L3)高速緩存。
15.一種處理器,包括: 生產(chǎn)者核心;以及 與該生產(chǎn)者核心耦合的生產(chǎn)者高速緩存,其中,該生產(chǎn)者高速緩存被配置為:在生產(chǎn)者高速緩存的數(shù)據(jù)陣列中記錄生產(chǎn)者核心所修改的高速緩存線的地址,以創(chuàng)建用于生產(chǎn)者核心的高可用性(HA)日志;將撤日志直接寫入到消費(fèi)者核心的消費(fèi)者高速緩存,以及將與HA日志的地址關(guān)聯(lián)的HA數(shù)據(jù)直接寫入到消費(fèi)者高速緩存,并且其中,所述HA日志對(duì)應(yīng)于包含多個(gè)所述地址的高速緩存線,并且消費(fèi)者核心被配置為處理HA日志和HA數(shù)據(jù)。
16.如權(quán)利要求15所述的處理器,其中,所述被修改的高速緩存線由HA位指示。
17.如權(quán)利要求15所述的處理器,其中,所述被修改的高速緩存線的地址被記錄在生產(chǎn)者高速緩存的中間緩沖器中。
18.如權(quán)利要求17所述的處理器,其中,響應(yīng)于中間緩沖器充滿,將HA日志從中間緩沖器傳輸?shù)较M(fèi)者高速緩存的循環(huán)緩沖器,并通過(guò)將循環(huán)緩沖器中存儲(chǔ)的HA日志注入到消費(fèi)者高速緩存將該日志寫入消費(fèi)者高速緩存,并且其中,響應(yīng)于生產(chǎn)者高速緩存犧牲與HA日志的地址關(guān)聯(lián)的HA數(shù)據(jù),將該HA數(shù)據(jù)寫入到消費(fèi)者高速緩存。
19.如權(quán)利要求15所述的處理器,其中,所述生產(chǎn)者高速緩存利用橫向驅(qū)逐(LCO)命令來(lái)發(fā)起HA數(shù)據(jù)從生產(chǎn)者高速緩存到消費(fèi)者高速緩存的一致傳輸。
20.如權(quán)利要求15所述的處理器,其中,所述消費(fèi)者高速緩存是級(jí)別2(L2)高速緩存或級(jí)別3(L3)高速緩存。
【文檔編號(hào)】G06F12/08GK104516832SQ201410513668
【公開日】2015年4月15日 申請(qǐng)日期:2014年9月29日 優(yōu)先權(quán)日:2013年10月8日
【發(fā)明者】G·L·格思里, S·R·孔克爾, H·M·勒, G·諾斯, W·J·斯塔克 申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
太康县| 贵德县| 中山市| 吴桥县| 贵港市| 宜章县| 冕宁县| 大冶市| 咸阳市| 红河县| 宿州市| 玉龙| 麻栗坡县| 响水县| 沈阳市| 休宁县| 噶尔县| 东光县| 皋兰县| 永顺县| 慈溪市| 曲沃县| 城步| 遂平县| 峨山| 长兴县| 栾城县| 象州县| 青神县| 磴口县| 凤庆县| 怀宁县| 宁明县| 修文县| 哈密市| 额尔古纳市| 江阴市| 北宁市| 海宁市| 蓬安县| 海林市|