CN114579404A - 冷热页统计方法以及装置 - Google Patents
冷热页统计方法以及装置 Download PDFInfo
- Publication number
- CN114579404A CN114579404A CN202210207352.9A CN202210207352A CN114579404A CN 114579404 A CN114579404 A CN 114579404A CN 202210207352 A CN202210207352 A CN 202210207352A CN 114579404 A CN114579404 A CN 114579404A
- Authority
- CN
- China
- Prior art keywords
- access
- memory page
- memory
- page
- cold
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3037—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本说明书实施例提供一种冷热页统计方法以及装置,应用于内存控制器的冷热页识别模块,其中所述冷热页统计方法包括:响应于处理器发送的内存访问指令,根据所述内存访问指令生成针对初始内存页的访问记录,根据所述访问记录更新数据列表中所述初始内存页的访问次数,根据所述数据列表中所述初始内存页的访问次数确定冷内存页或热内存页。通过获取处理器发送的内存访问指令,可以检测到真实的内存访问,避免了把缓存访问当作内存访问从而进行误统计,并且由于每次内存访问都能够通过访问记录被统计记录,避免了采样统计时出现的概率性误差,进而提高了冷热页识别的准确率。
Description
技术领域
本说明书实施例涉及计算机技术领域,特别涉及一种冷热页统计方法。
背景技术
在云计算场景下内存冷热页的识别对提升内存资源利用率,降低成本有重要意义,随机存取存储器(random access memory,RAM)又称作“随机存储器”,是与CPU直接交换数据的内部存储器,也叫主存(内存)。它可以随时读写,而且速度很快,通常作为操作系统或其他正在运行中的程序的临时数据存储媒介。按照存储单元的工作原理,随机存储器又分为静态随机存储器(Static RAM,SRAM)和动态随机存储器(Dynamic RAM,DRAM)。随着数据规模不断增大,内存访问密集的应用不断增多,DRAM渐渐不能满足应用的需求。新兴的存储器件有着更大的存储密度,更低的价格,更低的能耗,但却有着延迟更高,且寿命有限的缺点,不能直接替代DRAM使用。例如,非易失存储器(non-volatile memory,NVM)是指断电后仍能保持数据的一种存储器,具有非易失、按字节存取、存储密度高、低能耗、读写性能接近DRAM,但读写速度不对称,寿命有限的特点。利用这种新型的存储器件和DRAM组成混合内存,可以很好地利用它们各自的优点。一种方式是将DRAM与NVM组成统一的地址空间,数据要么放在DRAM上,要么放在NVM上。由于DRAM与NVM延迟不同,所以将访问更多的热数据存储在DRAM中能大大降低内存的平均访问延迟。随着程序的运行,应用程序的热数据不是一成不变的,数据的冷热程度可能随时发生变化,所以需要根据热度的变化对数据进行迁移,时刻保证热度更高的数据存储在DRAM中。如何准确地识别冷热数据是需要解决的重要问题。
发明内容
有鉴于此,本说明书实施例提供了一种冷热页统计方法。本说明书一个或者多个实施例同时涉及一种冷热页统计装置,一种计算设备,一种计算机可读存储介质以及一种计算机程序,以解决现有技术中存在的技术缺陷。
根据本说明书实施例的第一方面,提供了一种冷热页统计方法,应用于内存控制器的冷热页识别模块,包括:
响应于处理器发送的内存访问指令,根据所述内存访问指令生成针对初始内存页的访问记录;
根据所述访问记录更新数据列表中所述初始内存页的访问次数;
根据所述数据列表中所述初始内存页的访问次数确定冷内存页或热内存页。
根据本说明书实施例的第二方面,提供了一种冷热页统计装置,应用于内存控制器的冷热页识别模块,包括:
访存记录单元,被配置为响应于处理器发送的内存访问指令,根据所述内存访问指令生成针对初始内存页的访问记录;
热度排序单元,被配置为根据所述访问记录更新数据列表中所述初始内存页的访问次数;
访问控制单元,被配置为根据所述数据列表中所述初始内存页的访问次数确定冷内存页或热内存页。
根据本说明书实施例的第三方面,提供了一种计算设备,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令,该计算机可执行指令被处理器执行时实现上述冷热页统计方法的步骤。
根据本说明书实施例的第四方面,提供了一种计算机可读存储介质,其存储有计算机可执行指令,该指令被处理器执行时实现上述冷热页统计方法的步骤。
根据本说明书实施例的第五方面,提供了一种计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行上述冷热页统计方法的步骤。
本说明书实施例提供一种冷热页统计方法以及装置,应用于内存控制器的冷热页识别模块,其中所述冷热页统计方法包括:响应于处理器发送的内存访问指令,根据所述内存访问指令生成针对初始内存页的访问记录,根据所述访问记录更新数据列表中所述初始内存页的访问次数,根据所述数据列表中所述初始内存页的访问次数确定冷内存页或热内存页。通过获取处理器发送的内存访问指令,可以检测到真实的内存访问,避免了把缓存访问当作内存访问从而进行误统计,并且由于每次内存访问都能够通过访问记录被统计记录,避免了采样统计时出现的概率性误差,进而提高了冷热页识别的准确率。
附图说明
图1a是本说明书一个实施例提供的一种冷热页统计方法的场景示意图;
图1b是本说明书一个实施例提供的一种冷热页统计方法的另一的场景示意图;
图2是本说明书一个实施例提供的一种冷热页统计方法的流程图;
图3是本说明书一个实施例提供的一种冷热页统计方法的处理过程流程图;
图4是本说明书一个实施例提供的一种冷热页统计装置的结构示意图;
图5是本说明书一个实施例提供的一种计算设备的结构框图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本说明书。但是本说明书能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本说明书内涵的情况下做类似推广,因此本说明书不受下面公开的具体实施的限制。
在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
首先,对本说明书一个或多个实施例涉及的名词术语进行解释。
热页:业务负载在运行时需要访问内存,其中频繁访问的内存页被称为热页。
冷页:业务负载在运行时需要访问内存,其中较少访问的内存页被称为冷页。
内存控制器:接收CPU(中央处理器)的请求,访问/读写内存的控制模块。
处理器:是指中央处理器(central processing unit,简称CPU),作为计算机系统的运算和控制核心,是信息处理、程序运行的最终执行单元。
内存(Memory):是计算机的重要部件之一,也称内存储器和主存储器,它用于暂时存放CPU中的运算数据,与硬盘等外部存储器交换的数据。
DRAM:指动态随机存取存储器(Dynamic Random Access Memory,DRAM)是一种半导体存储器,主要的作用原理是利用电容内存储电荷的多寡来代表一个二进制比特(bit)是1还是0。
NVM:英文为Non-volatile memory,指非易失存储器,具有非易失、按字节存取、存储密度高、低能耗、读写性能接近DRAM,但读写速度不对称,寿命有限。
最小堆:是一种经过排序的完全二叉树,其中任一非终端节点的数据值均不大于其左子节点和右子节点的值。
在本说明书中,提供了一种冷热页统计方法,本说明书同时涉及一种冷热页统计装置,一种计算设备,以及一种计算机可读存储介质,在下面的实施例中逐一进行详细说明。
参见图1a,图1a是本说明书一个实施例提供的一种冷热页统计方法的场景示意图。该应用场景可以包括处理器110、内存控制器120和内存130。
处理器110发送访存信息,内存控制器120根据处理器110发送的访存信息对内存130进行读写操作,内存控制器120中包括冷热页识别模块121和访存模块122,其中,访存模块122用来进行读写内存130,冷热页识别模块121包括访存记录单元1211、热度排序单元1212和访问控制单元1213。访存记录单元1211负责截获处理器110发给内存控制器120的访存信息,热度排序单元1212管理2个(一个读、一个写)最小堆的结构体,以内存130页的编号作为Key(键),以访问次数作为value(值),每当有新的访问记录记录投递过来,根据Key值增加访问次数,同时完成最小堆的更新,访问控制单元1213负责与软件交互,提供mmio接口,接收对冷热页识别模块121的配置,返回热冷页的最小堆信息。
在处理器110向内存控制器120发送访存信息的情况下,访存记录单元1211截获该处理器110发给内存控制器120的访存信息,其中,访存信息包括HPA(物理地址)、RW(读或写)、Size(大小)信息,根据访存信息可以生成如(内存130页的编号,读或写)形式的访问记录,并将访问记录发送给热度排序单元1212,热度排序单元1212根据(内存130页的编号,读或写)中的读或写将该记录放入对应的最小堆的结构体,并根据其中的内存130页的编号增加对应的内存130页的访问次数。
参见图1b,图1b是本说明书一个实施例提供的一种冷热页统计方法的另一场景示意图。该应用场景可以包括应用程序140、冷热页管理内核模块150和内存控制器120。
冷热页管理内核模块150包括proc接口151、ioctl接口152、mmio接口153和预留内存154,预留内存154为系统启动时预留一块内存,作为访存记录的存放区域,mmio接口153用来给访问控制模块设置参数,或者读取冷热页信息,proc接口151/ioctl接口152对用户在应用程序140中提供交互界面,用户可以通过应用程序140设置冷热页识别粒度、地址区间,也可以读取冷热页信息,内存控制器120包括冷热页识别模块121和访存模块122。
内存控制器120中的冷热页识别模块121将冷热页数据记录存储在预留内存154中,工作人员使用应用程序140通过proc接口151获取冷热页管理内核模块150的预留内存154中的冷热页信息。工作人员也可以使用应用程序140通过proc接口151向冷热页管理内核模块150请求冷热页识别模块121的配置信息,冷热页识别模块121通过mmio接口153将配置信息发送给冷热页管理内核模块150。在工作人员使用应用程序140修改配置的情况下,应用程序140将新的配置信息发送给冷热页管理内核模块150,冷热页管理内核模块150再将新的配置信息通过mmio接口153发送给冷热页识别模块121进行应用。
参见图2,图2示出了根据本说明书一个实施例提供的一种冷热页统计方法的流程图,具体包括以下步骤。
步骤202:响应于处理器发送的内存访问指令,根据所述内存访问指令生成针对初始内存页的访问记录。
其中,初始内存页可以是内存设备中的内存页,例如,初始内存页为100页,每个内存页的粒度为2兆字节(M);访问记录可以理解为处理器对内存页请求的记录,例如,对第20内存页读请求的记录。
在实际应用中,在云计算场景下内存冷热页的识别对提升内存资源利用率,降低成本有重要意义,通过将热页置于DRAM、冷页至于NVM,可以有效降低内存的使用成本,所以如何准确区分内存页是冷页还是热页是关键问题。可以在内存控制器中设置冷热页识别模块、通过该冷热页识别模块截获处理器发送给内存控制器的访存信息(内存访问指令),对访存信息进行处理,进而生成访问记录。
综上所述,在处理器向内存控制器中发送内存访问指令的情况下,解析内存访问指令,得到物理地址信息、读操作或者写操作以及读或者写的大小,根据内存访问指令中的内容生成对初始内存页的访问记录,例如,内存访问指令中的物理地址信息为A1地址至B1地址,并且是对内存页的写操作,写操作的大小为5兆字节,也就是说写入5兆字节数据。根据A1地址至B1地址、写操作、写5兆字节数据生成访问记录。
本说明书实施例根据处理器发送的内存访问指令生成对内存页的访问记录,避免了把缓存访问当作内存访问从而进行误统计,提高了统计的准确率。
具体地,所述响应于处理器发送的内存访问指令,根据所述内存访问指令生成针对初始内存页的访问记录,包括:
获取处理器发送的内存访问指令;
解析所述内存访问指令得到内存页访问信息;
根据所述内存页访问信息生成针对初始内存页的访问记录。
其中,获取处理器发送的内存访问指令可以理解为截获处理器发送的内存访问指令,例如,处理器发送内存访问指令给内存控制器,正常情况下,内存控制器中的访存模块会接收处理器发送的内存访问指令,然后根据内存访问指令对相应的内存页进行修改,而本说明书实施例截获处理器发送给内存控制器的内存访问指令。
内存页访问信息中可以包括物理地址信息,读操作或者写操作的信息以及读操作或者写操作的大小的信息,例如,上述实施例中的物理地址信息为A1地址至B1地址,对内存页的写操作,写操作的大小为5兆字节。
例如,在处理器向内存控制器中发送内存访问指令的情况下,截获该内存访问指令,将内存访问指令进行解析,得到物理地址信息为A1地址至B1地址,对内存页的写操作,写操作的大小为5兆字节,根据物理地址信息为A1地址至B1地址、内存页的写操作、写操作的大小为5兆字节可以确定要对哪一个内存页进行写5兆字节大小的数据,也就可以生成针对该内存页的访问记录。
本说明书实施例根据处理器发送的内存访问指令生成对内存页的访问记录,每次内存访问都能够通过访问记录被统计记录,提高了统计的准确率。
进一步地,所述根据所述内存页访问信息生成针对初始内存页的访问记录,包括:
根据所述内存页访问信息中的内存页地址信息和内存页大小信息确定所述初始内存页;
根据所述内存页访问信息中的读写信息确定读操作或者写操作;
根据所述读操作或者所述写操作,生成针对所述初始内存页的访问记录,其中,所述访问记录中携带所述初始内存页的标识。
其中,内存页地址信息可以为内存页的物理地址信息,例如上述实施例中的A1地址至B1地址;内存页大小信息可以为对内存页写入的数据的大小的信息,例如上述实施例中的写操作的大小为5兆字节;读写信息可以为对内存页进行写操作的信息或者进行读操作的信息;初始内存页的标识可以为字符、编号等标识,例如,在初始内存页为100个的情况下,初始内存页的标识可以为1至100。
沿用上例,初始内存页为100个,初始内存页的粒度均为2兆字节,相应地,初始内存页的标识为1-100,物理地址信息为A1地址至B1地址,对内存页的写操作,写操作的大小为5兆字节,根据“物理地址信息为A1地址至B1地址”和“写5兆字节的数据”确定出第20个内存页、第21个内存页和第22个内存页。根据读写信息:“对内存页的写操作”确定是对内存页进行写入数据,所以生成的访问记录为(20,写操作)、(21,写操作)和(22,写操作)。
本说明书实施例在进行冷热页识别时,考虑到了读写信息,通过读操作或者写操作生成对应的访问记录,由此可以根据需要获取读操作的冷页或者热页,也可以根据需要获取写操作的冷页或者热页,提高了本方案的可用性。
步骤204:根据所述访问记录更新数据列表中所述初始内存页的访问次数。
其中,数据列表可以为包括所有内存页的被访问次数的列表,例如,数据列表中可以包括100条数据,这100条数据分别对应100个内存页;访问次数可以理解为内存页的被读或者写的次数,例如,第20内存页的访问次数为53次。
在实际应用中,冷热识别模块中还包括热度排序单元,通过访问记录对访问次数进行更新,并将每个内存页的访问次数放入一个列表,通过列表便于查找想要的目标数据,也就是可以快速确定冷页或者热页。
例如,初始内存页为100个,访问记录包括(20,写操作)、(21,写操作)和(22,写操作),根据(20,写操作)、(21,写操作)和(22,写操作)可以更新数据列表中第20个内存页、第21个内存页和第22个内存页的访问次数。
本说明书实施例通过获取处理器发送的内存访问指令,根据内存访问指令确定访问次数,提高了内存页访问次数的准确性,进而提高了冷热页识别的准确率。
具体地,所述根据所述访问记录更新数据列表中所述初始内存页的访问次数,包括:
根据所述访问记录中的所述读操作或者所述写操作确定目标数据列表;
根据所述初始内存页的标识更新所述目标数据列表中所述初始内存页的访问次数。
其中,目标数据列表可以为多个数据列表中的一个数据列表,例如,根据对内存页的读操作和写操作分别建立读数据列表和写数据列表,则目标数据列表可以为读数据列表和写数据列表中的任意一个。
在实际应用中,可以根据对内存页的读操作和写操作,分别建立一个数据列表,分别管理读操作的访问记录和写操作的访问记录,将对内存页的读操作的访问记录放入读操作数据列表,将对内存页的写操作的访问记录放入写操作数据列表。
沿用上例,初始内存页为100个,访问记录包括(20,写操作)、(21,写操作)和(22,写操作),可以确定目标数据列表为写操作数据列表,根据(20,写操作)、(21,写操作)和(22,写操作)中的初始内存页的标识:20、21、22,可以更新写操作数据列表中第20个内存页、第21个内存页和第22个内存页的访问次数。其中,第20个内存页的访问次数为15次,第21个内存页的访问次数为28次,第22个内存页的访问次数为100次,则将第20个内存页、第21个内存页和第22个内存页的访问次数加1,更新后的结果为第20个内存页的访问次数为16次,第21个内存页的访问次数为29次,第22个内存页的访问次数为101次。
本说明书实施例将读操作的热页和冷页与写操作的热页和冷页在内存控制器中分开管理便于对内存访问做更精细的统计,从而可以对不同类型的工作负载做针对性的访存优化。
在确定目标数据列表时,可以根据对内存页的读操作和写操作分别确定,具体实施方式如下所述。
进一步地,所述根据所述访问记录中的所述读操作或者所述写操作确定目标数据列表,包括:
根据所述访问记录中的所述读操作确定读数据列表,以及根据所述访问记录中的所述写操作确定写数据列表。
其中,读数据列表可以为存放对内存分页进行读操作的访问记录,写数据列表可以为存放对内存分页进行写操作的访问记录,例如,根据对内存页的读操作和写操作分别建立读数据列表和写数据列表。
在实际应用中,可以根据对内存页的读操作和写操作,分别建立一个最小堆结构体,分别管理读操作的访问记录和写操作的访问记录,将对内存页的读操作的访问记录放入读操作最小堆结构体,将对内存页的写操作的访问记录放入写操作最小堆结构体。
在一种可实施的方式中,初始内存页为100个,访问记录包括(30,读操作)、(31,读操作)和(32,读操作),可以确定目标数据列表为读操作最小堆结构体,根据(30,读操作)、(31,读操作)和(32,读操作)中的初始内存页的标识:30、31、32,可以更新读操作最小堆结构体中第30个内存页、第31个内存页和第32个内存页的访问次数。其中,第30个内存页的访问次数为15次,第31个内存页的访问次数为28次,第32个内存页的访问次数为100次,则将第30个内存页、第31个内存页和第32个内存页的访问次数加1,更新后的结果为第30个内存页的访问次数为16次,第31个内存页的访问次数为29次,第32个内存页的访问次数为101次。
在另一种可实施方式中,初始内存页为100个,访问记录包括(20,写操作)、(21,写操作)和(22,写操作),可以确定目标数据列表为写操作最小堆结构体,根据(20,写操作)、(21,写操作)和(22,写操作)中的初始内存页的标识:20、21、22,可以更新写操作最小堆结构体中第20个内存页、第21个内存页和第22个内存页的访问次数。其中,第20个内存页的访问次数为15次,第21个内存页的访问次数为28次,第22个内存页的访问次数为100次,则将第20个内存页、第21个内存页和第22个内存页的访问次数加1,更新后的结果为第20个内存页的访问次数为16次,第21个内存页的访问次数为29次,第22个内存页的访问次数为101次。
本说明书实施例通过硬件实现准确的内存访问频次统计,能够提供精准的冷热页信息,方便其它组件进行正确的换页决策。
进一步地,还可以对不同的内存页设置权重,以使某些内存页在被实际访问相同的次数的情况下,访问次数不相同,具体实现方式如下所述。
所述根据所述初始内存页的标识更新所述目标数据列表中所述初始内存页的访问次数,包括:
根据所述初始内存页的标识确定访问权重;
根据所述访问权重增加所述初始内存页的访问次数。
其中,访问权重可以为增加访问次数的权重,例如,内存页A的访问权重为2,则内存页A被访问1次,其访问次数增加2。
在实际应用中,某些内存页可能相对其他内存页来说,需要更快地被访问,所以需要一直放在DRAM中,但可能该页面不会被访问太多次,这样就可以给该页面设置访问权重,使得访问次数随着实际访问量成倍增加。
例如,访问记录包括(20,写操作)、(21,写操作)和(22,写操作),可以确定目标数据列表为写操作最小堆结构体,根据(20,写操作)、(21,写操作)和(22,写操作)中的初始内存页的标识:20、21、22,可以更新数据列表中第20个内存页、第21个内存页和第22个内存页的访问次数。其中,第20个内存页的访问次数为15次,访问权重为2,第21个内存页的访问次数为28次,访问权重为1,第22个内存页的访问次数为100次,访问权重为1,则将第20个内存页的访问次数加2,第21个内存页和第22个内存页的访问次数加1,更新后的结果为第20个内存页的访问次数为17次,第21个内存页的访问次数为29次,
本说明书实施例增加对于内存页的访问权重,可以针对某一个内存页进行精确调整,提高了方案的普适性。
步骤206:根据所述数据列表中所述初始内存页的访问次数确定冷内存页或热内存页。
其中,冷内存页或热内存页可以为根据位置在数据列表中确定的内存页,也可以为根据访问次数在数据列表中确定的内存页,例如,冷内存页或热内存页为根据访问次数在数据列表中确定的内存页,若冷内存页或热内存页为热页,内存页A的访问次数为20次,内存页B的访问次数为30次,则确定内存页B为热页。
在实际应用中,可以根据需要确定哪些内存页属于热页,哪些内存页属于冷页,可以通过设定阈值的方式确定冷页或者热页,也可以通过数据列表中的位置确定冷页或者热页,本说明书实施例不进行限定。
在一种可实现的方式中,通过数据列表中的位置确定冷页或者热页的具体实施方式如下所述。
所述根据所述数据列表中所述初始内存页的访问次数确定冷内存页或热内存页,包括:
根据所述初始内存页的访问次数对所述数据列表中所有数据进行排序,得到更新数据列表;
根据所述更新数据列表确定冷内存页或热内存页。
其中,更新数据列表可以理解为在进行根据访问次数排序之后的列表,例如数据列表中包括内存页A、内存页B和内存页C,排序前的顺序为内存页A、内存页B、内存页C,在根据访问次数对排序列表进行排序之后,得到更新数据列表:内存页A、内存页C、内存页B。
举例来说,数据列表中包括,第1个内存页的访问次数为15次,第2个内存页的访问次数为15次,第3个内存页的访问次数为17次,第1个内存页被访问了之后,则第2个内存页的访问次数为16次,根据访问次数对数据列表中所有数据进行降序排序,更新数据列表中依次是:第3个内存页、第1个内存页、第2个内存页,确定列表第一位为热页,则第3个内存页为热页。
在一种可实现的方式中,通过设定阈值的方式确定冷页或者热页的具体实施方式如下所述。
所述根据所述更新数据列表确定冷内存页或热内存页,包括:
根据所述更新数据列表中的访问次数和预设次数阈值,确定对应的内存页标识;
根据所述内存页标识确定对应的冷内存页或热内存页。
例如,更新数据列表中包括访问记录包括(20,写操作)、(21,写操作)和(22,写操作),其中,第20个内存页的访问次数为15次,第21个内存页的访问次数为28次,第22个内存页的访问次数为100次,预设次数阈值为50次,则确定内存页标识为22,根据内存页标识:22,可以确定第22个内存页为热页。
进一步地,在所述响应于处理器发送的内存访问指令之前,还包括:
通过映射接口从管理模块接收数据修改指令,其中,所述管理模块通过数据交互接口从终端接收所述数据修改指令;
根据所述数据修改指令修改初始内存页的粒度、所述初始内存页的地址或预设次数阈值,其中,初始内存页的空间信息基于所述初始内存页的粒度确定。
其中,所述映射接口用于设置参数或读取内存页信息,例如,可以为mmio接口;数据交互接口用于接收或者向客户端发送数据,例如,proc接口或ioct l接口。
在实际应用中,工作人员可以设置内存页的粒度,例如:4千字节或者2兆字节,还可以设置内存页的虚拟地址与物理地址的对应关系,另外,还可以设置预设次数阈值,用于确定哪些内存页是热页或者冷页。
进一步地,在所述根据所述数据列表的访问次数确定冷内存页或热内存页之后,还包括:
通过映射接口从管理模块接收数据获取指令,其中,所述管理模块通过数据交互接口从终端接收所述数据获取指令;
根据所述数据获取指令和所述数据列表向所述管理模块返回目标数据,其中,所述管理模块通过所述数据交互接口向所述终端发送所述目标数据。
在实际应用中,工作人员可以请求数据列表中的数据,例如,查看数据列表中的所有数据,或者提取冷页和热页的信息。
需要说明的是,本说明书实施例的映射接口还可以包括数据清零的功能,例如,接收数据清零指令清除数据列表中的数据,进而重新进行内存访问次数的统计,这样,就可以统计一段时间段内的冷页或者热页。
本说明书实施例提供一种冷热页统计方法,其中所述冷热页统计方法包括:响应于处理器发送的内存访问指令,根据所述内存访问指令生成针对初始内存页的访问记录,根据所述访问记录更新数据列表中所述初始内存页的访问次数,根据所述数据列表中所述初始内存页的访问次数确定冷内存页或热内存页。通过获取处理器发送的内存访问指令,可以检测到真实的内存访问,避免了把缓存访问当作内存访问从而进行误统计,并且由于每次内存访问都能够通过访问记录被统计记录,避免了采样统计时出现的概率性误差,进而提高了冷热页识别的准确率。
参见图3,图3示出了本说明书一个实施例提供的一种冷热页统计方法的处理过程流程图,具体包括以下步骤。
步骤302:内存控制器获取处理器发送的内存访问指令。
其中,获取处理器发送的内存访问指令可以理解为截获处理器发送的内存访问指令,例如,处理器发送内存访问指令给内存控制器,正常情况下,内存控制器中的访存模块会接收处理器发送的内存访问指令,然后根据内存访问指令对相应的内存页进行修改,而本说明书实施例截获处理器发送给内存控制器的内存访问指令。
例如,在处理器向内存控制器中发送内存访问指令的情况下,截获该内存访问指令。
步骤304:内存控制器解析内存访问指令得到内存页访问信息。
其中,内存页访问信息中可以包括物理地址信息,读操作或者写操作的信息以及读操作或者写操作的大小的信息,例如,上述实施例中的物理地址信息为A1地址至B1地址,对内存页的写操作,写操作的大小为5兆字节。
例如,将内存访问指令进行解析,得到物理地址信息为A1地址至B1地址,对内存页的写操作,写操作的大小为5兆字节。
步骤306:内存控制器根据内存页访问信息中的内存页地址信息和内存页大小信息确定初始内存页。
其中,内存页地址信息可以为内存页的物理地址信息,例如上述实施例中的A1地址至B1地址;内存页大小信息可以为对内存页写入的数据的大小的信息,例如上述实施例中的写操作的大小为5兆字节。
例如,根据物理地址信息为A1地址至B1地址、内存页的写操作、写操作的大小为5兆字节可以确定要对哪一个内存页进行写5兆字节大小的数据,也就可以生成针对该内存页的访问记录。初始内存页为100个,初始内存页的粒度均为2兆字节,相应地,初始内存页的标识为1-100,物理地址信息为A1地址至B1地址,对内存页的写操作,写操作的大小为5兆字节,根据“物理地址信息为A1地址至B1地址”和“写5兆字节的数据”确定出第20个内存页、第21个内存页和第22个内存页。
步骤308:内存控制器根据内存页访问信息中的读写信息确定读操作或者写操作。
其中,读写信息可以为对内存页进行写操作的信息或者进行读操作的信息。
沿用上例,根据读写信息:“对内存页的写操作”确定是对内存页进行写入数据。
步骤310:内存控制器根据读操作或者写操作,生成针对初始内存页的访问记录,其中,访问记录中携带初始内存页的标识。
其中,初始内存页的标识可以为字符、编号等标识,例如,在初始内存页为100个的情况下,初始内存页的标识可以为1至100。
沿用上例,根据读写信息:“对内存页的写操作”确定是对内存页进行写入数据,所以生成的访问记录为(20,写操作)、(21,写操作)和(22,写操作)。
步骤312:内存控制器根据访问记录中的读操作或者写操作确定目标数据列表。
其中,目标数据列表可以为多个数据列表中的一个数据列表,例如,根据对内存页的读操作和写操作分别建立读数据列表和写数据列表,则目标数据列表可以为读数据列表和写数据列表中的任意一个。
例如,初始内存页为100个,访问记录包括(20,写操作)、(21,写操作)和(22,写操作),可以确定目标数据列表为写操作最小堆结构体。
步骤314:内存控制器根据初始内存页的标识更新目标数据列表中初始内存页的访问次数。
在实际应用中,可以根据对内存页的读操作和写操作,分别建立一个最小堆结构体,分别管理读操作的访问记录和写操作的访问记录,将对内存页的读操作的访问记录放入读操作最小堆结构体,将对内存页的写操作的访问记录放入写操作最小堆结构体。
例如,根据(20,写操作)、(21,写操作)和(22,写操作)中的初始内存页的标识:20、21、22,可以更新写操作最小堆结构体中第20个内存页、第21个内存页和第22个内存页的访问次数。其中,第20个内存页的访问次数为15次,第21个内存页的访问次数为28次,第22个内存页的访问次数为100次,则将第20个内存页、第21个内存页和第22个内存页的访问次数加1,更新后的结果为第20个内存页的访问次数为16次,第21个内存页的访问次数为29次,第22个内存页的访问次数为101次。
步骤316:根据初始内存页的访问次数对数据列表中所有数据进行排序,得到更新数据列表。
其中,更新数据列表可以理解为在进行根据访问次数排序之后的列表,例如数据列表中包括内存页A、内存页B和内存页C,排序前的顺序为内存页A、内存页B、内存页C,在根据访问次数对排序列表进行排序之后,得到更新数据列表:内存页A、内存页C、内存页B。
沿用上例,数据列表更新后的结果为第20个内存页的访问次数为16次,第21个内存页的访问次数为29次,第22个内存页的访问次数为101次,根据访问次数对数据列表中所有数据进行降序排序,更新数据列表中依次是:第22个内存页、第21个内存页、第20个内存页。
步骤318:根据更新数据列表确定冷内存页或热内存页。
例如,更新数据列表中包括访问记录包括(20,写操作)、(21,写操作)和(22,写操作),其中,第20个内存页的访问次数为16次,第21个内存页的访问次数为29次,第22个内存页的访问次数为101次,预设次数阈值为50次,则确定内存页标识为22,根据内存页标识:22,可以确定第22个内存页为热页。
本说明书实施例通过获取处理器发送的内存访问指令,可以检测到真实的内存访问,避免了把缓存访问当作内存访问从而进行误统计,并且由于每次内存访问都能够通过访问记录被统计记录,避免了采样统计时出现的概率性误差,进而提高了冷热页识别的准确率。
与上述方法实施例相对应,本说明书还提供了冷热页统计装置实施例,图4示出了本说明书一个实施例提供的一种冷热页统计装置的结构示意图。如图4所示,该装置包括:
访存记录单元402,被配置为响应于处理器发送的内存访问指令,根据所述内存访问指令生成针对初始内存页的访问记录;
热度排序单元404,被配置为根据所述访问记录更新数据列表中所述初始内存页的访问次数;
访问控制单元406,被配置为根据所述数据列表中所述初始内存页的访问次数确定冷内存页或热内存页。
可选地,访存记录单元402,还被配置为:
获取处理器发送的内存访问指令;
解析所述内存访问指令得到内存页访问信息;
根据所述内存页访问信息生成针对初始内存页的访问记录。
可选地,访存记录单元402,还被配置为:
根据所述内存页访问信息中的内存页地址信息和内存页大小信息确定所述初始内存页;
根据所述内存页访问信息中的读写信息确定读操作或者写操作;
根据所述读操作或者所述写操作,生成针对所述初始内存页的访问记录,其中,所述访问记录中携带所述初始内存页的标识。
可选地,热度排序单元404,还被配置为:
根据所述访问记录中的所述读操作或者所述写操作确定目标数据列表;
根据所述初始内存页的标识更新所述目标数据列表中所述初始内存页的访问次数。
可选地,热度排序单元404,还被配置为:
根据所述访问记录中的所述读操作确定读数据列表,以及根据所述访问记录中的所述写操作确定写数据列表。
可选地,热度排序单元404,还被配置为:
根据所述初始内存页的标识确定访问权重;
根据所述访问权重增加所述初始内存页的访问次数。
可选地,热度排序单元404,还被配置为:
根据所述初始内存页的访问次数对所述数据列表中所有数据进行排序,得到更新数据列表;
根据所述更新数据列表确定冷内存页或热内存页。
可选地,访问控制单元406,还被配置为:
根据所述更新数据列表中的访问次数和预设次数阈值,确定对应的内存页标识;
根据所述内存页标识确定对应的冷内存页或热内存页。
可选地,冷热页统计装置还包括交互模块,被配置为:
通过映射接口从管理模块接收数据修改指令,其中,所述管理模块通过数据交互接口从终端接收所述数据修改指令;
根据所述数据修改指令修改初始内存页的粒度、所述初始内存页的地址或预设次数阈值,其中,初始内存页的空间信息基于所述初始内存页的粒度确定。
可选地,交互模块,还被配置为:
通过映射接口从管理模块接收数据获取指令,其中,所述管理模块通过数据交互接口从终端接收所述数据获取指令;
根据所述数据获取指令和所述数据列表向所述管理模块返回目标数据,其中,所述管理模块通过所述数据交互接口向所述终端发送所述目标数据。
本说明书实施例提供一种冷热页统计装置,其中所述冷热页统计装置响应于处理器发送的内存访问指令,根据所述内存访问指令生成针对初始内存页的访问记录,根据所述访问记录更新数据列表中所述初始内存页的访问次数,根据所述数据列表中所述初始内存页的访问次数确定冷内存页或热内存页。通过获取处理器发送的内存访问指令,可以检测到真实的内存访问,避免了把缓存访问当作内存访问从而进行误统计,并且由于每次内存访问都能够通过访问记录被统计记录,避免了采样统计时出现的概率性误差,进而提高了冷热页识别的准确率。
上述为本实施例的一种冷热页统计装置的示意性方案。需要说明的是,该冷热页统计装置的技术方案与上述的冷热页统计方法的技术方案属于同一构思,冷热页统计装置的技术方案未详细描述的细节内容,均可以参见上述冷热页统计方法的技术方案的描述。
图5示出了根据本说明书一个实施例提供的一种计算设备500的结构框图。该计算设备500的部件包括但不限于存储器510和处理器520。处理器520与存储器510通过总线530相连接,数据库550用于保存数据。
计算设备500还包括接入设备540,接入设备540使得计算设备500能够经由一个或多个网络560通信。这些网络的示例包括公用交换电话网(PSTN)、局域网(LAN)、广域网(WAN)、个域网(PAN)或诸如因特网的通信网络的组合。接入设备540可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC))中的一个或多个,诸如IEEE802.11无线局域网(WLAN)无线接口、全球微波互联接入(Wi-MAX)接口、以太网接口、通用串行总线(USB)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC)接口,等等。
在本说明书的一个实施例中,计算设备500的上述部件以及图5中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图5所示的计算设备结构框图仅仅是出于示例的目的,而不是对本说明书范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
计算设备500可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或PC的静止计算设备。计算设备500还可以是移动式或静止式的服务器。
其中,处理器520用于执行如下计算机可执行指令,该计算机可执行指令被处理器执行时实现上述数据库处理方法的步骤。
上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述的冷热页统计方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述冷热页统计方法的技术方案的描述。
本说明书一实施例还提供一种计算机可读存储介质,其存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现上述冷热页统计方法的步骤。
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的冷热页统计方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述冷热页统计方法的技术方案的描述。
本说明书一实施例还提供一种计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行上述冷热页统计方法的步骤。
上述为本实施例的一种计算机程序的示意性方案。需要说明的是,该计算机程序的技术方案与上述的冷热页统计方法的技术方案属于同一构思,计算机程序的技术方案未详细描述的细节内容,均可以参见上述冷热页统计方法的技术方案的描述。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本说明书实施例并不受所描述的动作顺序的限制,因为依据本说明书实施例,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本说明书实施例所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上公开的本说明书优选实施例只是用于帮助阐述本说明书。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书实施例的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本说明书实施例的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本说明书。本说明书仅受权利要求书及其全部范围和等效物的限制。
Claims (13)
1.一种冷热页统计方法,应用于内存控制器的冷热页识别模块,所述方法包括:
响应于处理器发送的内存访问指令,根据所述内存访问指令生成针对初始内存页的访问记录;
根据所述访问记录更新数据列表中所述初始内存页的访问次数;
根据所述数据列表中所述初始内存页的访问次数确定冷内存页或热内存页。
2.根据权利要求1所述的方法,所述响应于处理器发送的内存访问指令,根据所述内存访问指令生成针对初始内存页的访问记录,包括:
获取处理器发送的内存访问指令;
解析所述内存访问指令得到内存页访问信息;
根据所述内存页访问信息生成针对初始内存页的访问记录。
3.根据权利要求2所述的方法,所述根据所述内存页访问信息生成针对初始内存页的访问记录,包括:
根据所述内存页访问信息中的内存页地址信息和内存页大小信息确定所述初始内存页;
根据所述内存页访问信息中的读写信息确定读操作或者写操作;
根据所述读操作或者所述写操作,生成针对所述初始内存页的访问记录,其中,所述访问记录中携带所述初始内存页的标识。
4.根据权利要求3所述的方法,所述根据所述访问记录更新数据列表中所述初始内存页的访问次数,包括:
根据所述访问记录中的所述读操作或者所述写操作确定目标数据列表;
根据所述初始内存页的标识更新所述目标数据列表中所述初始内存页的访问次数。
5.根据权利要求4所述的方法,所述根据所述访问记录中的所述读操作或者所述写操作确定目标数据列表,包括:
根据所述访问记录中的所述读操作确定读数据列表,以及根据所述访问记录中的所述写操作确定写数据列表。
6.根据权利要求4所述的方法,所述根据所述初始内存页的标识更新所述目标数据列表中所述初始内存页的访问次数,包括:
根据所述初始内存页的标识确定访问权重;
根据所述访问权重增加所述初始内存页的访问次数。
7.根据权利要求1所述的方法,所述根据所述数据列表中所述初始内存页的访问次数确定冷内存页或热内存页,包括:
根据所述初始内存页的访问次数对所述数据列表中所有数据进行排序,得到更新数据列表;
根据所述更新数据列表确定冷内存页或热内存页。
8.根据权利要求7所述的方法,所述根据所述更新数据列表确定冷内存页或热内存页,包括:
根据所述更新数据列表中的访问次数和预设次数阈值,确定对应的内存页标识;
根据所述内存页标识确定对应的冷内存页或热内存页。
9.根据权利要求1所述的方法,在所述响应于处理器发送的内存访问指令之前,还包括:
通过映射接口从管理模块接收数据修改指令,其中,所述管理模块通过数据交互接口从终端接收所述数据修改指令;
根据所述数据修改指令修改初始内存页的粒度、所述初始内存页的地址或预设次数阈值,其中,初始内存页的空间信息基于所述初始内存页的粒度确定。
10.根据权利要求1所述的方法,在所述根据所述数据列表的访问次数确定冷内存页或热内存页之后,还包括:
通过映射接口从管理模块接收数据获取指令,其中,所述管理模块通过数据交互接口从终端接收所述数据获取指令;
根据所述数据获取指令和所述数据列表向所述管理模块返回目标数据,其中,所述管理模块通过所述数据交互接口向所述终端发送所述目标数据。
11.一种冷热页统计装置,应用于内存控制器的冷热页识别模块,所述装置包括:
访存记录单元,被配置为响应于处理器发送的内存访问指令,根据所述内存访问指令生成针对初始内存页的访问记录;
热度排序单元,被配置为根据所述访问记录更新数据列表中所述初始内存页的访问次数;
访问控制单元,被配置为根据所述数据列表中所述初始内存页的访问次数确定冷内存页或热内存页。
12.一种计算设备,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令,该计算机可执行指令被处理器执行时实现权利要求1至10任意一项所述冷热页统计方法的步骤。
13.一种计算机可读存储介质,其存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现权利要求1至10任意一项所述冷热页统计的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210207352.9A CN114579404A (zh) | 2022-03-03 | 2022-03-03 | 冷热页统计方法以及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210207352.9A CN114579404A (zh) | 2022-03-03 | 2022-03-03 | 冷热页统计方法以及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114579404A true CN114579404A (zh) | 2022-06-03 |
Family
ID=81772041
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210207352.9A Pending CN114579404A (zh) | 2022-03-03 | 2022-03-03 | 冷热页统计方法以及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114579404A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024066575A1 (zh) * | 2022-09-26 | 2024-04-04 | 华为技术有限公司 | 物理页的冷热识别方法、装置、芯片以及存储介质 |
-
2022
- 2022-03-03 CN CN202210207352.9A patent/CN114579404A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024066575A1 (zh) * | 2022-09-26 | 2024-04-04 | 华为技术有限公司 | 物理页的冷热识别方法、装置、芯片以及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11960726B2 (en) | Method and apparatus for SSD storage access | |
US11307769B2 (en) | Data storage method, apparatus and storage medium | |
CN113010818B (zh) | 访问限流方法、装置、电子设备及存储介质 | |
US11151052B2 (en) | Reading sequential data from memory using a pivot table | |
CN112632069B (zh) | 哈希表数据存储管理方法、装置、介质和电子设备 | |
EP3276494B1 (en) | Memory space management | |
US20220405020A1 (en) | Method for writing data in append mode, device and storage medium | |
WO2014094421A1 (zh) | 数据处理方法和虚拟机管理平台 | |
CN113032099B (zh) | 云计算节点、文件管理方法及装置 | |
US11372568B2 (en) | System and method for storing and accessing blockchain data | |
CN104657435A (zh) | 一种应用数据的存储管理方法和网络管理系统 | |
CN107888687B (zh) | 一种基于分布式存储系统的代理客户端存储加速方法及系统 | |
CN114579404A (zh) | 冷热页统计方法以及装置 | |
CN115249057A (zh) | 用于图形节点采样的系统和由计算机实现的方法 | |
EP4369191A1 (en) | Memory scanning method and apparatus | |
CN115905049A (zh) | 一种基于傲腾内存的冷热内存分级迁移方法 | |
CN114385552A (zh) | 一种内存中文件页的页整合方法及装置 | |
CN113343045A (zh) | 一种数据缓存方法及网络设备 | |
US20230048813A1 (en) | Method of storing data and method of reading data | |
CN114579051B (zh) | 识别硬盘读模式的方法以及装置 | |
CN116107761B (zh) | 性能调优方法、系统、电子设备及可读存储介质 | |
US20230246981A1 (en) | Evaluation framework for cloud resource optimization | |
US20230333769A1 (en) | Shared memory protection method for securing mmio commands | |
CN118034615A (zh) | 数据访问方法以及装置 | |
WO2023146608A1 (en) | Evaluation framework for cloud resource optimization |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |