CN111143035B - Cpu资源的分配方法、装置、设备及计算机可读存储介质 - Google Patents

Cpu资源的分配方法、装置、设备及计算机可读存储介质 Download PDF

Info

Publication number
CN111143035B
CN111143035B CN201911368272.6A CN201911368272A CN111143035B CN 111143035 B CN111143035 B CN 111143035B CN 201911368272 A CN201911368272 A CN 201911368272A CN 111143035 B CN111143035 B CN 111143035B
Authority
CN
China
Prior art keywords
cpus
socket
host
class
physical core
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.)
Active
Application number
CN201911368272.6A
Other languages
English (en)
Other versions
CN111143035A (zh
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.)
Netease Hangzhou Network Co Ltd
Original Assignee
Netease Hangzhou Network 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 Netease Hangzhou Network Co Ltd filed Critical Netease Hangzhou Network Co Ltd
Priority to CN201911368272.6A priority Critical patent/CN111143035B/zh
Publication of CN111143035A publication Critical patent/CN111143035A/zh
Application granted granted Critical
Publication of CN111143035B publication Critical patent/CN111143035B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multi Processors (AREA)

Abstract

本申请实施例提供一种CPU资源的分配方法、装置、设备及计算机可读存储介质。该方法应用于部署有虚拟网络功能的宿主机,虚拟网络功能以容器为载体,容器上设置有数据处理组件,其中,宿主机包括多个CPU,该分配方法包括:确定第一数量个CPU,第一数量个CPU用于预留给宿主机上的第一类进程使用;根据第一数量个CPU,在宿主机的多个CPU中划分出第一数量个CPU;将多个CPU中剩余的CPU中划分出第二数量个CPU给第二类进程使用,其中,第二类进程为与数据处理组件相对应的进程,第一类进程不同于第二类进程。本申请实施例能够将宿主机上的第一类进程和第二类进程所使用的CPU资源进行隔离,从而解决不同类进程抢占CPU资源,导致高丢包率,影响网络转发性能。

Description

