CN111399970B - Reserved resource management method, device and storage medium - Google Patents

Reserved resource management method, device and storage medium Download PDF

Info

Publication number
CN111399970B
CN111399970B CN201910001870.3A CN201910001870A CN111399970B CN 111399970 B CN111399970 B CN 111399970B CN 201910001870 A CN201910001870 A CN 201910001870A CN 111399970 B CN111399970 B CN 111399970B
Authority
CN
China
Prior art keywords
preset process
computing node
preset
reserved
resources
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
CN201910001870.3A
Other languages
Chinese (zh)
Other versions
CN111399970A (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.)
China Mobile Communications Group Co Ltd
China Mobile Communications Ltd Research Institute
Original Assignee
China Mobile Communications Group Co Ltd
China Mobile Communications Ltd Research Institute
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 China Mobile Communications Group Co Ltd, China Mobile Communications Ltd Research Institute filed Critical China Mobile Communications Group Co Ltd
Priority to CN201910001870.3A priority Critical patent/CN111399970B/en
Publication of CN111399970A publication Critical patent/CN111399970A/en
Application granted granted Critical
Publication of CN111399970B publication Critical patent/CN111399970B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/83Admission control; Resource allocation based on usage prediction
    • 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
    • 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
    • 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/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/72Admission control; Resource allocation using reservation actions during connection setup
    • 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/45562Creating, deleting, cloning virtual machine instances
    • 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/45583Memory management, e.g. access or allocation
    • 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

Abstract

The invention discloses a reserved resource management method, a reserved resource management device and a storage medium, which are used for reducing the waste of reserved resources and improving the resource utilization rate of a computing node. The reserved resource management method comprises the following steps: acquiring load index data of each preset process on a computing node in a current period; determining the quantity of reserved resources of each preset process according to the load index data of each preset process on the computing node in the current period and the corresponding preset reference data; for each preset process, according to the determined number of reserved resources of the preset process, sending a virtual instance creating instruction to the VIM to create a virtual instance corresponding to the preset process on the computing node, wherein the virtual instance creating instruction is used for registering the virtual instance in a database of a management system; and reserving a corresponding amount of resources for the preset process on the computing node according to the amount of the reserved resources of the preset process.

Description

