CN114090223A - 访存请求调度方法、装置、设备以及存储介质 - Google Patents

访存请求调度方法、装置、设备以及存储介质 Download PDF

Info

Publication number
CN114090223A
CN114090223A CN202010856106.7A CN202010856106A CN114090223A CN 114090223 A CN114090223 A CN 114090223A CN 202010856106 A CN202010856106 A CN 202010856106A CN 114090223 A CN114090223 A CN 114090223A
Authority
CN
China
Prior art keywords
numa node
target
service module
determining
memory
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
Application number
CN202010856106.7A
Other languages
English (en)
Inventor
侯宇
黎世勇
赵俊芳
刘月吉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN202010856106.7A priority Critical patent/CN114090223A/zh
Priority to KR1020210029996A priority patent/KR102563165B1/ko
Priority to JP2021047577A priority patent/JP7282823B2/ja
Priority to US17/209,914 priority patent/US11372594B2/en
Priority to EP21164675.7A priority patent/EP3961395A1/en
Publication of CN114090223A publication Critical patent/CN114090223A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5033Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering data affinity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation 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/5016Allocation 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/0284Multiple user address space allocation, e.g. using different base addresses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/084Multiuser, multiprocessor or multiprocessing cache systems with a shared cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0653Monitoring storage devices or systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0674Disk device
    • G06F3/0676Magnetic disk device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/25Using a specific main memory architecture
    • G06F2212/254Distributed memory
    • G06F2212/2542Non-uniform memory access [NUMA] architecture

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Debugging And Monitoring (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了访存请求调度方法、装置、设备以及存储介质,涉及通信技术、数据处理领域。具体实现方案为:获取至少一个业务模块的监控数据;根据监控数据,从至少一个业务模块中确定出目标业务模块;根据监控数据,从预设的NUMA节点集合中确定出与目标业务模块匹配的目标NUMA节点;将目标业务模块的访存请求发送至目标NUMA节点。本实现方式能够从各业务模块中确定出合适的业务模块,并将该业务模块的访存请求调度至匹配的NUMA节点,以减少业务模块的访存延时。

Description

访存请求调度方法、装置、设备以及存储介质
技术领域
本申请涉及计算机技术领域,具体涉及通信技术、数据处理领域,尤其涉及访存请求调度方法、装置、设备以及存储介质。
背景技术
受到硬件芯片技术的限制,单个处理器(Central Processing Unit,CPU)的计算能力趋于饱和。因此,为了获取更高的计算性能,服务器趋向于通过增加处理器数量的方式增加服务器的计算性能。对于高性能服务器而言,一般采用非一致性内存架构(Non-Uniform Memory Architecture,NUMA),即多个节点通过高速互联网络连接而成,每个节点由一组CPU和本地内存组成。节点访问本地内存时,访存延迟较小,性能较高;但是,如果访问远端内存,则访存延迟相对较高,会造成性能下降。为此,为了提升系统性能,当前的内存分配器在进行内存分配的时候,需要优先分配本地内存,其次再考虑远端内存。
由于目前操作系统无法感知业务模块的访存局部性需求,所以操作系统可能会将业务模块的访存请求调度至与其内存不相邻的处理器核上,导致虚拟化环境中的业务混布场景下会存在很多跨节点的远程访存现象,从而带来较高的业务延时与较低的资源利用率。
发明内容
提供了一种访存请求调度方法、装置、设备以及存储介质。
根据第一方面,提供了一种访存请求调度方法,包括:获取至少一个业务模块的监控数据;根据监控数据,从至少一个业务模块中确定出目标业务模块;根据监控数据,从预设的NUMA节点集合中确定出与目标业务模块匹配的目标NUMA节点;将目标业务模块的访存请求发送至目标NUMA节点。
根据第二方面,提供了一种访存请求调度装置,包括:监控数据获取单元,被配置成获取至少一个业务模块的监控数据;业务模块确定单元,被配置成根据监控数据,从至少一个业务模块中确定出目标业务模块;目标节点确定单元,被配置成根据监控数据,从预设的NUMA节点集合中确定出与目标业务模块匹配的目标NUMA节点;第一请求调度单元,被配置成将目标业务模块的访存请求发送至目标NUMA节点。
根据第三方面,提供了一种访存请求调度电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,所述指令被至少一个处理器执行,以使至少一个处理器能够执行如第一方面所描述的方法。
根据第四方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,上述计算机指令用于使计算机执行如第一方面所描述的方法。
根据本申请的技术能够从各业务模块中确定出合适的业务模块,并将该业务模块的访存请求调度至匹配的NUMA节点,以减少业务模块的访存延时。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本申请的限定。其中:
图1是本申请的一个实施例可以应用于其中的示例性系统架构图;
图2是根据本申请的访存请求调度方法的一个实施例的流程图;
图3是根据本申请的访存请求调度方法的一个应用场景的示意图;
图4是根据本申请的访存请求调度方法的另一个实施例的流程图;
图5是根据本申请的访存请求调度方法的又一个实施例的流程图;
图6是根据本申请的访存请求调度装置的一个实施例的结构示意图;
图7是用来实现本申请实施例的访存请求调度方法的电子设备的框图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1示出了可以应用本申请的访存请求调度方法或访存请求调度装置的实施例的示例性系统架构100。
如图1所示,系统架构100可以包括多个NUMA节点101,多个业务模块102和业务模块管理模块103。其中,多个NUMA节点101包括NUMA节点1011、1012、1013,多个业务模块102包括业务模块1021、1022、1023。
多个NUMA节点101中的每个NUMA节点可以包括多个CPU核,每个CPU核可以对应一块内存。同一NUMA节点内的各CPU核之间可以相互交互,不同节点之间的各CPU核之间也可以相互交互。
各业务模块102中的每个业务模块可以为一段执行具体任务的代码数据,其可以访问各NUMA节点,以执行计算或进行读写。
业务模块管理模块103可以采集各业务模块102的信息,然后根据这些信息对各业务模块102进行管理。
需要说明的是,多个NUMA节点101、多个业务模块102和业务模块管理模块103可以设置于同一服务器中,也可以设置于不同的服务器中。当多个NUMA节点101、多个业务模块102和业务模块管理模块103设置于不同的服务器中时,可以分布于服务器集群中。
需要说明的是,本申请实施例所提供的访存请求调度方法一般由业务模块管理模块103执行。相应地,访存请求调度装置一般设置于业务模块管理模块103中。
应该理解,图1中的NUMA节点、业务模块和业务模块管理模块的数目仅仅是示意性的。根据实现需要,可以具有任意数目的NUMA节点、业务模块和业务模块管理模块。
继续参考图2,示出了根据本申请的访存请求调度方法的一个实施例的流程200。本实施例的访存请求调度方法,包括以下步骤:
步骤201,获取至少一个业务模块的监控数据。
本实施例中,访存请求调度方法的执行主体(例如图1所示的业务模块管理模块103)可以获取至少一个业务模块的监控数据。这里,业务模块可以是用于执行某一特定任务的代码块,例如对某一参数进行特定处理的代码块。需要说明的是,技术人员可以对各业务模块预先设定,即
业务模块在处理数据的过程中,可能需要访问CPU、缓存、内存等,会产生一定的日志数据、生成一些参数值、修改一些文件等,这些痕迹都可以作为监控数据。也就是说,业务模块的监控数据可以是业务模块在数据处理过程中生成的数据。执行主体可以通过设置一段代码来实时获取各业务模块的监控数据,或者各业务模块可以实时地将自身产生的监控数据发送给执行主体。
步骤202,根据监控数据,从至少一个业务模块中确定出目标业务模块。
本实施例中,执行主体在获取到各业务模块的监控数据后,可以对监控数据进行分析,并根据分析结果从至少一个业务模块中确定出目标业务模块。具体的,执行主体可以从监控数据中提取出访存带宽、访存次数、等待访问内存的时间、业务模块在内存中存储的数据类型、不同内存数据类型的数据量。并根据这些参数计算各业务模块对访存延时的敏感性。具体的,执行主体可以根据访存带宽、等待访问内存的时间以及不同内存数据类型的数据量来计算各业务模块对访存延时的敏感性。例如,执行主体可以计算个哦内存数据类型在纵的内存数据中的占比,然后将方寸带宽、等待访问内存的时间以及占比相乘,得到的乘积作为各业务模块对访存延时的敏感性。
可以理解的是,如果某一业务模块对访存延时越敏感,即敏感性越大,则访存延时越小对该业务模块的性能影响就越小。如果某一业务模块对访存延时不敏感,意味着较大的访存延时也不会影响该业务模块的性能。则为了保证各业务模块的性能,执行主体可以将对访存延时敏感性越大的业务模块作为目标业务模块。
步骤203,根据监控数据,从预设的NUMA节点集合中确定出与目标业务模块匹配的目标NUMA节点。
在确定出目标业务模块后,执行主体还可以根据监控数据,从预设的NUMA节点集合中确定出与目标业务模块匹配的目标NUMA节点。具体的,执行主体可以将目标业务模块占用内存最大的NUMA节点作为与目标业务模块匹配的目标NUMA节点。或者,执行主体可以将目标业务模块对NUMA节点的内存占用率在预设范围内的NUMA节点作为与目标业务模块匹配的目标NUMA节点。
步骤204,将目标业务模块的访存请求发送至目标NUMA节点。
在确定目标业务模块和目标NUMA节点后,执行主体可以将将目标业务模块的访存请求发送至目标NUMA节点。由于目标业务模块在各NUMA节点中占用目标NUMA节点的内存最多,将目标业务模块的访存请求发送至目标NUMA节点,则目标业务模块可以利用目标NUMA节点的CPU核进行计算,从而不会出现跨NUMA节点访问内存的情况,可以有效降低目标业务模块的访存延时。
继续参见图3,其示出了根据本申请的访存请求调度方法的一个应用场景的示意图。在图3的应用场景中,服务器内包括多个业务模块,分别为业务模块301、302、303,同时包括多个NUMA节点,分别为NUMA节点311、312、313。服务器可以获取各业务模块的监控数据,然后对监控数据进行分析,确定业务模块301对访存延时的敏感性较高。则将业务模块301作为目标业务模块。同时利用监控数据也分析出业务模块301占用NUMA节点312的内存最多。则将业务模块301与NUMA节点312进行绑定,将业务模块301的访存请求都发送至NUMA节点312。
本申请的上述实施例提供的访存请求调度方法,能够从各业务模块中确定出合适的业务模块,并将该业务模块的访存请求调度至匹配的NUMA节点,以减少业务模块的访存延时。
继续参见图4,其示出了根据本申请的访存请求调度方法的另一个实施例的流程400。如图4所示,本实施例的访存请求调度方法可以包括以下步骤:
步骤401,获取至少一个业务模块的监控数据。
步骤402,根据监控数据,从所述至少一个业务模块中确定出目标业务模块。
本实施例中,执行主体具体可以通过图4中未示出的以下步骤来确定出目标业务模块:根据监控数据,确定以下至少一项:访存带宽,等待访问内存的时间,等待访问中央处理器的时间,等待访问缓存的时间,不同内存数据类型的数据量;基于所确定的信息,确定至少一个业务模块的访存延时敏感值;根据访存延时敏感值,从至少一个业务模块中确定出目标业务模块。
执行主体可以首先对监控数据进行分析,确定以下至少一项参数:访存次数、访存带宽,等待访问内存的时间,等待访问中央处理器的时间,等待访问缓存的时间,访问的内存数据类型。其中,访存带宽可以理解为访问内存时的有效带宽。访问的内存数据类型可以包括rss内存页和cache内存页。由于rss内存页的布局人为可控,cache内存页的布局人为不可控,rss内存页的占比较多的话,说明人为可控的部分较多。执行主体可以根据确定的上述信息,确定各业务模块的访存延时敏感值。具体的,执行主体可以根据以下公式来计算访存延时敏感值:
访存延时敏感值=访存带宽×[等待访问内存的时间/(等待访问内存的时间+等待访问缓存的时间)]×[rss内存页的数据量/(rss内存页的数据量+cache内存页的数据量)]。
或者,执行主体也可以根据以下公式来计算访存延时敏感值:
访存延时敏感值=访存次数×[等待访问内存的时间/(等待访问内存的时间+等待访问缓存的时间)]×[rss内存页的数据量/(rss内存页的数据量+cache内存页的数据量)]。
可以理解的是,访存延时敏感值越大,说明业务模块对访存延时越敏感,如果适当降低这些业务模块的访存延时,将会有效地提升这些业务模块的性能。因此,接下来,执行主体可以根据访存延时敏感值来确定出目标业务模块。具体的,执行主体可以将访存延时敏感值大于预设阈值的业务模块作为目标业务模块,或者将访存延时敏感值最大的业务模块作为目标业务模块。
步骤403,根据监控数据,从预设的NUMA节点集合中确定出与目标业务模块匹配的目标NUMA节点。
本实施例中,执行主体具体可以通过图4中未示出的以下步骤来确定出目标NUMA节点:确定目标业务模块在NUMA节点集合中的各NUMA节点中占用的内存量;根据各NUMA节点的访存带宽和/或占用的内存量,确定目标NUMA节点。
执行主体在确定目标业务模块后,为了保证目标业务模块的访存延时尽可能小,执行主体可以首先确定目标业务模块在各NUMA节点中占用的内存量。结合各NUMA节点的访存带宽,确定目标NUMA节点。例如,执行主体可以将目标业务模块占用内存量最大的NUMA节点作为目标NUMA节点。或者,将访存带宽最大的NUMA节点作为目标NUMA节点。或者,综合考虑访存带宽和占用内存量,将二者加权,根据加权结果选取NUMA节点作为目标NUMA节点。本实施例中,执行主体可以将目标业务模块与占用内存量最大的NUMA节点进行绑定,即将占用内存量最大的NUMA节点作为与目标业务模块匹配的目标NUMA节点。
步骤404,将目标业务模块的访存请求发送至目标NUMA节点。
步骤405,获取目标NUMA节点的硬件资源信息。
本实施例中,执行主体还可以获取目标NUMA节点的硬件资源信息。这些硬件资源信息可以利用预设的硬件资源信息采集工具采集得到,也可以由存储各NUMA节点的元数据的数据库得到。硬件资源信息可以包括NUMA节点中包括的CPU核的数量、配置,一级缓存的大小等等信息。
步骤406,根据监控数据以及硬件资源信息,确定目标NUMA节点的资源利用率。
执行主体在获取到目标NUMA节点的硬件资源信息后,可以根据监控数据以及硬件资源信息,确定目标NUMA节点的资源利用率。具体的,执行主体可以根据内存容量以及内存使用量,确定内存的使用率。
步骤407,响应于确定资源利用率大于预设阈值,从NUMA节点集合中确定出目标NUMA节点的备用NUMA节点。
本实施例中,如果执行主体判断目标NUMA节点的资源利用率大于预设阈值,则认为目标NUMA节点的硬件资源饱和。上述预设阈值可以为90%。可以理解的是,上述预设阈值可以为技术人员根据实际应用场景设定的阈值。在硬件资源饱和的情况下,认定目标NUMA节点的性能不佳。此时可以从NUMA节点集合中确定出目标NUMA节点的备用NUMA节点。以使备用NUMA节点处理一部分目标业务模块的访存请求。具体的,执行主体可以将目标业务模块在各NUMA节点中内存占用量第二大的NUMA节点作为目标NUMA节点的备用NUMA节点。或者,执行主体可以根据各NUMA节点的空余资源量来选择目标NUMA节点的备用NUMA节点。
在本实施例的一些可选的实现方式中,执行主体可以通过图4中未示出的以下步骤来确定备用NUMA节点:确定NUMA节点集合中各NUMA节点的资源利用率;根据各NUMA节点的资源利用率,从NUMA节点集合中确定出目标NUMA节点的备用NUMA节点。
本实现方式中,执行主体可以确定各NUMA节点的资源利用率。然后根据各NUMA节点的资源利用率,从NUMA节点集合中确定出目标NUMA节点的备用NUMA节点。例如,执行主体可以将资源利用率最低的NUMA节点作为备用NUMA节点。
步骤408,将发送至目标NUMA节点的部分访存请求转发至备用NUMA节点。
在确定备用NUMA节点后,执行主体可以将发送至目标NUMA节点的部分访存请求转发至备用NUMA节点,以减小目标NUMA节点的处理压力。
举例来说,目标NUMA节点的资源利用率为95%,另一NUMA节点1的资源利用率为50%,则为了充分利用NUMA节点1的硬件资源,执行主体可以将NUMA节点1作为备用NUMA节点,将20%的访存请求转发至NUMA节点1,这样既能提高目标NUMA节点的性能,也能在不降低备用NUMA节点性能的前提下,充分利用备用NUMA节点的硬件资源。
本申请的上述实施例提供的访存请求调度方法,可以保证各NUMA节点的性能都处于较佳的状态,从而能够保证各业务模块的正常运行。
继续参见图5,其示出了根据本申请的访存请求调度方法的又一个实施例的流程500。本实施例的访存请求调度方法可以应用于服务器集群。如图5所示,本实施例的访存请求调度方法可以包括以下步骤:
步骤501,获取至少一个业务模块的监控数据。
步骤502,根据监控数据,从至少一个业务模块中确定出目标业务模块。
步骤503,根据监控数据,从预设的NUMA节点集合中确定出与目标业务模块匹配的目标NUMA节点。
步骤504,将目标业务模块的访存请求发送至目标NUMA节点。
步骤505,根据监控数据,确定目标业务模块的运行状态信息。
本实施例中,执行主体还可以根据监控数据,确定目标业务模块的运行状态信息。这里,运行状态信息可以包括多个参数值,例如可以包括访存带宽值,内存利用率值等等。
步骤506,根据运行状态信息,确定目标业务模块是否满足预设条件。
执行主体可以将运行状态信息中的各参数值与预设的阈值集合进行比较,确定目标业务模块是否满足预设条件。具体的,如果运行状态信息中的各参数值均小于阈值集合中对应的阈值,则确定目标业务模块满足预设条件。
步骤507,响应于不满足预设条件,确定目标业务模块对应的远程内存。
如果目标业务模块不满足预设条件,则执行主体可以确定目标业务模块对应的远程内存。具体的,执行主体可以解析目标业务模块的进程地址空间布局,对访存进行采样,识别出远程内存。这里,远程内存是相对于本地内存来说的。与目标业务模块绑定的目标NUMA节点所在的服务器为本地内存。远程内存是位于服务器集群中其它服务器上的NUMA节点的内存。
步骤508,将远程内存中的数据迁移至目标业务模块的本地内存。
执行主体在确定远程内存后,可以将远程内存的数据迁移至目标业务模块的本地内存。具体的,执行主体可以通过内核系统的接口将远程内存的数据迁移至目标业务模块的本地内存。
这样,目标业务模块就可以在本地内存读取到远程内存的内容,提供目标业务模型的运行状态。
本申请的上述实施例提供的访存请求调度方法,可以对每个业务模块进行监控,并提升每个业务模块的性能。
进一步参考图6,作为对上述各图所示方法的实现,本申请提供了一种访存请求调度装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图6所示,本实施例的访存请求调度装置600包括:监控数据获取单元601、业务模块确定单元602、目标节点确定单元603和第一请求调度单元604。
监控数据获取单元601,被配置成获取至少一个业务模块的监控数据。
业务模块确定单元602,被配置成根据监控数据,从至少一个业务模块中确定出目标业务模块。
目标节点确定单元603,被配置成根据监控数据,从预设的NUMA节点集合中确定出与目标业务模块匹配的目标NUMA节点。
第一请求调度单元604,被配置成将目标业务模块的访存请求发送至目标NUMA节点。
在本实施例的一些可选的实现方式中,业务模块确定单元602可以进一步被配置成:根据监控数据,确定以下至少一项:访存次数、访存带宽,等待访问内存的时间,等待访问中央处理器的时间,等待访问缓存的时间,不同内存数据类型的数据量;基于所确定的信息,确定至少一个业务模块的访存延时敏感值;根据访存延时敏感值,从至少一个业务模块中确定出目标业务模块。
在本实施例的一些可选的实现方式中,目标节点确定单元603可以进一步被配置成:确定目标业务模块在NUMA节点集合中的各NUMA节点中占用的内存量;根据各NUMA节点的访存带宽和/或占用的内存量,确定目标NUMA节点。
在本实施例的一些可选的实现方式中,装置600还可以进一步包括图6中未示出的:资源信息获取单元、利用率确定单元、备用节点确定单元和第二请求调度单元。
资源信息获取单元,被配置成获取目标NUMA节点的硬件资源信息。
利用率确定单元,被配置成根据监控数据以及硬件资源信息,确定目标NUMA节点的资源利用率。
备用节点确定单元,被配置成响应于确定资源利用率大于预设阈值,从NUMA节点集合中确定出目标NUMA节点的备用NUMA节点。
第二请求调度单元,被配置成将发送至目标NUMA节点的部分访存请求转发至备用NUMA节点。
在本实施例的一些可选的实现方式中,备用节点确定单元进一步被配置成:确定NUMA节点集合中各NUMA节点的资源利用率;根据各NUMA节点的资源利用率,从NUMA节点集合中确定出目标NUMA节点的备用NUMA节点。
在本实施例的一些可选的实现方式中,装置600还可以进一步包括图6中未示出的:状态信息确定单元、判断单元、远程内存确定单元和数据迁移单元。
状态信息确定单元,被配置成根据监控数据,确定目标业务模块的运行状态信息。
判断单元,被配置成根据运行状态信息,确定目标业务模块是否满足预设条件。
远程内存确定单元,被配置成响应于不满足预设条件,确定目标业务模块对应的远程内存。
数据迁移单元,被配置成将远程内存中的数据迁移至目标业务模块的本地内存。
应当理解,访存请求调度装置600中记载的单元601至单元604分别与参考图2中描述的方法中的各个步骤相对应。由此,上文针对访存请求调度方法描述的操作和特征同样适用于装置600及其中包含的单元,在此不再赘述。
根据本申请的实施例,本申请还提供了一种电子设备和一种可读存储介质。
如图7所示,是根据本申请实施例的执行访存请求调度方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图7所示,该电子设备包括:一个或多个处理器701、存储器702,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图7中以一个处理器701为例。
存储器702即为本申请所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本申请所提供的执行访存请求调度方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的执行访存请求调度方法。
存储器702作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的执行访存请求调度方法对应的程序指令/模块(例如,附图6所示的监控数据获取单元601、业务模块确定单元602、目标节点确定单元603和第一请求调度单元604)。处理器701通过运行存储在存储器702中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的执行访存请求调度方法。
存储器702可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据执行访存请求调度电子设备的使用所创建的数据等。此外,存储器702可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器702可选包括相对于处理器701远程设置的存储器,这些远程存储器可以通过网络连接至执行访存请求调度电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
执行访存请求调度方法的电子设备还可以包括:输入装置703和输出装置704。处理器701、存储器702、输入装置703和输出装置704可以通过总线或者其他方式连接,图7中以通过总线连接为例。
输入装置703可接收输入的数字或字符信息,以及产生与执行访存请求调度电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置704可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(LCD)、发光二极管(LED)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用ASIC(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
根据本申请实施例的技术方案,能够从各业务模块中确定出合适的业务模块,并将该业务模块的访存请求调度至匹配的NUMA节点,以减少业务模块的访存延时。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。

Claims (14)

1.一种访存请求调度方法,包括:
获取至少一个业务模块的监控数据;
根据所述监控数据,从所述至少一个业务模块中确定出目标业务模块;
根据所述监控数据,从预设的NUMA节点集合中确定出与所述目标业务模块匹配的目标NUMA节点;
将所述目标业务模块的访存请求发送至所述目标NUMA节点。
2.根据权利要求1所述的方法,其中,所述根据所述监控数据,从所述至少一个业务模块中确定出目标业务模块,包括:
根据所述监控数据,确定以下至少一项:访存次数、访存带宽,等待访问内存的时间,等待访问中央处理器的时间,等待访问缓存的时间,不同内存数据类型的数据量;
基于所确定的信息,确定所述至少一个业务模块的访存延时敏感值;
根据所述访存延时敏感值,从所述至少一个业务模块中确定出目标业务模块。
3.根据权利要求2所述的方法,其中,所述根据所述监控数据,从预设的NUMA节点集合中确定与所述目标业务模块匹配的目标NUMA节点,包括:
确定所述目标业务模块在所述NUMA节点集合中的各NUMA节点中占用的内存量;
根据各NUMA节点的访存带宽和/或占用的内存量,确定所述目标NUMA节点。
4.根据权利要求1所述的方法,其中,所述方法还包括:
获取所述目标NUMA节点的硬件资源信息;
根据所述监控数据以及所述硬件资源信息,确定所述目标NUMA节点的资源利用率;
响应于确定所述资源利用率大于预设阈值,从所述NUMA节点集合中确定出所述目标NUMA节点的备用NUMA节点;
将发送至所述目标NUMA节点的部分访存请求转发至所述备用NUMA节点。
5.根据权利要求4所述的方法,其中,所述从所述NUMA节点集合中确定出所述目标NUMA节点的备用NUMA节点,包括:
确定所述NUMA节点集合中各NUMA节点的资源利用率;
根据各NUMA节点的资源利用率,从所述NUMA节点集合中确定出所述目标NUMA节点的备用NUMA节点。
6.根据权利要求1所述的方法,其中,所述方法还包括:
根据所述监控数据,确定所述目标业务模块的运行状态信息;
根据所述运行状态信息,确定所述目标业务模块是否满足预设条件;
响应于不满足所述预设条件,确定所述目标业务模块对应的远程内存;
将所述远程内存中的数据迁移至所述目标业务模块的本地内存。
7.一种访存请求调度装置,包括:
监控数据获取单元,被配置成获取至少一个业务模块的监控数据;
业务模块确定单元,被配置成根据所述监控数据,从所述至少一个业务模块中确定出目标业务模块;
目标节点确定单元,被配置成根据所述监控数据,从预设的NUMA节点集合中确定出与所述目标业务模块匹配的目标NUMA节点;
第一请求调度单元,被配置成将所述目标业务模块的访存请求发送至所述目标NUMA节点。
8.根据权利要求7所述的装置,其中,所述业务模块确定单元进一步被配置成:
根据所述监控数据,确定以下至少一项:访存次数、访存带宽,等待访问内存的时间,等待访问中央处理器的时间,等待访问缓存的时间,不同内存数据类型的数据量;
基于所确定的信息,确定所述至少一个业务模块的访存延时敏感值;
根据所述访存延时敏感值,从所述至少一个业务模块中确定出目标业务模块。
9.根据权利要求8所述的装置,其中,所述目标节点确定单元进一步被配置成:
确定所述目标业务模块在所述NUMA节点集合中的各NUMA节点中占用的内存量;
根据各NUMA节点的访存带宽和/或占用的内存量,确定所述目标NUMA节点。
10.根据权利要求7所述的装置,其中,所述装置还包括:
资源信息获取单元,被配置成获取所述目标NUMA节点的硬件资源信息;
利用率确定单元,被配置成根据所述监控数据以及所述硬件资源信息,确定所述目标NUMA节点的资源利用率;
备用节点确定单元,被配置成响应于确定所述资源利用率大于预设阈值,从所述NUMA节点集合中确定出所述目标NUMA节点的备用NUMA节点;
第二请求调度单元,被配置成将发送至所述目标NUMA节点的部分访存请求转发至所述备用NUMA节点。
11.根据权利要求10所述的装置,其中,所述备用节点确定单元进一步被配置成:
确定所述NUMA节点集合中各NUMA节点的资源利用率;
根据各NUMA节点的资源利用率,从所述NUMA节点集合中确定出所述目标NUMA节点的备用NUMA节点。
12.根据权利要求7所述的装置,其中,所述装置还包括:
状态信息确定单元,被配置成根据所述监控数据,确定所述目标业务模块的运行状态信息;
判断单元,被配置成根据所述运行状态信息,确定所述目标业务模块是否满足预设条件;
远程内存确定单元,被配置成响应于不满足所述预设条件,确定所述目标业务模块对应的远程内存;
数据迁移单元,被配置成将所述远程内存中的数据迁移至所述目标业务模块的本地内存。
13.一种访存请求调度电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-6中任一项所述的方法。
14.一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行权利要求1-6中任一项所述的方法。
CN202010856106.7A 2020-08-24 2020-08-24 访存请求调度方法、装置、设备以及存储介质 Pending CN114090223A (zh)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN202010856106.7A CN114090223A (zh) 2020-08-24 2020-08-24 访存请求调度方法、装置、设备以及存储介质
KR1020210029996A KR102563165B1 (ko) 2020-08-24 2021-03-08 메모리 액세스 요청 스케줄링 방법, 장치, 기기 및 저장 매체
JP2021047577A JP7282823B2 (ja) 2020-08-24 2021-03-22 メモリアクセスリクエストスケジューリング方法、装置、電子デバイス、コンピュータ可読記憶媒体及びコンピュータプログラム
US17/209,914 US11372594B2 (en) 2020-08-24 2021-03-23 Method and apparatus for scheduling memory access request, device and storage medium
EP21164675.7A EP3961395A1 (en) 2020-08-24 2021-03-24 Method and apparatus for scheduling memory access request, device and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010856106.7A CN114090223A (zh) 2020-08-24 2020-08-24 访存请求调度方法、装置、设备以及存储介质

Publications (1)

Publication Number Publication Date
CN114090223A true CN114090223A (zh) 2022-02-25

Family

ID=75223053

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010856106.7A Pending CN114090223A (zh) 2020-08-24 2020-08-24 访存请求调度方法、装置、设备以及存储介质

Country Status (5)

Country Link
US (1) US11372594B2 (zh)
EP (1) EP3961395A1 (zh)
JP (1) JP7282823B2 (zh)
KR (1) KR102563165B1 (zh)
CN (1) CN114090223A (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115208939B (zh) * 2022-07-14 2024-03-19 Oppo广东移动通信有限公司 访问控制方法、装置、存储介质及电子设备
CN117519957A (zh) * 2022-07-30 2024-02-06 华为技术有限公司 一种数据处理方法及装置
CN115378842A (zh) * 2022-08-26 2022-11-22 中国银行股份有限公司 一种资源监控的方法、装置、存储介质及设备
CN115543222B (zh) * 2022-11-30 2023-03-10 苏州浪潮智能科技有限公司 一种存储优化方法、系统、设备及可读存储介质
KR102569833B1 (ko) * 2022-12-30 2023-08-23 주식회사 에스티씨랩 디지털 서비스 기반 서비스 서버의 모니터링을 이용한 유량 제어 방법, 서버 및 시스템

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6347362B1 (en) 1998-12-29 2002-02-12 Intel Corporation Flexible event monitoring counters in multi-node processor systems and process of operating the same
US7159216B2 (en) 2001-11-07 2007-01-02 International Business Machines Corporation Method and apparatus for dispatching tasks in a non-uniform memory access (NUMA) computer system
JP3826848B2 (ja) 2002-06-07 2006-09-27 日本電気株式会社 動的負荷均等化方法および動的負荷均等化装置
JP4535784B2 (ja) 2004-06-15 2010-09-01 日本電気株式会社 プロセス配置装置、プロセス配置方法及びプロセス配置プログラム
KR100700156B1 (ko) * 2006-02-22 2007-03-28 삼성전자주식회사 다이나믹 메모리의 리프레쉬 컨트롤러, 이를 포함하는반도체 시스템 및 다이나믹 메모리의 리프레쉬 제어 방법.
JP2007249445A (ja) 2006-03-15 2007-09-27 Hitachi Ltd クラスタシステムの負荷分散制御方法およびその装置
US9015446B2 (en) * 2008-12-10 2015-04-21 Nvidia Corporation Chipset support for non-uniform memory access among heterogeneous processing units
JP2010211506A (ja) 2009-03-10 2010-09-24 Nec Corp 不均一メモリアクセス機構を備えるコンピュータ、コントローラ、及びデータ移動方法
US9535767B2 (en) * 2009-03-26 2017-01-03 Microsoft Technology Licensing, Llc Instantiating a virtual machine with a virtual non-uniform memory architecture
KR101097777B1 (ko) * 2010-02-05 2011-12-23 한국과학기술원 하이브리드 메모리 관리 방법, 시스템 및 컴퓨터 판독가능매체
US8898664B2 (en) * 2010-06-01 2014-11-25 Microsoft Corporation Exposure of virtual cache topology to a guest operating system
JP2012247827A (ja) 2011-05-25 2012-12-13 Ricoh Co Ltd プログラム生成装置、プログラム生成方法及びプログラム
JP5174941B2 (ja) 2011-07-22 2013-04-03 株式会社日立製作所 仮想計算機の制御方法
US9684600B2 (en) 2011-11-30 2017-06-20 International Business Machines Corporation Dynamic process/object scoped memory affinity adjuster
JP6237318B2 (ja) 2014-02-19 2017-11-29 富士通株式会社 管理装置、業務負荷分散管理方法および業務負荷分散管理プログラム
CN104252419B (zh) * 2014-09-16 2017-09-19 华为技术有限公司 一种内存分配的方法及装置
US10255091B2 (en) 2014-09-21 2019-04-09 Vmware, Inc. Adaptive CPU NUMA scheduling
US10452572B2 (en) 2016-10-06 2019-10-22 Vmware, Inc. Automatic system service resource management for virtualizing low-latency workloads that are input/output intensive
JP6734804B2 (ja) * 2017-03-29 2020-08-05 日本電信電話株式会社 キャッシュサーバおよびキャッシュ方法
CN107168771A (zh) * 2017-04-24 2017-09-15 上海交通大学 一种非一致性内存访问架构下的虚拟机调度装置及方法
JP2019049843A (ja) 2017-09-08 2019-03-28 富士通株式会社 実行ノード選定プログラム、実行ノード選定方法及び情報処理装置

Also Published As

Publication number Publication date
JP7282823B2 (ja) 2023-05-29
KR102563165B1 (ko) 2023-08-04
KR20220025645A (ko) 2022-03-03
EP3961395A1 (en) 2022-03-02
US20210208819A1 (en) 2021-07-08
JP2022033688A (ja) 2022-03-02
US11372594B2 (en) 2022-06-28

Similar Documents

Publication Publication Date Title
CN114090223A (zh) 访存请求调度方法、装置、设备以及存储介质
US9841998B2 (en) Processor power optimization with response time assurance
US9483319B2 (en) Job scheduling apparatus and method therefor
CN111045782B (zh) 日志处理方法、装置、电子设备和计算机可读存储介质
CN111406250A (zh) 无服务器计算环境中的使用经预取的数据的配设
JP7170768B2 (ja) 開発マシン操作タスクの処理方法、電子機器、コンピュータ可読記憶媒体及びコンピュータプログラム
CN111694646A (zh) 资源调度方法、装置、电子设备及计算机可读存储介质
CN102473106A (zh) 虚拟环境中的资源分配
JP2020194524A (ja) アクセスリクエストを管理するための方法、装置、デバイス、および記憶媒体
CN112508768B (zh) 单算子多模型流水线推理方法、系统、电子设备及介质
US9218198B2 (en) Method and system for specifying the layout of computer system resources
US9547576B2 (en) Multi-core processor system and control method
CN111259205A (zh) 一种图数据库遍历方法、装置、设备及存储介质
CN110688229B (zh) 任务处理方法和装置
CN111782147A (zh) 用于集群扩缩容的方法和装置
US8977752B2 (en) Event-based dynamic resource provisioning
CN112486644A (zh) 用于生成信息的方法、装置、设备以及存储介质
CN112527509A (zh) 一种资源分配方法、装置、电子设备及存储介质
CN117093335A (zh) 分布式存储系统的任务调度方法及装置
CN113918291A (zh) 多核操作系统流任务调度方法、系统、计算机和介质
CN113722070A (zh) 基于服务网格架构的微服务系统中的数据处理方法和装置
US20140237149A1 (en) Sending a next request to a resource before a completion interrupt for a previous request
CN110751282A (zh) 面向深度学习训练任务的处理器内存优化方法及装置
CN111614494B (zh) 网络资源的仿真方法、装置、电子设备和计算机可读存储介质
Kang et al. Mcredit2: Enhanced High‐Performance Xen Scheduler via Dynamic Weight Allocation

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