一种页面换出方法、装置、设备及数据处理系统与流程

文档序号:37514747发布日期:2024-04-01 14:24阅读:6来源:国知局
一种页面换出方法、装置、设备及数据处理系统与流程

本技术涉及通信,尤其涉及一种页面换出方法、装置、设备及数据处理系统。


背景技术:

1、为了对该主机的内存进行扩展,主机操作系统可以将主机的内存中不活跃的页面换出到交换分区中,以此释放主机的内存的空间,从而实现对主机的内存扩展,该交换分区被认为是一种虚拟内存,该交换分区通常会位于该主机的硬盘中。

2、在主机上的进程需要调用这些被换出至交换分区的页面时,主机操作系统会将页面从交换分区再换入至主机的内存中。

3、但对于部署有虚拟机的主机,由于主机操作系统并不能感知主机的内存中虚拟机所占用的页面的使用状态,在将主机的内存中的页面换出至交换分区时,很可能会将虚拟机所占用的页面换出至交换分区。若主机操作系统将虚拟机所占用的一些关键性页面换出至交换分区,会造成虚拟机的卡顿,影响虚拟机的工作效率。


技术实现思路

1、本技术提供一种页面换出方法、装置、设备及数据处理系统,用以降低计算实例由于关键页面换出至交换分区造成卡顿的概率。

2、第一方面,本技术提供了一种页面换出方法,采用该方法可以将主机的内存中的页面换出至主机内存之外的存储设备中。在该方法中,主机操作系统从主机上的计算实例获取计算实例的页面标签,页面标签指示了内存中计算实例占用的各个页面的重要程度。

3、主机操作系统在获取该计算实例的页面标签后,能够确定计算实例占用的各个页面的重要程度。在需要将内存中的页面换出的情况下,主机操作系统根据页面标签从计算实例占用的各个页面中确定目标页面,将目标页面换出至存储设备。

4、通过上述方法,主机操作系统能够获取计算实例的页面标签,能够准确的获知计算实例占用的各个页面的重要程度,这样在后续需要将页面换出到存储设备时,避免将一些重要程度高的页面换出到存储设备,这样能够有效避免由于页面换出到存储设备导致的计算实例的卡顿,保证计算实例的运行效率。

5、在一种可能的实施方式中,当计算实例为虚拟机时,虚拟机可以具备能够生成并传输页面标签的功能。例如,虚拟机操作系统将页面标签发送给主机操作系统。

6、当计算实例为容器时,容器也可以配置有生成并传输页面标签的功能。例如,容器将页面标签发送给主机操作系统。

7、通过上述方法,计算设备上部署的计算实例可以主动的将页面标签提供给主机操作系统,使得主机操作系统能够方便的获取该页面标识,进而确定目标页面。

8、在一种可能的实施方式中,页面标签指示内存中计算实例占用的各个页面的重要程度的方式有很多种。页面标签可以采用间接指示的方式指示计算实例占用的各个页面的重要程度。例如,页面标签可以通过各个页面所属的类别表征各个页面的重要程度。也就是说,该页面标签包括每个页面所属的类别。页面所属的类别可以是从占用页面的对象或页面中存储的数据类型进行划分。例如,计算实例为虚拟机,页面标签包括虚拟机管理页面、虚拟机操作系统的内核页面或虚拟机的应用占用的页面。在这种情况下,目标页面可以包括虚拟机的应用占用的页面等重要程度相对较低的页面。又例如,计算实例为容器,页面标签包括容器管理页面、或容器的应用占用的页面,其中,目标页面可以包括容器的应用占用的页面等重要程度相对较低的页面。页面标签也可以采用直接指示的方式指示计算实例占用的各个页面的重要程度。例如,页面标签包括表征各个页面的重要程度的重要程度值。

9、通过上述方法,页面标签指示内存中计算实例占用的各个页面的重要程度的方式较为灵活,目标页面的选择也更为多样,适用于不同的场景。