CPU资源的分配方法、装置、设备及计算机可读存储介质
技术领域
本申请实施例涉及计算机技术领域,尤其涉及一种CPU资源的分配方法、装置、设备及计算机可读存储介质。
背景技术
网络功能虚拟化(Network Functions Virtualization,NFV)是一种将多种类型的网络设备,例如服务器,交换机和存储器等构建为一个数据中心网络,并通过虚拟化技术对硬件设备进行资源池化及虚拟化,从而为上层应用提供虚拟资源。
目前,NFV主要通过虚拟网络功能(Virtualized Network Function,VNF)来实现,例如,将虚拟网络功能部署到虚拟机或容器中,实现应用与硬件之间的解耦,使得虚拟资源供给速度大大增加,以达到快速扩展系统容量的目的。
然而,虚拟网络功能部署到容器中时,对CPU的管理策略大多采用静态策略。在这种情形下,如果CPU开启了超线程(Hyper Threading,HT),而VNF继续使用静态策略,则会出现VNF的数据平面开发套件(Data Plane Development Kit,DPDK)上的进程与宿主机上的进程抢占CPU资源,导致高丢包率,以及引起网络中断,影响DPDK的网络转发性能。
发明内容
本申请实施例提供一种CPU资源的分配方法、装置、设备及计算机可读存储介质,以将宿主机上的第一类进程和第二类进程所使用的CPU资源进行隔离,从而解决宿主机上不同类进程抢占CPU资源,导致高丢包率,影响网络转发性能。
第一方面,本申请实施例提供一种CPU资源的分配方法,应用于部署有虚拟网络功能的宿主机,所述虚拟网络功能以容器为载体,所述容器上设置有数据处理组件,其中,所述宿主机包括多个CPU,所述分配方法包括:确定第一数量个CPU,所述第一数量个CPU用于预留给所述宿主机上的第一类进程使用;根据所述第一数量个CPU,在所述宿主机的所述多个CPU中划分出所述第一数量个CPU;将所述多个CPU中剩余的CPU中划分出第二数量个CPU给第二类进程使用,其中,第二类进程为与所述数据处理组件相对应的进程,所述第一类进程不同于第二类进程。
可选的,所述宿主机包括多个SOCKET,每个SOCKET包括多个物理核;所述根据所述第一数量个CPU,在所述宿主机的所述多个CPU中划分出所述第一数量个CPU,包括:使所述第一数量个CPU分布在同一物理核,以及使所述第一数量个CPU分布在同一SOCKET上,且所述第一数量个CPU分布在同一物理核的优先级高于使所述第一数量个CPU分布在同一SOCKET上。
可选的,每个物理核包括多个逻辑核;所述根据所述第一数量个CPU,在所述宿主机的所述多个CPU中划分出所述第一数量个CPU,包括:在第一数量小于或等于每个物理核包括的逻辑CPU的数量的情况下,在一个物理核中选取第一数量个逻辑CPU预留给宿主机上的第一类进程;在第一数量大于每个物理核包括的逻辑CPU的数量,且小于一轮SOCKET包括的逻辑CPU的数量的情况下,在该轮SOCKET包括的逻辑CPU中,选取第一数量个逻辑CPU,所述一轮CPU包括所述宿主机上所有SOCKET,且每个SOCKET包括一个物理核;在第一数量大于一轮SOCKET包括的逻辑CPU的数量的情况下,则选取多轮SOCKET,并在下一轮SOCKET中选取多个逻辑CPU,直至达到第一数量个逻辑CPU;将选取的逻辑CPU预留给宿主机上的第一类进程。
可选的,所述将所述多个CPU中剩余的CPU中划分出第二数量个CPU给第二类进程使用,包括:确定所述第二类进程需要的CPU数量,作为所述第二数量个CPU;按照所述第二数量个CPU分布在同一物理核上的规则对所述第二类进程划分需要的CPU;将划分给所述第二类进程的CPU移除,并按照上述过程为其他第二类进程划分需要的CPU。
可选的,所述将所述多个CPU中剩余的CPU中划分出第二数量个CPU给第二类进程使用,包括:确定所述第二类进程需要的CPU数量,作为所述第二数量个CPU;按照所述第二类进程需要的CPU分布在同一物理核,以及使所述第二数量个CPU分布在同一SOCKET上,且所述第二数量个CPU分布在同一物理核的优先级高于使所述第二数量个CPU分布在同一SOCKET上的规则对所述第二类进程划分需要的CPU;将划分给所述第二类进程的CPU移除,并按照上述过程为其他第二类进程划分需要的CPU。
第二方面,本申请实施例提供一种CPU资源的分配装置,包括:确定模块,用于确定第一数量个CPU,所述第一数量个CPU用于预留给宿主机上的第一类进程使用,所述宿主机包括多个CPU;第一划分模块,用于根据所述第一数量个CPU,以及第一预设划分规则,在所述宿主机的所述多个CPU中划分出所述第一数量个CPU;第二划分模块,用于将所述多个CPU中剩余的CPU中划分出第二数量个CPU给第二类进程使用,其中,第二类进程为与所述数据处理组件相对应的进程,所述第一类进程不同于第二类进程;所述第二类进程运行在容器上,所述容器是所述宿主机上部署的虚拟网络功能的载体。
可选的,所述宿主机包括多个SOCKET,每个SOCKET包括多个物理核;所述第一划分模块根据所述第一数量个CPU,在所述宿主机的所述多个CPU中划分出所述第一数量个CPU时,具体包括:使所述第一数量个CPU分布在同一物理核,以及使所述第一数量个CPU分布在同一SOCKET上,且所述第一数量个CPU分布在同一物理核的优先级高于使所述第一数量个CPU分布在同一SOCKET上。
可选的,每个物理核包括多个逻辑核;所述第一划分模块根据所述第一数量个CPU,在所述宿主机的所述多个CPU中划分出所述第一数量个CPU时,具体包括:在第一数量小于或等于每个物理核包括的逻辑CPU的数量的情况下,在一个物理核中选取第一数量个逻辑CPU预留给宿主机上的第一类进程;在第一数量大于每个物理核包括的逻辑CPU的数量,且小于一轮SOCKET包括的逻辑CPU的数量的情况下,在该轮SOCKET包括的逻辑CPU中,选取第一数量个逻辑CPU,所述一轮CPU包括所述宿主机上所有SOCKET,且每个SOCKET包括一个物理核;在第一数量大于一轮SOCKET包括的逻辑CPU的数量的情况下,则选取多轮SOCKET,并在下一轮SOCKET中选取多个逻辑CPU,直至达到第一数量个逻辑CPU;将选取的逻辑CPU预留给宿主机上的第一类进程。
可选的,所述第二划分模块将所述多个CPU中剩余的CPU中划分出第二数量个CPU给第二类进程使用时,具体包括:确定所述第二类进程需要的CPU数量,作为所述第二数量个CPU;按照所述第二数量个CPU分布在同一物理核上的规则对所述第二类进程划分需要的CPU;将划分给所述第二类进程的CPU移除,并按照上述过程为其他第二类进程划分需要的CPU。
可选的,所述第二划分模块将所述多个CPU中剩余的CPU中划分出第二数量个CPU给第二类进程使用时,具体包括:确定所述第二类进程需要的CPU数量,作为所述第二数量个CPU;按照所述第二类进程需要的CPU分布在同一物理核,以及使所述第二数量个CPU分布在同一SOCKET上,且所述第二数量个CPU分布在同一物理核的优先级高于使所述第二数量个CPU分布在同一SOCKET上的规则对所述第二类进程划分需要的CPU;将划分给所述第二类进程的CPU移除,并按照上述过程为其他第二类进程划分需要的CPU。
第三方面,本申请实施例提供一种CPU资源的分配设备,包括:
存储器;
处理器;以及
计算机程序;
其中,所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行以实现第一方面所述的方法。
第四方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行以实现第一方面所述的方法。
本申请实施例提供的CPU资源的分配方法、装置、设备及计算机可读存储介质,通过确定第一数量个CPU,所述第一数量个CPU用于预留给所述宿主机上的第一类进程使用;根据所述第一数量个CPU,在所述宿主机的所述多个CPU中划分出所述第一数量个CPU;将所述多个CPU中剩余的CPU中划分出第二数量个CPU给第二类进程使用,其中,第二类进程为与所述数据处理组件相对应的进程,所述第一类进程不同于第二类进程。由于宿主机上第一类进程所使用的CPU和第二类进程进程所使用的CPU进行了隔离,因此,宿主机上的第一类进程不会和第二类进程抢占CPU资源,宿主机上第一类进程所使用的CPU和第二类进程不会相互干扰,因此,在超线程环境中,能够有效降低丢包率和减少网络中断,从而保证数据处理组件的网络转发性能。
附图说明
图1为本申请实施例提供的K8S集群架构的结构示意图;
图2为本申请实施例提供的CPU资源的分配方法流程图;
图3为本申请实施例提供的对宿主机上进程预留CPU的示例图;
图4为本申请另一实施例提供的对宿主机上进程预留CPU的示例图;
图5为本申请又一实施例提供的对宿主机上进程预留CPU的示例图;
图6为本申请又一实施例提供的对宿主机上进程预留CPU的示例图;
图7为本申请实施例提供的CPU资源的分配装置的结构示意图;
图8为本申请实施例提供的CPU资源的分配设备的结构示意图。
通过上述附图,已示出本公开明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本公开的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
K8S:全称为Kubernetes,是基于容器技术的分布式架构,用于管理云平台中多个主机上的容器化的应用。
Pod:是K8S架构中最小的编排调度单元,一个Pod内可以运行一个或者多个容器。
DPDK:数据平面开发套件,为Intel architecture处理器架构下用户空间高效的数据包处理提供库函数和驱动的支持,专注于网络应用中数据包的高性能处理,能够提高数据处理性能和吞吐量,提高数据平面应用程序的工作效率。由于DPDK屏蔽了硬件发出中断,而是使用轮询(polling)的方式来处理数据包。因此,在收到数据包时,经DPDK重载的网卡驱动不会通过中断通知CPU,而是直接将数据包存入内存,交给应用层软件通过DPDK提供的接口来直接处理,如此,可以节省大量的CPU中断时间和内存拷贝时间。
Hyper Threading:中文是超线程,可以理解为同时多线程(Simultaneous Multi-Threading),能够允许一个CPU执行多个控制流。其原理就是把一颗CPU当成多颗来用,例如,将一颗具有超线程功能的物理CPU变成两颗逻辑CPU。若一个Core开启了超线程(Hyper-Threading,HT),那么对于操作系统而言,一个Core就会变成多个逻辑CPU。每个逻辑CPU可以对应一个线程。
SOCKET:中文为套接字,是传输层连接的端点,应用程序可以通过SOCKET发送或接收数据。套接字允许应用程序将I/O插入到网络中,并与网络中的其他应用程序进行通信。网络套接字是IP地址与端口的组合。
NUMA Node:Non Uniform Memory Access Architecture Node,非一致性内存访问节点。
Core:物理核。
Thread:线程,是操作系统能够进行运算调度的最小单位。线程包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。
通俗来讲,一个SOCKET可以理解为物理机主板上的CPU插槽,一个Core可以理解为一个物理CPU,是一个独立的硬件执行单元。
其中,在非一致性内存访问体系架构中,每个NUMA Node可以包括一个或多个SOCKET,每个SOCKET又可以包括多个Core,而每个Core还可以包括多个逻辑CPU。下面将结合图1对上述介绍的SOCKET、NUMA、Core、逻辑CPU之间的关系进行举例说明:
图1为本申请实施例提供的K8S集群架构的结构示意图。如图1所示,K8S集群架构包括一个主节点11和多个从节点12,每一个从节点12可以理解为容器的物理宿主机,每个从节点12上部署有多个POD,每个POD中包括若干个容器,另外,每个容器上还运行有DPDK,DPDK用于进行数据转发。
本实施例中,宿主机上可以部署以容器为载体的虚拟网络功能,容器上设置有数据处理组件,其中,数据处理组件可以是DPDK,宿主机上的进程和数据处理组件的进程(以下简称为DPDK进程)都使用该宿主机提供的CPU资源。如图1所示,对于一个宿主机而言,其所拥有的逻辑CPU的数量,也就是总的CPU数量,即总的逻辑CPU的数量=SOCKET*Core/perSOCKET*Siblings/per core。对于图1所示的宿主机,其总的逻辑CPU数量为4*2*4*2=64个。
其中,K8S集群架构中的容器通过容器调度编排系统来管理。例如,若需要创建容器,则通过主节点进行调度编排来选择从节点,然后在该从节点的物理宿主机上创建POD,形成VNF。本申请实施例中,每个POD可以理解为一个VNF。
本申请实施例将VNF在容器上来实现,也就是将容器作为VNF的载体。并且在VNF的数据层,采用DPDK来实现数据转发,以提高数据转发速率。对DPDK而言,其是通过CPU绑Core,也就是绑定网卡和线程到固定的CPU,以此来减少CPU任务切换带来的耗时,提升数据转发效率。然而K8S采用的CPU管理策略,是静态的管理策略,在静态管理策略下。这样,就会出现DPDK上的进程在绑定CPU的过程中,被绑定在宿主机上的进程的CPU,导致DPDK上的进程与宿主上的进程抢占CPU资源,从而出现丢包现象,影响网络转发性能。本申请实施例提出以下的CPU资源的分配方法来将宿主机上的进程所需要的CPU和DPDK上的进程所需要的CPU进行隔离,使得宿主机上的进程和DPDK上的进程在使用CPU资源时,相互之间不干扰,以此降低丢包率,保证DPDK的网络转发性能。
下面将结合图1,以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
图2为本申请实施例提供的CPU资源的分配方法流程图。本申请实施例针对现有技术的如上技术问题,提供了CPU资源的分配方法,该方法具体步骤如下:
步骤201、确定第一数量个CPU。
其中,第一数量个CPU用于预留给宿主机上的第一类进程使用。
步骤202、根据第一数量个CPU,在宿主机的多个CPU中划分出第一数量个CPU。
其中,多个CPU可以是宿主机的总的CPU,也可以是从宿主机的总的CPU中选取出来的部分CPU。
在一台宿主机上,可以存在多个NUMA节点,每个NUMA节点包括一个或多个SOCKET,每个SOCKET包括多个物理核Core,每个Core包括多个逻辑CPU。
图3为本申请实施例提供的宿主机上逻辑CPU的分布架构的示意图。请参阅图3,该宿主机上逻辑CPU的分布架构10包括:2个NUMA,分别表示为第一NUMA(以下简称为NUMA0)和第二NUMA(以下简称为NUMA1),每个NUMA可以认为是一个SOCKET,每个SOCKET包括10个Core,每个Core包括2个逻辑CPU。例如,图3中前两行为NUMA0,可以认为是一个SOCKET,后两行为NUMA1,可以认为是一个SOCKET,其中,前两行中的每一列可以认为是一个Core,每一行每一列可以认为是一个逻辑CPU。对于NUMA1,可以参见关于NUMA0的介绍,此处不再赘述。
可选的,根据所述第一数量个CPU,在所述宿主机的所述多个CPU中划分出所述第一数量个CPU,包括:使第一数量个CPU分布在同一物理核,以及使第一数量个CPU分布在同一SOCKET上,且第一数量个CPU分布在同一物理核的优先级高于使第一数量个CPU分布在同一SOCKET上。本实施例的划分规则可以认为是第一预设划分规则,也就是按照第一预设划分规则在多个CPU中划分出第一数量个CPU,预留给宿主机上的第一类进程使用。
进一步的,第一预设划分规则包括以下几种可选的实施方式:
在第一种可选的实施方式中,在第一数量小于或等于每个物理核包括的逻辑CPU的数量的情况下,在一个物理核中选取第一数量个逻辑CPU预留给宿主机上的第一类进程。
例如,若宿主机上的第一类进程需要预留2个逻辑CPU,则在图3中,优先选择属于同一个物理核core中的逻辑cpu预留给宿主机上的第一类进程。例如,将编号为0和20的逻辑CPU(可参见图3中以虚线圈出的部分)预留给宿主机上的第一类进程使用。编号为0和20的逻辑CPU就是同一个core中的逻辑CPU。
在第二种可选的实施方式中,在第一数量大于每个物理核包括的逻辑CPU的数量,且小于一轮SOCKET包括的逻辑CPU的数量的情况下,在该轮SOCKET包括的逻辑CPU中,选取第一数量个逻辑CPU。
例如,若宿主机上第一类进程需要预留3个逻辑CPU,则在图3中,在每个SOCKET中,首先选取一个物理核Core。例如,首先选取SOCKET0中的一个物理核(编号为0、20的逻辑CPU),然后在SOCKET1中选择一个物理核,在SOCKET1中选取的物理核中选取一个逻辑CPU,最终的选取结果就是如图4所示的编号分别为0、20和10的逻辑CPU(可参见图4中以虚线圈出的部分),预留给宿主上的第一类进程使用。
在第三种可选的实施方式中,在第一数量大于一轮SOCKET包括的逻辑CPU的数量的情况下,则选取多轮SOCKET,并在下一轮SOCKET中选取多个逻辑CPU,直至达到第一数量个逻辑CPU。
例如,若宿主机上的进程需要预留5个逻辑CPU,则在图3中,在每个SOCKET中,首先选取一个物理核Core。例如,首先选取SOCKET0中的一个物理核(编号为0、20的逻辑CPU),然后在SOCKET1中选择一个物理核(编号为10、30的逻辑CPU),之后,再在SOCKET0中的一个物理核中选取一个逻辑CPU,最终的选取结果就是如图5所示的编号分别为0、20、10、30和1的逻辑CPU(可参见图5中以虚线圈出的部分),预留给宿主上的第一类进程使用。
步骤203、将多个CPU中剩余的CPU中划分出第二数量个CPU给第二类进程使用。
其中,第二类进程为与数据处理组件相对应的进程,第一类进程不同于第二类进程。例如,第一类进程是宿主机自身的进程,第二类进程是宿主机上运行的数据处理组件上的进程。
例如,在对宿主机上的第一类进程划分完预留的CPU之后,这些预留的CPU将为宿主机上的进程提供服务。之后,可以将多个CPU中除去预留的CPU之外,剩余的CPU划分给宿主机上的DPDK进程使用。
例如,宿主机上总CPU数量为N,其中,宿主机上的第一类进程需使用的最大CPU数量为M,则首先从这N个CPU中划分出M个CPU,然后将剩余的N-M个CPU划分给DPDK进程使用。
在一种可选的示例中,在图3所示示例的基础上,将多个CPU中剩余的CPU中划分出第二数量个CPU给第二类进程使用,可以理解为将除了0和20之外的其余CPU(可参见图3中虚线框之外的CPU)划分给DPDK进程。
在另一种可选的示例中,在图4所示示例的基础上,将多个CPU中剩余的CPU中划分出第二数量个CPU给第二类进程使用,可以理解为将除了编号为0、20和10的CPU之外的其余CPU(可参见图4中虚线框之外的CPU)划分给DPDK上的进程。
在又一种可选的示例中,在图5所示示例的基础上,基于第二预设划分规则,将剩余的CPU划分给DPDK上的进程,可以理解为将除了编号为0、20、10、30和1之外的其余CPU(可参见图5中虚线框之外的CPU)划分给DPDK进程。
本申请实施例通过确定第一数量个CPU,所述第一数量个CPU用于预留给所述宿主机上的第一类进程使用;根据所述第一数量个CPU,在所述宿主机的所述多个CPU中划分出所述第一数量个CPU;将所述多个CPU中剩余的CPU中划分出第二数量个CPU给第二类进程使用,其中,第二类进程为与所述数据处理组件相对应的进程,所述第一类进程不同于第二类进程。由于宿主机上第一类进程所使用的CPU和第二类进程进程所使用的CPU进行了隔离,因此,宿主机上的第一类进程不会和第二类进程抢占CPU资源,宿主机上第一类进程所使用的CPU和第二类进程不会相互干扰,因此,在超线程环境中,能够有效降低丢包率和减少网络中断,从而保证数据处理组件的网络转发性能。
在一个示例中,需要预留给宿主机上的第一类进程使用的CPU数量为n个,宿主机上包括a个SOCKET,每个物理核Core开启超线程之后,可以超线程出来b个线程,也就是说每个物理核Core包括b个逻辑CPU。
可选的,根据第一数量个CPU,在宿主机的多个CPU中划分出第一数量个CPU,具体采用如下方式实现:
n=ab*x+b*y+z;
其中,x=n/ab,x取整数部分;
y=(n-ab*x)/b,y取整数部分;
z=(n-ab*x)%b,z取余数部分。
式中,x代表需要在x轮完整的SOCKET;y代表在剩余的不完整的一轮SOCKET中,划分的完整的y轮core;z代表在剩余的不完整的一轮core中,划分的最小单位的z个thread(逻辑CPU)。
根据x,y,z三个指标就可以确定如何划分预留给宿主机上进程使用的CPU。也可以理解为,是先保留a*x个完整的Core,也就是ab*x个逻辑CPU,a*x个Core是分布在宿主机的每个SOCKET上,然后在前y个SOCKET中,对每个SOCKET保留完整的一个Core,最后在第y+1个SOCKET中的Core的前z个thread(逻辑CPU)。
图6为本申请实施例提供的一个示例的CPU分配示意图。
示例性地,如图6所示,若一个宿主机上包括4个SOCKET,那么一轮完整的SOCKET可以认为是,包括4个SOCKET,每个SOCKET包括一个物理核,每个物理核包括多个逻辑核,也就是图6中的每一列可以认为是一轮完整的SOCKET。一轮完整的物理核可以认为是一个SOCKET中的一个物理核。
请继续参阅图6,该宿主机上包括4个SOCKET,每个SOCKET包括8个物理核,每个物理核包括3个逻辑CPU。假设n为32,a为4,b为3,那么x、y、z分别等于2、2和2。其中,x=2可以理解为图6中的前两列(请参见图6中以上对角线示出的部分),y=2可以理解为第3列中的前6行(请参见图6中以下对角线示出的部分),也就是2个完整的Core,z=2可以理解为图6中的第3列的第7-8行(请参见图6中以竖条纹线示出的部分),也就是2个逻辑CPU。
其中,将多个CPU中剩余的CPU中划分出第二数量个CPU给第二类进程使用,至少包括以下两种可选的实施方式:
在一种可选的实施方式中,将多个CPU中剩余的CPU中划分出第二数量个CPU给第二类进程使用,包括:确定第二类进程需要的CPU数量,作为第二数量个CPU;按照第二数量个CPU分布在同一物理核上的规则对第二类进程划分需要的CPU;将划分给第二类进程的CPU移除,并按照上述过程为其他第二类进程划分需要的CPU。
在该实施方式中,宿主机上的第一类进程需要的CPU的数量设置为每个物理核包括的逻辑CPU的数量的整数倍,则对第二类进程分配逻辑CPU的过程中,优先在同一个SOCKET中对第二类进程分配逻辑CPU,若第二类进程需要的逻辑CPU的数量大于一个SOCKET的逻辑CPU的数量,那么就在其他SOCKET上继续对第二类进程分配逻辑CPU,直至达到第二类进程需要的逻辑CPU的数量。为了方便理解,下面通过举例对该分配过程进行详细说明:
请继续参阅图2,若第二类进程需要的逻辑CPU的数量为2,那么就将[1,21]或[10,30]分配给第二类进程;
若第二类进程需要的逻辑CPU的数量为18,则将编号为[1,21]、[2,22]、[3,23]、[4,24]、[5,25]、[6,26]、[7,27]、[8,28]、[9,29]的逻辑CPU分配给第二类进程;
若第二类进程需要的逻辑CPU的数量为20,则将编号为[1,21]、[2,22]、[3,23]、[4,24]、[5,25]、[6,26]、[7,27]、[8,28]、[9,29]、[10,30]的逻辑CPU分配给第二类进程;
若第二类进程需要的逻辑CPU的数量为21,则将编号为[1,21]、[2,22]、[3,23]、[4,24]、[5,25]、[6,26]、[7,27]、[8,28]、[9,29]、[10,30]以及[31]的逻辑CPU分配给第二类进程。
在另一种可选的实施方式中,将多个CPU中剩余的CPU中划分出第二数量个CPU给第二类进程使用,包括:确定第二类进程需要的CPU数量,作为所述第二数量个CPU;按照第二类进程需要的CPU分布在同一物理核,以及使第二数量个CPU分布在同一SOCKET上,且所述第二数量个CPU分布在同一物理核的优先级高于使所述第二数量个CPU分布在同一SOCKET上的规则对所述第二类进程划分需要的CPU;将划分给第二类进程的CPU移除,并按照上述过程为其他第二类进程划分需要的CPU。
请继续参阅图3,若第二类进程需要的逻辑CPU的数量为2,那么就将[10,30]分配给第二类进程;若第二类进程需要的逻辑CPU的数量为5,则将编号为[10,30]、[1,21]、[11]的逻辑CPU分配给第二类进程。
图7为本申请实施例提供的CPU资源的分配装置的结构示意图。本申请实施例提供的CPU资源的分配装置可以执行CPU资源的分配方法实施例提供的处理流程,如图7所示,CPU资源的分配装置70包括:确定模块71、第一划分模块72和第二划分模块73;其中,确定模块71,用于确定第一数量个CPU,所述第一数量个CPU用于预留给宿主机上的第一类进程使用,所述宿主机包括多个CPU;第一划分模块72,用于根据所述第一数量个CPU,以及第一预设划分规则,在所述宿主机的所述多个CPU中划分出所述第一数量个CPU;第二划分模块73,用于将所述多个CPU中剩余的CPU中划分出第二数量个CPU给第二类进程使用,其中,第二类进程为与所述数据处理组件相对应的进程,所述第一类进程不同于第二类进程;第二类进程运行在容器上,所述容器是所述宿主机上部署的虚拟网络功能的载体。
可选的,所述宿主机包括多个SOCKET,每个SOCKET包括多个物理核;所述第一划分模块72根据所述第一数量个CPU,在所述宿主机的所述多个CPU中划分出所述第一数量个CPU时,具体包括:使所述第一数量个CPU分布在同一物理核,以及使所述第一数量个CPU分布在同一SOCKET上,且所述第一数量个CPU分布在同一物理核的优先级高于使所述第一数量个CPU分布在同一SOCKET上。
可选的,每个物理核包括多个逻辑核;所述第一划分模块72根据所述第一数量个CPU,在所述宿主机的所述多个CPU中划分出所述第一数量个CPU时,具体包括:在第一数量小于或等于每个物理核包括的逻辑CPU的数量的情况下,在一个物理核中选取第一数量个逻辑CPU预留给宿主机上的第一类进程;在第一数量大于每个物理核包括的逻辑CPU的数量,且小于一轮SOCKET包括的逻辑CPU的数量的情况下,在该轮SOCKET包括的逻辑CPU中,选取第一数量个逻辑CPU,所述一轮CPU包括所述宿主机上所有SOCKET,且每个SOCKET包括一个物理核;在第一数量大于一轮SOCKET包括的逻辑CPU的数量的情况下,则选取多轮SOCKET,并在下一轮SOCKET中选取多个逻辑CPU,直至达到第一数量个逻辑CPU;将选取的逻辑CPU预留给宿主机上的第一类进程。
可选的,所述第二划分模块73将所述多个CPU中剩余的CPU中划分出第二数量个CPU给第二类进程使用时,具体包括:确定所述第二类进程需要的CPU数量,作为所述第二数量个CPU;按照所述第二数量个CPU分布在同一物理核上的规则对所述第二类进程划分需要的CPU;将划分给所述第二类进程的CPU移除,并按照上述过程为其他第二类进程划分需要的CPU。
可选的,第二划分模块73在将所述多个CPU中剩余的CPU中划分出第二数量个CPU给第二类进程使用时,具体包括:确定所述第二类进程需要的CPU数量,作为所述第二数量个CPU;按照所述第二类进程需要的CPU分布在同一物理核,以及使所述第二数量个CPU分布在同一SOCKET上,且所述第二数量个CPU分布在同一物理核的优先级高于使所述第二数量个CPU分布在同一SOCKET上的规则对所述第二类进程划分需要的CPU;将划分给所述第二类进程的CPU移除,并按照上述过程为其他第二类进程划分需要的CPU。
图7所示实施例的CPU资源的分配装置可用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图8为本申请实施例提供的CPU资源的分配设备的结构示意图。本申请实施例提供的CPU资源的分配设备可以执行CPU资源的分配方法实施例提供的处理流程,如图8所示,CPU资源的分配设备80包括:存储器81、处理器82、计算机程序和通讯接口83;其中,计算机程序存储在存储器81中,并被配置为由处理器82执行以上述方法实施例的方法步骤。
图8所示实施例的CPU资源的分配设备可用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
另外,本申请实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行以实现上述实施例所述的CPU资源的分配方法。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

