CN110795202A - Resource allocation method and device of virtualized cluster resource management system - Google Patents

Resource allocation method and device of virtualized cluster resource management system Download PDF

Info

Publication number
CN110795202A
CN110795202A CN201810872138.9A CN201810872138A CN110795202A CN 110795202 A CN110795202 A CN 110795202A CN 201810872138 A CN201810872138 A CN 201810872138A CN 110795202 A CN110795202 A CN 110795202A
Authority
CN
China
Prior art keywords
virtual machine
server
target
llc
memory bandwidth
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.)
Granted
Application number
CN201810872138.9A
Other languages
Chinese (zh)
Other versions
CN110795202B (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201810872138.9A priority Critical patent/CN110795202B/en
Publication of CN110795202A publication Critical patent/CN110795202A/en
Application granted granted Critical
Publication of CN110795202B publication Critical patent/CN110795202B/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/4555Para-virtualisation, i.e. guest operating system has to be modified
    • 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/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

A resource allocation method and device of a virtualized cluster resource management system comprise the following steps: the virtual infrastructure management system VIM acquires a third-level cache LLC parameter and a memory bandwidth parameter of a target virtual machine, wherein the target virtual machine is a virtual machine to be created; the VIM selects a target server from a server cluster according to the LLC parameter and the memory bandwidth parameter, wherein the server cluster is a server for maintaining and managing the VIM; the VIM sends a virtual machine creation request to the target server, wherein the virtual machine creation request carries the LLC parameter and the memory bandwidth parameter, so that the target server allocates an LLC to the target virtual machine according to the LLC parameter and allocates a memory bandwidth to the target virtual machine according to the memory bandwidth parameter to complete the creation of the target virtual machine. Because the VIM allocates the independent LLC and the memory bandwidth to the virtual machine when the virtual machine is created, the virtual machine is not influenced by other commonly deployed virtual machines during running, and the stable performance of the virtual machine is further ensured.

Description

Resource allocation method and device of virtualized cluster resource management system
Technical Field
The present application relates to the field of computers, and in particular, to a resource allocation method and apparatus for a virtualized cluster resource management system.
Background
The virtualization technology is that a plurality of independent operating systems are simultaneously operated on one physical hardware machine, the independently operated operating system resources come from the same bottom platform resource, and a bottom monitor is responsible for the allocation of system resources, the scheduling of virtual machines and the communication between the virtual machines and the outside. The virtualization technology redefines and divides resources by using a software method, can realize dynamic allocation, flexible scheduling and cross-domain sharing of resources, and improves the utilization rate of the resources.
On the basis, Network Function Virtualization (NFV) provides a new network product environment, reduces cost, improves efficiency, and increases agility. Very versatile software processing is carried by using generic hardware and virtualization techniques. Thereby reducing the cost of expensive equipment for the network. Meanwhile, the NFV can decouple software and hardware and abstract functions, so that functions of network equipment do not depend on special hardware any more, resources can be shared fully and flexibly, rapid development and deployment of new services are realized, and automatic deployment, elastic expansion, fault isolation, self-healing and the like are carried out based on actual service requirements.
Currently, in a mainstream server chip, on the same processor (CPU), a Last Level Cache (LLC) and a memory bandwidth are shared by all cores. For example, two Virtual Network Function (VNF) virtual machines (virtual machine 1 and virtual machine 2) are deployed on the same physical server, and the two virtual machines are deployed on the same CPU, and the virtual machine 1 and the virtual machine 2 share an LLC and a memory bandwidth. Because the virtual machine 1 and the virtual machine 2 share the LLC and the memory bandwidth, when the virtual machine 1 performs a large amount of accesses, the data cached in the LLC by the virtual machine 2 may be eliminated, and the access bandwidth performance of the virtual machine 2 may also be occupied, which may cause unstable performance of the virtual machine due to such resource contention.
Disclosure of Invention
The embodiment of the application provides a resource allocation method and a resource allocation device for a virtualized cluster resource management system, which are used for allocating independent LLC and memory bandwidth for each virtual machine, so that the virtual machine is not affected by other commonly deployed virtual machines during running, and the performance stability of the virtual machine is guaranteed.
In a first aspect, an embodiment of the present application provides a resource allocation method for a virtualized cluster resource management system, which specifically includes: a Virtualized Infrastructure Manager (VIM) acquires a third-level cache (LLC) parameter and a memory bandwidth parameter of a target virtual machine, where the target virtual machine is a virtual machine to be created of the virtualized cluster management system; then the VIM traverses the server of the VIM maintenance management according to the LLC parameter and the memory bandwidth parameter, and determines that the server is a target server when the available LLC of the server meets the filtering condition and the available memory bandwidth meets the filtering condition; then the VIM sends a virtual machine establishing request to the target server, wherein the LLC parameter and the memory bandwidth parameter are carried in the virtual machine establishing request; after receiving the virtual machine creation request, the target server allocates corresponding LLC and memory bandwidth to the target virtual machine according to the LLC parameter and the memory bandwidth parameter, and completes the creation process of the target virtual machine.
In the technical scheme provided by this embodiment, the VIM acquires the LLC and memory bandwidth requirements of the virtual machine during the process of creating the virtual machine, and sends the requirements to the server that creates the virtual machine, so that the server performs corresponding resource allocation according to the LLC and memory bandwidth requirements of the virtual machine, thereby ensuring that the virtual machine is not affected by other commonly deployed virtual machines during operation, and ensuring that the performance of the virtual machine is stable.
Optionally, in a Network Function Virtualization (NFV) scenario, a process of the VIM acquiring an LLC parameter and a memory bandwidth parameter of the target virtual machine is as follows:
the VIM receives the LLC parameter and the memory bandwidth parameter sent by a network function virtualization organization management system (NFV-MANO) in the NFV system; the LLC parameter and the memory bandwidth parameter are stored in a Virtual Deployment Unit (VDU) of a Virtual Network Function Descriptor (VNFD).
Specifically, firstly, a user defines an LLC size and a memory bandwidth size (i.e., an LLC parameter and a memory bandwidth parameter) required by a target virtual machine in a Virtual Deployment Unit (VDU) of a VNFD; then after the orchetrator triggers a process of deploying VNF, the MANO reads VNFD corresponding to the Virtualized Network Function (VNF), and obtains the LLC parameter and the memory bandwidth parameter; the MANO then sends the LLC parameters and the memory bandwidth parameters to the VIM through a virtual machine creation interface provided by the VIM side. Therefore, the VDU in the VNFD defines the LLC parameters and the memory bandwidth parameters of the target virtual machine in advance, and allocation of the LLC and the memory bandwidth of the target virtual machine can be effectively realized.
Optionally, in the NFV scenario, the selecting, by the VIM, a target server from a server cluster according to the LLC parameter and the memory bandwidth parameter specifically includes: the VIM receives the available LLC and the available memory bandwidth reported by each server in the server cluster; then the VIM calls a filter of the VIM to screen a server which meets a filtering condition from the server group as an alternative server, wherein the filtering condition comprises that the available LLC is larger than or equal to the LLC size indicated by the LLC parameter, and the available memory bandwidth is larger than or equal to the memory bandwidth size indicated by the memory bandwidth parameter; finally, the VIM determines the target server based on the number of alternative servers. If the number of the alternative servers is larger than 1, the VIM determines the target server from the alternative servers according to a selection strategy; if the number of the alternative servers is 1, the VIM determines that the alternative servers are the target servers; if the number of the alternative servers is 0, the VIM suspends the creation of the target virtual machine.
Based on the method, when the VIM determines the target server according to the selection strategy, the selection strategy can be to select the server with the largest number of deployed virtual machines from the alternative servers as the target server, so that the resources of the servers can be effectively and reasonably utilized; or, the selection strategy is to arbitrarily select one server from the alternative servers as the target server, so that the process of calculating statistics can be omitted, and the operation process is simplified.
Optionally, after the target virtual machine is created, the target virtual machine may enter into operation to complete a corresponding service. After the target virtual machine completes the service, the virtualized cluster resource management system needs to delete the target virtual machine and release the LLC and the memory bandwidth occupied by the target virtual machine, the process is as follows: the VIM acquires a virtual machine deleting request, wherein the virtual machine deleting request carries the identity of the target virtual machine; then the VIM finds out a target server where the target virtual machine is located according to the identification of the target virtual machine; and finally, the VIM sends the virtual machine deleting request to the target server, and after the target server receives the virtual machine deleting request, the target server deletes the target virtual machine according to the ID of the target virtual machine.
For the NFV system, the specific operation of the virtualized cluster resource management system in deleting the target virtual machine is as follows: the VIM maintains an Identification (ID) of the target virtual machine, and the Orchestrator maintains a VNF composed of the target virtual machine. When the VNF needs to be deleted, the Orchester searches the VNF through the VNF ID, then searches a target virtual machine forming the VNF through the VNF ID, and determines the ID of the target virtual machine; then the Orchester sends a request for deleting the virtual machine to the VIM, and the request for deleting the virtual machine carries the ID of the target virtual machine; after receiving the request for deleting the virtual machine, the VIM determines a target server where the target virtual machine is located according to the ID of the target virtual machine; then the VIM sends a virtual machine deleting request to a target server where the virtual machine is located, wherein the virtual machine deleting request carries the ID of the target virtual machine; after the server receives the request for deleting the virtual machine, the Hypervisor in the server deletes the target virtual machine according to the ID of the target virtual machine. Meanwhile, the Hypervisor in the server calls a CAT interface to release the LLC occupied by the target virtual machine; the Hypervisor of the server calls the MBA interface to release the memory bandwidth occupied by the target virtual machine, and finally the target virtual machine is ensured to release the LLC and the memory bandwidth occupied by the target virtual machine, so that the LLC and the memory bandwidth of the server can be reused.
In a second aspect, an embodiment of the present application provides a method for virtualizing a cluster resource management system, which specifically includes: the method comprises the steps that a server receives a virtual machine creation request sent by a VIM, wherein the virtual machine creation request carries LLC parameters and memory bandwidth parameters of a target virtual machine to be created; wherein, the LLC parameter and the memory bandwidth parameter are obtained by the VIM; then the server allocates a corresponding LLC to the target virtual machine according to the LLC parameter, and allocates a corresponding memory bandwidth to the target virtual machine according to the memory bandwidth parameter; and finally, the server completes the creation of the target virtual machine.
In this embodiment, the server allocates the required LLC and memory bandwidth to the target virtual machine according to the LLC parameter and the memory bandwidth parameter, that is, the target virtual machine has dedicated LLC and memory bandwidth, thereby ensuring that the virtual machine is not affected by other co-deployed virtual machines during operation, and ensuring stable performance of the virtual machine.
Optionally, after the target virtual machine is created, the target virtual machine may enter into operation to complete a corresponding service. After the target virtual machine completes the service, the virtualized cluster resource management system needs to delete the target virtual machine and release the LLC and the memory bandwidth occupied by the target virtual machine, the process is as follows: the VIM acquires a virtual machine deleting request, wherein the virtual machine deleting request carries the identity of the target virtual machine; then the VIM finds out a target server where the target virtual machine is located according to the identification of the target virtual machine; and finally, the VIM sends the virtual machine deleting request to the target server, and after the target server receives the virtual machine deleting request, the target server deletes the target virtual machine according to the ID of the target virtual machine.
For the NFV system, the specific operation of the virtualized cluster resource management system in deleting the target virtual machine is as follows: the VIM maintains an Identification (ID) of the target virtual machine, and the Orchestrator maintains a VNF composed of the target virtual machine. When the VNF needs to be deleted, the Orchester searches the VNF through the VNF ID, then searches a target virtual machine forming the VNF through the VNF ID, and determines the ID of the target virtual machine; then the Orchester sends a request for deleting the virtual machine to the VIM, and the request for deleting the virtual machine carries the ID of the target virtual machine; after receiving the request for deleting the virtual machine, the VIM determines a target server where the target virtual machine is located according to the ID of the target virtual machine; then the VIM sends a virtual machine deleting request to a target server where the virtual machine is located, wherein the virtual machine deleting request carries the ID of the target virtual machine; after the server receives the request for deleting the virtual machine, the Hypervisor in the server deletes the target virtual machine according to the ID of the target virtual machine. Meanwhile, the Hypervisor in the server calls a CAT interface to release the LLC occupied by the target virtual machine; the Hypervisor of the server calls the MBA interface to release the memory bandwidth occupied by the target virtual machine, and finally the target virtual machine is ensured to release the LLC and the memory bandwidth occupied by the target virtual machine, so that the LLC and the memory bandwidth of the server can be reused.
In a third aspect, an embodiment of the present application provides a resource allocation apparatus, where the resource allocation apparatus has a function of implementing a VIM behavior in the first aspect. The functions can be realized by hardware, and the functions can also be realized by executing corresponding software by hardware. The hardware or software includes one or more modules corresponding to the above-described functions.
In one possible implementation, the VIM includes means or modules for performing the steps of the first aspect above. For example, the apparatus includes: the acquisition module is used for acquiring a third-level cache LLC parameter and a memory bandwidth parameter of the target virtual machine; the processing module is used for selecting a target server from a server cluster according to the LLC parameter and the memory bandwidth parameter, wherein the server cluster is a server for maintaining and managing the VIM; a sending module, configured to send a virtual machine creation request to the target server, where the virtual machine creation request carries the LLC parameter and the memory bandwidth parameter, so that the target server allocates an LLC and a memory bandwidth to the target virtual machine according to the LLC parameter and the memory bandwidth parameter, and completes creation of the target virtual machine.
Optionally, the system further comprises a storage module for storing program instructions and data necessary for the VIM.
In one possible implementation, the apparatus includes: a processor and a transceiver, the processor being configured to support the VIM to perform respective functions of the method provided by the first aspect. The transceiver is used for instructing communication between the VIM and the server and sending information or instructions related to the method to the server. Optionally, the apparatus may further comprise a memory, coupled to the processor, that stores program instructions and data necessary for the VIM.
In one possible implementation, when the apparatus is a chip within a VIM, the chip includes: a processing module, which may be, for example, a processor, and a transceiver module, where the processor is configured to select a target server from a server cluster according to the LLC parameter and the memory bandwidth parameter, where the server cluster is a server for maintenance and management of the VIM; the transceiver module may be, for example, an input/output interface, a pin, or a circuit on the chip, and transmits the LLC parameter and the memory bandwidth parameter to other chips or modules coupled to the chip. The processing module may execute computer executable instructions stored by the storage unit to support the VIM in performing the method provided by the first aspect. Alternatively, the storage unit may be a storage unit in the chip, such as a register, a cache, and the like, and the storage unit may also be a storage unit located outside the chip, such as a read-only memory (ROM) or another type of static storage device that can store static information and instructions, a Random Access Memory (RAM), and the like.
In one possible implementation, the apparatus includes: a processor, baseband circuitry, radio frequency circuitry, and an antenna. The processor is used for realizing control of functions of each circuit part, the baseband circuit is used for obtaining LLC parameters and memory bandwidth parameters, and the LLC parameters and the memory bandwidth parameters are subjected to analog conversion, filtering, amplification, up-conversion and the like through the radio frequency circuit and then are sent to the server through the antenna. Optionally, the apparatus further comprises a memory that stores program instructions and data necessary for the VIM.
The processor mentioned in any of the above may be a general processing Unit (CPU), a microprocessor, an application-specific integrated circuit (ASIC), or one or more integrated circuits for controlling the execution of programs of the resource allocation methods in the above aspects.
In a fourth aspect, an embodiment of the present application provides a server, where the server has a function of implementing the server behavior in the first aspect. The functions can be realized by hardware, and the functions can also be realized by executing corresponding software by hardware. The hardware or software includes one or more modules corresponding to the above-described functions.
In one possible implementation, the server includes a unit or module for performing the steps of the second aspect above. For example, the apparatus includes: the virtual machine creating method comprises the steps that a receiving module is used for receiving a virtual machine creating request sent by a virtual infrastructure management system (VIM), wherein the virtual machine creating request carries a three-level cache LLC parameter and a memory bandwidth parameter of a target virtual machine, the LLC parameter and the memory bandwidth parameter are obtained by the VIM, and the target virtual machine is a virtual machine to be created; the processing module is used for allocating the LLC to the target virtual machine according to the LLC parameter and allocating the memory bandwidth to the target virtual machine according to the memory bandwidth parameter; and creating the target virtual machine.
Optionally, the system further comprises a storage module for storing necessary program instructions and data of the server.
In one possible implementation, the apparatus includes: a processor and a transceiver, the processor being configured to support the server to perform the respective functions in the method provided by the second aspect described above. The transceiver is used for instructing communication between the VIM and the server and sending information or instructions related to the method to the VIM. Optionally, the apparatus may further comprise a memory for coupling to the processor, which stores program instructions and data necessary for the server.
In a possible implementation, when the apparatus is a chip in a server, the chip includes: a processing module, which may be, for example, a processor, and the processor is configured to allocate an LLC to the target virtual machine according to the LLC parameter, and allocate a memory bandwidth to the target virtual machine according to the memory bandwidth parameter; the transceiver module may be, for example, an input/output interface, pin, or circuit on the chip, and transmits its available LLC and available memory parameters to other chips or modules coupled to the chip. The processing module can execute the computer execution instructions stored in the storage unit to support the server to execute the method provided by the second aspect. Alternatively, the storage unit may be a storage unit in the chip, such as a register, a cache, and the like, and the storage unit may also be a storage unit located outside the chip, such as a read-only memory (ROM) or another type of static storage device that can store static information and instructions, a Random Access Memory (RAM), and the like.
In one possible implementation, the apparatus includes: a processor, baseband circuitry, radio frequency circuitry, and an antenna. The processor is used for realizing control of functions of each circuit part, the baseband circuit is used for obtaining available LLC and available memory bandwidth, and after analog conversion, filtering, amplification, up-conversion and other processing are carried out through the radio frequency circuit, the baseband circuit is sent to the VIM through the antenna. Optionally, the apparatus further comprises a memory that holds program instructions and data necessary for the server.
The processor mentioned in any of the above may be a general processing Unit (CPU), a microprocessor, an application-specific integrated circuit (ASIC), or one or more integrated circuits for controlling the execution of programs of the resource allocation methods in the above aspects.
In a fifth aspect, an embodiment of the present application provides a computer-readable storage medium, where computer instructions are stored, and the computer instructions are configured to execute the method described in any possible implementation manner in the first aspect.
In a sixth aspect, embodiments of the present application provide a computer program product comprising instructions which, when run on a computer, cause the computer to perform the method of any one of the above aspects.
In a seventh aspect, the present application provides a chip system, which includes a processor for enabling a resource allocation apparatus to implement the functions referred to in the above aspects, such as generating or processing data and/or information referred to in the above methods. In one possible design, the system-on-chip further includes a memory for storing program instructions and data necessary for the resource allocation apparatus to implement the functions of any one of the above aspects. The chip system may be formed by a chip, and may also include a chip and other discrete devices.
In a possible implementation manner, when the chip system runs on the VIM side, the VIM may be supported to perform the method provided by the first aspect;
in another possible implementation manner, when the chip system runs on the server side, the server may be supported to execute the method provided by the second aspect.
In an eighth aspect, an embodiment of the present application provides a virtualized cluster resource management system, which includes the VIM and the server described in the first aspect and the second aspect.
Drawings
FIG. 1 is a diagram illustrating resource contention when deploying multiple virtual machines on a CPU;
FIG. 2 is a diagram illustrating an application system architecture according to an embodiment of the present application;
FIG. 3 is a schematic diagram of an embodiment of a resource allocation method in an embodiment of the present application;
fig. 4 is a schematic diagram of an embodiment of a resource allocation apparatus in an embodiment of the present application;
fig. 5 is a schematic diagram of another embodiment of a resource allocation apparatus in an embodiment of the present application;
FIG. 6 is a schematic diagram of an embodiment of a server in an embodiment of the present application;
fig. 7 is a schematic diagram of another embodiment of the server in the embodiment of the present application.
Detailed Description
The embodiment of the application provides a resource allocation method and a resource allocation device for a virtualized cluster resource management system, which are used for allocating independent LLC and memory bandwidth for each virtual machine, so that the virtual machine is not affected by other commonly deployed virtual machines during running, and the performance stability of the virtual machine is guaranteed.
The terms "first," "second," "third," "fourth," and the like in the description and in the claims of the present application and in the drawings described above, if any, are used for distinguishing between similar elements and not necessarily for describing a particular sequential or chronological order. It will be appreciated that the data so used may be interchanged under appropriate circumstances such that the embodiments described herein may be practiced otherwise than as specifically illustrated or described herein. Furthermore, the terms "comprises," "comprising," and "having," and any variations thereof, are intended to cover a non-exclusive inclusion, such that a process, method, system, article, or apparatus that comprises a list of steps or elements is not necessarily limited to those steps or elements expressly listed, but may include other steps or elements not expressly listed or inherent to such process, method, article, or apparatus.
The virtualization technology is that a plurality of independent operating systems are simultaneously operated on one physical hardware machine, the independently operated operating system resources come from the same bottom platform resource, and a bottom monitor is responsible for the allocation of system resources, the scheduling of virtual machines and the communication between the virtual machines and the outside. The virtualization technology redefines and divides resources by using a software method, can realize dynamic allocation, flexible scheduling and cross-domain sharing of resources, and improves the utilization rate of the resources. Based on the system framework, currently on the same CPU, LLC and memory bandwidth are shared by all cores. As shown in fig. 1, two VNF virtual machines (virtual machine 1 and virtual machine 2) are deployed on the same physical server, and if virtual machine 1 and virtual machine 2 are deployed on the same CPU, virtual machine 1 and virtual machine 2 share LLC and memory bandwidth. Because the virtual machine 1 and the virtual machine 2 share the LLC and the memory bandwidth, when the virtual machine 1 performs a large amount of accesses, the data cached in the LLC by the virtual machine 2 may be eliminated, and the access bandwidth performance of the virtual machine 2 may also be occupied, which may cause unstable performance of the virtual machine due to such resource contention.
In order to solve the problem, the embodiment of the present application provides the following technical solutions: the virtual infrastructure management system (VIM) acquires a third-level cache (LLC) parameter and a memory bandwidth parameter of a target virtual machine; traversing the server of the VIM maintenance management according to the LLC parameter and the memory bandwidth parameter, and determining the server as a target server by the VIM when the available LLC of the server meets the LLC parameter requirement and the available memory bandwidth meets the memory bandwidth parameter; then the VIM sends a virtual machine establishing request to the target server, wherein the LLC parameter and the memory bandwidth parameter are carried in the virtual machine establishing request; after receiving the virtual machine creation request, the target server allocates corresponding LLC and memory bandwidth to the target virtual machine according to the LLC parameter and the memory bandwidth parameter, and completes the creation process of the target virtual machine.
It can be understood that the technical scheme provided by the embodiment of the present application may not only be applicable to NFV, but also be applicable to other virtualized cluster resource management systems, such as a public cloud, a private cloud, and other cloud computing systems. In the embodiments of the present application, the NFV system is described as an example.
The Network Function Virtualization (NFV) as shown in fig. 2 provides a new network product environment, reduces cost, improves efficiency, and increases agility. Very versatile software processing is carried by using generic hardware and virtualization techniques. Thereby reducing the cost of expensive equipment for the network. Meanwhile, the NFV can decouple software and hardware and abstract functions, so that functions of network equipment do not depend on special hardware any more, resources can be shared fully and flexibly, rapid development and deployment of new services are realized, and automatic deployment, elastic expansion, fault isolation, self-healing and the like are carried out based on actual service requirements. The functions of each main entity in the system framework are as follows:
network function virtualization coordinator (NFVO), which mainly functions to implement life cycle management (such as deployment/expansion/contraction/offline) of Network Services (NS) in an operator domain (one or more data centers), and functions to perform resource arrangement, policy management, and the like of an infrastructure layer (NFVI) of network function virtualization; the Orchester decomposes the requirements for each Virtualized Network Function (VNF) according to a network service information model description template (NSD), and cooperates with a Virtualized Network Function Manager (VNFM) to realize the deployment of the Virtualized Network Function (VNF).
A Virtual Network Function Manager (VNFM), which has the main function of realizing the life cycle management of the VNF, such as the automation capabilities of deployment/capacity expansion/capacity reduction/offline and the like; the VNFM decomposes the demand for virtual resources such as a virtual machine according to the capacity demand of the template and the VNF, and completes instantiation of the VNF in cooperation with the NFVO and a virtualized Infrastructure management system (VIM).
A virtualized infrastructure management system (VIM), I-layer management system (such as VMware, OpenStack), implements management and monitoring of infrastructure layer resources (including computing, storage, and network resources).
The network function virtualization organization management system (NFV-MANO) is composed of the NFVO, the VNFM and the VIM, and completes the management and arrangement functions of the whole NFV.
Network management system (element management system, EMS/network management system, NMS) is used for managing network, vertically pulling through S layer I layer fault monitoring and delimitation, maintaining the management capability of the existing network management, and managing cloud network elements and non-cloud network elements in a unified way.
Basic Service Set (BSS)/Operation Support System (OSS), which is an original BSS/OSS system of an existing network and can uniformly manage cloud and non-cloud network elements.
Virtualized network function information model description template (VNFD): a configuration template describing deployment and operational behavior of a virtualized network function module is used in the operation of the virtualized network function module and in lifecycle management for virtualized network function module instances.
Virtualization layer (virtualization layer): virtualization technology is adopted to virtualize virtual computing (virtual computing), virtual storage (virtual storage) and virtual network (virtual network) based on computing hardware (computing hardware), storage hardware (storage hardware) and network hardware (network hardware) on a server.
Specifically, referring to fig. 3, an embodiment of a resource allocation method in the embodiment of the present application includes:
301. and the VIM acquires the LLC parameters and the memory bandwidth parameters of the target virtual machine.
When a new virtual machine (i.e., the target virtual machine) needs to be created based on the service requirement, the VIM needs to acquire the number of resources (i.e., the LLC size indicated by the LLC parameter and the memory bandwidth size indicated by the memory bandwidth parameter) required by the target virtual machine.
In this embodiment, taking the NFV system as an example, a specific implementation manner of the VIM acquiring the LLC parameter and the memory bandwidth parameter of the target virtual machine may be as follows: firstly, an LLC size and a memory bandwidth size (i.e., an LLC parameter and a memory bandwidth parameter) required by a target virtual machine are defined in a Virtual Deployment Unit (VDU) of a VNFD; then after the Orchester triggers a process of deploying VNFs, the MANO reads VNFD corresponding to the VNFs and acquires the LLC parameters and the memory bandwidth parameters; the MANO then sends the LLC parameters and the memory bandwidth parameters to the VIM through a virtual machine creation interface provided by the VIM side.
Optionally, the LLC parameter and the memory bandwidth parameter may be defined in the VDU by adding corresponding parameters to the description file. For example, LLC Size is added under the string of vnfd: vdu: virtualComputeDesc: virtualCpu in the description file, and the LLC Size needing to be distributed is specified; mem Bw is added under a string of vnfd: vdu: virtualComputeDesc: virtualMemory in the description file, and the size of the memory bandwidth needing to be allocated is specified. It is to be understood that the form of the detailed description is not intended to be limiting.
302. And the VIM selects a target server from a server cluster according to the LLC parameter and the memory bandwidth parameter, wherein the server cluster is a server for maintaining and managing the VIM.
When the virtual environment runs, the VIM maintains and manages a server cluster under the management of the VIM, after the VIM determines the LLC size and the memory bandwidth size required by the target virtual machine according to the LLC parameter and the memory bandwidth parameter, the VIM selects a target server from the server cluster by using the LLC parameter and the memory bandwidth parameter as reference standards, that is, the available LLC size of the target server is greater than or equal to the LLC size indicated by the LLC parameter, and the available memory bandwidth size of the target server is greater than or equal to the memory bandwidth size indicated by the memory bandwidth parameter.
Specifically, the Hypervisor extension of the server for VIM maintenance management supports Intel resource allocation (Intel RDT) technology, so that the server can call LLC Monitoring (CMT) and Memory bandwidth Monitoring (Memory BW Monitoring, MBM) interfaces to obtain its own available LLC information and available Memory bandwidth information, and then the server reports the available LLC information and available Memory bandwidth information to the VIM; the VIM maintains available LLC information and available memory bandwidth information reported by all servers. When the VIM selects a target server according to the LLC parameters and the memory bandwidth parameters, the VIM traverses all the servers managed by the VIM and sequentially calls a Filter (Filter) to screen the servers meeting the LLC parameters and the memory bandwidth parameters; after screening out the servers meeting the requirements, if the number of the servers meeting the requirements is greater than 1, the VIM can determine a final target server according to a preset selection rule, wherein the preset selection rule can be used for selecting the server with the largest number of deployed virtual machines; or, a server is arbitrarily selected. For example, there are 5 candidate servers, where the candidate server a deploys 2 virtual machines, the candidate server B and the candidate server C each deploy 1 virtual machine, and neither the candidate server D nor the candidate server E deploys a virtual machine, then the VIM may select the candidate server a as the target server; the VIM may also arbitrarily select one of the 5 alternative servers as the target server.
It is understood that the specific implementation of the VIM when invoking the filter to filter the servers is as follows:
in this embodiment, the check and filtering on the memory bandwidth size are expanded and increased, and the server needs to satisfy the parameter conditions in all the memory filters simultaneously, including that the available memory bandwidth is greater than the memory bandwidth parameter value; the VIM calls a CPU Core Filter (Core Filter) to select a server meeting the CPU filtering requirement, in the embodiment, the checking and filtering of the LLC size are expanded and increased, and the server needs to meet parameter conditions in all the CPU Core filters, wherein the parameter conditions comprise that the available LLC is larger than an LLC parameter value; when the server simultaneously meets the filtering requirements of all filters, the server is used as an alternative server; finally, if the number of the alternative servers is 1, the VIM determines that the alternative servers are the target servers; if the number of the alternative servers is larger than 1, the VIM determines the target server from the alternative servers according to a preset selection rule; without an alternate server, the VIM determines that the target virtual machine cannot be created for a while.
303. And the VIM sends a virtual machine creation request to the target server, wherein the LLC parameter and the memory bandwidth parameter are carried in the virtual machine creation request.
After the VIM determines a target server, the VIM sends a virtual machine creation request to the target server, and meanwhile, the virtual machine creation request indicates the LLC size and the memory bandwidth size required by the target virtual machine through the LLC parameter and the memory bandwidth parameter.
It will be appreciated that the VIM, in determining the target server, may also subtract the number of resources consumed by the target server to create the target virtual machine from the server resource database maintained by the VIM. For example, if the number of resources reported to the VIM by the target server is a and the number of resources required by the target virtual machine is B, the number of resources of the target server in the server resource database is now (a-B).
304. And the target server allocates corresponding LLC and memory bandwidth to the target virtual machine according to the LLC parameter and the memory bandwidth parameter, and completes the creation of the target virtual machine.
After receiving the virtual machine creation request, the target server analyzes the virtual machine creation request to obtain the LLC size and the memory bandwidth size required by the target virtual machine; then the Hypervisor of the target server calls an LLC Allocation (CAT) interface to allocate a corresponding LLC to the target virtual machine; a Hypervisor of the server calls a Memory Bandwidth Allocation (MBA) interface to allocate corresponding Memory bandwidth to the target virtual machine; meanwhile, the Hypervisor of the target server completes the creation of the target virtual machine.
After the creation of the target virtual machine is completed, the target virtual machine starts to execute corresponding services; meanwhile, the VIM maintains an Identification (ID) of the target virtual machine, and the orchetrator maintains a VNF formed by the target virtual machine. When the VNF needs to be deleted, the Orchester searches the VNF through the VNF ID, then searches a target virtual machine forming the VNF through the VNF ID, and determines the ID of the target virtual machine; then the Orchester sends a request for deleting the virtual machine to the VIM, and the request for deleting the virtual machine carries the ID of the target virtual machine; after receiving the request for deleting the virtual machine, the VIM determines a target server where the target virtual machine is located according to the ID of the target virtual machine; then the VIM sends a virtual machine deleting request to a target server where the virtual machine is located, wherein the virtual machine deleting request carries the ID of the target virtual machine; after the server receives the request for deleting the virtual machine, the Hypervisor in the server deletes the target virtual machine according to the ID of the target virtual machine. Meanwhile, the Hypervisor in the server calls a CAT interface to release the LLC occupied by the target virtual machine; the Hypervisor of the server calls the MBA interface to release the memory bandwidth occupied by the target virtual machine, and finally the target virtual machine is ensured to release the LLC and the memory bandwidth occupied by the target virtual machine, so that the LLC and the memory bandwidth of the server can be reused.
In this embodiment, the VIM acquires the requirements of the LLC and the memory bandwidth of the virtual machine during the process of creating the virtual machine, and sends the requirements to the server that creates the virtual machine, so that the server performs corresponding resource allocation according to the requirements of the LLC and the memory bandwidth of the virtual machine, thereby ensuring that the virtual machine is not affected by other commonly deployed virtual machines during operation, and ensuring that the performance of the virtual machine is stable.
The resource allocation method of the virtualized cluster resource management system in the embodiment of the present application is described above, and a resource allocation apparatus and a server in the embodiment of the present application are described below.
Specifically, referring to fig. 4, the resource allocation apparatus 400 in the embodiment of the present application includes: an acquisition module 401, a processing module 402 and a sending module 403. The resource allocation apparatus 400 may be the VIM in the above method embodiment, or may be one or more chips in the VIM. Resource allocation apparatus 400 may be used to perform some or all of the functions of the VIM in the above-described method embodiments.
For example, the obtaining module 401 may be configured to execute step 301 in the foregoing method embodiment, or be configured to execute actions such as receiving that the server reports available LLC and available memory bandwidth in the foregoing method embodiment. The processing module 402 is configured to execute step 302 in the foregoing method embodiment. The sending module 403 is configured to execute step 303 in the foregoing method embodiment. For example, the obtaining module 401 may obtain an LLC parameter and a memory bandwidth parameter of the target virtual machine; the processing module 402 may select a target server from a server cluster according to the LLC parameter and the memory bandwidth parameter; the sending module 403 may send the preset transmission information to the first camera; the receiving module 601 may send a virtual machine creation request to the target server, where the virtual machine creation request carries the LLC parameter and the memory bandwidth parameter.
Optionally, the resource allocation apparatus 400 further includes a storage module coupled to the processing module, so that the processing module can execute the computer executable instructions stored in the storage module to implement the functions of the VIM in the above-described method embodiments. In one example, the memory module optionally included in the resource allocation apparatus 400 may be a memory unit inside the chip, such as a register, a cache, and the like, and the memory module may also be a memory unit located outside the chip, such as a read-only memory (ROM) or another type of static memory device that can store static information and instructions, a Random Access Memory (RAM), and the like.
It should be understood that the flow executed between the modules of the resource allocation apparatus in the corresponding embodiment of fig. 4 is similar to the flow executed by the VIM in the corresponding method embodiment of fig. 3, and detailed description thereof is omitted here.
Fig. 5 is a schematic diagram illustrating a possible structure of a resource allocation apparatus 500 in the above embodiment, where the resource allocation apparatus 500 may be configured as the VIM. The apparatus 500 may comprise: a processor 502, a computer-readable storage medium/memory 503, a transceiver 504, an input device 505, and an output device 506, and a bus 501. Wherein the processor, transceiver, computer readable storage medium, etc. are connected by a bus. The embodiments of the present application do not limit the specific connection medium between the above components.
In one example, the transceiver 504 obtains LLC parameters and memory bandwidth parameters of the target virtual machine; the processor 702 selects a target server from a server cluster according to the LLC parameter and the memory bandwidth parameter, where the server cluster is a server for the VIM maintenance management; the transceiver 504 sends a virtual machine creation request to the target server, where the virtual machine creation request carries the LLC parameter and the memory bandwidth parameter.
In one example, the processor 502 may include baseband circuitry, e.g., LLC parameters and memory bandwidth parameters may be protocol data encapsulated, encoded, etc. to generate virtual machine creation requests. The transceiver 504 may include a radio frequency circuit to modulate, amplify, etc. the virtual machine creation request and send it to the target server.
In yet another example, the processor 502 may run an operating system that controls functions between various devices and appliances. The transceiver 504 may include a baseband circuit and a radio frequency circuit, for example, the virtual machine creation request may be processed by the baseband circuit and then sent to the target server.
The transceiver 504 and the processor 502 may implement the corresponding steps in any of the embodiments in fig. 3, which are not described herein in detail.
It is understood that fig. 5 only shows a simplified design of the resource allocation apparatus, and in practical applications, the resource allocation apparatus may include any number of transceivers, processors, memories, etc., and all resource allocation apparatuses that can implement the present application are within the scope of the present application.
The processor 502 involved in the resource allocation apparatus 500 may be a general-purpose processor, such as a general-purpose Central Processing Unit (CPU), a Network Processor (NP), a microprocessor, etc., or may be an application-specific integrated circuit (ASIC), or one or more integrated circuits for controlling the execution of the program according to the present application. But also a Digital Signal Processor (DSP), a field-programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic device, discrete hardware components. The controller/processor can also be a combination of computing functions, e.g., comprising one or more microprocessors, DSPs, and microprocessors, among others. Processors typically perform logical and arithmetic operations based on program instructions stored within memory.
The bus 501 may be a Peripheral Component Interconnect (PCI) bus, an Extended Industry Standard Architecture (EISA) bus, or the like. The bus may be divided into an address bus, a data bus, a control bus, etc. For ease of illustration, only one thick line is shown in FIG. 5, but this is not intended to represent only one bus or type of bus.
The computer-readable storage medium/memory 503 referred to above may also hold an operating system and other application programs. In particular, the program may include program code including computer operating instructions. More specifically, the memory may be a read-only memory (ROM), other types of static storage devices that may store static information and instructions, a Random Access Memory (RAM), other types of dynamic storage devices that may store information and instructions, a disk memory, and so forth. The memory 503 may be a combination of the above memory types. And the computer-readable storage medium/memory described above may be in the processor, may be external to the processor, or distributed across multiple entities including the processor or processing circuitry. The computer-readable storage medium/memory described above may be embodied in a computer program product. By way of example, a computer program product may include a computer-readable medium in packaging material.
Alternatively, embodiments of the present application also provide a general-purpose processing system, such as that commonly referred to as a chip, including one or more microprocessors that provide processor functionality; and an external memory providing at least a portion of the storage medium, all connected together with other supporting circuitry through an external bus architecture. The memory stored instructions, when executed by the processor, cause the processor to perform some or all of the steps of the resource allocation apparatus in the resource allocation method in the embodiment described in fig. 3, such as step 302 in fig. 3 and/or other processes for the techniques described herein.
The steps of a method or algorithm described in connection with the disclosure herein may be embodied in hardware or in software instructions executed by a processor. The software instructions may consist of corresponding software modules that may be stored in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, a hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art. An exemplary storage medium is coupled to the processor such the processor can read information from, and write information to, the storage medium. Of course, the storage medium may also be integral to the processor. The processor and the storage medium may reside in an ASIC. Additionally, the ASIC may reside in user equipment. Of course, the processor and the storage medium may reside as discrete components in user equipment.
In this embodiment, the VIM acquires the requirements of the LLC and the memory bandwidth of the virtual machine during the process of creating the virtual machine, and sends the requirements to the server that creates the virtual machine, so that the server performs corresponding resource allocation according to the requirements of the LLC and the memory bandwidth of the virtual machine, thereby ensuring that the virtual machine is not affected by other commonly deployed virtual machines during operation, and ensuring that the performance of the virtual machine is stable.
Specifically, referring to fig. 6, in the embodiment of the present application, the server 600 includes: the device comprises a receiving module 601 and a processing module 602. The resource allocation apparatus 600 may be the server in the above method embodiment, or may be one or more chips in the server. The server 600 may be used to perform some or all of the functions of the server in the above-described method embodiments.
For example, the receiving module 601 may be configured to perform actions such as receiving a virtual machine creation request or a virtual machine deletion request sent by the VIM in the above method embodiment. The processing module 602 is configured to execute step 304 in the foregoing method embodiment. The server further includes a sending module 603, configured to perform actions such as reporting available LLC and available memory bandwidth in the foregoing method embodiment. For example, the receiving module 601 may receive a virtual machine creation request sent by a virtualization infrastructure management system VIM, where the virtual machine creation request carries a third-level cache LLC parameter and a memory bandwidth parameter of a target virtual machine, where the LLC parameter and the memory bandwidth parameter are obtained by the VIM, and the target virtual machine is a virtual machine to be created; the processing module 602 allocates an LLC to the target virtual machine according to the LLC parameter, and allocates a memory bandwidth to the target virtual machine according to the memory bandwidth parameter; and creating the target virtual machine.
Optionally, the server 600 further includes a storage module coupled to the processing module, so that the processing module can execute the computer execution instructions stored in the storage module to implement the functions of the server in the above-described method embodiments. In one example, the memory module optionally included in the server 600 may be a memory unit inside the chip, such as a register, a cache, or the like, and the memory module may also be a memory unit located outside the chip, such as a read-only memory (ROM) or another type of static memory device that can store static information and instructions, a Random Access Memory (RAM), or the like.
It should be understood that the flow executed between the modules of the resource allocation apparatus in the corresponding embodiment of fig. 6 is similar to the flow executed by the server in the corresponding method embodiment of fig. 3, and detailed description thereof is omitted here.
Fig. 7 shows a possible structure diagram of a server 700 in the above embodiment, and the server 700 may be configured as the VIM. The apparatus 700 may include: a processor 702, a computer-readable storage medium/memory 703, a transceiver 704, an input device 705 and an output device 706, and a bus 701. Wherein the processor, transceiver, computer readable storage medium, etc. are connected by a bus. The embodiments of the present application do not limit the specific connection medium between the above components.
In an example, the transceiver 704 receives a virtual machine creation request sent by a virtualization infrastructure management system VIM, where the virtual machine creation request carries a third-level cache LLC parameter and a memory bandwidth parameter of a target virtual machine, where the LLC parameter and the memory bandwidth parameter are obtained by the VIM, and the target virtual machine is a virtual machine to be created; the processor 702 allocates an LLC to the target virtual machine according to the LLC parameter, and allocates a memory bandwidth to the target virtual machine according to the memory bandwidth parameter; and creating the target virtual machine.
In one example, the processor 702 may include baseband circuitry, e.g., may perform data encapsulation, encoding, etc. on the available LLC information and available memory bandwidth information according to a protocol to generate the reporting information. The transceiver 704 may include a radio frequency circuit to modulate and amplify the reported information and send the information to the VIM.
In yet another example, the processor 702 may run an operating system that controls functions between various devices and appliances. The transceiver 704 may include a baseband circuit and a radio frequency circuit, for example, the report information may be processed by the baseband circuit and the radio frequency circuit and then sent to the VIM.
The transceiver 704 and the processor 702 can implement the corresponding steps in the embodiment shown in fig. 3, which are not described herein in detail.
It is understood that fig. 7 only shows a simplified design of a server, and in practical applications, the server may contain any number of transceivers, processors, memories, etc., and all servers that can implement the present application are within the scope of the present application.
The processor 702 involved in the server 700 may be a general-purpose processor, such as a general-purpose Central Processing Unit (CPU), a Network Processor (NP), a microprocessor, etc., or an application-specific integrated circuit (ASIC), or one or more integrated circuits for controlling the execution of the program according to the present application. But also a Digital Signal Processor (DSP), a field-programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic device, discrete hardware components. The controller/processor can also be a combination of computing functions, e.g., comprising one or more microprocessors, DSPs, and microprocessors, among others. Processors typically perform logical and arithmetic operations based on program instructions stored within memory.
The bus 701 may be a Peripheral Component Interconnect (PCI) bus, an Extended Industry Standard Architecture (EISA) bus, or the like. The bus may be divided into an address bus, a data bus, a control bus, etc. For ease of illustration, only one thick line is shown in FIG. 7, but this is not intended to represent only one bus or type of bus.
The computer-readable storage medium/memory 703 referred to above may also hold an operating system and other application programs. In particular, the program may include program code including computer operating instructions. More specifically, the memory may be a read-only memory (ROM), other types of static storage devices that may store static information and instructions, a Random Access Memory (RAM), other types of dynamic storage devices that may store information and instructions, a disk memory, and so forth. The memory 703 may be a combination of the above memory types. And the computer-readable storage medium/memory described above may be in the processor, may be external to the processor, or distributed across multiple entities including the processor or processing circuitry. The computer-readable storage medium/memory described above may be embodied in a computer program product. By way of example, a computer program product may include a computer-readable medium in packaging material.
Alternatively, embodiments of the present application also provide a general-purpose processing system, such as that commonly referred to as a chip, including one or more microprocessors that provide processor functionality; and an external memory providing at least a portion of the storage medium, all connected together with other supporting circuitry through an external bus architecture. The memory stored instructions, when executed by the processor, cause the processor to perform some or all of the steps of the resource allocation method of the server in the embodiment described in fig. 3, such as step 304 in fig. 3 and/or other processes for the techniques described herein.
The steps of a method or algorithm described in connection with the disclosure herein may be embodied in hardware or in software instructions executed by a processor. The software instructions may consist of corresponding software modules that may be stored in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, a hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art. An exemplary storage medium is coupled to the processor such the processor can read information from, and write information to, the storage medium. Of course, the storage medium may also be integral to the processor. The processor and the storage medium may reside in an ASIC. Additionally, the ASIC may reside in user equipment. Of course, the processor and the storage medium may reside as discrete components in user equipment.
In this embodiment, the server performs corresponding resource allocation according to the LLC and memory bandwidth requirements of the virtual machine, thereby ensuring that the virtual machine is not affected by other commonly deployed virtual machines during operation, and ensuring that the performance of the virtual machine is stable.
It is clear to those skilled in the art that, for convenience and brevity of description, the specific working processes of the above-described systems, apparatuses and units may refer to the corresponding processes in the foregoing method embodiments, and are not described herein again.
In the several embodiments provided in the present application, it should be understood that the disclosed system, apparatus and method may be implemented in other manners. For example, the above-described apparatus embodiments are merely illustrative, and for example, the division of the units is only one logical division, and other divisions may be realized in practice, for example, a plurality of units or components may be combined or integrated into another system, or some features may be omitted, or not executed. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection through some interfaces, devices or units, and may be in an electrical, mechanical or other form.
The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of the embodiment.
In addition, functional units in the embodiments of the present application may be integrated into one processing unit, or each unit may exist alone physically, or two or more units are integrated into one unit. The integrated unit can be realized in a form of hardware, and can also be realized in a form of a software functional unit.
The integrated unit, if implemented in the form of a software functional unit and sold or used as a stand-alone product, may be stored in a computer readable storage medium. Based on such understanding, the technical solution of the present application may be substantially implemented or contributed to by the prior art, or all or part of the technical solution may be embodied in a software product, which is stored in a storage medium and includes instructions for causing a computer device (which may be a personal computer, a server, or a network device) to execute all or part of the steps of the method according to the embodiments of the present application. And the aforementioned storage medium includes: a U-disk, a removable hard disk, a Read-only Memory (ROM), a Random Access Memory (RAM), a magnetic disk or an optical disk, and other various media capable of storing program codes.
The above embodiments are only used for illustrating the technical solutions of the present application, and not for limiting the same; although the present application has been described in detail with reference to the foregoing embodiments, it should be understood by those of ordinary skill in the art that: the technical solutions described in the foregoing embodiments may still be modified, or some technical features may be equivalently replaced; and such modifications or substitutions do not depart from the spirit and scope of the corresponding technical solutions in the embodiments of the present application.

Claims (19)

1. A resource allocation method of a virtualized cluster resource management system is characterized by comprising the following steps:
a virtual infrastructure management system (VIM) acquires a third-level cache LLC parameter and a memory bandwidth parameter of a target virtual machine, wherein the target virtual machine is a virtual machine to be created;
the VIM selects a target server from a server cluster according to the LLC parameter and the memory bandwidth parameter, wherein the server cluster is a server for maintaining and managing the VIM;
and the VIM sends a virtual machine creation request to the target server, wherein the virtual machine creation request carries the LLC parameter and the memory bandwidth parameter, so that the target server allocates an LLC to the target virtual machine according to the LLC parameter and allocates a memory bandwidth to the target virtual machine according to the memory bandwidth parameter to complete the creation of the target virtual machine.
2. The method of claim 1, wherein the virtualized infrastructure management system (VIM) obtaining a level three cache (LLC) parameter and a memory bandwidth parameter of a target virtual machine comprises:
and the VIM receives the LLC parameters and the memory bandwidth parameters sent by the network function virtualization organization management system MANO, and the LLC parameters and the memory bandwidth parameters are stored in a virtual deployment unit VDU of a virtualization network function information model description template VNFD.
3. The method of claim 1 or 2, wherein the VIM selecting a target server from a cluster of servers based on the LLC parameters and the memory bandwidth parameters comprises:
the VIM receives the available LLC and the available memory bandwidth reported by each server in the server cluster;
the VIM screens servers meeting filtering conditions from the server cluster to serve as alternative servers, wherein the filtering conditions comprise that the available LLC is larger than or equal to the LLC size indicated by the LLC parameter, and the available memory bandwidth is larger than or equal to the memory bandwidth size indicated by the memory bandwidth parameter;
if the number of the alternative servers is larger than 1, the VIM determines the target server from the alternative servers according to a selection strategy;
if the number of the alternative servers is 1, the VIM determines that the alternative server is the target server.
4. The method of claim 3, wherein the selection policy comprises selecting a server with the largest number of deployed virtual machines from the alternative servers as the target server; or arbitrarily selecting one server from the alternative servers as the target server.
5. The method according to any one of claims 1 to 4, further comprising:
the VIM acquires a virtual machine deleting request, wherein the virtual machine deleting request carries the identity of the target virtual machine;
the VIM finds the target server where the target virtual machine is located according to the target virtual machine identity;
and the VIM sends the virtual machine deleting request to the target server, wherein the virtual machine deleting request carries the identification of the target virtual machine, so that the target server deletes the target virtual machine according to the identification of the target virtual machine and releases the LLC and the memory bandwidth occupied by the target virtual machine.
6. A resource allocation method of a virtualized cluster resource management system is characterized by comprising the following steps:
a server receives a virtual machine creation request sent by a virtual infrastructure management system (VIM), wherein the virtual machine creation request carries a three-level cache (LLC) parameter and a memory bandwidth parameter of a target virtual machine, the LLC parameter and the memory bandwidth parameter are acquired by the VIM, and the target virtual machine is a virtual machine to be created;
the server allocates an LLC to the target virtual machine according to the LLC parameter and allocates a memory bandwidth to the target virtual machine according to the memory bandwidth parameter;
the server creates the target virtual machine.
7. The method of claim 6, further comprising:
the server receives a virtual machine deleting request sent by the VIM, wherein the virtual machine deleting request carries the identity of the target virtual machine;
and the server deletes the target virtual machine according to the identification of the target virtual machine, and releases the LLC and the memory bandwidth occupied by the target virtual machine.
8. A resource allocation apparatus, comprising:
the system comprises an acquisition module, a storage module and a processing module, wherein the acquisition module is used for acquiring a three-level cache LLC parameter and a memory bandwidth parameter of a target virtual machine, and the target virtual machine is a virtual machine to be created;
the processing module is used for selecting a target server from a server cluster according to the LLC parameter and the memory bandwidth parameter, wherein the server cluster is a server for maintaining and managing the VIM;
a sending module, configured to send a virtual machine creation request to the target server, where the virtual machine creation request carries the LLC parameter and the memory bandwidth parameter, so that the target server allocates an LLC to the target virtual machine according to the LLC parameter, and allocates a memory bandwidth to the target virtual machine according to the memory bandwidth parameter, so as to complete creation of the target virtual machine.
9. The apparatus according to claim 8, wherein the obtaining module is specifically configured to receive the LLC parameter and the memory bandwidth parameter sent by the network function virtualization organization management system MANO, and the LLC parameter and the memory bandwidth parameter are stored in a virtual deployment unit VDU of a virtualized network function information model description template VNFD.
10. The resource allocation apparatus according to claim 8 or 9, wherein the obtaining module is specifically configured to receive available LLC and available memory bandwidth reported by each server in the server cluster;
the processing module is specifically configured to filter, from the server cluster, servers that meet a filtering condition as candidate servers, where the filtering condition includes that the available LLC is greater than or equal to the LLC size indicated by the LLC parameter, and the available memory bandwidth is greater than or equal to the memory bandwidth size indicated by the memory bandwidth parameter;
if the number of the alternative servers is larger than 1, determining the target server from the alternative servers according to a selection strategy;
and if the number of the alternative servers is 1, determining that the alternative servers are the target servers.
11. The apparatus according to claim 10, wherein the selection policy includes selecting, as the target server, a server with the largest number of deployed virtual machines from the alternative servers; or arbitrarily selecting one server from the alternative servers as the target server.
12. The resource allocation apparatus according to any one of claims 8 to 11, wherein the obtaining module is further configured to obtain a request for deleting a virtual machine, where the request for deleting a virtual machine carries the target virtual machine identity;
the processing module is further configured to find a target server where the target virtual machine is located according to the target virtual machine identity;
the sending module is further configured to send the request for deleting the virtual machine to the target server, so that the target server deletes the target virtual machine according to the target virtual machine identity, and releases the LLC and the memory bandwidth occupied by the target virtual machine.
13. A resource allocation apparatus, comprising: a processor and a memory, wherein the memory has a computer readable program stored therein, and the processor is configured to execute the program in the memory to perform the method of any of claims 1 to 5.
14. A server, comprising:
the virtual machine creating method comprises the steps that a receiving module is used for receiving a virtual machine creating request sent by a virtual infrastructure management system (VIM), wherein the virtual machine creating request carries a three-level cache LLC parameter and a memory bandwidth parameter of a target virtual machine, the LLC parameter and the memory bandwidth parameter are obtained by the VIM, and the target virtual machine is a virtual machine to be created;
the processing module is used for allocating the LLC to the target virtual machine according to the LLC parameter and allocating the memory bandwidth to the target virtual machine according to the memory bandwidth parameter; and creating the target virtual machine.
15. The server according to claim 14, wherein the receiving module is further configured to receive a virtual machine deletion request sent by the VIM, where the virtual machine deletion request carries the target virtual machine identity;
and the processing module is further configured to delete the target virtual machine according to the target virtual machine identity, and release the LLC and the memory bandwidth occupied by the target virtual machine.
16. A server, comprising: a processor and a memory, wherein the memory has a computer readable program stored therein, and the processor is configured to execute the program in the memory to perform the method of any of claims 6 to 7.
17. A computer-readable storage medium comprising instructions that, when executed on a processor, cause the processor to perform the method of any of claims 1 to 5 or claims 6 to 7.
18. A computer program product comprising instructions which, when run on a computer, cause the computer to perform the method of any preceding claim 1 to 5 or claim 6 to 7.
19. A virtualized cluster resource management system comprising a resource allocation arrangement according to any of claims 8 to 13 and a server according to any of claims 14 to 16.
CN201810872138.9A 2018-08-02 2018-08-02 Resource allocation method and device of virtualized cluster resource management system Active CN110795202B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810872138.9A CN110795202B (en) 2018-08-02 2018-08-02 Resource allocation method and device of virtualized cluster resource management system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810872138.9A CN110795202B (en) 2018-08-02 2018-08-02 Resource allocation method and device of virtualized cluster resource management system

Publications (2)

Publication Number Publication Date
CN110795202A true CN110795202A (en) 2020-02-14
CN110795202B CN110795202B (en) 2023-11-17

Family

ID=69426132

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810872138.9A Active CN110795202B (en) 2018-08-02 2018-08-02 Resource allocation method and device of virtualized cluster resource management system

Country Status (1)

Country Link
CN (1) CN110795202B (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111555909A (en) * 2020-04-21 2020-08-18 西安万像电子科技有限公司 Rendering resource allocation method for GPU POOL of graphics processor rendering POOL
CN113190350A (en) * 2021-04-30 2021-07-30 华南理工大学 LLC (logical Link control) distribution method for mixed deployment of off-line containers
CN113689518A (en) * 2021-09-15 2021-11-23 上海联影医疗科技股份有限公司 Image reconstruction method and device, computer equipment and storage medium

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101960418A (en) * 2008-03-26 2011-01-26 英特尔公司 Multi-core memory thermal throttling algorithms for improving power/performance tradeoffs
CN105955824A (en) * 2016-04-21 2016-09-21 华为技术有限公司 Method and device for configuring virtual resource
US20160284021A1 (en) * 2015-03-27 2016-09-29 Andrew Herdrich Systems, Apparatuses, and Methods for Resource Bandwidth Enforcement
WO2017166136A1 (en) * 2016-03-30 2017-10-05 华为技术有限公司 Vnf resource allocation method and device
CN107967180A (en) * 2017-12-19 2018-04-27 上海交通大学 Based on resource overall situation affinity network optimized approach and system under NUMA virtualized environments
US20180173549A1 (en) * 2016-12-16 2018-06-21 Intel Corporation Virtual network function performance monitoring

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101960418A (en) * 2008-03-26 2011-01-26 英特尔公司 Multi-core memory thermal throttling algorithms for improving power/performance tradeoffs
US20160284021A1 (en) * 2015-03-27 2016-09-29 Andrew Herdrich Systems, Apparatuses, and Methods for Resource Bandwidth Enforcement
WO2017166136A1 (en) * 2016-03-30 2017-10-05 华为技术有限公司 Vnf resource allocation method and device
CN105955824A (en) * 2016-04-21 2016-09-21 华为技术有限公司 Method and device for configuring virtual resource
US20180173549A1 (en) * 2016-12-16 2018-06-21 Intel Corporation Virtual network function performance monitoring
CN107967180A (en) * 2017-12-19 2018-04-27 上海交通大学 Based on resource overall situation affinity network optimized approach and system under NUMA virtualized environments

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111555909A (en) * 2020-04-21 2020-08-18 西安万像电子科技有限公司 Rendering resource allocation method for GPU POOL of graphics processor rendering POOL
CN111555909B (en) * 2020-04-21 2023-08-01 西安万像电子科技有限公司 Rendering resource allocation method for graphics processor rendering POOL GPU POOL
CN113190350A (en) * 2021-04-30 2021-07-30 华南理工大学 LLC (logical Link control) distribution method for mixed deployment of off-line containers
CN113689518A (en) * 2021-09-15 2021-11-23 上海联影医疗科技股份有限公司 Image reconstruction method and device, computer equipment and storage medium

Also Published As

Publication number Publication date
CN110795202B (en) 2023-11-17

Similar Documents

Publication Publication Date Title
US20210004258A1 (en) Method and Apparatus for Creating Virtual Machine
US10481953B2 (en) Management system, virtual communication-function management node, and management method for managing virtualization resources in a mobile communication network
US10481935B2 (en) Management system, overall management node, and management method for managing virtualization resources in a mobile communication network
US11301303B2 (en) Resource pool processing to determine to create new virtual resource pools and storage devices based on currebt pools and devices not meeting SLA requirements
JP6658882B2 (en) Control device, VNF placement destination selection method and program
US10924966B2 (en) Management method, management unit, and system
CN111221618B (en) Deployment method and device for containerized virtual network function
US11909603B2 (en) Priority based resource management in a network functions virtualization (NFV) environment
CN111949364A (en) Deployment method of containerized VNF and related equipment
CN109428764B (en) Virtual network function instantiation method
CN110795202B (en) Resource allocation method and device of virtualized cluster resource management system
EP3820083B1 (en) Physical function multiplexing method and apparatus and computer storage medium
EP4024767A1 (en) Vnf instantiation method, nfvo, vim, vnfm and system
JP7377965B2 (en) Network resource management methods, systems, network equipment and readable storage media
US20210326306A1 (en) Method and apparatus for deploying virtualised network function
KR20220104241A (en) Network working methods, devices, equipment and storage media
CN111045802B (en) Redis cluster component scheduling system and method and platform equipment
JP2024501005A (en) Management method and device for container clusters
CN107408058B (en) Virtual resource deployment method, device and system
CN116800616A (en) Management method and related device of virtualized network equipment
CN108737144B (en) Method and device for resource management
WO2021004320A1 (en) Service resource license management method and related device
CN112015515B (en) Instantiation method and device of virtual network function
CN112448833B (en) Multi-management-domain communication method and device
CN109413011B (en) Public service resource application method, related equipment and system

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