10、在一种可能的实施方式中,页面标签通过各个页面所属的类别表征各个页面的重要程度时,页面所属的类别可以是从页面的访问情况进行划分。例如,页面标签可以包括计算实例占用的冷页面、热页面,这种情况下,目标页面包括冷页面。

11、通过上述方法,页面标签通过冷热页面指示重要程度,指示方式较为直观,目标页面的选择也更加简单。

12、在一种可能的实施方式中,主机操作系统在从计算实例占用的各个页面确定目标页面时,可以仅考虑该计算实例的页面标签。主机操作系统也可以综合计算实例占用的各个页面的页面访问频率和页面标签确定目标页面。例如,主机操作系统获取计算实例占用的各个页面的访问频率;根据页面访问频率以及页面标签从计算实例占用的各个页面中确定目标页面。主机操作系统也可以综合计算实例的页面访问频率、页面标签以及用户配置的页面交换参数确定目标页面。该页面交换参数包括但不限于:允许换出页面的计算实例的标识、页面扫描频率、冷页面的判断阈值、以及计算实例允许占用的最大内存空间。

13、通过上述方法,主机操作系统在确定目标页面时,除了页面标签,还可以参考其他信息,保证能够选择出对计算实例运行影响较小的目标页面,进一步保证后续该目标页面被换出后,计算实例卡顿的概率更小。

14、在一种可能的实施方式中,存储设备能够提供存储空间作为该主机的虚拟内存,该存储设备可以是部署在主机之外,与主机通过网络连接的存储设备。存储设备也可以是主机的本地存储设备。存储设备还可以是部署在云端,如该存储设备可以是私有云或公有云中为该主机预先配置的存储空间。

15、通过上述方法,存储设备的具体形态有多种,有效地扩展了页面换出方法所适用的场景。

16、在一种可能的实施方式中,主机操作系统在获取主机上计算实例的页面标签时,虚拟机操作系统或容器向主机操作系统发送页面标签。

17、通过上述方法,计算实例本身具备生成页面标签、传输页面标签的功能,使得主机操作系统能够明确的获知计算实例所占用的各个页面的重要程度。

18、在一种可能的实施方式中,主机还包括加速装置,主机操作系统将目标页面交换至存储设备时,可以将目标页面换出至存储设备的操作交由加速装置执行。例如,主机操作系统向加速装置发送换出指令,换出指令用于指示将目标页面换出至存储设备,换出指令包括目标页面的虚拟地址以及目标页面,目标页面的虚拟地址为目标页面在主机的内存中的地址。

19、加速装置在接收到该换出指令后,访问该存储设备,将目标页面交换至存储设备,记录目标页面的虚拟地址与目标页面的交换地址的对应关系,目标页面的交换地址为目标页面在存储设备的地址。

20、通过上述方法,主机中由加速装置将目标页面换出至存储设备,能够有效减少主机操作系统的压力,释放主机中处理器的算力。

21、在一种可能的实施方式中,加速装置除了能够将目标页面换出至存储设备,还可以代替主机操作系统承担将目标页面换入至主机的内存的操作。例如,加速装置接收主机中的mmu发送的换入指令,换入指令携带目标页面的虚拟地址。

22、加速装置在接收到换入指令后,根据对应关系所确定的目标页面的交换地址从存储设备获取目标页面,将目标页面写入到主机的内存中。

23、通过上述方法,主机中由加速装置将目标页面换入至主机的内存,无需主机操作系统参与,进一步减轻了主机中处理器的压力。

24、在一种可能的实施方式中,加速装置将目标页面写入到主机的内存时,主机的操作系统或主机的处理器可以向加速装置发送目标页面在内存的物理地址;加速装置在获取该内存的物理地址后,通过dma将目标页面写入到物理地址。

25、通过上述方法,加速装置在获取目标页面在内存的物理地址后,可以通过dma的方式直接将目标页面写入到内存中,绕过了主机的处理器,目标页面的写入过程更加快速,同时也减少了目标页面写入内存的过程对主机的处理器的占用。