Reserved resource management method, device and storage medium
Technical Field
The present invention relates to the field of communications network technologies, and in particular, to a reserved resource management method, apparatus, and storage medium.
Background
NFV (Network Function Virtualization) replaces dedicated Network element devices used in conventional communication networks with a general x86 server and corresponding storage and Network switching devices. The main way for NFV to achieve its technical goal is to convert physical telecommunication network nodes into virtual machines and their corresponding logical networks in a virtualized environment. These network elements, which run in virtual machines, are called virtual network functions, VNFs for short.
The NFV framework includes portions of NFV infrastructure (NFVI), virtualized Infrastructure Management (VIM), and virtual network function scheduling (NFVO), VNF management (VNFM), and so on. Wherein: NFVI includes generic hardware to carry VNF and virtualization software (Hypervisor) running on generic x86 servers; VIM is used to manage NFVI; at present, an Openstack-based open-source cloud platform management framework basically becomes an actual implementation standard of VIM, and a majority of suppliers adopt a KVM virtualization technology due to the fact that a Hypervisor layer is in butt joint with Openstack; the VNFM is used for life cycle management of the VNF, and comprises operations of creating, updating, inquiring, changing, terminating and the like; NFVO is responsible for managing the global scheduling of communication applications VNF and resources on NFVI.
The telecommunication cloud refers to a cloud computing system specially used for bearing virtualized communication service application. The architecture of the NFV-based network element is constructed basically according to the NFV reference architecture. Unlike other general IT cloud systems such as public cloud and private cloud, the telecommunication cloud has a decentralized service (VNF) media plane and a centralized service scheduling and resource management plane (MANO).
Compared with the IT application on the cloud, the virtual communication service network element (VNF) requires resources provided by the cloud platform, and can more stably ensure the performance in the aspects of network, calculation, storage and the like so as to meet the high reliability requirement of 'telecommunication-level' service load processing. For this reason, the telecommunication cloud computing system embodies several features different from the IT cloud when performing allocation management on resources managed by the telecommunication cloud computing system. On one hand, part of network element VNFs require the cloud platform to provide a specific acceleration technology to meet its high processing performance requirements; the system can also bind and even reserve a plurality of resources (namely, service-related resource reservation) for some important service instances (virtual machines) and does not allow any other process to use; on the other hand, in order to ensure the resource utilization rate of the telecommunication cloud itself, when the system plans resources, sufficient CPU and even memory resources are isolated/reserved for the key processes (non-service-related) involved in the NFVI layer itself running on all physical servers (also referred to as "compute nodes") carrying virtual machines. The key processes mainly comprise Hypervisor self-related processes, virtual switch processes, storage client processes of computing nodes and back-end shared storage communication and the like.
For non-service related resource reservation, the most pre-estimation and static configuration mode is generally adopted at present. The method defaults that each computing node has the situation that processes such as Hypervisor, a virtual switch, a storage client and the like simultaneously reach a high load state, and reserves corresponding CPU cores according to the computing capacity requirements of the processes at the moment, isolates the cores and assigns the cores to the processes for use, but does not allow the cores to be occupied by a virtual machine. The CPU core reservation configuration is completed on each compute node server through static setting before online, and if the CPU core isolation/reservation information needs to be adjusted, the scheduling process of the virtual machine and all NFVI self-related processes that use the reserved resources need to be restarted, which affects stable operation of the cloud.
Because most network elements have low requirements on storage performance, and most virtual machines with high network performance requirements use an SR-IOV (single root I/O virtualization) network direct connection technology, network traffic is not processed through a virtual switch. Therefore, the probability that the three layers/assemblies have high workload at the same time is very low, the total amount of CPU resources estimated according to the peak value is reserved, the total amount of CPU cores which can be applied by the VNF virtual machine is occupied, and the waste of computing resources is caused. Moreover, the telecommunication cloud management system isolates the CPU cores with the assigned numbers according to the pre-planning on each computing node, does not allow the virtual machine to apply, and assigns the cores with different numbers to a certain NFVI level operation key process for use. The configuration is embodied in a configuration file of a corresponding process, and is statically written in the installation and deployment process of the computing node, and is generally not changed. If the configuration files need to be adjusted, the configuration files need to be changed, and the corresponding process is restarted to be effective. The method affects the flexibility of the CPU resource reservation setting, and the configuration change affects the stable operation of the computing node.
Disclosure of Invention
The embodiment of the invention provides a reserved resource management method, a reserved resource management device and a storage medium, which are used for reducing the waste of reserved resources and improving the resource utilization rate of a computing node.
In a first aspect, a reserved resource management method is provided, including:
acquiring load index data of each preset process on a computing node in a current period;
determining the quantity of reserved resources of each preset process according to the load index data of each preset process on the computing node in the current period and the corresponding preset reference data;
for each preset process, according to the determined number of reserved resources of the preset process, sending a virtual instance creating instruction to a Virtual Infrastructure Management (VIM) so as to create a virtual instance corresponding to the preset process on the computing node, wherein the virtual instance creating instruction is used for registering the virtual instance in a database of a management system; and reserving a corresponding amount of resources for the preset process on the computing node according to the amount of the reserved resources of the preset process.
In one embodiment, if it is determined in any subsequent period that the number of reserved resources of the preset process changes, the method further includes:
sending a reset operation instruction to the VIM aiming at the virtual instance corresponding to the preset process, wherein the reset operation instruction carries the number of the reserved resources after the preset process is adjusted, and the reset operation instruction is used for adjusting the number of the reserved resources of the virtual instance corresponding to the preset process registered in a database of the management system; and adjusting the number of resources reserved for the preset process on the computing node.
In one embodiment, determining the amount of reserved resources of each preset process according to load index data of each preset process on the computing node in the current period and preset reference data corresponding to the load index data includes:
and determining the quantity of reserved resources of each preset process according to the maximum load value of each preset process on the computing node in the current period and the corresponding preset reference data.
In one embodiment, the preset process comprises at least one of: a virtualization software process on the compute node, a virtual switch process running on the compute node, and a storage client process on the compute node.
In one embodiment, the load indicator data comprises at least one of: the CPU utilization rate of a virtualization software process on the computing node, the network flow of a virtual switch running on the computing node and the read-write operation times of a storage client process on the computing node per second.
In a second aspect, a reserved resource management device is provided, including:
the evaluation module is used for acquiring load index data of each preset process on the computing node in the current period; determining the quantity of reserved resources of each preset process according to the load index data of each preset process on the computing node in the current period and the corresponding preset reference data;
the scheduling module is used for sending a virtual instance creating instruction to a Virtual Infrastructure Management (VIM) according to the number of reserved resources of the preset process determined by the evaluation unit aiming at each preset process so as to create a virtual instance corresponding to the preset process on the computing node, wherein the virtual instance creating instruction is used for registering the virtual instance in a database of a management system; and reserving a corresponding amount of resources for the preset process on the computing node according to the amount of the reserved resources of the preset process.
In an embodiment, the scheduling module is further configured to send a reset operation instruction to the VIM for the virtual instance corresponding to the preset process if it is determined that the number of reserved resources of the preset process changes in any subsequent period, where the reset operation instruction carries the number of reserved resources adjusted by the preset process, and the reset operation instruction is used to adjust the number of reserved resources of the virtual instance corresponding to the preset process registered in the database of the management system; and adjusting the amount of resources reserved for the preset process on the computing node.
In an embodiment, the evaluation module is configured to determine the amount of reserved resources of each preset process according to a maximum load value of each preset process in the current period on the computing node and preset reference data corresponding to the maximum load value.
In one embodiment, the preset process comprises at least one of: a virtualization software process on the compute node, a virtual switch process running on the compute node, and a storage client process on the compute node.
In one embodiment, the load indicator data comprises at least one of: the utilization rate of a Central Processing Unit (CPU) of a virtualization software process on the computing node, the network flow of a virtual switch running on the computing node and the number of times of read-write operations per second of a storage client process on the computing node.
In a third aspect, a computing device is provided, comprising at least one processor and at least one memory, wherein the memory stores a computer program that, when executed by the processor, causes the processor to perform any of the steps of any of the reserved resource management methods described above.
In a fourth aspect, there is provided a computer readable medium storing a computer program executable by a computing device, the program, when run on the computing device, causing the computing device to perform any of the steps of any of the reserved resource management methods described above.
In the reserved resource management method, the reserved resource management device and the storage medium provided by the embodiment of the invention, the number of reserved resources of each process is determined through load index data of each preset process in the current period, and a virtual instance creating instruction is sent to the VIM to create a virtual instance for each process, wherein the virtual instance creating instruction is used for registering the virtual instance in a database of a management system; and reserving a corresponding amount of resources for the preset process on the computing node according to the reserved resource amount of the preset process, wherein the amount of the resources to be reserved is estimated according to the load index data in the current period in the process, so that the waste of computing resources is reduced, and the reserved resources are managed in a virtual instance creating mode.
Additional features and advantages of the invention will be set forth in the description which follows, and in part will be obvious from the description, or may be learned by practice of the invention. The objectives and other advantages of the invention will be realized and attained by the structure particularly pointed out in the written description and claims hereof as well as the appended drawings.
Drawings
The accompanying drawings, which are included to provide a further understanding of the invention and are incorporated in and constitute a part of this specification, illustrate embodiments of the invention and together with the description serve to explain the invention and not to limit the invention. In the drawings:
FIG. 1 is a schematic diagram of a reserved resource management system according to an embodiment of the present invention;
fig. 2 is a schematic diagram of an implementation flow of a reserved resource management method according to an embodiment of the present invention;
FIG. 3 is a schematic structural diagram of a reserved resource management device according to an embodiment of the present invention;
FIG. 4 is a schematic structural diagram of a computing device according to an embodiment of the present invention.
Detailed Description
In order to reduce the waste of computing resources on a computing node and improve the utilization rate of the computing node resources, the embodiment of the invention provides a reserved resource management method, a reserved resource management device and a storage medium.
The preferred embodiments of the present invention will be described below with reference to the accompanying drawings of the specification, it being understood that the preferred embodiments described herein are merely for illustrating and explaining the present invention, and are not intended to limit the present invention, and that the embodiments and features of the embodiments in the present invention may be combined with each other without conflict.
The reserved resource management method provided by the embodiment of the invention utilizes the characteristic that the platform creates the virtual machine and can specify the bound resource, and adopts a virtual instance mode to dynamically configure the reserved resource of the NFVI key process. The instance of the virtual creation binding resource is used for replacing the configuration file to designate the NFVI key process binding resource, and the operations of creating, reconstructing, deleting and the like on the virtual instance are used for realizing the dynamic increase and decrease of the number of the NFVI key process binding resource, thereby avoiding the change of the configuration file and the restart of the service. Furthermore, the method dynamically estimates the quantity of resources to be reserved for the corresponding key process according to experience of test data by monitoring load index data (such as virtual switch flow, read-write operation times per second and the like) on the computing nodes closely related to the load of the NFVI key process, so as to realize the differential configuration of the quantity of the reserved resources of the NFVI key process on the computing nodes in different load states, and achieve the purposes of optimizing the resource allocation condition of the whole NFV cluster environment and improving the utilization efficiency of the whole resources.
It should be noted that the reserved resource in the embodiment of the present invention may be a computing resource such as a CPU or a memory, and for convenience of description, the reserved resource is taken as a CPU for example.
As shown in fig. 1, which is a schematic diagram of an architecture of a reserved resource management system in an embodiment of the present invention, a reserved resource management component is introduced based on an existing component of a VIM management node, where the component may be a group of processes integrated in the VIM and may be deployed at the same location as a component (cloud management system) of an original cloud platform management layer, for example, in a control node cluster; the method can also be deployed outside the management node of the original telecommunication cloud in the form of a container, a physical host and the like. This component can connect to the cloud platform management network of the NFVI layer and can communicate with all management processes and compute nodes within the telecommunications cloud. In the second embodiment, the reserved resource management component is separately deployed in other carriers such as physical hosts or containers, and the carriers such as the physical hosts that separately carry the component should also be considered as a part of the cloud management system, and it is necessary to ensure that the component can communicate with all management components and computing nodes through the cloud management network.
The reserved resource management component mainly comprises an evaluation module and a scheduling module, wherein:
the evaluation module can obtain load index data directly related to the load of the NFVI critical process on each computing node through communication with an original monitoring system of the VIM or direct communication with each computing node. Specifically, the evaluation module may acquire load index data of each NFVI critical process through communication with an original monitoring module in the cloud management system, or directly acquire load index data of each computing node through communication with the computing node according to a set evaluation period T multiple times when required load index data is not included in the monitoring information of the cloud management system.
The scheduling module is used for sending an instruction to the virtualization management component according to the setting change, generating a virtual instance aiming at the NFVI key process registration, and subsequently achieving the purpose of changing the number of the reserved resources of the NFVI key process by adjusting the resource quantity specification of various virtual instances on each computing node. It should be noted that, in specific implementation, the change information of the reserved resource amount is not only from the evaluation module, but also from the planning parameter before the NFV environment comes online, so as to allow the user to directly configure. In particular implementations, the NFVI critical processes may include at least one of: a virtualization software process on a compute node, a virtual switch process running on a compute node, and a storage client process on a compute node.
In fig. 1, the monitoring component is an original operation and maintenance monitoring system in the telecommunications cloud, and is responsible for collecting various operation and maintenance monitoring data, which may generally include load index data of the NFVI key process. The component communicates with each computing node over a cloud management network. The virtualization management component is an original virtual layer management system in a telecom cloud, is similar to a nova component in an OpenStack, is responsible for the whole hypervisor (virtualization software process) and the full life cycle management of all virtual machines, and responds to an operation request for cloud platform resources, a change registration request for resource use conditions, and the like. The cloud management network is an interactive network of telecommunication cloud management information, is connected with physical machines in all cloud environments, and comprises all information related to cloud management, including operation instructions, monitoring data and the like. The computing node bears a physical server of the VNF network element virtual machine. VM generally refers to a virtual machine instance on a compute node, as distinguished from the virtual instances labeled with dashed boxes.
Based on this, an embodiment of the present invention provides a reserved resource management method, as shown in fig. 2, which may include the following steps:
and S21, acquiring load index data of each preset process on the computing node in the current period.
In this step, load index data directly related to the load of the NFVI critical process on each compute node is mainly obtained, and may include at least one of the following: the method comprises the steps of calculating the CPU utilization rate of a virtualization software process (hypervisor-related process) on a node, calculating the network flow of a virtual switch running on the node and storing a client process IOPS on the node.
Calculating the CPU utilization rate of the hypervisor-related process of the node, and judging the number of CPU cores which need to be reserved/bound for the hypervisor-related process; calculating the current network flow of the node virtual switch, and judging how many CPU cores need to be reserved/bound for the virtual switch process at the moment; and the current IOPS of the computing node is used for judging how many CPU cores are required to be reserved/bound for the storage client process at the moment.
S22, determining the number of reserved resources of each preset process according to the load index data of each preset process on the computing node in the current period and the corresponding preset reference data.
And analyzing the index data in a specified time period to obtain the current reasonable number of reserved/bound CPU cores for various NFVI key processes on each computing node.
During specific implementation, the reserved resource quantity of each preset process can be determined according to the maximum load value of each preset process on the computing node in the current period and the corresponding preset reference data.
The preset reference data may be experience data determined according to a test result, and during specific implementation, the preset reference data may be corrected according to a continuous test result, and may be used as a calculation reference value of the number of CPU cores required by the current virtual switch and the current storage client process, and is not a fixed value.
In one embodiment, the following preset reference data determined according to the test result is taken as an example: when the virtual switch processes 2Gb packet traffic, 1 CPU core needs to be occupied, and a bottleneck occurs when more than 4 CPU cores are allocated; assuming that the load index data obtained in step S21 determines that the network traffic peak of the virtual switch in the current period is 4Gb, it may be determined that 2 CPU cores need to be reserved for the virtual switch process on the computing node, and in specific implementation, the maximum number of the CPU cores reserved for the virtual switch cannot exceed 4.
In one embodiment, the following preset reference data determined according to the test result is taken as an example: every 5000 back-end IOPS on a compute node, a storage client process needs 1 CPU core for processing. In this way, on the computing node, assuming that the load index data obtained in step S21 determines that the IOPS peak value in the current period is 10000IOPS, it may be determined that 1 CPU core needs to be reserved for the storage client process on the computing node.
In a specific implementation, step S21 and step S22 may be implemented by an evaluation module in the reserved resource management component. And after determining the reasonable number of the CPU cores reserved/bound for various NFVI key processes on each computing node, the evaluation module sends the result to the scheduling module.
And S23, aiming at each preset process, sending a virtual instance creating instruction to the VIM according to the determined number of the reserved resources of the preset process, so as to create the virtual instance corresponding to the preset process on the computing node.
Wherein the virtual instance creation instruction is to register the virtual instance in a database of a management system; and reserving a corresponding amount of resources for the preset process on the computing node according to the amount of the reserved resources of the preset process.
In a specific implementation, step S23 may be implemented by a scheduling module in the reserved resource management component.
Specifically, the scheduling module sends an instruction to create a virtual instance (i.e., a virtual machine) on a specified compute node to the VIM according to the virtual instance creation instruction sent by the evaluation module. On one hand, the instruction requires that the corresponding computing node divides the CPU cores of a corresponding number according to the specification of the virtual instance (i.e., the number of the reserved resources of each preset process on the computing node determined in step S22), and assigns the CPU cores to the corresponding NFVI key processes for use, so as to ensure that the CPU cores are not occupied by other virtual machines, but the virtual machine is not really created; on the other hand, the instruction registers the virtual instance in a database of the cloud platform management system, and is regarded as common virtual machine management, and the name, identification (ID), and CPU core number of the registered binding of the virtual instance can all ensure that the virtual instance is not reused by other virtual machines.
It should be noted that, in the environment initialization stage, since the load index data is not generated yet, the scheduling module may execute the virtual instance creation instruction submitted by the external user, where the virtual instance creation instruction includes the amount of the reserved resources set by the user, and then dynamically adjust the load index data in each period according to the obtained load index data.
As shown in fig. 1 by a dashed box, the virtual instances registered by the scheduling module for each computing node in the database of the cloud management system include at least one of the following types:
VM-H-n: on the nth computing node, registering a virtual instance of CPU resource reserved by a hypervisor related process;
VM-VS-n: on the nth computing node, the nth computing node is used for registering a virtual instance of a process related to the virtual switch for reserving CPU resources;
VM-SC-n: and the nth computing node is used for registering and storing the virtual instance of the reserved CPU resource of the process related to the client.
After the registration is completed, the scheduling module adjusts the number of the CPU cores bound to the 3 virtual instances in the appointed computing node, so that the effect of changing the number of the reserved CPU cores of the corresponding process is realized.
In specific implementation, the evaluation module periodically acquires load index data of each preset process on each computing node according to a set period, determines the number of reserved resources of each preset process according to the acquired data, and notifies the scheduling module to send a reset operation instruction to the VIM aiming at a virtual instance corresponding to the preset process if the number of reserved resources of any preset process is determined to be changed in any subsequent period, wherein the reset operation instruction carries the number of reserved resources adjusted by the preset process, and the reset operation instruction is used for adjusting the number of reserved resources of the virtual instance corresponding to the preset process registered in a database of the management system; and adjusting the number of resources reserved for the preset process on the computing node.
In specific implementation, when the scheduling module determines that the number of the CPU cores reserved in a certain NFVI critical process on a certain compute node needs to be adjusted according to an instruction sent by the evaluation module, a resize (reset) operation instruction may be sent for a corresponding virtual instance, and the number of the CPU cores exclusive to the virtual instance may be adjusted. The operation is performed on a computing node and is embodied as the change of the number of CPU cores bound by a certain NFVI key process; in a management system, the CPU occupancy specification marked as an instance is adjusted online. In a word, on a computing node server, the unified dynamic scheduling management of the CPU resource level is achieved for the NFVI key process and the corresponding process of the virtual machine which actually exists.
According to the reserved resource management method provided by the embodiment of the invention, virtual instantiation dynamic management of resources occupied/reserved by NFVI virtual layer key processes is realized, so that a telecommunication cloud management system does not need to reserve resources for each type of NFVI key processes according to the maximum resource demand for each computing node, the isolation/reservation quantity of CPU resources is compressed, the total quantity of CPU resources applicable by a service virtual machine is increased, and the arrangement utilization rate and the distribution rate of the CPU resources of the telecommunication cloud are improved. The problem of service restart caused by adjusting the static configuration parameters of the process is avoided, and the influence of the configuration change on the utilization rate of system resources is reduced.
Based on the same inventive concept, the embodiment of the present invention further provides a reserved resource management apparatus, and because the principle of solving the problem of the apparatus is similar to that of the reserved resource management method, the implementation of the apparatus and the device can refer to the implementation of the method, and the repeated parts are not described again.
As shown in fig. 3, which is a schematic structural diagram of a reserved resource management apparatus according to an embodiment of the present invention, the reserved resource management apparatus includes:
the evaluation module 31 is configured to obtain load index data of each preset process on the computing node in a current period; determining the number of reserved resources of each preset process according to the load index data of each preset process on the computing node in the current period and the corresponding preset reference data;
a scheduling module 32, configured to send, for each preset process, a virtual instance creation instruction to a virtualized infrastructure management VIM according to the number of reserved resources of the preset process determined by the evaluation unit, so as to create a virtual instance corresponding to the preset process on the computing node, where the virtual instance creation instruction is used to register the virtual instance in a database of a management system; and reserving a corresponding amount of resources for the preset process on the computing node according to the amount of the reserved resources of the preset process.
In an embodiment, the scheduling module is further configured to send a reset operation instruction to the VIM for the virtual instance corresponding to the preset process if it is determined that the number of reserved resources of the preset process changes in any subsequent period, where the reset operation instruction carries the number of reserved resources adjusted by the preset process, and the reset operation instruction is used to adjust the number of reserved resources of the virtual instance corresponding to the preset process registered in the database of the management system; and adjusting the number of resources reserved for the preset process on the computing node.
In an embodiment, the evaluation module is configured to determine the amount of reserved resources of each preset process according to a maximum load value of each preset process in the current period on the computing node and preset reference data corresponding to the maximum load value.
In one embodiment, the preset process comprises at least one of: a virtualization software process on the compute node, a virtual switch process running on the compute node, and a storage client process on the compute node.
In one embodiment, the load indicator data comprises at least one of: the CPU utilization rate of a virtualization software process on the computing node, the network flow of a virtual switch running on the computing node and the read-write operation times of a storage client process on the computing node per second.
For convenience of description, the above parts are separately described as modules (or units) according to functional division. Of course, the functionality of the various modules (or units) may be implemented in the same or in multiple pieces of software or hardware in the practice of the invention.
Having described the reserved resource management method and apparatus according to an exemplary embodiment of the present invention, a computing apparatus according to another exemplary embodiment of the present invention is described next.
As will be appreciated by one skilled in the art, aspects of the present invention may be embodied as a system, method or program product. Thus, various aspects of the invention may be embodied in the form of: an entirely hardware embodiment, an entirely software embodiment (including firmware, microcode, etc.) or an embodiment combining hardware and software aspects that may all generally be referred to herein as a "circuit," module "or" system.
In some possible embodiments, a computing device according to the present invention may include at least one processor, and at least one memory. Wherein the memory stores program code which, when executed by the processor, causes the processor to perform the steps of the reserved resource management method according to various exemplary embodiments of the present invention described above in this specification. For example, the processor may execute step S21 shown in fig. 2, to obtain load index data of each preset process on the computing node in the current period, and step S22, to determine the amount of reserved resources of each preset process according to the load index data of each preset process on the computing node in the current period and the corresponding preset reference data thereof; and step S23, aiming at each preset process, according to the determined number of the reserved resources of the preset process, sending a virtual instance creating instruction to the VIM so as to create the virtual instance corresponding to the preset process on the computing node.
The computing device 40 according to this embodiment of the invention is described below with reference to fig. 4. The computing device 40 shown in fig. 4 is only an example and should not bring any limitations to the functionality or scope of use of embodiments of the present invention.
As shown in fig. 4, the computing apparatus 40 is embodied in the form of a general purpose computing device. Components of computing device 40 may include, but are not limited to: the at least one processor 41, the at least one memory 42, and a bus 43 connecting the various system components including the memory 42 and the processor 41.
Bus 43 represents one or more of any of several types of bus structures, including a memory bus or memory controller, a peripheral bus, a processor, or a local bus using any of a variety of bus architectures.
The memory 42 may include readable media in the form of volatile memory, such as Random Access Memory (RAM) 421 and/or cache memory 422, and may further include Read Only Memory (ROM) 423.
Memory 42 may also include a program/utility 425 having a set (at least one) of program modules 424, such program modules 424 including, but not limited to: an operating system, one or more application programs, other program modules, and program data, each of which, or some combination thereof, may comprise an implementation of a network environment.
Computing device 40 may also communicate with one or more external devices 44 (e.g., keyboard, pointing device, etc.), with one or more devices that enable a user to interact with computing device 40, and/or with any devices (e.g., router, modem, etc.) that enable computing device 40 to communicate with one or more other computing devices. Such communication may be through an input/output (I/O) interface 45. Also, computing device 40 may communicate with one or more networks (e.g., a Local Area Network (LAN), a Wide Area Network (WAN), and/or a public network, such as the internet) through network adapter 46. As shown, the network adapter 46 communicates with other modules for the computing device 40 over the bus 43. It should be understood that although not shown in the figures, other hardware and/or software modules may be used in conjunction with computing device 40, including but not limited to: microcode, device drivers, redundant processors, external disk drive arrays, RAID systems, tape drives, and data backup storage systems, among others.
In some possible embodiments, the aspects of the reserved resource management method provided by the present invention may also be implemented as a program product, which includes program code for causing a computer device to execute the steps in the reserved resource management method according to various exemplary embodiments of the present invention described above in this specification when the program product runs on the computer device, for example, the computer device may execute step S21 shown in fig. 2, obtain load index data of each preset process on a computing node in a current period, and step S22, determine the amount of reserved resources of each preset process according to the load index data of each preset process on the computing node in the current period and corresponding preset reference data; and step S23, aiming at each preset process, according to the determined number of the reserved resources of the preset process, sending a virtual instance creating instruction to the VIM so as to create the virtual instance corresponding to the preset process on the computing node.
The program product may employ any combination of one or more readable media. The readable medium may be a readable signal medium or a readable storage medium. A readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the foregoing. More specific examples (a non-exhaustive list) of the readable storage medium include: an electrical connection having one or more wires, a portable disk, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
The program product for reserved resource management of embodiments of the present invention may employ a portable compact disk read only memory (CD-ROM) and include program code, and may be run on a computing device. However, the program product of the present invention is not limited in this regard and, in the present document, a readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
A readable signal medium may include a propagated data signal with readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated data signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A readable signal medium may be any readable medium that is not a readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.
Program code embodied on a readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
Program code for carrying out operations for aspects of the present invention may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, C + + or the like and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code may execute entirely on the user's computing device, partly on the user's device, as a stand-alone software package, partly on the user's computing device and partly on a remote computing device, or entirely on the remote computing device or server. In the case of a remote computing device, the remote computing device may be connected to the user computing device over any kind of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or may be connected to an external computing device (e.g., over the internet using an internet service provider).
It should be noted that although several units or sub-units of the apparatus are mentioned in the above detailed description, such division is merely exemplary and not mandatory. Indeed, the features and functions of two or more of the units described above may be embodied in one unit, according to embodiments of the invention. Conversely, the features and functions of one unit described above may be further divided into embodiments by a plurality of units.
Moreover, while the operations of the method of the invention are depicted in the drawings in a particular order, this does not require or imply that the operations must be performed in this particular order, or that all of the illustrated operations must be performed, to achieve desirable results. Additionally or alternatively, certain steps may be omitted, multiple steps combined into one step execution, and/or one step broken down into multiple step executions.
As will be appreciated by one skilled in the art, embodiments of the present invention may be provided as a method, system, or computer program product. Accordingly, the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present invention may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
The present invention is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each flow and/or block of the flow diagrams and/or block diagrams, and combinations of flows and/or blocks in the flow diagrams and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
While preferred embodiments of the present invention have been described, additional variations and modifications in those embodiments may occur to those skilled in the art once they learn of the basic inventive concepts. Therefore, it is intended that the appended claims be interpreted as including preferred embodiments and all such alterations and modifications as fall within the scope of the invention.
It will be apparent to those skilled in the art that various changes and modifications may be made in the present invention without departing from the spirit and scope of the invention. Thus, if such modifications and variations of the present invention fall within the scope of the claims of the present invention and their equivalents, the present invention is also intended to include such modifications and variations.

