一种脏页确定方法及计算设备与流程

文档序号:36165573发布日期:2023-11-23 17:13阅读:77来源:国知局
一种脏页确定方法及计算设备与流程

本申请涉及服务器,尤其涉及一种脏页确定方法及计算设备。


背景技术:

1、在服务(如资金交易服务)运行过程中,该服务所在物理机(例如服务器)可能会因为负载均衡、计划停机等原因而需要将该服务迁移到其他物理机上运行。进行服务迁移时,为了降低该服务对应内存数据的传输量,缩短传输时间,可以采用增量复制的方式,通过多轮拷贝完成对应内存状态的转移。为此,每轮拷贝时,都需确定上一轮拷贝完成时至当前时间都有哪些内存页面的内容发生了变化,即追踪这段时间产生的脏页以进行拷贝。

2、相关脏页追踪技术中,具体原理是:将服务所使用的虚拟地址页面标记为只读,使该虚拟地址页面读写时触发页故障,然后登记对应的物理内存页面,这样,增量复制时可以获取登记的页面实现迁移,并且内存传输前还需重新将对应的虚拟地址页面标记为只读,以在后续还可以追踪到该页面的修改情况。但是,这种脏页追踪方式,每获取一个脏页都需触发一次页故障,给系统资源造成较高开销。


技术实现思路

1、本申请实施例提供了一种脏页确定方法、装置、计算设备、计算机存储介质及计算机程序产品,能够降低脏页追踪时的系统资源开销。

2、第一方面,本申请实施例提供一种脏页确定方法,方法应用于计算设备,计算设备包括宿主机操作系统,以及部署在宿主机操作系统上的虚拟机和目标服务,方法包括:监测目标服务的状态信息;其中,状态信息用于表征目标服务的被调用;在目标服务被调用情况下,将目标服务切换至虚拟机中运行;其中,目标服务在虚拟机中使用的页表,与目标服务运行在宿主机操作系统上所使用的页表相同;通过虚拟机中的页面修改记录pml机制,记录目标服务运行产生的脏页。

3、在本实施例中,计算设备中,在虚拟机状态和非虚拟状态使用的页表相同,虚拟机状态和非虚拟状态下发生读写操作时所使用的内存空间相同。基于页表共用的特性,宿主机操作系统上的目标服务需要记录脏页时,可以将该目标服务切换到该计算设备的虚拟机上运行,此时目标服务仍能利用同一页表正常读写,并可以直接通过虚拟机的pml机制对目标服务运行所产生的脏页进行记录,从而在进行宿主机操作系统上目标服务的脏页追踪时,降低系统的资源开销。

4、在一些可能的实施例中,虚拟机包括扩展页表ept;其中,ept中包括恒等映射关系;恒等映射关系用于将虚拟机的物理地址映射指向计算设备的物理地址;将目标服务切换至虚拟机中运行之后,方法还包括;通过扩展页表ept的恒等映射关系,确定与目标服务访问虚拟机物理地址所对应的计算设备的物理地址;基于计算设备的物理地址,执行目标服务的写操作。

5、本实施例中,虚拟机模式和非虚拟机模式共用页表,可以通过恒等映射关系的ept页表,使这两种模式之间的虚拟地址有对应的线性关系,从而访问两种模式共同可用的真实内存空间。这样,保障目标服务切换到虚拟机之后仍能基于同一页表正常读写操作。

6、在一些可能的实施例中,将目标服务切换至虚拟机中运行,包括:确定目标服务在虚拟机中的运行现场,其中,虚拟机的运行现场与目标服务在宿主机操作系统上运行时的现场状态相同;将目标服务调度至虚拟机中运行。

7、这样,通过部署不同运行模式下的相同运行现场,可以保障目标服务在不同运行模式之间切换时能够稳定运行。

8、在一些可能的实施例中,在将目标服务切换至虚拟机中运行之前,方法还包括:确定计算设备的运行模式;运行模式包括虚拟机模式和非虚拟机模式;在计算设备运行在非虚拟机模式的情况下,将目标服务切换至虚拟机中运行。

9、本实施例中,计算设备的处理器监测当前所处的运行模式,在确定目标服务被调用时是处于非虚拟机模式,再进行运行模式切换,保障运行模式切换的可靠性实现。

10、在一些可能的实施例中,确定计算设备的运行模式,包括:获取cpuid指令的返回结果;根据cpuid指令的返回结果,确定计算设备的运行模式。运行模式的检测逻辑简单、可靠。

11、在一些可能的实施例中,计算设备中包括第一内存页和第二内存页;其中,在虚拟机模式下,第一内存页与预定物理内存页对应;在非虚拟机模式下,第二内存页与预定物理内存页对应;确定计算设备的运行模式,包括:访问预定物理内存页,根据预定物理内存页对应的目标内存页的内容,确定所述计算设备的运行模式,其中,目标内存页为第一内存页或第二内存页。