26、在一种可能的实施方式中,加速装置将目标页面换出至存储设备时,为了能够减少目标页面在存储设备中占用存储空间,加速装置可以对目标页面进行压缩,在压缩了目标页面后,将压缩后的目标页面交换至存储设备。

27、在一种可能的实施方式中,加速装置根据对应关系所确定的目标页面的交换地址从存储设备获取目标页面时,若存储设备存储的目标页面为压缩后的目标页面,加速装置可以先根据目标页面的交换地址从存储设备获取压缩后的目标页面。加速装置在获取压缩后的目标页面后,可以对压缩后的目标页面进行解压,获取目标页面。

28、通过上述方法,加速装置具备数据解压功能,无需处理器参与即可将压缩后的目标页面进行解压。

29、第二方面,本技术提供了一种页面换出装置,该页面换出装置部署在主机中,有益效果可以参见第一方面的相关说明。该页面换出装置用于将主机的内存中的页面换出至存储设备,该页面换出装置包括:

30、实例页面识别模块,用于获取主机上计算实例的页面标签,页面标签用于指示内存中计算实例占用的各个页面的重要程度,根据页面标签从计算实例占用的各个页面中确定目标页面。

31、交换模块,用于将目标页面换出至存储设备。

32、在一种可能的实施方式中,虚拟机操作系统或容器可以向实例页面识别模块发送该页面标签。

33、在一种可能的实施方式中,计算实例为虚拟机,页面标签包括虚拟机管理页面、虚拟机操作系统的内核页面或虚拟机的应用占用的页面。在这种情况下,目标页面可以包括虚拟机的应用占用的页面等重要程度相对较低的页面。计算实例为容器,页面标签包括容器管理页面、或容器的应用占用的页面,其中,目标页面可以包括容器的应用占用的页面等重要程度相对较低的页面。

34、在一种可能的实施方式中,页面标签可以包括计算实例占用的冷页面、热页面,这种情况下,目标页面包括冷页面。

35、在一种可能的实施方式中,实例页面识别模块确定目标页面时,可以仅考虑计算实例的页面标签,根据页面标签确定目标页面。实例页面识别模块也可以获取计算实例的占用的各个页面的访问频率,根据页面访问频率以及页面标签从计算实例占用的各个页面中确定目标页面。实例页面识别模块还可以获取用户配置的页面交换参数,根据页面交换参数、页面访问频率以及页面标签中的部分或全部从计算实例占用的各个页面中确定目标页面。

36、在一种可能的实施方式中,存储设备为部署在主机之外,与主机通过网络连接的存储设备,或为主机的本地存储设备,或为公有云或私有云中为主机分配的存储空间。

37、在一种可能的实施方式中,主机包括加速装置,交换模块将目标页面交换至存储设备时,可以指示加速装置将目标页面换出至存储设备。例如,交换模块向加速装置发送换出指令,换出指令用于指示将目标页面换出至存储设备,换出指令包括目标页面的虚拟地址以及目标页面,目标页面的虚拟地址为目标页面在主机的内存中的地址。

38、加速装置在获取该换出指令后,可以根据换出指令,将目标页面换出到存储设备。

39、上述模块可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块。

40、第三方面,本技术实施例提供了一种页面交换加速方法,该方法可以由部署在主机中的加速装置执行,该加速装置包括dpu、gpu、npu、或tpu等具有处理功能的处理器。前述列举的处理器的类型仅是举例,本技术实施例并不限定加速装置中所包括的处理器的具体类型。该加速装置可以用于实现目标页面在主机的内存与存储设备之间的换入以及换出。有益效果可以参见第一方面的相关说明,此处不再赘述。

41、该加速装置接收主机操作系统发送换出指令(从硬件角度,该换出指令是该主机中的处理器发出的),换出指令用于指示将目标页面换出至存储设备,换出指令包括目标页面的虚拟地址以及目标页面,目标页面的虚拟地址为目标页面在主机的内存中的地址。

