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

管理虛擬機(jī)存儲(chǔ)器的系統(tǒng)、方法和程序的制作方法

文檔序號(hào):6477173閱讀:241來(lái)源:國(guó)知局
專(zhuān)利名稱(chēng):管理虛擬機(jī)存儲(chǔ)器的系統(tǒng)、方法和程序的制作方法
技術(shù)領(lǐng)域
本發(fā)明總體涉及計(jì)算機(jī)系統(tǒng),更具體而言,處理對(duì)虛擬機(jī)存儲(chǔ)器的管理。
背景技術(shù)
如今,配置為虛擬機(jī)的計(jì)算機(jī)已經(jīng)眾所周知。在這樣的配置中,管理
程序?qū)?shí)際計(jì)算機(jī)的物理資源(包括CPU,存儲(chǔ)器,存儲(chǔ)設(shè)備和i/o設(shè)備)
邏輯上劃分成獨(dú)立的虛擬機(jī)。例如,管理程序?yàn)槊總€(gè)虛擬機(jī)分配對(duì)一個(gè)或
多個(gè)處理器和映射到實(shí)際RAM的一段虛擬專(zhuān)用存儲(chǔ)器的時(shí)間共享。當(dāng)虛 擬機(jī)尋址其自己的虛擬專(zhuān)用存儲(chǔ)器時(shí),管理程序?qū)⑻摂M專(zhuān)用存儲(chǔ)器地址轉(zhuǎn) 譯成實(shí)際存儲(chǔ)器的實(shí)際地址。管理程序還將虛擬專(zhuān)用存儲(chǔ)器分配給它自己, 以存儲(chǔ)管理程序的程序(包含其控制結(jié)構(gòu))以及管理程序4吏用的數(shù)據(jù)。在 已知的IBMz/VM操作系統(tǒng)中,管理程序的程序被稱(chēng)為控制程序("CP"), 每個(gè)虛擬機(jī)還可以被稱(chēng)為"用戶(hù)部分"或"客戶(hù)(guest)"。
還已知的是,邏輯分區(qū)程序?qū)?shí)際計(jì)算機(jī)的物理資源(包括CPU,存 儲(chǔ)器,存儲(chǔ)設(shè)備和I/O設(shè)備)邏輯上劃分為邏輯分區(qū)("LPAR"),然 后管理程序的程序在每個(gè)LPAR中執(zhí)行,并將每個(gè)LPAR的資源劃分成虛 擬機(jī)。在公知的IBM z系列的計(jì)算機(jī)中,公知的IBM處理器資源/資源管 理器("PR/SM")程序?qū)?shí)際計(jì)算機(jī)劃分或分區(qū)為L(zhǎng)PAR。典型地,通 過(guò)向邏輯分區(qū)程序指定用于每個(gè)LPAR的CPU,存儲(chǔ)器和存儲(chǔ)設(shè)備的量, 管理員輔助定義每個(gè)LPAR。邏輯分區(qū)程序可以向每個(gè)LPAR分配特定的 實(shí)際計(jì)算機(jī)資源或?qū)傆?jì)算機(jī)資源的邏輯共享。每個(gè)LPAR中的虛擬機(jī)以
同樣的方式操作,如同它們是從實(shí)際計(jì)算機(jī)直接形成,而沒(méi)有經(jīng)過(guò)邏輯分區(qū)一樣。
先前已知的IBM z/VM 5.1版本的虛擬機(jī)操作系統(tǒng)包括已知的管理程 序,該管理程序從LPAR或者從未劃分的實(shí)際計(jì)算機(jī)形成虛擬機(jī)。在"z/VM 版本5發(fā)布1更新版,,(文件號(hào)碼GC24 - 6095 - 01)的IBM刊物"z/VM 版本5發(fā)布1.0概述信息"(文件號(hào)碼GC24 - 6095 - 00)中公開(kāi)了現(xiàn)有 z/VM 5.1操作系統(tǒng)的細(xì)節(jié),上述文件可以從位于PO Box 29570, IBM Publications, Raleigh, North Carolina 27626 - 0570的國(guó)際商業(yè)機(jī)器7>司, 或者通過(guò)WWW從IBM主頁(yè)加后綴'7shop/publications/order"獲得。這 些刊物在此通過(guò)援引的方式納入本文作為本文>^開(kāi)的一部分。
客戶(hù)操作系統(tǒng)執(zhí)行于每個(gè)虛擬機(jī)中(使用虛擬機(jī)共享的CPU,存儲(chǔ)器, 等)。在每個(gè)客戶(hù)操作系統(tǒng)上執(zhí)行一個(gè)或多個(gè)應(yīng)用和中間件程序(諸如文 件管理器)。盡管每個(gè)應(yīng)用、中間件程序和客戶(hù)操作系統(tǒng)在虛擬機(jī)中執(zhí)行, 但是它們?nèi)缤谄渥约旱膶?zhuān)用、實(shí)際計(jì)算機(jī)中執(zhí)行一樣進(jìn)行操作。每個(gè)虛 擬機(jī)中的客戶(hù)操作系統(tǒng)可以是Linux (林納斯.托瓦茲(Linus Torvalds)的 商標(biāo))操作系統(tǒng),IBM CMS操作系統(tǒng)或其它^Mt系統(tǒng)。在每個(gè)虛擬機(jī)上 的每個(gè)客戶(hù)操作系統(tǒng)上執(zhí)行的應(yīng)用和中間件可以是IBM DB2數(shù)據(jù)庫(kù)管理 應(yīng)用,IBM Websphere應(yīng)用,或各種其它禾呈序。
每個(gè)虛擬機(jī)的客戶(hù)操作系統(tǒng)、中間件、應(yīng)用(多個(gè))和數(shù)據(jù)存儲(chǔ)在分 配給該虛擬機(jī)的虛擬專(zhuān)用存儲(chǔ)器的工作存儲(chǔ)器部分中。每個(gè)虛擬機(jī)還包括 分配給該虛擬機(jī)的虛擬專(zhuān)用存儲(chǔ)器的高速緩沖存儲(chǔ)器部分。高速緩沖存儲(chǔ) 器包含從(磁盤(pán))存儲(chǔ)設(shè)備存取的數(shù)據(jù)和相關(guān)聯(lián)的元數(shù)據(jù)。元數(shù)據(jù)包含到 數(shù)據(jù)文件的目錄和子目錄路徑、當(dāng)前正被寫(xiě)入或讀取的文件中的記錄的標(biāo) 識(shí)、文件的大小、文件中記錄的大小、文件中數(shù)據(jù)的類(lèi)型(ASCII, EBCDIC, 或者是二進(jìn)制)、文件存儲(chǔ)在磁盤(pán)上的何處,等等。大多數(shù)客戶(hù)操作系統(tǒng) 包括一些算法,用于確定當(dāng)高速緩沖存儲(chǔ)器充滿(mǎn)時(shí)應(yīng)該將數(shù)據(jù)的哪些頁(yè)保
留在高速緩沖存儲(chǔ)器中,以及當(dāng)工作存儲(chǔ)器充滿(mǎn)時(shí)應(yīng)該將數(shù)據(jù)的哪些頁(yè)保 留在工作存儲(chǔ)器中。例如,大多數(shù)客戶(hù)操作系統(tǒng)使用最近最少使用算法, 用以當(dāng)高速緩沖存儲(chǔ)器中用于虛擬機(jī)所需新數(shù)據(jù)的空間不足時(shí)將最近最少使用的數(shù)據(jù)從高速緩沖存儲(chǔ)器頁(yè)調(diào)出到外部存儲(chǔ)器中,并使用相似算法, 用以當(dāng)工作存儲(chǔ)器中用于虛擬機(jī)所需新數(shù)據(jù)的空間不足時(shí)將最近最少使用 的數(shù)據(jù)從工作存儲(chǔ)器頁(yè)調(diào)出到外部存儲(chǔ)器中。
虛擬機(jī)還可包括從RAM分配給虛擬機(jī)的虛擬專(zhuān)用存儲(chǔ)器的交換存儲(chǔ) 器部分。虛擬機(jī)的交換存儲(chǔ)器用作為接收和存儲(chǔ)從高速緩沖存儲(chǔ)器和工作 存儲(chǔ)器頁(yè)調(diào)出的數(shù)據(jù)的存儲(chǔ)器位置,以替代將數(shù)據(jù)頁(yè)調(diào)出到磁盤(pán)存儲(chǔ)器。 在典型的場(chǎng)景中,當(dāng)存儲(chǔ)虛擬機(jī)所需數(shù)據(jù)(信息和程序)的高速緩沖存儲(chǔ) 器或工作存儲(chǔ)器不足時(shí),虛擬機(jī)中的客戶(hù)操作系統(tǒng)識(shí)別虛擬機(jī)的高速緩沖 存儲(chǔ)器或工作存儲(chǔ)器中最近最少使用的存儲(chǔ)器數(shù)據(jù)(作為四千字節(jié)的頁(yè))。
然后,客戶(hù)操作系統(tǒng)可以將最近最少使用的存儲(chǔ)器頁(yè)復(fù)制到虛擬機(jī)的交換 存儲(chǔ)器或磁盤(pán)存儲(chǔ)設(shè)備中。客戶(hù)操作系統(tǒng)基于管理員定義的虛擬機(jī)的配置, 確定是將頁(yè)調(diào)出到交換存儲(chǔ)器還是(磁盤(pán))存#^殳備。管理員可以配置虛 擬機(jī)以將頁(yè)調(diào)出到任意一個(gè),或者將頁(yè)調(diào)出到交換存儲(chǔ)器直到充滿(mǎn)然后再 將頁(yè)調(diào)出到磁盤(pán)。頁(yè)調(diào)出釋放了高速緩沖存儲(chǔ)器和工作存儲(chǔ)器,使得操作 系統(tǒng)能夠?qū)⑵渌枰臄?shù)據(jù)頁(yè)從交換存儲(chǔ)器或存儲(chǔ)設(shè)備頁(yè)調(diào)入到高速緩 沖存儲(chǔ)器或工作存儲(chǔ)器。
作為客戶(hù)操作系統(tǒng)的Linux操作系統(tǒng)(以及其他操作系統(tǒng))將管理程 序分配給它的虛擬專(zhuān)用存儲(chǔ)器虛擬化。在其自身的虛擬化過(guò)程中,Linux 操作系統(tǒng)過(guò)量使用管理程序分配給它的虛擬專(zhuān)用存儲(chǔ)器。例如,假定管理 程序?yàn)榫哂蠰inux (或其他)客戶(hù)操作系統(tǒng)的虛擬機(jī)分配了 3千兆字節(jié)的 虛擬專(zhuān)用存儲(chǔ)器。作為響應(yīng),Linux客戶(hù)操作系統(tǒng)可以自己為L(zhǎng)inux ^^作 系統(tǒng)上執(zhí)行的進(jìn)程虛擬地分配6千兆字節(jié)。這是可以實(shí)現(xiàn)的,因?yàn)檫@些進(jìn) 程平均來(lái)說(shuō)典型地使用比分配給它們的存儲(chǔ)器少得多的存儲(chǔ)器。但是, Linux操作系統(tǒng)(以及Microsoft Windoes操作系統(tǒng))傾向于在其工作存儲(chǔ) 器和高速緩沖存儲(chǔ)器中保留過(guò)期數(shù)據(jù),因?yàn)榇嬖谝欢ǖ臋C(jī)會(huì)將來(lái)需要這些 數(shù)據(jù),并且這會(huì)減少頁(yè)調(diào)出和頁(yè)調(diào)入。由于這樣的原因,典型地,Linux 操作系統(tǒng)在正常操作期間要么未能成功利用交換存儲(chǔ)器,要么對(duì)其交換存 儲(chǔ)器嚴(yán)重利用不足,即使Linux操作系統(tǒng)配置為使用交換存儲(chǔ)器用于頁(yè)調(diào)出。
管理程序追蹤在先驗(yàn)間隔期間每個(gè)虛擬機(jī)使用了多少存儲(chǔ)器(稱(chēng)為"工 作集")。管理程序使用所有虛擬機(jī)的組合大小的"工作集,,來(lái)確定它自 己和它后續(xù)可能創(chuàng)建的其他虛擬機(jī)可用的存儲(chǔ)器有多少。對(duì)于它自己和它 后續(xù)可能創(chuàng)建的其他虛擬機(jī)來(lái)說(shuō),管理程序過(guò)量使用可用的虛擬專(zhuān)用存儲(chǔ) 器,因?yàn)楣芾沓绦蚝退刑摂M機(jī)通常并不使用所有的其各自存儲(chǔ)器分配。
個(gè)別情況下,管理程序需要附加的存儲(chǔ)器用于它自己的操作,用以形 成另外的虛擬機(jī),或用以分配給存儲(chǔ)器不足的現(xiàn)有的、關(guān)鍵性虛擬機(jī)。在
上述情況的任何一種的情況下,管理程序(例如在IBM z/VM 5.1操作系 統(tǒng)中所建立的)可以請(qǐng)求具有多余虛擬專(zhuān)用存儲(chǔ)器的虛擬機(jī)自愿地放棄一 些其現(xiàn)有的虛擬專(zhuān)用存儲(chǔ)器分配。典型地,響應(yīng)于這樣的請(qǐng)求,虛擬機(jī)將 會(huì)放棄其全部虛擬專(zhuān)用存儲(chǔ)器分配中的一些,然后基于其剩余的虛擬專(zhuān)用 存儲(chǔ)器分配重新平衡工作存儲(chǔ)器和高速緩沖存儲(chǔ)器的量。 一些客戶(hù)操作系 統(tǒng)在高速緩沖存儲(chǔ)器可用的情況下將僅僅從其高速緩沖存儲(chǔ)器放棄虛擬專(zhuān) 用存儲(chǔ)器。如果存在交換存儲(chǔ)器分配的話(huà),該交換存儲(chǔ)器分配不受影響。 然而,這會(huì)使得一些或全部虛擬機(jī)用以有效執(zhí)行其工作項(xiàng)目的虛擬專(zhuān)用存 儲(chǔ)器的量不足。
本發(fā)明的一個(gè)目的是更好地管理存儲(chǔ)器的分配。 本發(fā)明的另一目的是更好地管理為虛擬機(jī)的存儲(chǔ)器分配。

