虚拟机的存储器管理的方法和计算机系统的制作方法

文档序号:6514117阅读:135来源:国知局
虚拟机的存储器管理的方法和计算机系统的制作方法【专利摘要】一种用于对虚拟机系统的存储器管理的方法以及计算机系统。存储器管理方法包含以下步骤。通过至少一个处理器根据上一次访问时间来维护最近最少使用(LRU)列表,其中所述LRU列表包含多个存储器页面(memory?pages)。所述存储器页面的第一部分存储在虚拟存储器中,所述存储器页面的第二部分存储在内存压缩磁盘中,且所述存储器页面的第三部分存储在至少一个交换存储空间(swap?disk)中。通过所述至少一个处理器设定所述内存压缩磁盘中的空间。通过所述处理器根据所述内存压缩磁盘中的所述存储器页面的多个访问概率、伪页面错误的开销(overhead)以及真页面错误的开销来调整所述内存压缩磁盘中的所述空间。【专利说明】虚拟机的存储器管理的方法和计算机系统【
技术领域
】[0001]本公开涉及对虚拟机的存储器管理的技术。【
背景技术
】[0002]计算机虚拟化是涉及建立一种具有操作系统的物理计算机的虚拟机器的技术,且计算机虚拟化架构大体上由在单一物理计算机平台上同时支持多个操作系统的能力界定。举例来说,正在运行MicrosoftWindows的计算机可托管具有Linux操作系统的虚拟机。主机为上面发生虚拟化的实际物理机器,而虚拟机被视为客户机(guestmachine)。超管理器(hypervisor;字面上称作虚拟机超管理器(virtualmachinemonitor;VMM))为虚拟化硬件资源且向至少一个虚拟机呈现虚拟硬件接口的软件层。超管理器类似于传统操作系统管理硬件资源以用于处理的方式以及相对于执行中的虚拟机执行某些管理功能。虚拟机可称作“客户”且在虚拟机内运行的操作系统可称作“客户操作系统”。[0003]虚拟化环境当前受到存储限制,这意味着主机的物理存储器为数据中心的资源利用的瓶颈。存储器虚拟化将物理存储器资源与数据中心分离且接着将资源聚合到虚拟化存储器池(memorypool)中,所述虚拟化存储器池可由客户操作系统或在客户操作系统上运行的应用程序访问。就存储器虚拟化来说,存储器压缩为存储器资源管理和利用的至关重要的主题之一。[0004]类似于传统操作系统,提高超管理器的存储器利用的最后手段为通过宿主交换(即,将虚拟机的存储器页面移动到物理交换存储空间,称作换出)来从虚拟机回收存储器,将虚拟机的物理地址对机器地址(P2M)表的对应页面表项(pagetableentry;PTE)标记为不存在,且接着将对应页面释放到超管理器的自由存储器池中,其中页面表为由虚拟机使用以存储虚拟地址与物理地址之间的映射的数据结构。稍后,如果所述页面再次由虚拟机访问,那么触发页面错误且执行访问时复制(copy-onaccess;C0A)机制以将页面内容从交换存储空间带到新分配的存储器页面中,称作换入。然而,因为磁盘输入/输出(1/0)所产生的长时间的延滞的耗费而令人非常不满意。[0005]作为提高存储器利用的另一方式,存储空间的压缩动作可通过将虚拟机的换出页面压缩成大小较小的数据且将其一起放在存储器中以节省用以存储原始内容的物理存储器来进行存储器压缩。也就是说,存储器压缩可实质上减轻因存储器压力而引起的性能降级。这个想法为从压缩的存储器换入将比从磁盘换入快,这是因为存储器访问比磁盘访问快。[0006]至于压缩换出页面,Linux内核的试验性模块内存压缩(zram)磁盘可呈现为虚拟机中的交换存储空间,压缩换出页面并将其存储在客户存储器中。借助于内存压缩磁盘,伪页面错误可触发内存压缩磁盘的压缩页面被解压缩且存储到新分配的客户存储器页面中,这直观地比来自交换存储空间的真页面错误快。尽管如此,为了将压缩页面存储在内存压缩磁盘中,客户操作系统需要消耗客户存储器且可引起较多换入/换出操作。为了解决此难题,可能需要动态地调整内存压缩磁盘的大小。【
发明内容】[0007]本公开实施例提供用于虚拟机系统的存储器管理方法。存储器管理方法包含以下步骤。首先,通过至少一个处理器根据上一次访问时间来维护最近最少使用(LRU)列表,其中所述LRU列表包含多个存储器页面。所述存储器页面的第一部分存储在所述虚拟机系统上的虚拟存储器中,所述存储器页面的第二部分存储在所述虚拟机系统上的内存压缩磁盘中,且所述存储器页面的第三部分存储在至少一个交换存储空间中。通过所述至少一个处理器设定所述内存压缩磁盘中的空间。接着,通过所述至少一个处理器根据所述内存压缩磁盘中的所述存储器页面的多个访问概率、伪页面错误的开销以及真页面错误的开销来调整所述内存压缩磁盘中的所述空间。[0008]本公开实施例提供一种计算机系统,包含至少一个系统存储器、至少一个交换存储空间以及至少一个处理器。所述交换存储空间耦接到所述至少一个系统存储器,且所述至少一个处理器耦接到所述至少一个系统存储器,且针对对虚拟机系统的存储器管理执行以下操作。所述至少一个处理器根据上一次访问时间来维护LRU列表,其中所述LRU列表包含多个存储器页面。所述存储器页面的第一部分存储在所述虚拟机系统上的虚拟存储器中,所述存储器页面的第二部分存储在所述虚拟机系统上的内存压缩磁盘中,且所述存储器页面的第三部分存储在至少一个交换存储空间中。所述至少一个处理器设定所述内存压缩磁盘中的空间,且根据所述内存压缩磁盘中的所述存储器页面的多个访问概率、伪页面错误的开销以及真页面错误的开销来调整所述内存压缩磁盘的所述空间。[0009]下文详细描述伴有图式的若干实施例以进一步详细描述本公开。【专利附图】【附图说明】[0010]包含附图以提供对本公开的进一步理解,且附图并入本说明书中并构成本说明书的一部分。所述图式用以说明本公开的实施例,且与描述一起用以解释本公开的原理。然而,不希望所述图式限制本公开的范围,本公开的范围由所附权利要求书界定。[0011]图1A为说明根据本公开的实`施例的计算机系统的框图。[0012]图1B为说明根据本公开的实施例的虚拟机系统的框图。[0013]图2为说明根据本公开的实施例的用于对虚拟机的存储器管理的方法的流程图。[0014]【主要元件标号说明】[0015]100:计算机系统[0016]100’:虚拟机系统[0017]110:处理器[0018]120:系统存储器[0019]130:交换存储空间[0020]150:虚拟机[0021]155:客户操作系统[0022]156:客户内核[0023]157:最近最少使用的列表[0024]158:内存压缩磁盘[0025]160:超管理器[0026]170:虚拟硬件[0027]S201:步骤[0028]S203:步骤[0029]S205:步骤【具体实施方式】[0030]现将详细参考本公开的实施例,其实例在附图中得以说明。只要可能,相同参考数字在图式和描述中用以指相同或相似部分。[0031]出于说明目的,一个处理器、一个系统存储器、一个交换存储空间等用于以下实施例中,且本公开不限于此。在其它实施例中,可使用一个以上处理器、一个以上系统存储器、一个以上交换存储空间等。[0032]图1A为说明根据本公开的实施例的计算机系统的框图。参看图1,计算机系统100包含处理器110、系统存储器120、交换存储空间130以及其它标准外围组件(未图示)。系统存储器120耦接到处理器110,且交换存储空间130耦接到系统存储器120。[0033]处理器110可为专用或专有处理器,其被经配置以通过执行定义与操作有关的功能的机器可读软件代码语言来执行特定任务,以通过与计算机系统100的其它组件進行通信来执行功能操作。[0034]系统存储器120存储例如操作系统等软件且临时存储当前在作用中或被频繁地使用的数据或应用程序。因此,系统存储器120(也称作物理存储器)可为较快的存储器(例如,随机存取存储器(RAM)、静态随机存取存储器(SRAM)或动态随机存取存储器(DRAM))以获得快得多的存取时间。[0035]交换存储空间130经配置以用于存储和检索数据。举例来说,交换存储空间130可为计算机系统100上的硬盘驱动器(harddiskdrive;HDD)或固态硬盘(solidstatedrive;SSD)上的用以从系统存储器120卸载过量数据的区域。[0036]虚拟存储器为用于管理系统存储器120的资源的技术。其提供虚拟的大量存储器。虚拟存储器以及系统存储器120两者被划分为连续的存储器地址块,其也称作存储器页面。系统存储器120可(例如)包含压缩存储器,其与计算机系统100上运行的至少一个虚拟机相关联。压缩存储器以压缩格式临时存储最近较少访问的存储器页面以使得系统存储器120中有较多空间可用。在实际的应用上,特别着重于Linux客户操作系统,且本公开还可用于其它客户操作系统(例如,MicrosoftWindows)。在一实施例中,Linux内核的模块内存压缩磁盘作为虚拟磁盘装置而插入到Linux客户操作系统中且通过Linux客户操作系统的系统管理工具(即,启用交换)配置为交换装置,以使得所有换入和换出操作在磁盘I/O请求时进入内存压缩磁盘。超管理器安装在计算机系统100上且支持虚拟机执行空间,至少一个虚拟机可同时在虚拟机执行空间内实例化(instantiate)且执行。[0037]图1B为说明根据本公开的实施例的虚拟机系统的框图。在本实施例中,出于简单起见将仅说明一个虚拟机,且本公开不限于此。在其它实施例中,多个虚拟机可共存且以类似方式执行操作。[0038]参看图1B与图1A,虚拟机系统100’包含具有客户操作系统155和其它应用程序(未图示)的虚拟机150、超管理器160以及虚拟硬件170。客户操作系统155包含具有LRU列表157和内存压缩磁盘158的客户内核156。包含处理器、存储器以及I/O装置的虚拟硬件170作为虚拟处理器、虚拟存储器以及虚拟I/O装置抽象化且分配给上层运行的虚拟机150。超管理器160管理虚拟机150且提供仿真硬件以及固件资源。在一实施例中,Linux发行版本可作为客户操作系统155安装在虚拟机150内以执行任何支持的应用程序,且可提供支持大多数Linux发行版本的开源软件Xen作为超管理器160,且客户内核156可为domU内核。结合超管理器160,气球驱动程序可通过调用存储器管理算法来分配或解除分配客户操作系统155的虚拟存储器。可通过利用页面回收机制以及压缩虚拟机150的工作集之外的存储器页面来有效地进行存储器压缩。直观地说,虚拟机150的工作集被定义为在最近被虚拟机150积极地使用的存储器的量。[0039]为了页面回收,处理器110使用最近最少使用(LRU)准则来确定收回页面的次序以及维护LRU列表157,LRU列表157根据用于两个主要类型的存储器(匿名存储器和页面高速缓冲存储器)的上一次访问时间来对曾经被虚拟机150访问的所有存储器页面进行排序。匿名存储器的存储器页面由用户进程的堆(heap)和栈(stack)使用,且页面高速缓冲存储器的存储器页面由磁盘数据备份,其中在对磁盘数据的第一访问之后在存储器中对内容进行高速缓冲以减少未来磁盘I/O。被较频繁地访问的存储器页面称作热页;被较不频繁地访问的页面称作冷页。[0040]在虚拟机系统上,如果LUR列表上的存储器页面为匿名存储器,那么客户内核可将内容交换到交换存储空间,将进程的对应PTE标记为不存在,且接着释放对应存储器页面。稍后,如果再次访问存储器页面,那么通过将页面内容从交换存储空间130带到新分配的存储器页面中(即,换入)来执行COA机制。或者,如果LRU列表上的存储器页面属于页面高速缓冲存储器,那么客户内核可在页面内容已变脏的情况下将页面内容刷新到交换存储空间,且接着释放所述页面。在下一文件访问后,客户内核必需再次执行磁盘访问(称作纠错(refault))以将内容带回到页面高速缓冲存储器中的新分配的页面。[0041]当分配到虚拟机150的虚拟存储器在工作集与最小存储器要求之间时,存储器压缩可实质上减轻因存储器压力而引起的性能降级。为了压缩来自虚拟机150的收回的页面,内存压缩磁盘158可拦截虚拟机150上的换入和换出操作。当换出页面到达内存压缩磁盘158时,所述页面通过(例如)Lempel-Ziv-Oberhumer(LZOlX)算法被压缩为子页面大小且存储在从客户内核156分配的存储器区域中而不发送到交换存储空间130。一个例外情况为零收回页面,内存压缩磁盘158基于页面类型信息辨识所述零收回页面且跳过压缩步骤。当换入页面到达时,内存压缩磁盘158解压缩换入页面且将其传回到导致触发换入的页面错误的进程。[0042]在一实施例中,处理器110可因以下理由而不压缩收回的高速缓冲存储器页面且着重于与匿名存储器相关联的换入事件。首先,进程的匿名页面的寿命与进程自身的寿命相同,这是因为当进程消逝时,所述页面被释放。然而,高速缓冲存储器页面并不明确被任何进程所拥有,这是因为其可由一个进程分配且接着用以通过另一进程以满足磁盘访问。第二,与匿名存储器页面相比,高速缓冲存储器页面通常由较大磁盘卷备份且因此可能需要过多存储器来压缩。虽然拦截匿名存储器页面的换入和换出相对简单(这是因为其可通过定义良好的应用程序编程接口(API)来进行),但拦截高速缓冲存储器页面的收回并不简单,高速缓冲存储器页面的逻辑嵌入于客户内核156的虚拟文件系统(virtualfilesystem;VFS)层中。[0043]由于虚拟机150由内存压缩磁盘158和交换存储空间130备份,因此当发生页面错误时,遗失的页面可从内存压缩磁盘158获取(在此状况下错误导致伪页面错误),或从交换存储空间130提取(在此状况下页面错误导致真页面错误)。当页面从内存压缩磁盘158换入到交换存储空间130时,开销主要因解压缩所述页面所需的时间而引起。另一方面,当页面从交换存储空间130换出到内存压缩磁盘158时,开销主要因压缩所述页面所需的时间而引起。在一实施例中,就与伪页面错误与真页面错误相关联的换入时间以及换出时间之间的定量比较来说,开销之间存在至少50倍的差异。真页面错误的开销比伪页面错误的开销长至少50倍。[0044]当将虚拟存储器的较大部分给予内存压缩磁盘158时,较少存储器可用于在虚拟机150上运行的应用程序,且伪页面错误率则提高。然而,当内存压缩磁盘158被给予较多存储器时,较多存储器页面因为压缩而有效地保持在存储器中,且较少页面错误可导致真页面错误,这是因为真页面错误较可能被内存压缩磁盘158中的压缩页面满足。因此,给予内存压缩磁盘158的存储器的量表示伪页面错误率与真页面错误率之间的折衷。[0045]假设分配到虚拟机150的存储器的量为M,其中C被分配到内存压缩磁盘158,且存储在内存压缩磁盘158中的页面的平均压缩比为X。关键问题是找到最佳C,使得PPFR(M,C)XOverheadPPF+TPPR(M,C)X0verheadTPF达到最小。PPFR(M,C)是当所分配存储器为M且其中C被分配到内存压缩磁盘158时虚拟机150的伪页面错误率。TPPR(M,C)是当所分配存储器大小为M且其中C被分配到内存压缩磁盘158时虚拟机150的真页面错误率。为了自动推断可指派到内存压缩磁盘158的所分配存储器的最佳百分比以及应发送到交换存储空间130的收回到内存压缩磁盘158的存储器页面的子集,处理器110可动态地调整内存压缩磁盘158的空间,如图2所示。[0046]图2为说明根据本公开的实施例的用于对虚拟机的存储器管理的方法的流程图。[0047]参看图2与图1A和图1B中的组件,通过处理器110根据上一次访问时间来维护LRU列表157(步骤S201)。将存储在LRU列表157中的存储器页面划分成三个部分。将LRU列表157上的存储器页面的第一部分以未压缩格式存储在内存压缩磁盘158外部的虚拟存储器中(未图示)。将LRU列表157上的存储器页面的第二部分以压缩格式存储在内存压缩磁盘158中。将存储器页面的第三部分存储在交换存储空间130中。[0048]接着,通过处理器110设定内存压缩磁盘中的空间(步骤S203)。换句话说,处理器110可向内存压缩磁盘158提供指定被指派到内存压缩磁盘158的存储器页面的数目(即,存储器的量)的控制参数。当内存压缩磁盘158中的所使用存储器的量超过控制参数时,处理器110可将来自虚拟机150的所有未来换出存储器页面引导到交换存储空间130而不试图压缩所述存储器页面。最初,处理器110可基于气球驱动程序的气球目标、虚拟机系统100’的最小存储器要求以及内存压缩磁盘158的基本存储器要求来设定控制参数。举例来说,控制参数默认地可为气球目标-MMR-Mzeam的值,其中MMR为虚拟机系统100’的最小存储器要求,且凡_为内存压缩磁盘158的基本存储器要求。[0049]在一实施例中,假设可用于虚拟机150的存储器页面的数目为NI,且分配到内存压缩磁盘的存储器的量为K。根据对存储器页面的上一次访问时间,将LRU列表157上的最热的NI个存储器页面(即,第一部分)以未压缩格式存储在内存压缩磁盘158外部的虚拟存储器中。将LRU列表157上的接下来最热的N2个存储器页面(即,第二部分)以压缩格式存储在内存压缩磁盘158中,其中接下来最热的N2个存储器页面的累积大小为K。换句话说,将LRU列表157上的第(N1+1)个存储器页面到第(N1+N2)个存储器页面存储在内存压缩磁盘158中。将LRU列表上的剩余存储器页面(B卩,第三部分)存储在交换存储空间130中。[0050]如果N2递减一,使得NI递增一,那么内存压缩磁盘158中呈压缩格式的最冷页面中的一些可能必须驻留在交换存储空间130中且在其被访问时被明确地带到存储器中。同时,内存压缩磁盘158中的最热页面(即,LRU列表157上的第(N1+1)个存储器页面)可保持在虚拟存储器中。也就是说,伪页面错误率减小,但真页面错误率增大。因此,如果伪页面错误的开销的减少超过真页面错误的开销的递增,那么将指派到内存压缩磁盘158的存储器页面的数目递减为优选的。在一实施例中,伪页面错误的开销为伪页面错误的时间成本,且真页面错误的开销为真页面错误的时间成本。类似地,如果真页面错误的开销的减少超过伪页面错误的开销的递增,那么将指派到内存压缩磁盘158的存储器页面的数目递增为优选的。因此,可通过处理器110根据内存压缩磁盘158中的存储器页面的多个访问概率、伪页面错误的开销以及真页面错误的开销来调整内存压缩磁盘158中的空间(步骤S205)。[0051]由于在本实施例中,LRU列表157上的第(N1+1)个存储器页面到第(N1+N2)个存储器页面存储在内存压缩磁盘158中,因此在满足方程式(I)的条件的情况下,处理器110将N2递减:【权利要求】1.一种用于虚拟机系统的存储器管理方法,包括:通过至少一个处理器根据上一次访问时间来维护最近最少使用LRU列表,其中所述LRU列表包括多个存储器页面,且其中所述存储器页面的第一部分存储在所述虚拟机系统上的虚拟存储器中,所述存储器页面的第二部分存储在所述虚拟机系统上的内存压缩磁盘中,且所述存储器页面的第三部分存储在至少一个交换存储空间中;通过所述至少一个处理器设定所述内存压缩磁盘中的空间;以及通过所述至少一个处理器根据所述内存压缩磁盘中的所述存储器页面的多个访问概率、伪页面错误的开销以及真页面错误的开销来调整所述内存压缩磁盘中的所述空间。2.根据权利要求1所述的存储器管理方法,其中所述通过所述至少一个处理器设定所述内存压缩磁盘中的所述空间的步骤包括:通过所述至少一个处理器将所述内存压缩磁盘中的所述空间设定为控制参数,其中所述控制参数为指派到所述内存压缩磁盘的存储器页面的数目。3.根据权利要求1所述的存储器管理方法,其中所述通过所述至少一个处理器根据所述内存压缩磁盘中的所述存储器页面的所述多个访问概率、伪页面错误的所述开销以及真页面错误的所述开销来调整所述内存压缩磁盘中的所述空间的步骤还包括:通过所述至少一个处理器根据所述内存压缩磁盘中的所述存储器页面的所述多个访问概率、伪页面错误的所述开销以及真页面错误的所述开销来缩小所述内存压缩磁盘中的所述空间。4.根据权利要求2所述的存储器管理方法,其中所述内存压缩磁盘以压缩格式存储通过所述至少一个处理器从所述至少一个交换存储空间换出的所述存储器页面。5.根据权利要求2所述的存储器管理方法,其中所述通过所述至少一个处理器将所述内存压缩磁盘设定为所述控制参数的步骤包括:通过所述至少一个处理器根据气球驱动程序的气球目标、所述虚拟机系统的最小存储器要求以及所述内存压缩磁盘的基本存储器要求来设定所述控制参数。6.根据权利要求5所述的存储器管理方法,其中所述通过所述进程将所述内存压缩磁盘设定为所述控制参数的步骤包括:通过所述至少一个处理器将所述控制参数设定为气球驱动程序的气球目标减去所述虚拟机系统的所述最小存储器要求以及所述内存压缩磁盘的所述基本存储器要求的总和的结果。7.根据权利要求2所述的存储器管理方法,在所述通过所述至少一个处理器将所述内存压缩磁盘设定为所述控制参数的步骤之后,如果所述内存压缩磁盘中的所使用存储器的量超过所述控制参数,那么通过所述至少一个处理器将来自所述内存压缩磁盘的新换出的页面引导到所述至少一个交换存储空间。8.根据权利要求2所述的存储器管理方法,其中所述通过所述至少一个处理器根据所述存储器页面的所述多个访问概率、所述伪页面错误的所述开销以及所述真页面错误的所述开销来调整所述内存压缩磁盘中的所述空间的步骤包括:通过所述至少一个处理器获得底项,其中所述底项为所述内存压缩磁盘中的最热存储器页面的所述访问概率与所述伪页面错误的所述开销的乘积,其中所述最热存储器页面为所述第二部分中的所述存储器页面当中的最近被访问最多的所述存储器页面;通过所述至少一个处理器获得比较项,其中所述比较项为所述内存压缩磁盘中的至少一个最冷存储器页面与所述真页面错误的所述开销的每一乘积的累加总和,其中所述至少一个最冷存储器页面为所述第二部分中的所述存储器页面当中的最近不是被访问最多的所述至少一个存储器页面;如果所述底项大于所述比较项,那么通过所述至少一个处理器将所述控制参数递减;以及通过所述至少一个处理器根据所述控制参数缩小所述内存压缩磁盘。9.根据权利要求8所述的存储器管理方法,其中所述底项满足方程式AP(N1+1)XOverheadiw,且其中NI为所述第一部分中的所述存储器页面的数目,AP(N1+1)表示所述LRU列表上的第(N1+1)个页面的访问概率,所述第(N1+1)个页面表示所述第二部分中的所述最热存储器页面,Overhead-表示所述伪页面错误的所述开销;其中所述比较项满足方程式10.根据权利要求9所述的存储器管理方法,其中通过所述至少一个处理器将所述存储器页面的所述第二部分建立于本地LRU列表中,其中通过页面闲置时间的倒数来估计所述本地LRU列表上的所述存储器页面中的每一个的所述访问概率,所述伪页面错误的所述开销为所述伪页面错误的时间成本,所述真页面错误的所述开销为所述真页面错误的时间成本,且其中所述页面闲置时间为被换出的所述存储器页面中的每一个与当前时间之间的差。11.一种计算机系统,包括:至少一个系统存储器;至少一个交换存储空间,耦接到所述至少一个系统存储器;以及至少一个处理器,耦接到所述至少一个系统存储器,其中所述至少一个处理器针对对虚拟机系统的存储器管理执行操作,所述操作包括:所述至少一个处理器根据上一次访问时间来维护最近最少使用(LRU)列表,其中所述LRU列表包括多个存储器页面,且其中所述存储器页面的第一部分存储在所述虚拟机系统上的虚拟存储器中,所述存储器页面的第二部分存储在所述虚拟机系统上的内存压缩磁盘中,且所述存储器页面的第三部分存储在所述至少一个交换存储空间中;所述至少一个处理器设定所述内存压缩磁盘中的空间;以及所述至少一个处理器根据所述内存压缩磁盘中的所述存储器页面的多个访问概率、伪页面错误的开销以及真页面错误的开销来调整所述内存压缩磁盘中的所述空间。12.根据权利要求11所述的计算机系统,其中所述至少一个处理器将所述内存压缩磁盘中的所述空间设定为控制参数,其中所述控制参数为指派到所述内存压缩磁盘的存储器页面的数目。13.根据权利要求11所述的计算机系统,其中所述至少一个处理器根据所述内存压缩磁盘中的所述存储器页面的所述多个访问概率、伪页面错误的所述开销以及真页面错误的所述开销来进一步缩小所述内存压缩磁盘中的所述空间。14.根据权利要求11所述的计算机系统,其中所述至少一个处理器从所述至少一个交换存储空间换出所述存储器页面且以压缩格式将所述换出的存储器页面存储在所述内存压缩磁盘中。15.根据权利要求12所述的计算机系统,其中所述至少一个处理器根据气球驱动程序的气球目标、所述虚拟机系统的最小存储器要求以及所述内存压缩磁盘的基本存储器要求来设定所述控制参数。16.根据权利要求15所述的计算机系统,其中所述至少一个处理器将所述控制参数设定为气球驱动程序的气球目标减去所述虚拟机系统的所述最小存储器要求以及所述内存压缩磁盘的所述基本存储器要求的总和的结果。17.根据权利要求12所述的计算机系统,其中如果所述内存压缩磁盘中的所使用存储器的量超过所述控制参数,那么所述至少一个处理器进一步将来自所述内存压缩磁盘的新换出的页面引导到所述至少一个交换存储空间。18.根据权利要求12所述的计算机系统,其中所述至少一个处理器获得底项,获得比较项,如果所述底项大于所述比较项,那么将所述控制参数递减,以及根据所述控制参数缩小所述内存压缩磁盘,其中所述底项为所述内存压缩磁盘中的最热存储器页面的所述访问概率与所述伪页面错误的所开销的乘积,其中所述最热存储器页面为所述第二部分中的所述存储器页面当中的最近被访问最多的所述存储器页面,其中所述比较项为所述内存压缩磁盘中的至少一个最冷存储器页面与所述真页面错误的所述开销的每一乘积的累加总和,其中所述至少一个最冷存储器页面为所述第二部分中的所述存储器页面当中的最近不是被访问最多的所述至少一个存储器页面。19.根据权利要求18所述的计算机系统,其中所述底项满足方程式AP(N1+1)XOverheadiw,且其中NI为所述第一部分中的所述存储器页面的数目,AP(N1+1)表示所述LRU列表上的第(Nl+l)th个页面的访问概率,所述第(Nl+l)th个页面表示所述第二部分中的所述最热存储器页面,OverheadPPF表示所述伪页面错误的所述开销;其中所Ar1+N2述比较项满足方程式ΣΑΡ(.ΠxOverhead,,,,.,且其中N2为所述第二部分中的所述存j=N'+m储器页面的数目,AP(j)表示所述LRU列表上的第j个页面的访问概率,Overhead,表示所述真页面错误的所述开销。m满足于最冷的(N2-m+l)个压缩存储器页面的总和小于等於一个存储器页面大小,所述最冷的(N2-m+2)个压缩存储器页面的总和大于一个存储器页面大小。20.根据权利要求19所述的计算机系统,其中所述至少一个处理器将所述存储器页面的所述第二部分建立于本地LRU列表中,其中通过页面闲置时间的倒数来估计所述本地LRU列表上的所述存储器页面中的每一个的所述访问概率,所述伪页面错误的所述开销为所述伪页面错误的时间成本,所述真页面错误的所述开销为所述真页面错误的时间成本,且其中所述页面闲置时间为被换出的所述存储器页面中的每一个与当前时间之间的差。【文档编号】G06F12/08GK103729305SQ201310456389【公开日】2014年4月16日申请日期:2013年9月29日优先权日:2012年10月11日【发明者】李翰林,阙志克,姜瑞豪申请人:财团法人工业技术研究院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1