42、加速装置在接收到换出指令后,将目标页面交换至存储设备,记录目标页面的虚拟地址与目标页面的交换地址的对应关系,目标页面的交换地址为目标页面在存储设备的地址。

43、在一种可能的实施方式中,加速装置接收主机中的mmu发送的换入指令,换入指令携带目标页面的虚拟地址。加速装置根据对应关系所确定的目标页面的交换地址从存储设备获取目标页面;加速装置将目标页面写入到主机的内存中。

44、在一种可能的实施方式中,加速装置将目标页面写入到主机的内存中时,加速装置获取目标页面在内存的物理地址;加速装置通过dma将目标页面写入到物理地址。

45、在一种可能的实施方式中,加速装置将目标页面换出至存储设备时,对目标页面进行压缩,将压缩后的目标页面交换至存储设备。

46、在一种可能的实施方式中,加速装置根据对应关系所确定的目标页面的交换地址从存储设备获取目标页面,加速装置根据目标页面的交换地址从存储设备获取压缩后的目标页面,加速装置对压缩后的目标页面进行解压,获取目标页面。

47、第四方面,本技术实施例还提供了一种加速装置,该加速装置具有实现上述第三方面的方法实例中行为的功能,有益效果可以参见第一方面的描述此处不再赘述。功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块。在一个可能的设计中,装置的结构中包括接收模块(用于接收换入指令或换出指令)、以及换出模块(用于将目标页面换出至存储设备),可选的,还包括换入模块(用于将目标页面从存储设备换入至主机的内存),这些模块可以执行上述第三方面方法示例中的相应功能,具体参见方法示例中的详细描述,此处不做赘述。

48、第五方面,本技术实施例还提供了一种加速装置,该加速装置包括dpu、gpu、npu、或tpu等具有处理功能的处理器。前述列举的处理器的类型仅是举例,本技术实施例并不限定加速装置中所包括的处理器的具体类型,下面仅是以加速装置所包括的处理器为dpu为例进行说明。可选的,还包括供电电路以及存储器。供电电路用于对dpu进行供电。

49、在一种可能的实施方式中,该dpu具有实现上述第一方面以及第一方面的各个可能的实现方式中的方法实例中dpu的行为的功能,或具有实现上述第三方面以及第三方面的各个可能的实现方式中的方法实例中加速装置的行为的功能,有益效果可以参见第一方面的描述此处不再赘述。

50、在另一种可能的实施方式中,存储器中存储计算机程序指令,dpu与存储器耦合,dpu可调用该存储器中存储的计算机执行指令,执行上述第一方面以及第一方面的各个可能的实现方式中dpu所执行的方法,或执行上述第三方面以及第三方面的各个可能的实现方式中方法。

51、第六方面,本技术还提供了一种计算设备,有益效果以及细节内容可以参见第一方面的相关描述,此处仅简单表述。该计算设备包括处理器和内存;

52、处理器获取计算设备上计算实例的页面标签,页面标签用于指示内存中计算实例占用的各个页面的重要程度,根据页面标签从计算实例占用的各个页面中确定目标页面;将目标页面换出至存储设备。

53、在一种可能的实施方式中,处理器获取虚拟机操作系统或容器发送的页面标签。

54、在一种可能的实施方式中,页面标签包括虚拟机管理页面、虚拟机操作系统的内核页面或虚拟机的应用占用的页面,其中,目标页面包括虚拟机的应用占用的页面。

55、在一种可能的实施方式中,页面标签包括容器管理页面、或容器的应用占用的页面,其中,目标页面包括容器的应用占用的页面。

56、在一种可能的实施方式中,页面标签还包括计算实例占用的冷页面、热页面,目标页面包括冷页面。

57、在一种可能的实施方式中,处理器在确定目标页面时,还可以获取计算实例占用的各个页面的访问频率;根据页面访问频率以及页面标签从计算实例占用的各个页面中确定目标页面。

58、在一种可能的实施方式中,存储设备为部署在主机之外,与主机通过网络连接的存储设备,或为主机的本地存储设备,或为公有云或私有云中为所述主机分配的存储空间。