發(fā)明內(nèi)容
本發(fā)明駐留在管理由虛擬機(jī)控制程序?yàn)槎鄠€(gè)虛擬機(jī)分配的虛擬存儲(chǔ)器 的系統(tǒng)、計(jì)算;l^4呈序產(chǎn)品和方法中。所述虛擬機(jī)中的每一個(gè)具有被劃分為 工作存儲(chǔ)器、高速緩沖存儲(chǔ)器和交換存儲(chǔ)器的虛擬專(zhuān)用存儲(chǔ)器分配。所述 虛擬機(jī)控制程序確定它需要附加的虛擬存儲(chǔ)器分配,作為響應(yīng),所述虛擬 機(jī)控制程序向所述虛擬機(jī)發(fā)出各自請(qǐng)求,以將其各自工作存儲(chǔ)器和/或高速 緩沖存儲(chǔ)器中的一些轉(zhuǎn)換為交換存儲(chǔ)器。
根據(jù)本發(fā)明的特征,所述請(qǐng)求中的每一個(gè)指定要轉(zhuǎn)換為交換存儲(chǔ)器的工作存儲(chǔ)器和/或高速緩沖存儲(chǔ)器的量。所述多個(gè)虛擬機(jī)包括各自的多個(gè)客戶(hù)操作系統(tǒng),所述多個(gè)客戶(hù)操作系統(tǒng)被編程為,與分配給它們各自虛擬機(jī)的交換存儲(chǔ)器相比,更為充分地利用分配給它們各自虛擬機(jī)的工作存儲(chǔ)器和/或高速緩沖存儲(chǔ)器。
本發(fā)明還駐留在管理由虛擬機(jī)控制程序?yàn)槎鄠€(gè)虛擬機(jī)分配的虛擬存儲(chǔ)器的系統(tǒng)、計(jì)算機(jī)程序產(chǎn)品和方法中。所述虛擬機(jī)中的每一個(gè)具有^皮劃分為工作存儲(chǔ)器、高速緩沖存儲(chǔ)器和交換存儲(chǔ)器的虛擬專(zhuān)用存儲(chǔ)器分配。所述虛擬機(jī)控制程序確定它需要比當(dāng)前分配給所述虛擬機(jī)控制程序的虛擬存儲(chǔ)器更少的虛擬存儲(chǔ)器分配,作為響應(yīng),所述虛擬機(jī)控制程序向所述虛擬機(jī)發(fā)出各自請(qǐng)求,以將其各自交換存儲(chǔ)器中的一些轉(zhuǎn)換為工作存儲(chǔ)器和/或高速緩沖存儲(chǔ)器。
根據(jù)本發(fā)明的特征,所述請(qǐng)求中的每一個(gè)指定要轉(zhuǎn)換為工作存儲(chǔ)器和/或高速緩沖存儲(chǔ)器的交換存儲(chǔ)器的量。所述多個(gè)虛擬機(jī)包括各自的多個(gè)客戶(hù)操作系統(tǒng),所^戶(hù)操作系統(tǒng)被編程為,與分配給它們各自虛擬機(jī)的交換存儲(chǔ)器相比,更為充分地利用分配給它們各自虛擬機(jī)的工作存儲(chǔ)器和/或高速緩沖存儲(chǔ)器。