Claims (12)

1. A method for reserved resource management, comprising:
acquiring load index data of each preset process on a computing node in a current period;
determining the quantity of reserved resources of each preset process according to the load index data of each preset process on the computing node in the current period and the corresponding preset reference data;
for each preset process, according to the determined number of reserved resources of the preset process, sending a virtual instance creating instruction to a Virtual Infrastructure Management (VIM) so as to create a virtual instance corresponding to the preset process on the computing node, wherein the virtual instance creating instruction is used for registering the virtual instance in a database of a management system; and reserving a corresponding amount of resources for the preset process on the computing node according to the amount of the reserved resources of the preset process.
2. The method as claimed in claim 1, wherein if it is determined in any subsequent period that the amount of reserved resources of the predetermined process changes, the method further comprises:
sending a reset operation instruction to the VIM aiming at the virtual instance corresponding to the preset process, wherein the reset operation instruction carries the number of the reserved resources after the preset process is adjusted, and the reset operation instruction is used for adjusting the number of the reserved resources of the virtual instance corresponding to the preset process registered in a database of the management system; and adjusting the number of resources reserved for the preset process on the computing node.
3. The method according to claim 1, wherein determining the number of reserved resources of each preset process according to the load index data of each preset process on the computing node in the current period and the corresponding preset reference data thereof specifically comprises:
and determining the quantity of reserved resources of each preset process according to the maximum load value of each preset process on the computing node in the current period and the corresponding preset reference data.
4. A method according to claim 1, 2 or 3, wherein the pre-set procedure comprises at least one of: a virtualization software process on the compute node, a virtual switch process running on the compute node, and a storage client process on the compute node.
5. The method of claim 4, wherein the load metric data comprises at least one of: the CPU utilization rate of a virtualization software process on the computing node, the network flow of a virtual switch running on the computing node and the read-write operation times of a storage client process on the computing node per second.
6. A reserved resource management apparatus, comprising:
the evaluation module is used for acquiring load index data of each preset process on the computing node in the current period; determining the number of reserved resources of each preset process according to the load index data of each preset process on the computing node in the current period and the corresponding preset reference data;
the scheduling module is used for sending a virtual instance creating instruction to a Virtual Infrastructure Management (VIM) according to the number of the reserved resources of the preset process determined by the evaluation unit for each preset process so as to create a virtual instance corresponding to the preset process on the computing node, wherein the virtual instance creating instruction is used for registering the virtual instance in a database of a management system; and reserving a corresponding amount of resources for the preset process on the computing node according to the amount of the reserved resources of the preset process.
7. The apparatus of claim 6,
the scheduling module is further configured to send a reset operation instruction to the VIM for the virtual instance corresponding to the preset process if it is determined that the number of the reserved resources of the preset process changes in any subsequent period, where the reset operation instruction carries the number of the reserved resources adjusted by the preset process, and the reset operation instruction is used to adjust the number of the reserved resources of the virtual instance corresponding to the preset process registered in the database of the management system; and adjusting the number of resources reserved for the preset process on the computing node.
8. The apparatus of claim 6,
and the evaluation module is used for determining the amount of reserved resources of each preset process according to the maximum load value of each preset process on the computing node in the current period and the corresponding preset reference data.
9. The apparatus of claim 6, 7 or 8, wherein the pre-set procedure comprises at least one of: a virtualization software process on the compute node, a virtual switch process running on the compute node, and a storage client process on the compute node.
10. The apparatus of claim 9, wherein the load metric data comprises at least one of: the CPU utilization rate of a virtualization software process on the computing node, the network flow of a virtual switch running on the computing node and the read-write operation times of a storage client process on the computing node per second.
11. A computing device comprising at least one processor and at least one memory, wherein the memory stores a computer program that, when executed by the processor, causes the processor to perform the steps of the method of any one of claims 1 to 5.
12. A computer-readable medium, having stored thereon a computer program executable by a computing device, the program, when run on the computing device, causing the computing device to perform the steps of the method of any one of claims 1 to 5.
CN201910001870.3A 2019-01-02 2019-01-02 Reserved resource management method, device and storage medium Active CN111399970B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910001870.3A CN111399970B (en) 2019-01-02 2019-01-02 Reserved resource management method, device and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910001870.3A CN111399970B (en) 2019-01-02 2019-01-02 Reserved resource management method, device and storage medium