Claims (7)

1.一种CPU资源的分配方法,其特征在于,应用于部署有虚拟网络功能的宿主机,所述虚拟网络功能以容器为载体,所述容器上设置有数据处理组件,其中,所述宿主机包括多个CPU,所述分配方法包括:
确定第一数量个CPU,所述第一数量个CPU用于预留给所述宿主机上的第一类进程使用;
根据所述第一数量个CPU,在所述宿主机的所述多个CPU中划分出所述第一数量个CPU;
将所述多个CPU中剩余的CPU中划分出第二数量个CPU给第二类进程使用,其中,第二类进程为与所述数据处理组件相对应的进程,所述第一类进程不同于第二类进程;
所述宿主机包括多个SOCKET,每个SOCKET包括多个物理核;每个物理核包括多个逻辑CPU;
所述根据所述第一数量个CPU,在所述宿主机的所述多个CPU中划分出所述第一数量个CPU,包括:
使所述第一数量个CPU分布在同一物理核,以及使所述第一数量个CPU分布在同一SOCKET上,且所述第一数量个CPU分布在同一物理核的优先级高于使所述第一数量个CPU分布在同一SOCKET上;
所述将所述多个CPU中剩余的CPU中划分出第二数量个CPU给第二类进程使用,包括:
确定所述第二类进程需要的CPU数量,作为所述第二数量个CPU;
按照所述第二类进程需要的CPU分布在同一物理核,以及使所述第二数量个CPU分布在同一SOCKET上,且所述第二数量个CPU分布在同一物理核的优先级高于使所述第二数量个CPU分布在同一SOCKET上的规则对所述第二类进程划分需要的CPU;
将划分给所述第二类进程的CPU移除,并按照第一预设过程为其他第二类进程划分需要的CPU;
所述第一预设过程为确定所述第二类进程需要的CPU数量,作为所述第二数量个CPU;
按照所述第二类进程需要的CPU分布在同一物理核,以及使所述第二数量个CPU分布在同一SOCKET上,且所述第二数量个CPU分布在同一物理核的优先级高于使所述第二数量个CPU分布在同一SOCKET上的规则对所述第二类进程划分需要的CPU。
2.根据权利要求1所述的方法,其特征在于,每个物理核包括多个逻辑核;
所述根据所述第一数量个CPU,在所述宿主机的所述多个CPU中划分出所述第一数量个CPU,包括:
在第一数量小于或等于每个物理核包括的逻辑CPU的数量的情况下,在一个物理核中选取第一数量个逻辑CPU预留给宿主机上的第一类进程;
在第一数量大于每个物理核包括的逻辑CPU的数量,且小于一轮SOCKET包括的逻辑CPU的数量的情况下,在该轮SOCKET包括的逻辑CPU中,选取第一数量个逻辑CPU,所述一轮SOCKET包括所述宿主机上所有SOCKET,且每个SOCKET包括一个物理核;
在第一数量大于一轮SOCKET包括的逻辑CPU的数量的情况下,则选取多轮SOCKET,并在下一轮SOCKET中选取多个逻辑CPU,直至达到第一数量个逻辑CPU;
将选取的逻辑CPU预留给宿主机上的第一类进程。
3.根据权利要求1所述的方法,其特征在于,所述将所述多个CPU中剩余的CPU中划分出第二数量个CPU给第二类进程使用,包括:
确定所述第二类进程需要的CPU数量,作为所述第二数量个CPU;
按照所述第二数量个CPU分布在同一物理核上的规则对所述第二类进程划分需要的CPU;
将划分给所述第二类进程的CPU移除,并按照第二预设过程为其他第二类进程划分需要的CPU;
所述第二预设过程为确定所述第二类进程需要的CPU数量,作为所述第二数量个CPU;
按照所述第二数量个CPU分布在同一物理核上的规则对所述第二类进程划分需要的CPU。
4.一种CPU资源的分配装置,其特征在于,包括:
确定模块,用于确定第一数量个CPU,所述第一数量个CPU用于预留给宿主机上的第一类进程使用,所述宿主机包括多个CPU;
第一划分模块,用于根据所述第一数量个CPU,以及第一预设划分规则,在所述宿主机的所述多个CPU中划分出所述第一数量个CPU;
第二划分模块,用于将所述多个CPU中剩余的CPU中划分出第二数量个CPU给第二类进程使用,其中,第二类进程为与数据处理组件相对应的进程,所述第一类进程不同于第二类进程;
所述第二类进程运行在容器上,所述数据处理组件设置在所述容器上,所述容器是所述宿主机上部署的虚拟网络功能的载体;
所述宿主机包括多个SOCKET,每个SOCKET包括多个物理核;每个物理核包括多个逻辑CPU;
所述第一划分模块根据所述第一数量个CPU,在所述宿主机的所述多个CPU中划分出所述第一数量个CPU时,具体用于使所述第一数量个CPU分布在同一物理核,以及使所述第一数量个CPU分布在同一SOCKET上,且所述第一数量个CPU分布在同一物理核的优先级高于使所述第一数量个CPU分布在同一SOCKET上;
所述第二划分模块将所述多个CPU中剩余的CPU中划分出第二数量个CPU给第二类进程使用时,具体用于确定所述第二类进程需要的CPU数量,作为所述第二数量个CPU;按照所述第二类进程需要的CPU分布在同一物理核,以及使所述第二数量个CPU分布在同一SOCKET上,且所述第二数量个CPU分布在同一物理核的优先级高于使所述第二数量个CPU分布在同一SOCKET上的规则对所述第二类进程划分需要的CPU;将划分给所述第二类进程的CPU移除,并按照第一预设过程为其他第二类进程划分需要的CPU;
所述第一预设过程为确定所述第二类进程需要的CPU数量,作为所述第二数量个CPU;
按照所述第二类进程需要的CPU分布在同一物理核,以及使所述第二数量个CPU分布在同一SOCKET上,且所述第二数量个CPU分布在同一物理核的优先级高于使所述第二数量个CPU分布在同一SOCKET上的规则对所述第二类进程划分需要的CPU。
5.根据权利要求4所述的装置,其特征在于,每个物理核包括多个逻辑核;
所述第一划分模块根据所述第一数量个CPU,在所述宿主机的所述多个CPU中划分出所述第一数量个CPU时,具体包括:
在第一数量小于或等于每个物理核包括的逻辑CPU的数量的情况下,在一个物理核中选取第一数量个逻辑CPU预留给宿主机上的第一类进程;
在第一数量大于每个物理核包括的逻辑CPU的数量,且小于一轮SOCKET包括的逻辑CPU的数量的情况下,在该轮SOCKET包括的逻辑CPU中,选取第一数量个逻辑CPU,所述一轮SOCKET包括所述宿主机上所有SOCKET,且每个SOCKET包括一个物理核;
在第一数量大于一轮SOCKET包括的逻辑CPU的数量的情况下,则选取多轮SOCKET,并在下一轮SOCKET中选取多个逻辑CPU,直至达到第一数量个逻辑CPU;
将选取的逻辑CPU预留给宿主机上的第一类进程。
6.一种CPU资源的分配设备,其特征在于,包括:
存储器;
处理器;以及
计算机程序;
其中,所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行以实现如权利要求1-3中任一所述的方法。
7.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-3任一项所述的方法。
CN201911368272.6A 2019-12-26 2019-12-26 Cpu资源的分配方法、装置、设备及计算机可读存储介质 Active CN111143035B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911368272.6A CN111143035B (zh) 2019-12-26 2019-12-26 Cpu资源的分配方法、装置、设备及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911368272.6A CN111143035B (zh) 2019-12-26 2019-12-26 Cpu资源的分配方法、装置、设备及计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN111143035A CN111143035A (zh) 2020-05-12
CN111143035B true CN111143035B (zh) 2024-02-27