12、在一些可能的实施例中,方法还包括:获取配置信息;配置信息用于指示是否开启对目标服务的脏页追踪;在配置信息指示启用对目标服务的脏页追踪的情况下,基于虚拟机的pml机制记录写操作产生的脏页。

13、在一些可能的实施例中,方法还包括:在满足虚拟化退出条件的情况下,将目标服务从虚拟机切换至宿主机操作系统上运行;其中,退出条件包括不需要进行脏页追踪、目标服务停止运行、或记录脏页的缓冲区已满。

14、在一些可能的实施例中,方法包括:在满足迁移条件的情况下,将脏页迁移至目标计算设备,其中,迁移条件包括脏页数量低于预设值,或预计传输时间低于预设阈值。这样,可以实现宿主机操作系统上目标服务的热迁移,系统开销低。

15、第二方面,本申请实施例提供了一种脏页确定装置,装置应用于计算设备,计算设备包括宿主机操作系统,以及部署在宿主机操作系统上的虚拟机和目标服务,装置包括:监测模块,用于监测目标服务的状态信息;其中,状态信息用于表征目标服务的被调用;处理模块,用于在目标服务被调用情况下,将目标服务切换至虚拟机中运行;其中,目标服务在虚拟机中使用的页表,与目标服务运行在宿主机操作系统上所使用的页表相同;通过虚拟机中的页面修改记录pml机制,记录目标服务运行产生的脏页该装置。

16、第三方面,本申请实施例提供一种计算设备,包括:至少一个存储器,用于存储程序;至少一个处理器,用于执行存储器存储的程序;其中,当存储器存储的程序被执行时,处理器用于执行第一方面或第一方面的任一种可能的实现方式所描述的方法。

17、第四方面,本申请实施例提供一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,当计算机程序在处理器上运行时,使得处理器执行第一方面或第一方面的任一种可能的实现方式所描述的方法。

18、第五方面,本申请实施例提供一种计算机程序产品,其特征在于,当计算机程序产品在处理器上运行时,使得处理器执行第一方面或第一方面的任一种可能的实现方式所描述的方法。

19、第六方面,本申请实施例提供一种芯片,其特征在于,包括至少一个处理器和接口;至少一个处理器通过接口获取程序指令或者数据;至少一个处理器用于执行程序行指令,以实现第一方面或第一方面的任一种可能的实现方式所描述的方法。

20、可以理解的是,上述第二方面至第六方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。



技术特征:

1.一种脏页确定方法,其特征在于,所述方法应用于计算设备,所述计算设备包括宿主机操作系统,以及部署在所述宿主机操作系统上的虚拟机和目标服务,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述虚拟机包括扩展页表ept;其中,所述ept中包括恒等映射关系;所述恒等映射关系用于将虚拟机的物理地址映射指向所述计算设备的物理地址;

3.根据权利要求1或2所述的方法,其特征在于,将所述目标服务切换至所述虚拟机中运行,包括:

4.根据权利要求1-3任一项所述的方法,其特征在于,在将所述目标服务切换至所述虚拟机中运行之前,所述方法还包括:

5.根据权利要求4所述的方法,其特征在于,所述确定所述计算设备的运行模式,包括:

6.根据权利要求4述的方法,其特征在于,所述计算设备中包括第一内存页和第二内存页;其中,在虚拟机模式下,所述第一内存页与预定物理内存页对应;

7.根据权利要求1-6中任一项所述的方法,其特征在于,

8.根据权利要求1-7任一所述的方法,其特征在于,所述方法还包括:

9.根据权利要求1-8任一所述的方法,其特征在于,所述方法包括:

10.一种计算设备,其特征在于,包括:存储器和处理器;


技术总结
本申请实施例提供了一种脏页确定方法及计算设备,涉及服务器技术领域。计算设备包括宿主机操作系统,以及部署在宿主机操作系统上的虚拟机和目标服务,方法包括监测目标服务的状态信息;其中,状态信息用于表征目标服务的被调用;在目标服务被调用情况下,将目标服务切换至虚拟机中运行;其中,目标服务在虚拟机中使用的页表,与目标服务运行在宿主机操作系统上所使用的页表相同;通过虚拟机中的页面修改记录PML机制,记录目标服务运行产生的脏页。这样,可以在进行宿主机操作系统上目标服务的脏页追踪时,可以降低系统开销。

技术研发人员:刘晓建
受保护的技术使用者:超聚变数字技术有限公司
技术研发日:
技术公布日:2024/1/16
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1