Publications (2)

Publication Number Publication Date
CN111399970A CN111399970A (en) 2020-07-10
CN111399970B true CN111399970B (en) 2023-04-07

Family

ID=71433990

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910001870.3A Active CN111399970B (en) 2019-01-02 2019-01-02 Reserved resource management method, device and storage medium

Country Status (1)

Country Link
CN (1) CN111399970B (en)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111797390B (en) * 2020-07-14 2024-01-26 北京元心科技有限公司 Program running method, program running device, electronic equipment and computer readable storage medium
CN112600751B (en) * 2020-12-23 2022-10-21 新华三技术有限公司 Path calculation method, device, equipment and machine-readable storage medium
CN114866495A (en) * 2021-02-03 2022-08-05 中国移动通信有限公司研究院 Resource reservation method, device, network node, computing node and storage medium
CN112950284A (en) * 2021-03-29 2021-06-11 湖南快乐阳光互动娱乐传媒有限公司 Reserved instance estimation method, reserved instance estimation system, storage medium and electronic equipment
CN114840112B (en) * 2022-05-16 2023-03-24 北京轻网科技股份有限公司 POP resource management method, device, equipment and computer readable storage medium
CN115114034A (en) * 2022-08-29 2022-09-27 岚图汽车科技有限公司 Distributed computing method and device
CN116431341A (en) * 2023-03-30 2023-07-14 浙江大学 Resource specification adjustment method, device and storage medium

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105955824A (en) * 2016-04-21 2016-09-21 华为技术有限公司 Method and device for configuring virtual resource
CN107003887A (en) * 2014-12-22 2017-08-01 英特尔公司 Overloaded cpu setting and cloud computing workload schedules mechanism
WO2017170470A1 (en) * 2016-03-28 2017-10-05 日本電気株式会社 Network function virtualization management orchestration device, method and program

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107003887A (en) * 2014-12-22 2017-08-01 英特尔公司 Overloaded cpu setting and cloud computing workload schedules mechanism
WO2017170470A1 (en) * 2016-03-28 2017-10-05 日本電気株式会社 Network function virtualization management orchestration device, method and program
CN105955824A (en) * 2016-04-21 2016-09-21 华为技术有限公司 Method and device for configuring virtual resource
WO2017181877A1 (en) * 2016-04-21 2017-10-26 华为技术有限公司 Method and device for allocating virtual resource

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
朱锦雷 ; 刘俊鹏 ; .面向云计算的虚拟进程调度算法.计算机工程.2012,(14),全文. *