Family

ID=70520490

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911368272.6A Active CN111143035B (zh) 2019-12-26 2019-12-26 Cpu资源的分配方法、装置、设备及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN111143035B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112084031B (zh) * 2020-09-14 2022-07-08 成都海光微电子技术有限公司 一种进程分配方法、并行处理器及电子设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB201014385D0 (en) * 2009-08-27 2010-10-13 Boeing Co safe and secure multicore system
CN104503831A (zh) * 2014-12-22 2015-04-08 北京奇虎科技有限公司 设备优化方法及装置
CN107045468A (zh) * 2017-02-09 2017-08-15 郑州云海信息技术有限公司 一种虚拟机集群系统资源预留方法及装置
CN107368178A (zh) * 2017-08-21 2017-11-21 湖南大学 基于dpdk数据包处理平台的功耗优化方法
CN109558206A (zh) * 2017-09-26 2019-04-02 中兴通讯股份有限公司 Cpu资源的隔离方法及其系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB201014385D0 (en) * 2009-08-27 2010-10-13 Boeing Co safe and secure multicore system
CN104503831A (zh) * 2014-12-22 2015-04-08 北京奇虎科技有限公司 设备优化方法及装置
CN107045468A (zh) * 2017-02-09 2017-08-15 郑州云海信息技术有限公司 一种虚拟机集群系统资源预留方法及装置
CN107368178A (zh) * 2017-08-21 2017-11-21 湖南大学 基于dpdk数据包处理平台的功耗优化方法
CN109558206A (zh) * 2017-09-26 2019-04-02 中兴通讯股份有限公司 Cpu资源的隔离方法及其系统