圖1是根據(jù)本發(fā)明包括客戶(hù)操作系統(tǒng)和管理程序的實(shí)際計(jì)算機(jī)的框圖。
圖2是圖1的管理程序的功能和操作的流程圖。
圖3是圖1的客戶(hù)操作系統(tǒng)的功能和操作的流程圖。
具體實(shí)施例方式
現(xiàn)在參照附圖詳細(xì)描述本發(fā)明。圖l說(shuō)明根據(jù)本發(fā)明一個(gè)實(shí)施例的總體標(biāo)為10的計(jì)算機(jī)系統(tǒng)。計(jì)算機(jī)系統(tǒng)10包括實(shí)際/物理計(jì)算機(jī)20,其具有實(shí)際CPU23, RAM24, 1/0設(shè)備25,外部存儲(chǔ)器26,以及外部梯匸作員控制臺(tái)27。在本發(fā)明一個(gè)實(shí)施例中,計(jì)算機(jī)20沒(méi)有被劃分為邏輯分區(qū)("LPAR")。然而,在本發(fā)明另一個(gè)實(shí)施例中,公知的邏輯分區(qū)程序(未示出)將計(jì)算機(jī)20劃分為L(zhǎng)PAR,圖1中示出一個(gè)這樣的LPAR。LPAR是計(jì)算機(jī)20的實(shí)際計(jì)算機(jī)資源的實(shí)際或邏輯分區(qū)。例如,如果計(jì)算機(jī)20包括8個(gè)處理器,那么邏輯分區(qū)程序可以為4個(gè)LPAR中的每一個(gè)分配2個(gè)實(shí)際處理器,或者邏輯分區(qū)程序可以在4個(gè)LPAR之間分時(shí)共享全部8個(gè)處理器。邏輯分區(qū)程序還將計(jì)算機(jī)20的總存儲(chǔ)器在不同LPAR之間劃分,將每個(gè)LPAR使用的邏輯地址轉(zhuǎn)譯成實(shí)際數(shù)據(jù)存儲(chǔ)于其中的實(shí)際存儲(chǔ)器地址。作為示例,實(shí)際計(jì)算機(jī)20可以是IBM z系列服務(wù)器,不過(guò)本發(fā)明也可以在其它服務(wù)器計(jì)算機(jī)或個(gè)人計(jì)算機(jī)中實(shí)施。在計(jì)算機(jī)20被劃分為L(zhǎng)PAR的實(shí)施例中,邏輯分區(qū)程序可以是已知的IBM處理器資源/資源管理器("PR/SM" ) (tm)程序。
管理程序40在計(jì)算機(jī)20中執(zhí)行,并將計(jì)算機(jī)20的實(shí)際資源劃分為虛擬機(jī)33, 34和35 (以及其它未示出的虛擬機(jī))。換言之,管理程序40將包含計(jì)算機(jī)20的CPU23,存儲(chǔ)器24, 1/0設(shè)備25和磁盤(pán)存儲(chǔ)器26的計(jì)算機(jī)資源進(jìn)行邏輯劃分和虛擬化,以形成用于虛擬機(jī)33, 34和35中每個(gè)虛擬機(jī)的資源平臺(tái)。(如果計(jì)算機(jī)20被劃分為不同的LPAR,那么與管理程序40類(lèi)似的單獨(dú)管理程序在每個(gè)LPAR中執(zhí)行,將每個(gè)LPAR邏輯劃分為虛擬機(jī))。例如,管理程序40為每個(gè)虛擬機(jī)33, 34和35分配實(shí)際處理器23的分時(shí)共享和映射到實(shí)際RAM24的一段虛擬專(zhuān)用存儲(chǔ)器。例如,管理程序40將虛擬專(zhuān)用存儲(chǔ)器133分配給虛擬機(jī)33,將虛擬專(zhuān)用存儲(chǔ)器134分配給虛擬機(jī)34,并將虛擬專(zhuān)用存儲(chǔ)器135分配給虛擬機(jī)35。當(dāng)虛擬機(jī)33, 34或35尋址其虛擬專(zhuān)用存儲(chǔ)器時(shí),管理程序40將虛擬存儲(chǔ)器地址轉(zhuǎn)譯成實(shí)際存儲(chǔ)器24的實(shí)際地址。管理程序40可以請(qǐng)求各自虛擬機(jī)中的客戶(hù)操作系統(tǒng)增加或減小其各自的交換存儲(chǔ)器,以分別滿(mǎn)足管理程序用于其自身或其它虛擬機(jī)的對(duì)更多或更少虛擬專(zhuān)用存儲(chǔ)器的需要。
客戶(hù)操作系統(tǒng)43, 44和45在各自的虛擬機(jī)33, 34和35中執(zhí)行,應(yīng)用53, 54和55以及中間件63, 64和65在各自的客戶(hù)操作系統(tǒng)43, 44和45上執(zhí)行。然而,每個(gè)客戶(hù)操作系統(tǒng)上可能執(zhí)行多個(gè)應(yīng)用。作為示例,客戶(hù)操作系統(tǒng)可以是根據(jù)本發(fā)明修改的Linux(Linus Torvalds的商標(biāo))操 作系統(tǒng)或IBM CMS操作系統(tǒng),以履行來(lái)自管理程序的請(qǐng)求,所述請(qǐng)求用 以增加或減小虛擬專(zhuān)用存儲(chǔ)器,并同時(shí)增加或減小交換存儲(chǔ)器,以補(bǔ)償同 時(shí)增加的或減小的工作存儲(chǔ)器和高速緩沖存儲(chǔ)器,使得每個(gè)虛擬機(jī)中分配 的總的虛擬專(zhuān)用存儲(chǔ)器大致保持相同。也可以使用其它操作系統(tǒng),例如根 據(jù)本發(fā)明修改的Microsoft Windows (tm)操作系統(tǒng),Unix (tm )操作系 統(tǒng),Sun Microsystems Solaris (tm)操作系統(tǒng),或Hewlett Packard HP UX 操作系統(tǒng)。作為示例,應(yīng)用53, 54和55可以是IBM DB2數(shù)據(jù)庫(kù)管理應(yīng) 用,中間件63, 64和65可以是IBM Websphere程序。除了使用虛擬專(zhuān)用 存儲(chǔ)器這一點(diǎn)之外,應(yīng)用53, 54和55以及中間件63, 64和65的性質(zhì)不 構(gòu)成本發(fā)明的一部分。各自虛擬機(jī)33, 34和35中的客戶(hù)操作系統(tǒng)43, 44 和45將其各自的虛擬專(zhuān)用存儲(chǔ)器分配133, 134和135劃分為各自的(虛 擬)工作存儲(chǔ)器233, 234和235,高速緩沖存儲(chǔ)器333, 334和335,以及 交換存儲(chǔ)器433, 434和435??蛻?hù)操作系統(tǒng)、中間件和應(yīng)用以及用于計(jì)算 機(jī)10中每個(gè)虛擬機(jī)的它們的數(shù)據(jù)存儲(chǔ)在分配給虛擬機(jī)的各自的工作存儲(chǔ) 器中。高速緩沖存儲(chǔ)器包含從(磁盤(pán))存儲(chǔ)器或交換存儲(chǔ)器存取的數(shù)據(jù)和 相關(guān)聯(lián)的元數(shù)據(jù)。元數(shù)據(jù)包含到數(shù)據(jù)文件的目錄和子目錄路徑、當(dāng)前正被 寫(xiě)入或讀取的文件中的記錄的標(biāo)識(shí)、文件的大小、文件中記錄的大小、文 件中數(shù)據(jù)的類(lèi)型(ASCII, EBCDIC,或者是二進(jìn)制)、文件存儲(chǔ)在磁盤(pán) 上的何處,等等。大多數(shù)客戶(hù)操作系統(tǒng)包括一些算法,用于確定當(dāng)高速緩 沖存儲(chǔ)器充滿(mǎn)時(shí)應(yīng)該將數(shù)據(jù)的哪些頁(yè)保留在高速緩沖存儲(chǔ)器中,以及當(dāng)工 作存儲(chǔ)器充滿(mǎn)時(shí)應(yīng)該將數(shù)據(jù)的哪些頁(yè)保留在工作存儲(chǔ)器中。例如,大多數(shù) 客戶(hù)操作系統(tǒng)使用最近最少使用算法,用以當(dāng)高速緩沖存儲(chǔ)器中用于虛擬 機(jī)所需新數(shù)據(jù)的空間不足時(shí)將最近最少使用的數(shù)據(jù)從高速緩沖存儲(chǔ)器頁(yè)調(diào)
出到外部存儲(chǔ)器或交換存儲(chǔ)器中,并使用相似算法,用以當(dāng)工作存儲(chǔ)器中 用于虛擬機(jī)所需新數(shù)據(jù)的空間不足時(shí)將最近最少使用的數(shù)據(jù)從工作存儲(chǔ)器 頁(yè)調(diào)出到外部存儲(chǔ)器或交換存儲(chǔ)器中。每個(gè)交換存儲(chǔ)器用于接收和存儲(chǔ)從 高速緩沖存儲(chǔ)器和工作存儲(chǔ)器頁(yè)調(diào)出的數(shù)據(jù),作為將數(shù)據(jù)頁(yè)調(diào)出到磁盤(pán)存儲(chǔ)器的替代方式。交換存儲(chǔ)器中駐留的數(shù)據(jù)在需要時(shí)也會(huì)被頁(yè)調(diào)入。每個(gè) 客戶(hù)操作系統(tǒng)基于虛擬機(jī)的用戶(hù)配置,選擇將數(shù)據(jù)頁(yè)調(diào)出到交換存儲(chǔ)器, 還是頁(yè)調(diào)出到磁盤(pán)存儲(chǔ)器。在本發(fā)明中,客戶(hù)操作系統(tǒng)被配置為將數(shù)據(jù)頁(yè) 調(diào)出到交換存儲(chǔ)器,并從交換存儲(chǔ)器頁(yè)調(diào)入數(shù)據(jù)。在典型場(chǎng)景中,當(dāng)存儲(chǔ) 虛擬機(jī)所需數(shù)據(jù)(信息和程序)的高速緩沖存儲(chǔ)器或工作存儲(chǔ)器不足時(shí), 虛擬機(jī)中的客戶(hù)操作系統(tǒng)識(shí)別虛擬機(jī)的高速緩沖存儲(chǔ)器或工作存儲(chǔ)器中最
近最少使用的存儲(chǔ)器數(shù)據(jù)(作為4千字節(jié)的頁(yè))。然后,客戶(hù)操作系統(tǒng)將 最近最少使用的存儲(chǔ)器頁(yè)復(fù)制到虛擬機(jī)的交換存儲(chǔ)器。這釋放了虛擬機(jī)的 高速緩沖存儲(chǔ)器和工作存儲(chǔ)器,以使得各自客戶(hù)操作系統(tǒng)能夠?qū)⑵渌?要的數(shù)據(jù)頁(yè)從交換存儲(chǔ)器頁(yè)調(diào)入到高速緩沖存儲(chǔ)器或工作存儲(chǔ)器。
管理程序40還為自己分配虛擬專(zhuān)用存儲(chǔ)器140,并將自己的虛擬專(zhuān)用 存儲(chǔ)器140劃分為工作存儲(chǔ)器240,高速緩沖存儲(chǔ)器340和交換存儲(chǔ)器440。 管理程序40還分配共享存儲(chǔ)器150 (所有虛擬機(jī)33, 34和35可存取并共 享該存儲(chǔ)器)。
作為客戶(hù)操作系統(tǒng)的Linux操作系統(tǒng)(Microsoft Windows操作系統(tǒng) 以及其他操作系統(tǒng))將管理程序40分配給它的虛擬專(zhuān)用存儲(chǔ)器虛擬化。在 其自身的虛擬化過(guò)程中,Linux操作系統(tǒng)過(guò)量使用管理程序40分配給它的 虛擬專(zhuān)用存儲(chǔ)器。例如,假定管理程序?yàn)榫哂蠰inux (或其他)客戶(hù)操作 系統(tǒng)的虛擬機(jī)分配了 3千兆字節(jié)的虛擬專(zhuān)用存儲(chǔ)器。作為響應(yīng),Linux客 戶(hù)操作系統(tǒng)可以自己為L(zhǎng)inux操作系統(tǒng)上執(zhí)行的進(jìn)程虛擬地分配6千兆字 節(jié)。這是可以實(shí)現(xiàn)的,因?yàn)檫@些進(jìn)程平均來(lái)說(shuō)典型地使用比分配給它們的 存儲(chǔ)器少得多的存儲(chǔ)器。
Linux操作系統(tǒng)(以及Microsoft Windows操作系統(tǒng))傾向于在其工 作存儲(chǔ)器和高速緩沖存儲(chǔ)器中保留非最近使用的數(shù)據(jù),因?yàn)榇嬖谝欢ǖ臋C(jī) 會(huì)將來(lái)需要這些數(shù)據(jù),并且這會(huì)減少后續(xù)的頁(yè)調(diào)出和頁(yè)調(diào)入。由于這樣的 原因,Linux操作系統(tǒng)(和Microsoft Windows ^^作系統(tǒng))在正常^作期 間通常不使用交換存儲(chǔ)器,或者對(duì)其交換存儲(chǔ)器利用嚴(yán)重不足,即使它被 配置為使用交換存儲(chǔ)器用于頁(yè)調(diào)出(和頁(yè)調(diào)入)。下面是當(dāng)配置為使用交換存儲(chǔ)器時(shí),在正常操作期間的某時(shí)刻管理程
序40和客戶(hù)操作系統(tǒng)43, 44和45進(jìn)行的存儲(chǔ)器分配的例子
部件
管理程序分配的 虛擬專(zhuān)用存儲(chǔ)器
實(shí)際存儲(chǔ)器 (15千兆字節(jié))
管理程序40
工作存儲(chǔ)器240: 高速緩沖存儲(chǔ)器340: 交換存儲(chǔ)器440:
虛擬機(jī)33
工作存儲(chǔ)器233: 高速緩沖存儲(chǔ)器333: 交換存儲(chǔ)器433:
虛擬機(jī)34
工作存儲(chǔ)器234: 高速緩沖存儲(chǔ)器334: 交換存儲(chǔ)器434:
虛擬機(jī)35
工作存儲(chǔ)器235: 高速緩沖存儲(chǔ)器335: 交換存儲(chǔ)器435:
4千兆字節(jié) 1千兆字節(jié) 0.5千兆字節(jié)
5千兆字節(jié) 2千兆字節(jié) 1千兆字節(jié)
5千兆字節(jié) 2千兆字節(jié) 1千兆字節(jié)
客戶(hù)操作系統(tǒng)基于管理 程序分配的虛擬專(zhuān)用存 儲(chǔ)器而分配的虛擬專(zhuān)用 專(zhuān)用存儲(chǔ)器
IO千兆字節(jié) 4千兆字節(jié) 2千兆字節(jié)
10千兆字節(jié) 4千兆字節(jié) 2千兆字節(jié)
5千兆字節(jié) 2千兆字節(jié) 1千兆字節(jié)
2.5千兆字節(jié) 1千兆字節(jié) 0.5千兆字節(jié)
注意到,在這個(gè)示例中,計(jì)算機(jī)IO中總的實(shí)際存儲(chǔ)器(15千兆字節(jié)) 顯著小于管理程序40分配的所有虛擬存儲(chǔ)器的組合(41.5千兆字節(jié))。在 這個(gè)示例中,由所有客戶(hù)操作系統(tǒng)分配給其進(jìn)程的虛擬的虛擬存儲(chǔ)器總量 甚至更高(83千兆字節(jié))。這是可以實(shí)現(xiàn)的,因?yàn)楣芾沓绦?0和虛擬機(jī)33-35通常使用比其各自的虛擬存儲(chǔ)器分配要少得多的虛擬存儲(chǔ)器。假定在這個(gè)示例中,計(jì)算機(jī)10中所有進(jìn)程的實(shí)際存儲(chǔ)器消耗在8千兆字節(jié)和13千兆字節(jié)之間變動(dòng)。
在這個(gè)示例中,假定,在稍后的時(shí)間,管理程序40需要附加的虛擬專(zhuān)用存儲(chǔ)器(例如,大約附加5千兆字節(jié))用于它自己。因此,管理程序40請(qǐng)求各自虛擬機(jī)33 , 34和35中的客戶(hù)操作系統(tǒng)43, 44和45通過(guò)將工作存儲(chǔ)器和/或高速緩沖存儲(chǔ)器轉(zhuǎn)換為附加的交換存儲(chǔ)器來(lái)增加特定量的其各自的交換存儲(chǔ)器。例如,為了為自己釋放大約5千兆字節(jié)的實(shí)際存儲(chǔ)器,管理程序40將請(qǐng)求客戶(hù)操作系統(tǒng)43將附加的2千兆字節(jié)的虛擬專(zhuān)用存儲(chǔ)器(也就是,工作存儲(chǔ)器和/或高速緩沖存儲(chǔ)器)轉(zhuǎn)換為交換存儲(chǔ)器,管理程序40將請(qǐng)求客戶(hù)操作系統(tǒng)44將附加的2千兆字節(jié)的虛擬專(zhuān)用存儲(chǔ)器(也就是,工作存儲(chǔ)器和/或高速緩沖存儲(chǔ)器)轉(zhuǎn)換為交換存儲(chǔ)器,并且管理程序40將請(qǐng)求客戶(hù)操作系統(tǒng)43將附加的1千兆字節(jié)的虛擬專(zhuān)用存儲(chǔ)器(也就是,工作存儲(chǔ)器和/或高速緩沖存儲(chǔ)器)轉(zhuǎn)換為交換存儲(chǔ)器。這就總體增加了 5千兆字節(jié)的交換存儲(chǔ)器。響應(yīng)于上述請(qǐng)求,每個(gè)客戶(hù)操作系統(tǒng)將指定量的其工作存儲(chǔ)器和/或高速緩沖存儲(chǔ)器轉(zhuǎn)換為交換存儲(chǔ)器。(如果任何客戶(hù)操作系統(tǒng)不具有符合該請(qǐng)求的足夠的可用工作存儲(chǔ)器或高速緩沖存儲(chǔ)器,那么該客戶(hù)操作系統(tǒng)將盡它所能夠達(dá)到的程度來(lái)履行)。每個(gè)客戶(hù)操作系統(tǒng)使用它自己的算法來(lái)確定將多少當(dāng)前工作存儲(chǔ)器轉(zhuǎn)換為交換存儲(chǔ)器,以及將多少當(dāng)前高速緩沖存儲(chǔ)器轉(zhuǎn)換為交換存儲(chǔ)器來(lái)滿(mǎn)足管理程序的請(qǐng)求。例如,每個(gè)客戶(hù)操作系統(tǒng)可以基于其目前的分配狀況,成比例地將現(xiàn)有工作存儲(chǔ)器和現(xiàn)有高速緩沖存儲(chǔ)器轉(zhuǎn)換為交換存儲(chǔ)器來(lái)滿(mǎn)足管理程序的請(qǐng)求。在前述的示例中,以下是管理程序請(qǐng)求每個(gè)虛擬存儲(chǔ)器將指定量的其虛擬專(zhuān)用存儲(chǔ)器(也就是,工作存儲(chǔ)器和/或高速緩沖存儲(chǔ)器)轉(zhuǎn)換為交換存儲(chǔ)器,并且每個(gè)虛擬機(jī)履行其工作存儲(chǔ)器和高速緩沖存儲(chǔ)器的成比例減小之后的存儲(chǔ)器分配狀況。部件
管理程序分配的虛擬專(zhuān)用存儲(chǔ)器
實(shí)際存儲(chǔ)器
(15千兆字節(jié))
管理程序40
工作存儲(chǔ)器240:高速緩沖存儲(chǔ)器340:交換存儲(chǔ)器440:
虛擬機(jī)33
工作存儲(chǔ)器233:高速緩沖存儲(chǔ)器333:交換存儲(chǔ)器433:
虛擬機(jī)34
工作存儲(chǔ)器234:高速緩沖存儲(chǔ)器334:交換存儲(chǔ)器434:
虛擬機(jī)35
工作存儲(chǔ)器235:高速緩沖存儲(chǔ)器335:交換存儲(chǔ)器435:
7.60千兆字節(jié)1.90千兆字節(jié)0.95千兆字節(jié)
3.57千兆字節(jié)1.43千兆字節(jié)3千兆字節(jié)
3.57千兆字節(jié)1.43千兆字節(jié)3千兆字節(jié)
客戶(hù)操作系統(tǒng)基于管理程序分配的虛擬專(zhuān)用存儲(chǔ)器而分配的虛擬專(zhuān)用存儲(chǔ)器
7.14千兆字節(jié)2.86千兆字節(jié)6千兆字節(jié)
7.14千兆字節(jié)2.86千兆字節(jié)6千兆字節(jié)
3.56千兆字節(jié)1.44千兆字節(jié)3千兆字節(jié)
1.78千兆字節(jié).72千兆字節(jié)1.5千兆字節(jié)
在這個(gè)示例中,管理程序40將其總虛擬專(zhuān)用存儲(chǔ)器分配增加了 5千兆字節(jié),虛擬機(jī)33成比例地將2千兆字節(jié)的組合的工作存儲(chǔ)器和高速緩沖存儲(chǔ)器轉(zhuǎn)換為交換存儲(chǔ)器,虛擬機(jī)34成比例地將2千兆字節(jié)的組合的工作存儲(chǔ)器和高速緩沖存儲(chǔ)器轉(zhuǎn)換為交換存儲(chǔ)器,虛擬機(jī)35成比例地將1千兆字節(jié)的組合的工作存儲(chǔ)器和高速緩沖存儲(chǔ)器轉(zhuǎn)換為交換存儲(chǔ)器。在這個(gè)示例中,給每個(gè)虛擬機(jī)33, 34和35的總的虛擬專(zhuān)用存儲(chǔ)器分配并沒(méi)有改變,盡管給管理程序40的總存儲(chǔ)器分配增加了 5千兆字節(jié)。這是可以實(shí)現(xiàn)的, 因?yàn)槠骄鶃?lái)說(shuō),每個(gè)虛擬機(jī)對(duì)其各自的交換存儲(chǔ)器嚴(yán)重利用不足,但是在 需要輔助頁(yè)調(diào)出時(shí),交換存儲(chǔ)器可用于各自虛擬機(jī)。(在本發(fā)明另一實(shí)施 例中,每個(gè)虛擬機(jī)將增加其交換存儲(chǔ)器的量,但是更多地減少工作存儲(chǔ)器
和/或高速緩沖存儲(chǔ)器的量)。
利用每個(gè)虛擬機(jī)中從工作存儲(chǔ)器和高速緩沖存儲(chǔ)器到交換存儲(chǔ)器的轉(zhuǎn) 換,虛擬機(jī)實(shí)際上將總體更少地使用虛擬專(zhuān)用存儲(chǔ)器,因?yàn)榻粨Q存儲(chǔ)器僅 在需要時(shí)才使用,而通常高速緩沖存儲(chǔ)器和工作存儲(chǔ)器不管是否需要都會(huì) 充分使用。這為管理程序提供了額外的可用存儲(chǔ)器。每個(gè)虛擬機(jī)中額外的 交換存儲(chǔ)器傾向于補(bǔ)償每個(gè)虛擬機(jī)中減少的工作存儲(chǔ)器和高速緩沖存儲(chǔ) 器,因?yàn)闇p少的工作存儲(chǔ)器和高速緩沖存儲(chǔ)器會(huì)有更多的頁(yè)調(diào)出和頁(yè)調(diào)入, 附加的交換存儲(chǔ)器會(huì)在需要時(shí)輔助頁(yè)調(diào)出和頁(yè)調(diào)入。
在這個(gè)示例中,假定在稍后時(shí)間,管理程序40需要更少的虛擬專(zhuān)用存 儲(chǔ)器(例如,大約少5千兆字節(jié))用于它自己。因此,管理程序40請(qǐng)求各 自虛擬機(jī)33, 34和35中的客戶(hù)^Mt系統(tǒng)43, 44和45將特定量的其各自 的交換存儲(chǔ)器轉(zhuǎn)換為工作存儲(chǔ)器和/或高速緩沖存儲(chǔ)器,由此減少每個(gè)虛擬 機(jī)中的交換存儲(chǔ)器的量。作為響應(yīng),每個(gè)客戶(hù)操作系統(tǒng)將特定量的交換存 儲(chǔ)器轉(zhuǎn)換為工作存儲(chǔ)器和/或高速緩沖存儲(chǔ)器。每個(gè)客戶(hù)操作系統(tǒng)使用它自 己的算法來(lái)確定將多少指定量的交換存儲(chǔ)器轉(zhuǎn)換為工作存儲(chǔ)器,以及將多 少指定量的交換存儲(chǔ)器轉(zhuǎn)換為高速緩沖存儲(chǔ)器。在前述示例中,每個(gè)客戶(hù) 操作系統(tǒng)可以基于其目前的分配狀況,成比例地將指定量的交換存儲(chǔ)器轉(zhuǎn) 換為工作存儲(chǔ)器和高速緩沖存儲(chǔ)器。例如,為了放棄大約5千兆字節(jié)的實(shí) 際存儲(chǔ)器用于自己使用,管理程序40將請(qǐng)求客戶(hù)操作系統(tǒng)43將2千兆字 節(jié)的其交換存儲(chǔ)器轉(zhuǎn)換為工作存儲(chǔ)器和/或高速緩沖存儲(chǔ)器,管理程序40 將請(qǐng)求客戶(hù)操作系統(tǒng)44將2千兆字節(jié)的交換存儲(chǔ)器轉(zhuǎn)換為工作存儲(chǔ)器和/ 或高速緩沖存儲(chǔ)器,并且管理程序40將請(qǐng)求客戶(hù)操作系統(tǒng)43將1千兆字 節(jié)的交換存儲(chǔ)器轉(zhuǎn)換為工作存儲(chǔ)器和/或高速緩沖存儲(chǔ)器。這就總體減少了 5千兆字節(jié)的交換存儲(chǔ)器。響應(yīng)于上述請(qǐng)求,每個(gè)客戶(hù)操作系統(tǒng)將指定量的其減少的交換存儲(chǔ)器轉(zhuǎn)換為工作存儲(chǔ)器和/或高速緩沖存儲(chǔ)器。每個(gè)客戶(hù) 操作系統(tǒng)使用它自己的算法來(lái)確定增加多少其當(dāng)前工作存儲(chǔ)器和多少當(dāng)前 高速緩沖存儲(chǔ)器來(lái)滿(mǎn)足管理程序的請(qǐng)求。例如,每個(gè)客戶(hù)操作系統(tǒng)可以基 于工作存儲(chǔ)器和高速緩沖存儲(chǔ)器的目前分配狀況,成比例地將額外的交換
存儲(chǔ)器轉(zhuǎn)換為工作存儲(chǔ)器和高速緩沖存儲(chǔ)器,以滿(mǎn)足管理程序的請(qǐng)求。替 代地,每個(gè)客戶(hù)操作系統(tǒng)可以基于工作存儲(chǔ)器和高速緩沖存儲(chǔ)器的目前使 用狀況,將額外的交換存儲(chǔ)器轉(zhuǎn)換為工作存儲(chǔ)器和高速緩沖存儲(chǔ)器。替代 地,每個(gè)客戶(hù)操作系統(tǒng)可以將所有額外的交換存儲(chǔ)器轉(zhuǎn)換為高速緩沖存儲(chǔ) 器。在前述的示例中,以下是管理程序請(qǐng)求每個(gè)虛擬存儲(chǔ)器將指定量的其 交換存儲(chǔ)器轉(zhuǎn)換為工作存儲(chǔ)器和/或高速緩沖存儲(chǔ)器,并且每個(gè)虛擬機(jī)履行 其工作存儲(chǔ)器和高速緩沖存儲(chǔ)器的成比例增加之后的存儲(chǔ)器分配狀況。
部件
管理程序分配的 虛擬專(zhuān)用存儲(chǔ)器
實(shí)際存儲(chǔ)器
(15千兆字節(jié))
管理程序40
工作存儲(chǔ)器240: 高速緩沖存儲(chǔ)器340: 交換存儲(chǔ)器440:
虛擬機(jī)33
工作存儲(chǔ)器233: 高速緩沖存儲(chǔ)器333: 交換存儲(chǔ)器433:
虛擬機(jī)34
工作存儲(chǔ)器234:
4千兆字節(jié) 1千兆字節(jié) 0.5千兆字節(jié)
5千兆字節(jié) 2千兆字節(jié) l千兆字節(jié)
5千兆字節(jié)
客戶(hù)操作系統(tǒng)基于管理 程序分配的虛擬專(zhuān)用存 儲(chǔ)器而分配的虛擬專(zhuān)用 存儲(chǔ)器
IO千兆字節(jié) 4千兆字節(jié) 2千兆字節(jié)
IO千兆字節(jié)高速緩沖存儲(chǔ)器334 交換存儲(chǔ)器434: 虛擬才幾35
工作存儲(chǔ)器235: 高速緩沖存儲(chǔ)器335 交換存儲(chǔ)器435:
2千兆字節(jié) 1千兆字節(jié)
4千兆字節(jié) 2千兆字節(jié)
2.5千兆字節(jié) 1千兆字節(jié) 0.5千兆字節(jié)
5千兆字節(jié) 2千兆字節(jié) 1千兆字節(jié)
在這個(gè)示例中,管理程序40將其總虛擬專(zhuān)用存儲(chǔ)器分配減少了 5千兆 字節(jié),虛擬機(jī)33將2千兆字節(jié)的交換存儲(chǔ)器轉(zhuǎn)換為工作存儲(chǔ)器和高速緩沖 存儲(chǔ)器,虛擬機(jī)34將2千兆字節(jié)的交換存儲(chǔ)器轉(zhuǎn)換為工作存儲(chǔ)器和高速緩 沖存儲(chǔ)器,虛擬機(jī)35將1千兆字節(jié)的交換存儲(chǔ)器轉(zhuǎn)換為工作存儲(chǔ)器和高速 緩沖存儲(chǔ)器。在這個(gè)示例中,給每個(gè)虛擬機(jī)的總的虛擬專(zhuān)用存儲(chǔ)器分配并 沒(méi)有改變,盡管給管理程序40的總存儲(chǔ)器分配減少了 5千兆字節(jié)。這是可 以實(shí)現(xiàn)的,因?yàn)槠骄鶃?lái)"i兌,每個(gè)虛擬機(jī)比4吏用存儲(chǔ)器更充分地4吏用工作存 儲(chǔ)器和高速緩沖存儲(chǔ)器。
圖2更詳細(xì)地說(shuō)明管理程序40的^Mt和功能。在步驟600,管理程序 40監(jiān)視其自己的虛擬專(zhuān)用存儲(chǔ)器150的當(dāng)前總利用狀況。管理程序40通 過(guò)監(jiān)M其自己的虛擬專(zhuān)用存儲(chǔ)器的頁(yè)調(diào)出和頁(yè)調(diào)入的量來(lái)監(jiān)視虛擬專(zhuān)用 存儲(chǔ)器的當(dāng)前使用狀況。如果管理程序的虛擬專(zhuān)用存儲(chǔ)器被充分使用或接 近充分使用,將會(huì)有大量的頁(yè)調(diào)出和頁(yè)調(diào)入,因?yàn)榭捎玫墓ぷ鞔鎯?chǔ)器和高 速緩沖存儲(chǔ)器不足,反之亦然。例如,在工作存儲(chǔ)器和高速緩沖存儲(chǔ)器不 足的情況下,預(yù)定間隔期間頁(yè)調(diào)出和頁(yè)調(diào)入的數(shù)目將會(huì)高于預(yù)定上限閾值。 接著,管理程序40確定其自己的虛擬專(zhuān)用存儲(chǔ)器150的當(dāng)前總使用是否高 于閾值,例如,頁(yè)調(diào)出和頁(yè)調(diào)入的數(shù)目是否高于預(yù)定上限閾值(決定604)。 如果管理程序40的虛擬專(zhuān)用存儲(chǔ)器150的當(dāng)前總使用超過(guò)預(yù)定閾值(決定 604,"是"分支),那么管理程序40確定管理程序40所需要的附加虛擬 專(zhuān)用存儲(chǔ)器的總量(步驟608)。在步驟608,管理程序40基于頁(yè)調(diào)出和 頁(yè)調(diào)入的數(shù)目確定它所需要的虛擬專(zhuān)用存儲(chǔ)器的總量。管理程序40經(jīng)歷的 頁(yè)調(diào)出和頁(yè)調(diào)入越多,管理程序40所需要的虛擬專(zhuān)用存儲(chǔ)器就越多。接下來(lái),管理程序40確定每個(gè)虛擬機(jī)應(yīng)該增加多少交換存儲(chǔ)器來(lái)達(dá)到管理程序 40所需要的虛擬專(zhuān)用存儲(chǔ)器的總的附加量。例如,管理程序40可以要求 每個(gè)虛擬機(jī)將相等量的虛擬專(zhuān)用存儲(chǔ)器轉(zhuǎn)換為交換存儲(chǔ)器以達(dá)到管理程序 40所需要的量。這樣,如果管理程序需要5千兆字節(jié)的虛擬專(zhuān)用存儲(chǔ)器并 且有5個(gè)虛擬機(jī),那么管理程序40可以請(qǐng)求每個(gè)虛擬機(jī)將1千兆字節(jié)的自 己的工作存儲(chǔ)器和/或高速緩沖存儲(chǔ)器轉(zhuǎn)換為交換存儲(chǔ)器。作為另一示例, 區(qū)分虛擬機(jī)的優(yōu)先級(jí),相比于管理程序40請(qǐng)求較高優(yōu)先級(jí)的虛擬機(jī)轉(zhuǎn)換為 交換存儲(chǔ)器,管理程序40請(qǐng)求較低優(yōu)先級(jí)的虛擬機(jī)將更大量的工作存儲(chǔ)器 和/或高速緩沖存儲(chǔ)器轉(zhuǎn)換為交換存儲(chǔ)器。接下來(lái),管理程序40向每個(gè)虛 擬機(jī)33, 34和35發(fā)送請(qǐng)求,以將各自的指定量的工作存儲(chǔ)器和/或高速緩 沖存儲(chǔ)器轉(zhuǎn)換為交換存儲(chǔ)器(步驟630 )。在前述示例中,管理程序40請(qǐng) 求虛擬機(jī)33將2千兆字節(jié)的工作存儲(chǔ)器和/或高速緩沖存儲(chǔ)器轉(zhuǎn)換為交換 存儲(chǔ)器,管理程序40請(qǐng)求虛擬機(jī)34將2千兆字節(jié)的工作存儲(chǔ)器和/或高速 緩沖存儲(chǔ)器轉(zhuǎn)換為交換存儲(chǔ)器,管理程序40請(qǐng)求虛擬機(jī)35將1千兆字節(jié) 的工作存儲(chǔ)器和/或高速緩沖存儲(chǔ)器轉(zhuǎn)換為交換存儲(chǔ)器.
再次參照決定604,否分支,其中管理程序40不需要附加的虛擬專(zhuān)用 存儲(chǔ)器。在這種情況下,管理程序40基于其當(dāng)前的頁(yè)調(diào)出和頁(yè)調(diào)入的數(shù)目, 確定它是否可以放棄一些它當(dāng)前的虛擬專(zhuān)用存儲(chǔ)器分配。如果頁(yè)調(diào)出和頁(yè) 調(diào)入的數(shù)目非常低,那么相比于當(dāng)前頁(yè)調(diào)出和頁(yè)調(diào)入更高的情況,管理程 序40可以放棄更多的其當(dāng)前的虛擬專(zhuān)用存儲(chǔ)器分配(決定620)。如果管 理程序40決定不放棄一些其當(dāng)前的虛擬專(zhuān)用存儲(chǔ)器分配,那么管理程序 40在預(yù)定間隔之后回到步驟600,再次監(jiān)視其虛擬專(zhuān)用存儲(chǔ)器的當(dāng)前使用 狀況。然而,如果管理程序40決定放棄一些其當(dāng)前的虛擬專(zhuān)用存儲(chǔ)器分配 (決定620,是分支),那么管理程序40確定管理程序40將放棄的附加 虛擬專(zhuān)用存儲(chǔ)器的總量(步驟622)。在步驟622,管理程序40如上所述 基于頁(yè)調(diào)出和頁(yè)調(diào)入的當(dāng)前數(shù)目確定不需要的虛擬專(zhuān)用存儲(chǔ)器的總量。接 下來(lái),管理程序40確定每個(gè)虛擬機(jī)應(yīng)該將多少交換存儲(chǔ)器轉(zhuǎn)換為工作存儲(chǔ) 器和/或高速緩沖存儲(chǔ)器以達(dá)到管理程序40將要》丈棄的虛擬專(zhuān)用存儲(chǔ)器的量。例如,管理程序40可以為每個(gè)虛擬機(jī)故棄等量的管理程序不需要的虛 擬專(zhuān)用存儲(chǔ)器的共享。替代地,相比于較低優(yōu)先級(jí)的虛擬機(jī),管理程序40 可以為較高優(yōu)先級(jí)的虛擬機(jī)放棄更大量的對(duì)不需要的專(zhuān)用虛擬存儲(chǔ)器的共 享。接下來(lái),管理程序40向每個(gè)虛擬機(jī)33, 34和35發(fā)送請(qǐng)求,以將各自 的指定量的交換存儲(chǔ)器轉(zhuǎn)換為工作存儲(chǔ)器和/或高速緩沖存儲(chǔ)器(步驟 610)。在前述示例中,管理程序40請(qǐng)求虛擬機(jī)33將2千兆字節(jié)的交換存 儲(chǔ)器轉(zhuǎn)換為工作存儲(chǔ)器和/或高速緩沖存儲(chǔ)器,管理程序40請(qǐng)求虛擬機(jī)34 將2千兆自己的交換存儲(chǔ)器轉(zhuǎn)換為工作存儲(chǔ)器和/或高速緩沖存儲(chǔ)器,管理 程序40請(qǐng)求虛擬機(jī)35將1千兆字節(jié)的交換存儲(chǔ)器轉(zhuǎn)換為工作存儲(chǔ)器和/ 或高速緩沖存儲(chǔ)器。
圖3說(shuō)明在虛擬機(jī)之一中的客戶(hù)操作系統(tǒng)的功能和操作。(其它虛擬 機(jī)中的其它客戶(hù)操作系統(tǒng)相似地作用和操作)。在步驟700,啟動(dòng)客戶(hù)操 作系統(tǒng)。接著,客戶(hù)^作系統(tǒng)讀取指示了管理程序40的初始虛擬專(zhuān)用存儲(chǔ) 器分配的配置文件,使用其內(nèi)部算法將該初始虛擬專(zhuān)用存儲(chǔ)器分配劃分為 工作存儲(chǔ)器、高速緩沖存儲(chǔ)器和交換存儲(chǔ)器,并將來(lái)自管理程序的初始虛 擬專(zhuān)用存儲(chǔ)器分配虛擬化(步驟702)。例如,該內(nèi)部算法可以基于由系 統(tǒng)管理員定義的初始配置來(lái)將初始虛擬專(zhuān)用存儲(chǔ)器劃分為工作存儲(chǔ)器、高 速緩沖存儲(chǔ)器和交換存儲(chǔ)器。接下來(lái),客戶(hù)操作系統(tǒng)執(zhí)行其/^P的操作系 統(tǒng)功能,例如,執(zhí)行其應(yīng)用和中間件(步驟704)。然后,客戶(hù)^^作系統(tǒng) 從管理程序40接收請(qǐng)求,以改變客戶(hù)操作系統(tǒng)的交換存儲(chǔ)器的量(決定 706),并確定該請(qǐng)求是要增加還是要減小交換存儲(chǔ)器量以及所請(qǐng)求的交換 存儲(chǔ)器增加或減小的量(決定710)。如果來(lái)自管理程序的請(qǐng)求是要增加 交換存儲(chǔ)器(決定710,是分支),那么客戶(hù)操作系統(tǒng)將其工作存儲(chǔ)器和/ 或高速緩沖存儲(chǔ)器的總虛擬專(zhuān)用存儲(chǔ)器分配減小指定的量,并將其交換存 儲(chǔ)器的虛擬專(zhuān)用存儲(chǔ)器分配增加指定的量(步驟720)。在步驟720中, 客戶(hù)操作系統(tǒng)基于其自己的算法或者用戶(hù)定義的配置來(lái)確定要減小多少工 作存儲(chǔ)器。同樣地,在步驟720中,客戶(hù)操作系統(tǒng)基于其自己的算法或者 用戶(hù)定義的配置來(lái)確定要減小多少高速緩沖存儲(chǔ)器。例如,客戶(hù)操作系統(tǒng)可以將其高速緩沖存儲(chǔ)器減小它增加其自身的交換存儲(chǔ)器的全部總量。在
另 一示例中,客戶(hù)操作系統(tǒng)將其工作存儲(chǔ)器和高速緩沖存儲(chǔ)器分別減小的 量可以對(duì)應(yīng)于工作存儲(chǔ)器和高速緩沖存儲(chǔ)器分別利用不足的量。因此,如 果大量工作存儲(chǔ)器利用不足,而較少量的高速緩沖存儲(chǔ)器利用不足,那么 客戶(hù)操作系統(tǒng)將會(huì)把較多的工作存儲(chǔ)器和較少的高速緩沖存儲(chǔ)器(但是每
種都有一些)轉(zhuǎn)換為交換存儲(chǔ)器。再次參照決定710,如果來(lái)自管理程序 的請(qǐng)求是要減小交換存儲(chǔ)器(決定710,否分支),那么客戶(hù)操作系統(tǒng)將 其工作存儲(chǔ)器和/或高速緩沖存儲(chǔ)器增加指定的量,并將其交換存儲(chǔ)器減小 指定的量(步驟730)。在步驟730中,客戶(hù)操作系統(tǒng)基于其自己的算法 或者用戶(hù)定義的配置來(lái)確定要增加多少工作存儲(chǔ)器。同樣地,在步驟730 中,客戶(hù)操作系統(tǒng)基于其自己的算法或者用戶(hù)定義的配置來(lái)確定要增加多 少高速緩沖存儲(chǔ)器。例如,客戶(hù)操作系統(tǒng)可以將其高速緩沖存儲(chǔ)器增加它 減小其自身的交換存儲(chǔ)器的全部總量。在另一示例中,客戶(hù)操作系統(tǒng)將其 工作存儲(chǔ)器和高速緩沖存儲(chǔ)器分別增加的量可以對(duì)應(yīng)于工作存儲(chǔ)器和高速 緩沖存儲(chǔ)器各自的利用量。因此,如果利用大量工作存儲(chǔ)器,而利用較少 量的高速緩沖存儲(chǔ)器,那么客戶(hù)操作系統(tǒng)將會(huì)把較多交換存儲(chǔ)器轉(zhuǎn)換為工 作存儲(chǔ)器,將較少的交換存儲(chǔ)器轉(zhuǎn)換為高速緩沖存儲(chǔ)器(但是每種都有一 些)。
客戶(hù)操作系統(tǒng)43, 44和45可以從諸如磁帶或磁盤(pán)、光學(xué)介質(zhì)、DVD、 半導(dǎo)體存儲(chǔ)器、記憶棒等的計(jì)算機(jī)可讀介質(zhì)80加載到計(jì)算機(jī)20中,或者 經(jīng)由TCP/IP適配卡84從因特網(wǎng)82下栽。
管理程序40可以從諸如磁帶或磁盤(pán)、光學(xué)介質(zhì)、DVD、半導(dǎo)體存儲(chǔ) 器、記憶棒等的計(jì)算機(jī)可讀介質(zhì)90加載到計(jì)算機(jī)20中,或者經(jīng)由TCP/IP 適配卡84從因特網(wǎng)82下載。
基于前文所述,公開(kāi)了一種用于管理虛擬機(jī)存儲(chǔ)器的計(jì)算機(jī)系統(tǒng)、方 法和程序。然而,在不偏離本發(fā)明范圍的情況下,可以做出多種修改和替
換。例如,當(dāng)面對(duì)用于自己的附加或更少的虛擬專(zhuān)用存儲(chǔ)器的需要時(shí),管 理程序40除了改變虛擬機(jī)的交換存儲(chǔ)器量之外,還可以改變分配給一個(gè)或多個(gè)虛擬機(jī)的虛擬專(zhuān)用存儲(chǔ)器的總量。因此,本發(fā)明通過(guò)說(shuō)明而非限制的 方式公開(kāi),應(yīng)該參照下面的權(quán)利要求來(lái)確定本發(fā)明的范圍。
權(quán)利要求
1.一種管理由虛擬機(jī)控制程序?yàn)槎鄠€(gè)虛擬機(jī)分配的虛擬存儲(chǔ)器的方法,所述虛擬機(jī)中的每一個(gè)具有被劃分為工作存儲(chǔ)器、高速緩沖存儲(chǔ)器和交換存儲(chǔ)器的虛擬專(zhuān)用存儲(chǔ)器分配,所述方法包括如下步驟所述虛擬機(jī)控制程序確定它需要附加的虛擬存儲(chǔ)器分配,作為響應(yīng),所述虛擬機(jī)控制程序向所述虛擬機(jī)發(fā)出各自請(qǐng)求,以將其各自工作存儲(chǔ)器和/或高速緩沖存儲(chǔ)器中的一些轉(zhuǎn)換為交換存儲(chǔ)器;以及所述虛擬機(jī)履行所述各自請(qǐng)求,將其各自工作存儲(chǔ)器和/或高速緩沖存儲(chǔ)器中的一些轉(zhuǎn)換為交換存儲(chǔ)器。
2. 如權(quán)利要求1所述的方法,其中所述請(qǐng)求中的每一個(gè)指定要轉(zhuǎn)換 為交換存儲(chǔ)器的工作存儲(chǔ)器和/或高速緩沖存儲(chǔ)器的量。
3. 如權(quán)利要求1或2所述的方法,其中所述多個(gè)虛擬機(jī)包括各自的 多個(gè)客戶(hù)操作系統(tǒng),所述多個(gè)客戶(hù)操作系統(tǒng)被編程為,與分配給它們各自 虛擬機(jī)的交換存儲(chǔ)器相比,更為充分地利用分配給它們各自虛擬機(jī)的工作 存儲(chǔ)器和/或高速緩沖存儲(chǔ)器。
4. 如權(quán)利要求l, 2或3所述的方法,其中所述虛擬機(jī)中的每一個(gè) 履行所述請(qǐng)求,通過(guò)將高速緩沖存儲(chǔ)器轉(zhuǎn)換為交換存儲(chǔ)器,以此將其各自 的工作存儲(chǔ)器和/或高速緩沖存儲(chǔ)器中的 一些轉(zhuǎn)換為交換存儲(chǔ)器。
5. —種虛擬機(jī)控制程序產(chǎn)品,用于將虛擬存儲(chǔ)器分配給虛擬機(jī)控制 程序和多個(gè)虛擬機(jī),所述虛擬機(jī)中的每一個(gè)具有被劃分為工作存儲(chǔ)器、高 速緩沖存儲(chǔ)器和交換存儲(chǔ)器的虛擬專(zhuān)用存儲(chǔ)器分配,所述虛擬機(jī)控制程序 產(chǎn)品包括計(jì)算機(jī)可讀介質(zhì);第一程序指令,用以確定所述虛擬機(jī)控制程序需要附加的虛擬存儲(chǔ)器 分配,作為響應(yīng),向所述虛擬機(jī)的每一個(gè)發(fā)出請(qǐng)求,以將其各自工作存儲(chǔ)器和/或高速緩沖存儲(chǔ)器中的一些轉(zhuǎn)換為交換存儲(chǔ)器;其中所述第 一程序指令以功能形式存儲(chǔ)在所述計(jì)算機(jī)可讀介質(zhì)上。
6. 如權(quán)利要求5所述的虛擬機(jī)控制程序產(chǎn)品,其中所述請(qǐng)求中的每 一個(gè)指定要轉(zhuǎn)換為交換存儲(chǔ)器的工作存儲(chǔ)器和/或高速緩沖存儲(chǔ)器的量。
7. 如權(quán)利要求5所述的虛擬機(jī)控制程序產(chǎn)品,其中所述多個(gè)虛擬機(jī) 包括各自的多個(gè)客戶(hù)操作系統(tǒng),所述多個(gè)客戶(hù)操作系統(tǒng)被編程為,與分配 給它們各自虛擬機(jī)的交換存儲(chǔ)器相比,更為充分地利用分配給它們各自虛 擬機(jī)的工作存儲(chǔ)器和/或高速緩沖存儲(chǔ)器。
8. —種計(jì)算機(jī)系統(tǒng),用于將虛擬存儲(chǔ)器分配給虛擬機(jī)控制程序和多 個(gè)虛擬機(jī),所述虛擬機(jī)中的每一個(gè)具有被劃分為工作存儲(chǔ)器、高速緩沖存 儲(chǔ)器和交換存儲(chǔ)器的虛擬專(zhuān)用存儲(chǔ)器分配,所述計(jì)算機(jī)系統(tǒng)包括用以確定所述虛擬機(jī)控制程序需要附加的虛擬存儲(chǔ)器分配,并作為響 應(yīng),向所述虛擬機(jī)發(fā)出各自請(qǐng)求,以將其各自工作存儲(chǔ)器和/或高速緩沖存 儲(chǔ)器中的一些轉(zhuǎn)換為交換存儲(chǔ)器的裝置;以及所述虛擬機(jī)包括用以履行所述各自請(qǐng)求,以將其各自工作存儲(chǔ)器和/ 或高速緩沖存儲(chǔ)器中的一些轉(zhuǎn)換為交換存儲(chǔ)器的裝置。
9. 如權(quán)利要求8所述的計(jì)算機(jī)系統(tǒng),其中所述請(qǐng)求中的每一個(gè)指定 要轉(zhuǎn)換為交換存儲(chǔ)器的工作存儲(chǔ)器和/或高速緩沖存儲(chǔ)器的量。
10. 如權(quán)利要求8或9所述的計(jì)算機(jī)系統(tǒng),其中所述多個(gè)虛擬機(jī)包括 各自的多個(gè)客戶(hù)操作系統(tǒng),所述多個(gè)客戶(hù)操作系統(tǒng)被編程為,與分配給它 們各自虛擬機(jī)的交換存儲(chǔ)器相比,更為充分地利用分配給它們各自虛擬機(jī) 的工作存儲(chǔ)器和/或高速緩沖存儲(chǔ)器。
11. 一種管理由虛擬機(jī)控制程序?yàn)槎鄠€(gè)虛擬機(jī)分配的虛擬存儲(chǔ)器的 方法,所述虛擬機(jī)中的每一個(gè)具有被劃分為工作存儲(chǔ)器、高速緩沖存儲(chǔ)器 和交換存儲(chǔ)器的虛擬專(zhuān)用存儲(chǔ)器分配,所述方法包括如下步驟所述虛擬機(jī)控制程序確定它需要比當(dāng)前分配給所述虛擬機(jī)控制程序的 虛擬存儲(chǔ)器更少的虛擬存儲(chǔ)器分配,作為響應(yīng),所述虛擬機(jī)控制程序向所 述虛擬機(jī)發(fā)出各自請(qǐng)求,以將其各自交換存儲(chǔ)器中的一些轉(zhuǎn)換為工作存儲(chǔ) 器和/或高速緩沖存儲(chǔ)器。
12. 如權(quán)利要求11所迷的方法,其中所述請(qǐng)求中的每一個(gè)指定要轉(zhuǎn)換為工作存儲(chǔ)器和/或高速緩沖存儲(chǔ)器的交換存儲(chǔ)器的量。
13. 如權(quán)利要求11或12所述的方法,其中所述多個(gè)虛擬機(jī)包括各自的多個(gè)客戶(hù)操作系統(tǒng),所^J:戶(hù)操作系統(tǒng)被編程為,與分配給它們各自虛擬機(jī)的交換存儲(chǔ)器相比,更為充分地利用分配給它們各自虛擬機(jī)的工作存儲(chǔ)器和/或高速緩沖存儲(chǔ)器。
14. 如權(quán)利要求ll, 12或13所述的方法,還包括步驟所述虛擬機(jī)履行所述各自請(qǐng)求,以將其各自的交換存儲(chǔ)器中的一些轉(zhuǎn)換為工作存儲(chǔ)器和/或高速緩沖存儲(chǔ)器。
全文摘要
對(duì)虛擬機(jī)控制程序?yàn)槎鄠€(gè)虛擬機(jī)分配的虛擬存儲(chǔ)器的管理。每個(gè)虛擬機(jī)具有被劃分為工作存儲(chǔ)器、高速緩沖存儲(chǔ)器和交換存儲(chǔ)器的虛擬專(zhuān)用存儲(chǔ)器分配。虛擬機(jī)控制程序確定它需要附加的虛擬存儲(chǔ)器分配,作為響應(yīng),向所述虛擬機(jī)發(fā)出各自請(qǐng)求,以將其各自的工作存儲(chǔ)器和/或高速緩沖存儲(chǔ)器中的一些轉(zhuǎn)換為交換存儲(chǔ)器。在其它時(shí)間,虛擬機(jī)控制程序確定它需要更少的虛擬存儲(chǔ)器分配,作為響應(yīng),向所述虛擬機(jī)發(fā)出各自請(qǐng)求,以將其各自的交換存儲(chǔ)器中的一些轉(zhuǎn)換為工作存儲(chǔ)器和/或高速緩沖存儲(chǔ)器。
文檔編號(hào)G06F9/50GK101681268SQ200880016015
公開(kāi)日2010年3月24日 申請(qǐng)日期2008年6月25日 優(yōu)先權(quán)日2007年6月27日
發(fā)明者S·舒爾茨, X·特卡特壽 申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
赣州市| 泊头市| 通江县| 昌宁县| 台前县| 张掖市| 图们市| 嘉义市| 菏泽市| 张家界市| 海宁市| 广汉市| 文登市| 白水县| 宁陵县| 巴里| 三原县| 新建县| 灌阳县| 宕昌县| 朔州市| 玉环县| 德保县| 兴业县| 乌什县| 泽普县| 旺苍县| 鄢陵县| 岫岩| 台江县| 宝应县| 苗栗县| 广丰县| 西和县| 高雄县| 石屏县| 日照市| 合江县| 馆陶县| 武城县| 衡阳市|