Also Published As

Publication number Publication date
CN111399970A (en) 2020-07-10

Similar Documents

Publication Publication Date Title
CN111399970B (en) Reserved resource management method, device and storage medium
US11003492B2 (en) Virtual machine consolidation
US9558005B2 (en) Reliable and deterministic live migration of virtual machines
US10015241B2 (en) Automated profiling of resource usage
CN110249311B (en) Resource management for virtual machines in cloud computing systems
US11508021B2 (en) Processes and systems that determine sustainability of a virtual infrastructure of a distributed computing system
US8423646B2 (en) Network-aware virtual machine migration in datacenters
US9002997B2 (en) Instance host configuration
US10977086B2 (en) Workload placement and balancing within a containerized infrastructure
US10540211B2 (en) Elasticity for highly available applications
US20180253246A1 (en) Method and system for memory allocation in a disaggregated memory architecture
EP2948865B1 (en) Instance host configuration
CN110661647A (en) Life cycle management method and device
US10705872B2 (en) Predictive virtual server scheduling and optimization of dynamic consumable resources to achieve priority-based workload performance objectives
US20140207919A1 (en) Instance configuration on remote platforms
US20180203740A1 (en) Software based collection of performance metrics for allocation adjustment of virtual resources
US10230664B1 (en) Strategic resource allocation in a web-based computing system
US11422842B2 (en) Virtual machine operation management in computing devices
US11169836B2 (en) Hardware placement and maintenance scheduling in high availability systems
US11784944B2 (en) Dynamic bandwidth allocation in cloud network switches based on traffic demand prediction
US20230229510A1 (en) Resource scheduling with upgrade awareness in virtualized environment
US20240020171A1 (en) Resource and workload scheduling
CN114647488A (en) Task training method, device, equipment and storage medium
CN117687740A (en) Server resource management system and method

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