Also Published As

Publication number Publication date
CN111143035A (zh) 2020-05-12

Similar Documents

Publication Publication Date Title
EP3073374B1 (en) Thread creation method, service request processing method and related device
EP2761494B1 (en) System and method for supporting a dynamic resource broker in a transactional middleware machine environment
CN112214307A (zh) 在可用主机节点的约束内的容器化过程的执行
US8516493B2 (en) System and method for massively multi-core computing systems
US11740921B2 (en) Coordinated container scheduling for improved resource allocation in virtual computing environment
US20140359126A1 (en) Workload partitioning among heterogeneous processing nodes
US11755369B2 (en) Techniques for container scheduling in a virtual environment
CN103534687A (zh) 聚簇数据格网中的可扩展集中动态资源分配
RU2606557C9 (ru) Динамическое выделение сетевых адресов
CN112181585A (zh) 虚拟机的资源分配方法及装置
KR102204670B1 (ko) 프록시 기반 멀티스레딩 메시지 전달 통신을 위한 기술
WO2019135945A1 (en) Enhanced cache memory allocation based on virtual node resources
US20180239646A1 (en) Information processing device, information processing system, task processing method, and storage medium for storing program
CN111143035B (zh) Cpu资源的分配方法、装置、设备及计算机可读存储介质
WO2023020010A1 (zh) 一种运行进程的方法及相关设备
CN114996003A (zh) 一种云服务部署方法、装置、电子设备及存储介质
CN108804535B (zh) 具有网络分层的软件定义存储(sds)系统
US9158551B2 (en) Activating and deactivating Operating System (OS) function based on application type in manycore system
WO2016118164A1 (en) Scheduler-assigned processor resource groups
CN116157778A (zh) 共享物理主机上混合集中分布式调度的系统和方法
Michel et al. Network defragmentation in virtualized data centers
CN112416538B (zh) 一种分布式资源管理框架的多层次架构和管理方法
CN115202859A (zh) 一种内存扩展方法以及相关设备
KR20150095978A (ko) 클라우드 컴퓨팅에서의 컴퓨팅 노드의 로컬 디스크를 이용한 분산 스토리지 시스템
CN117311910B (zh) 一种高性能虚拟密码机运行方法

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
GR01 Patent grant
GR01 Patent grant