59、在一种可能的实施方式中,处理器将目标页面换出至存储设备时,可以自行将目标页面换出至存储设备,记录目标页面的虚拟地址与目标页面的交换地址的对应关系,目标页面的交换地址为目标页面在存储设备的地址。计算设备还包括加速装置,处理器也可以向加速装置发送换出指令,换出指令用于指示将目标页面换出至存储设备,换出指令包括目标页面的虚拟地址以及目标页面,目标页面的虚拟地址为目标页面在主机的内存中的地址;

60、加速装置将目标页面交换至存储设备,记录目标页面的虚拟地址与目标页面的交换地址的对应关系。

61、在一种可能的实施方式中,加速装置接收主机中的mmu发送的换入指令,换入指令携带目标页面的虚拟地址;之后,根据对应关系所确定的目标页面的交换地址从存储设备获取目标页面;将目标页面写入到主机的内存中。

62、在一种可能的实施方式中,加速装置在将目标页面写入到主机的内存时,获取目标页面在内存的物理地址;通过dma将目标页面写入到物理地址。

63、在一种可能的实施方式中,加速装置在将目标页面换出至存储设备时,对目标页面进行压缩,将压缩后的目标页面交换至存储设备。

64、在一种可能的实施方式中,加速装置在根据对应关系所确定的目标页面的交换地址从存储设备获取目标页面时,根据目标页面的交换地址从存储设备获取压缩后的目标页面;对压缩后的目标页面进行解压,获取目标页面。

65、第七方面,本技术提了一种数据处理系统,该数据处理系统包括主机和存储设备,存储设备通过内部总线或网络与主机通信,主机设置有加速装置。

66、主机向加速装置发送换出指令,换出指令中包含数据。加速装置在从换入指令获取该数据后,对数据进行压缩,将压缩后的数据保存在加速装置的内存中,或者保存在主机的内存中。加速装置通过对数据进行压缩,使得数据在加速装置在内存中或主机内存中占用的空间减少,提升加速装置在内存中或主机内存的利用率。

67、在一种可能的实施方式中,压缩后的数据保存在加速装置的内存中,加速装置可以在加速装置的内存中空闲的内存空间小于第一空闲阈值、或压缩后的数据的访问频率低于阈值的情况下,将压缩后的数据迁移至存储设备,这样可以减少对加速装置中内存的占用。

68、在一种可能的实施方式中,压缩后的数据保存在主机的内存中,加速装置可以在主机的内存中空闲的内存空间小于第二空闲阈值、或压缩后的数据的访问频率低于阈值的情况下,将压缩后的数据迁移至加速装置的内存中,这样可以减少对主机中内存的占用。

69、在一种可能的实施方式中,主机向加速装置发送换入指令,换入指令指示获取数据。加速装置在接收到该换入指令后,获取压缩后的数据,对压缩后的数据进行解压,在解压后,将解压后的数据保存在主机的内存中。

70、在一种可能的实施方式中,若压缩后的数据已迁移至存储设备,加速装置从存储设备获取压缩后的数据,若压缩后的数据保存在加速装置中的内存或主机的内存中,加速装置可以加速装置中的内存或主机的内存获取该压缩后的数据。

71、第八方面,本技术还提供一种计算机可读存储介质,计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面以及第一方面的各个可能的实现方式中的方法。当其在计算机上运行时,使得计算机执行上述第三方面以及第三方面的各个可能的实现方式中的方法。

72、第九方面,本技术还提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面以及第一方面的各个可能的实现方式中的方法。当其在计算机上运行时,使得计算机执行上述第三方面以及第三方面的各个可能的实现方式中的方法。

73、第十方面,本技术还提供一种计算机芯片,芯片与存储器相连,芯片用于读取并执行存储器中存储的软件程序,执行上述第一方面以及第一方面的各个可能的实现方式中的方法或执行上述第三方面以及第三方面的各个可能的实现方式中的方法。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1