CN114996024A - 内存带宽监测方法、服务器和计算机可读存储介质 - Google Patents
内存带宽监测方法、服务器和计算机可读存储介质 Download PDFInfo
- Publication number
- CN114996024A CN114996024A CN202210903549.6A CN202210903549A CN114996024A CN 114996024 A CN114996024 A CN 114996024A CN 202210903549 A CN202210903549 A CN 202210903549A CN 114996024 A CN114996024 A CN 114996024A
- Authority
- CN
- China
- Prior art keywords
- memory
- page table
- physical
- access request
- server
- 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
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本公开提供了一种由服务器的处理器执行的内存带宽监测方法、服务器和计算机可读存储介质。该方法包括:从应用程序接收内存访问请求,其中,所述内存访问请求请求访问所述服务器的存储器;确定和所述内存访问请求相关联的所述存储器的物理内存地址;基于所述物理内存地址确定和所述内存访问请求相关联的进程标识符;使用所述进程标识符监测所述服务器的处理器的内存带宽,以跟踪资源使用情况。本公开提高了内存带宽监测的效率。
Description
技术领域
本公开涉及内存监测的技术领域,尤其是涉及一种内存带宽监测方法、服务器和计算机可读存储介质。
背景技术
在云计算应用中,多个负载可能共存于同一服务器上以提高现代数据中心的中央处理单元(central processing unit,简称CPU)的利用率。在多核处理器架构中,一些系统资源,例如内存带宽,可能由多个处理器核共享。为了优化数据中心的服务器性能以及满足不同优先级的负载需求,需要高效监测系统内存带宽。
发明内容
有鉴于此,本公开实施例提供一种内存带宽监测方法、服务器和计算机可读存储介质,以解决上述问题。
本公开实施例提供了一种由服务器的处理器执行的内存带宽监测方法。所述方法包括:接收来自应用程序的内存访问请求,其中,所述内存访问请求请求访问所述服务器的存储器;确定和所述内存访问请求相关联的存储器的物理内存地址;基于所述物理内存地址确定和所述内存访问请求相关联的进程标识符;使用所述进程标识符监测所述服务器的处理器的内存带宽,以跟踪资源使用情况。
本公开实施例提供了一种服务器。所述服务器包括:存储器,被配置为存储数据;处理器,被配置为执行:接收来自应用程序的内存访问请求,其中,所述内存访问请求请求访问所述存储器;确定和所述内存访问请求所关联的所述存储器的物理内存地址;基于所述物理内存地址确定和所述内存访问请求所关联的进程标识符;使用所述进程标识符监测所述处理器的内存带宽,以跟踪资源使用情况。
本公开实施例提供了一种存储有指令集的非暂时性计算机可读存储介质,所述指令集由装置的一个或多个处理器执行以使得装置执行内存带宽监测方法,所述方法包括:接收来自应用程序的内存访问请求,其中,所述内存访问请求请求访问服务器的存储器;确定和所述内存访问请求相关联的所述存储器的物理内存地址;基于所述物理内存地址确定和所述内存访问请求相关联的进程标识符;使用所述进程标识符监测所述服务器的处理器的内存带宽,以跟踪资源使用情况。
本公开提供的内存带宽监测方法,使用基于物理内存地址确定的进程标识符监测内存带宽,而不是在缓存中存储或采样进程标识符,因而提高了内存带宽监测的效率。
附图说明
本公开的实施例和各个方面在以下详细描述和附图中进行了说明。图中各特征不是按比例绘制的。
图1是根据本公开一些实施例的示例性的计算系统的示意图;
图2是根据本公开一些实施例的一示例性的用于资源监测的结构的示意图;
图3示出了根据本公开一些实施例的一示例性的使用线性倒排页表的转换过程;
图4示出了根据本公开一些实施例的一示例性的使用散列倒排页表的转换过程;
图5示出了根据本公开一些实施例的一示例性的内存带宽监测方法的流程图;
图6示出了根据本公开一些实施例的一示例性的使用倒排页表确定进程标识符的过程。
具体实施方式
下面将详细描述示例性的实施例,其示例在随后的附图中示出。下面的描述参照附图,其中不同图中的相同编号表示相同或类似的元件,除非另有说明。在示例性实施例的以下描述中阐述的实现并不代表与本公开一致的所有实现。相反,它们只是与所附权利要求中所述的、与本公开相关的各个方面一致的示例性的装置和方法。下面将更详细地描述本公开的一些方面。如果与通过引用并入的术语和/或定义冲突,则以本公开提供的术语和定义为准。
为了提高数据中心中服务器的CPU利用率,多个负载共存于同一服务器上。典型地,有两种负载。一种是需要达到服务等级目标(Service Level Objectives (SLO)的延迟敏感型负载(Latency Critical,简称LC),另一种是尽力批处理负载(Best-effort,简称BE)。负载管理的目的是在不违背LC负载的SLO的情况下尽可能提高BE负载的吞吐量。因此,空闲的资源将被临时分配给BE负载,并在LC负载有需求且即将违背其SLO时被重新分配给LC负载。内存带宽监测是为了管理负载分配。现有的内存带宽监测技术通常通过每个请求的进程标识符提供内存带宽使用情况的监测。然而,存储每个请求的进程标识符会导致开销太大。
本公开描述的实施例解决了存储内存带宽监测所用进程标识符的开销问题。
图1是根据本公开一些实施例的示例性的计算系统100的示意图。如图1所示,计算系统100包括多核处理器110和存储信息的存储器120(例如,主存)。处理器110包括多个核C0-Cn、和核C0-Cn分别关联的多个控制器112、和核C0-Cn分别关联的多个缓存访问预测器114、最后一级缓存(last level cache,简称LLC)116、集成在处理器110上且和存储器120通信的内存带宽控制器118。在一些实施例中,处理器110内上述部件中的每一个可以通过通信互联总线彼此通信。
在计算系统100内,缓存用于降低性能损失。更具体地说,处理器110使用称为硬件缓存的内部存储器来保存频繁访问数据的副本,从而访问这些数据比从存储器120提取这些数据更快。包含硬件缓存的处理器110(或其它数据元件)决定在硬件缓存中保留哪些数据,也决定删除哪些保留的数据。
如图1所示,处理器110包括形成缓存层次结构的若干层硬件缓存(例如,多级缓存)。在一些实施例中,核C0-Cn中的每一个都包括处理单元102(例如,CPU)以及一层或多层私有缓存,例如一级(level one,简称L1)缓存104和二级(level two,简称L2)缓存106。核C0-Cn可以将待访问的数据分别存储在缓存中,以加快CPU 102的处理速度。为了减少缓存冗余,处理器110可以提供由核C0-Cn共享的LLC 116,以减少通信延迟和数据冗余,并提高缓存空间的使用效率。内存访问请求由CPU 102接收,经由内存带宽控制器118请求访问存储器120。内存带宽控制器118用于监测内存带宽使用情况,以便保证处理器110的性能。内存访问请求可以包括用于访问存储器120以提取存储在存储器120上数据的内存读请求和用于访问存储器120以将数据写入存储器120的内存写回请求。无论是从存储器120读还是向存储器120写,CPU 102都知道存储器120的物理内存地址。内存访问请求可以由CPU 102执行的应用程序生成。
图2是根据本公开一些实施例的示例性的用于资源监测的结构的示意图。如图2所示,线程/应用程序/VM(全称Virtual Machine,即虚拟机)210被分配资源监测标识符(Resource Monitoring ID,简称RMID)220。硬件230使用RMID跟踪资源使用情况。为了监测内存带宽使用情况,内存带宽监测需要知道每个内存访问请求的RMID。一种确定内存访问请求的RMID的方法是知道和内存访问请求相关联的进程标识符。
每个运行的进程都被分配一个称作进程标识符的唯一编号/序列。进程标识符可用于每个内存读请求以返回数据。然而,进程标识符不可用于内存写回请求,除非最后一级缓存(last-level cache,简称LLC)为每个LLC行存储进程标识符。为每个LLC行存储进程标识符会导致太大开销。例如,每个进程标识符可以是15-20比特,然而每个缓存标签仅40-60比特。相应地,在空间方面,为每个LLC行存储进程标识符的成本很高。一种减少开销的方法是对存储进程标识符来说采样一小部分缓存行。然而,在采样后,只有极少数的被采样的内存写回请求(具有进程标识符)能够到达内存带宽控制器118,这将严重影响内存带宽监测的准确性。
在本公开的一些实施例中,提出了一种倒排页表。使用倒排页表,可以将虚拟地址转换为物理地址。倒排页表包括进程标识符(process ID,简称PID)、虚拟页码(virtualpage number,简称VPN)、页内偏移量(offset)和物理页码(physical page number,简称PPN)。转换执行如下:
PID+VPN+offset→PPN+offset
PPN可以从PID和VPN转换而来,以及页内偏移量保持一致。
通常有两种类型的倒排页表:线性倒排页表和散列倒排页表。线性倒排页表(例如图3所示的线性倒排页表310)是倒排页表的最简单形式,它在一个线性阵列中包括每个物理页的一个页表项(如图3中的页表项311)。线性倒排页表在多个页面所有者之间共享,因此每个页表项必须包括页面所有者的进程标识符。由于物理页现在(即在倒排页表中)被映射到虚拟页,因而每个页表项包括一个虚拟页码(VPN)而不是一个物理页码。物理页码没有被存储,这是因为页表中索引(INDEX)对应于PPN。为了转换虚拟地址,依次遍历阵列来将虚拟页码和当前进程标识符与每个页表项进行比较。当找到一个匹配项时,匹配项的索引替换地址中的虚拟页码,以获得一个物理地址。如果没有找到匹配项,则发生页面错误。
图3示出了根据本公开一些实施例的示例性的使用线性倒排页表的转换过程。如图3所示,将地址301中的进程标识符(例如,0)和虚拟页码(例如,0x1)与倒排页表310中每个页表项进行比较。当找到一个匹配项时,所匹配页表项311的索引312(例如,0x18F1B)替换地址301的VPN,以得到具有PPN(例如,0x18F1B)的地址302。因此,物理地址可以基于PID和VPN确定。
散列倒排页表(例如,图4的散列倒排页表420)在实际页表前添加了称为散列索引表(例如,图4的散列索引表410)的这样额外一级。散列索引表将进程标识符和虚拟页码映射到页表项。由于散列索引表可能会发生冲突,即两个或多个物理页码插入到同一个条目(例如,411),因而页表必须进行链接。在一次链接中,同一条目中两个或更多个物理页码依次链接起来作为一个链。链中一物理页码的搜索将依序从一个物理页码进行到下一个物理页码。由于链中各物理页码必须映射到一个物理页且因此必须具有一个相应的页表项,因而链可以表示为一系列页表项且每个页表项指向链中下一个页表项。为了转换一个虚拟地址,进程标识符和虚拟页码被散列来得到散列索引表(例如,图4 的散列索引表410)中一个条目。该条目对应一个页表项(例如,图4的页表项421),且将所述进程标识符和所述虚拟地址与存储在页表中的页表项进行比较。如果它们不匹配,则跟随链中下一个页表项以获得另一个页表项(例如,图4的页表项422),并且重复该过程直到找到匹配项。如果通过命中无效的下一个页表项而将链耗尽,则发生页面错误。
图4示出了根据本公开一些实施例的示例性的使用散列倒排页表的转换过程。如图4所示,将地址401中的进程标识符(例如,0)和虚拟页码(例如,0x1)散列来获得散列索引表410中的一个条目411(例如,0x0)。如图4所示,条目411(例如,0x0)对应于散列倒排页表420中索引0x0所对应的页表项421。倒排页表420存储有与进程标识符和虚拟页码进行比较的页表项。如图4所示,倒排页表420内与条目411对应的页表项421中PID(例如,1)和VPN(例如,0xA63)不同于地址401中PID(例如,0)和VPN(例如,0x1),这意味着冲突已发生。相应地,由于已检测到冲突,所以转换过程从页表项421确定下一个页表项(例如,0x18F1B),这对应于沿链430的下一个页表项422。在该示例中,页表项422具有与地址401中PID和VPN值一致的PID和VPN值(例如分别为0和0x1)。索引423(例如,0x18F1B)替换地址401的VPN,以得到具有PPN(例如,0x18F1B)的地址402。因此,物理地址可以基于PID和VPN确定。
为了提高内存带宽监测的效率,提出了一种使用倒排页表的内存带宽监测方法。图5示出了根据本公开一些实施例的示例性的内存带宽监测方法的流程图。方法500可以由服务器的处理器执行。参照图5,方法500包括下面的步骤S502到S508。
在步骤S502中,CPU从应用程序接收内存访问请求。例如,应用程序需要从存储器提取数据或应用程序向服务器上的存储器写数据。应用程序可以是云计算应用程序,其中负载共存于同一个服务器。例如,云计算应用程序可以是安装在终端的一个APP,其要求使用大数据进行数据计算。该终端可以是移动设备、计算机或与服务器通信的任何其它设备。内存访问请求可以是内存读请求或内存写回请求,其占用内存带宽。
在步骤S504中,确定和内存访问请求相关联的存储器的物理内存地址。无论是内存读请求还是内存写回请求,CPU都知道和内存访问请求相关联的存储器的物理内存地址。因此,物理内存地址可以被直接确定。
在步骤S506中,基于物理内存地址(例如目标内存地址)确定内存访问请求的进程标识符。进程标识符可用于监测内存带宽使用情况。例如,可以使用倒排页表基于物理内存地址确定进程标识符。在一些实施例中,倒排页表可以是线性倒排页表或散列倒排页表。倒排页表可以存储在物理存储器(例如,图1的存储器120)内。
图6示出了根据本公开一些实施例的示例性的使用倒排页表确定进程标识符的过程。如图6所示,物理内存地址(例如,0x18F1B)611和内存访问请求610相关联。内存访问请求610可以是内存读请求或内存写回请求。当确定了物理内存地址(例如,0x18F1B)611时,可以通过在倒排页表620内查找物理内存地址(例如,0x18F1B)来确定页表项621,页表项621存储有与物理内存地址611相匹配的索引(例如,0x18F1B)622。然后,确定同一页表项621的PID(例如,0)623。PID(例如,0)623是和接收到的内存访问请求610对应的进程标识符。
由于基于和物理内存请求相关联的物理内存地址确定进程标识符,因而无需为LLC行存储进程标识符,这可以改善缓存(例如,LLC)内的开销。
返回参照图5,在步骤S508中,使用基于物理内存地址确定的进程标识符监测内存带宽。使用基于物理内存地址确定的进程标识符监测内存带宽,而不是在缓存中存储或采样进程标识符,可以提高内存带宽监测的有效性和准确性。
在一些实施例中,不在倒排页表中查找物理内存地址,物理内存地址被视为仅访问一个页表项的索引。因此,额外的页表访问的性能损失得以进一步改善。
一些实施例还提供了一种存储指令的非暂时性计算机可读存储介质,所述指令被设备执行以实施上述方法。非暂时性介质的常见形式包括,例如,软盘、柔性磁盘、硬盘、固态驱动器、磁带或任意其它磁性数据存储介质、CD-ROM、任意其它光学数据存储介质、任意带有孔型的物理介质、RAM、PROM和REPROM、FLASH-EPROM或其它任意闪存、NVRAM、缓存、寄存器、任意其它存储芯片或磁带盒,以及相同的网络版本。所述设备包括一个或多个处理器(CPU)、一个输入/输出接口、一个网络接口、和/或一个存储器。
应当注意的是,本公开的关系术语,例如,“第一”和“第二”,仅用于区分一个实体或操作与另一个实体或操作,并不要求或暗示这些实体或操作间的任何关系或顺序。而且,“包括”、“具有”、“包含”和其它类似形式的词语在意义上是等同的且是开放式的,因为这些词语中任一个词语后面的一个或多个条目并不意味着是该一个或多个条目的详尽列表也不意味着仅限于所列的一个或多个条目。
如本公开所使用的,除非另有特别说明,术语“或”包括所有可能的组合,除非不可实行。例如,如果声明数据库可以包括A或B,然后,除非另有特别规定或不可实行,数据库可能包括A、或B、或A和B。作为第二个例子,如果声明数据库可以包括A、B或C,然后,除非另有特别规定或不可实行,数据库可能包括A、或B、或C、或A和B、或A和C、或B和C、或A和B和C。
值得注意的是,上述实施例可以由硬件、或软件(例如代码)、或硬件和软件的组合来实现。如果由软件来实现,它存储在上述计算机可读介质中。所述软件由处理器实施来执行所公开的方法。本公开所述的计算单元和其它功能单元可以由硬件、或软件、或硬件和软件的组合来实现。本领域的一个普通技术人员也理解,上述模块/单元中的多个可以组合成一个模块/单元,上述模块/单元中的每个还可以进一步划分为多个子模块/子单元。
在上述说明书中,已参照许多具体细节描述了实施例,这些细节可以因实施方式而异。可以对所述实施例进行某些调整和修改。从考虑本公开的说明书和实践来看,其它实施例对本领域技术人员是显而易见的。说明书和示例仅视为示范,本公开的真实范围和实质由权利要求表明。图中所示步骤的顺序只是为了说明性目的,并不旨在限定任何特定的步骤顺序。因此,本领域技术人员可以理解,在实施同一方法时这些步骤可以以不同顺序执行。
在附图和说明书中,已公开了示例性实施例。然而,可以对这些实施例作许多变形和修改。因此,虽然使用了具体的术语,但它们只是在一般和描述的意义上使用,并不是为了限制。
Claims (20)
1.一种内存带宽监测方法,由服务器的处理器执行,包括:
从应用程序接收内存访问请求,其中,所述内存访问请求请求访问所述服务器的存储器;
确定和所述内存访问请求相关联的所述存储器的物理内存地址;
基于所述物理内存地址确定和所述内存访问请求相关联的进程标识符;以及
使用所述进程标识符监测所述服务器的处理器的内存带宽,以跟踪资源使用情况。
2.根据权利要求1所述的方法,其中,基于所述物理内存地址确定和所述内存访问请求相关联的进程标识符,包括:
使用所述物理内存地址确定倒排页表的页表项;以及,
确定与所述页表项对应的进程标识符。
3.根据权利要求2所述的方法,其中,所述倒排页表包括与物理页码对应的索引,使用所述物理内存地址确定倒排页表的页表项,包括:
通过比较所述物理内存地址和所述索引的值确定所述倒排页表的页表项。
4.根据权利要求2所述的方法,其中,所述倒排页表包括与物理页码对应的索引,使用所述物理内存地址确定倒排页表的页表项,包括:将所述物理内存地址用作所述页表项的所述索引;以及,
确定与所述页表项对应的进程标识符,包括:基于所述页表项的所述索引获取所述进程标识符。
5.根据权利要求1所述的方法,其中,所述内存访问请求是内存读请求或内存写入请求。
6.根据权利要求2所述的方法,其中,所述倒排页表是线性倒排页表或散列倒排页表。
7.一种服务器,包括:
存储器,用于存储数据;以及,
处理器,用于执行:
从应用程序接收内存访问请求,其中,所述内存访问请求请求访问所述存储器;
确定和所述内存访问请求相关联的所述存储器的物理内存地址;
基于所述物理内存地址确定和所述内存访问请求相关联的进程标识符;
使用所述进程标识符监测所述处理器的内存带宽,以跟踪资源使用情况。
8.根据权利要求7所述的服务器,其中,所述处理器还用于执行:
使用所述物理内存地址确定倒排页表的页表项;以及,
确定与所述页表项对应的进程标识符。
9.根据权利要求8所述的服务器,其中,所述倒排页表包括与物理页码对应的索引,且所述处理器还用于执行:
通过比较所述物理内存地址和所述索引的值确定所述倒排页表的页表项。
10.根据权利要求8所述的服务器,其中,所述倒排页表包括与物理页码对应的索引,所述处理器还用于执行:
使用所述物理内存地址作为所述页表项的所述索引;以及,
基于所述页表项的所述索引获取所述进程标识符。
11.根据权利要求7所述的服务器,其中,所述内存访问请求是内存读请求或内存写入请求。
12.根据权利要求8所述的服务器,其中,所述倒排页表是线性倒排页表或散列倒排页表。
13.根据权利要求7所述的服务器,其中,所述处理器是多核处理器。
14.一种非暂时性计算机可读存储介质,所述非暂时性计算机可读存储介质存储有指令集,所述指令集由装置的一个或多个处理器执行以使得所述装置执行内存带宽监测方法,所述内存带宽监测方法包括:
从应用程序接收内存访问请求,其中,所述内存访问请求请求访问服务器的存储器;
确定和所述内存访问请求相关联的所述存储器的物理内存地址;
基于所述物理内存地址确定和所述内存访问请求相关联的进程标识符;以及,
使用所述进程标识符监测所述服务器的处理器的内存带宽,以跟踪资源使用情况。
15.根据权利要求14所述的非暂时性计算机可读存储介质,其中,所述指令集由装置的一个或多个处理器执行以使得所述装置还执行:
使用所述物理内存地址确定倒排页表的页表项;以及,
确定与所述页表项对应的进程标识符。
16.根据权利要求15所述的非暂时性计算机可读存储介质,其中,所述倒排页表包括与物理页码对应的索引,所述指令集由装置的一个或多个处理器执行以使得所述装置还执行:
通过比较所述物理内存地址和所述索引的值确定所述倒排页表的页表项。
17.根据权利要求15所述的非暂时性计算机可读存储介质,其中,所述倒排页表包括与物理页码对应的索引,且所述指令集由装置的一个或多个处理器执行以使得所述装置还执行:
使用所述物理内存地址作为所述页表项的所述索引;以及,
基于所述页表项的所述索引获取所述进程标识符。
18.根据权利要求14所述的非暂时性计算机可读存储介质,其中,所述内存访问请求是内存读请求或内存写入请求。
19.根据权利要求15所述的非暂时性计算机可读存储介质,其中,所述倒排页表是线性倒排页表或散列倒排页表。
20.根据权利要求14所述的非暂时性计算机可读存储介质,其中,所述服务器的处理器是多核处理器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210903549.6A CN114996024A (zh) | 2022-07-29 | 2022-07-29 | 内存带宽监测方法、服务器和计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210903549.6A CN114996024A (zh) | 2022-07-29 | 2022-07-29 | 内存带宽监测方法、服务器和计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114996024A true CN114996024A (zh) | 2022-09-02 |
Family
ID=83022811
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210903549.6A Pending CN114996024A (zh) | 2022-07-29 | 2022-07-29 | 内存带宽监测方法、服务器和计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114996024A (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102609254A (zh) * | 2012-01-19 | 2012-07-25 | 中国科学院计算技术研究所 | 获取对象级访存行为的方法及装置 |
CN105378687A (zh) * | 2014-03-07 | 2016-03-02 | 华为技术有限公司 | 访问文件的方法和相关设备 |
CN105653465A (zh) * | 2014-11-14 | 2016-06-08 | 中国航空工业第六八研究所 | 一种基于hash算法的倒置页表确定性管理方法 |
CN109219804A (zh) * | 2016-12-28 | 2019-01-15 | 华为技术有限公司 | 非易失内存访问方法、装置和系统 |
EP3693862A1 (fr) * | 2019-02-11 | 2020-08-12 | Commissariat à l'énergie atomique et aux énergies alternatives | Procédé de gestion d'une mémoire cache d'un calculateur électronique |
CN113946485A (zh) * | 2020-07-17 | 2022-01-18 | 华为技术有限公司 | 一种监控内存带宽的方法及装置 |
CN114297101A (zh) * | 2021-12-31 | 2022-04-08 | 海光信息技术股份有限公司 | 一种记录内存访问来源的方法及系统 |
-
2022
- 2022-07-29 CN CN202210903549.6A patent/CN114996024A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102609254A (zh) * | 2012-01-19 | 2012-07-25 | 中国科学院计算技术研究所 | 获取对象级访存行为的方法及装置 |
CN105378687A (zh) * | 2014-03-07 | 2016-03-02 | 华为技术有限公司 | 访问文件的方法和相关设备 |
CN105653465A (zh) * | 2014-11-14 | 2016-06-08 | 中国航空工业第六八研究所 | 一种基于hash算法的倒置页表确定性管理方法 |
CN109219804A (zh) * | 2016-12-28 | 2019-01-15 | 华为技术有限公司 | 非易失内存访问方法、装置和系统 |
EP3693862A1 (fr) * | 2019-02-11 | 2020-08-12 | Commissariat à l'énergie atomique et aux énergies alternatives | Procédé de gestion d'une mémoire cache d'un calculateur électronique |
CN113946485A (zh) * | 2020-07-17 | 2022-01-18 | 华为技术有限公司 | 一种监控内存带宽的方法及装置 |
CN114297101A (zh) * | 2021-12-31 | 2022-04-08 | 海光信息技术股份有限公司 | 一种记录内存访问来源的方法及系统 |
Non-Patent Citations (2)
Title |
---|
肖建青等: "SPARC V8处理器中存储管理单元的设计", 《科学技术与工程》 * |
黄珍生: "《操作系统原理教程》", 30 September 2016, 知识产权出版社 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8370575B2 (en) | Optimized software cache lookup for SIMD architectures | |
US9348752B1 (en) | Cached data replication for cache recovery | |
US7472253B1 (en) | System and method for managing table lookaside buffer performance | |
US7363435B1 (en) | System and method for coherence prediction | |
US8185692B2 (en) | Unified cache structure that facilitates accessing translation table entries | |
US9229869B1 (en) | Multi-lock caches | |
US8762651B2 (en) | Maintaining cache coherence in a multi-node, symmetric multiprocessing computer | |
US20050144399A1 (en) | Multiprocessor system, and consistency control device and consistency control method in multiprocessor system | |
US10915461B2 (en) | Multilevel cache eviction management | |
CN113342709B (zh) | 在多处理器系统中访问数据的方法和多处理器系统 | |
US11775445B2 (en) | Translation support for a virtual cache | |
CN115292214A (zh) | 页表预测方法、存储访问操作方法、电子装置和电子设备 | |
KR101109210B1 (ko) | 데이터 액세스 위반을 검출하기 위한 방법 및 장치 | |
US7549035B1 (en) | System and method for reference and modification tracking | |
CN114238167B (zh) | 信息预取方法、处理器、电子设备 | |
US10489300B1 (en) | Increasing caching efficiency using cache data patterns | |
US20200117608A1 (en) | State and probabilty based cache line replacement | |
CN115269199A (zh) | 数据处理方法、装置、电子设备及计算机可读存储介质 | |
US9063858B2 (en) | Multi-core system and method for data consistency by memory mapping address (ADB) to hash table pattern associated with at least one core | |
CN114996024A (zh) | 内存带宽监测方法、服务器和计算机可读存储介质 | |
US11474938B2 (en) | Data storage system with multiple-size object allocator for disk cache | |
US10379776B2 (en) | Operation interlocking in an address-sliced cache system | |
US10977176B2 (en) | Prefetching data to reduce cache misses | |
CN116303125B (zh) | 请求调度方法、缓存、装置、计算机设备及存储介质 | |
US11226817B2 (en) | Prefetching workloads with dependent pointers |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20220902 |
|
RJ01 | Rejection of invention patent application after publication |