KR20170017183A - Apparatus, method and computer program for controlling virtual cpu - Google Patents

Apparatus, method and computer program for controlling virtual cpu Download PDF

Info

Publication number
KR20170017183A
KR20170017183A KR1020150110738A KR20150110738A KR20170017183A KR 20170017183 A KR20170017183 A KR 20170017183A KR 1020150110738 A KR1020150110738 A KR 1020150110738A KR 20150110738 A KR20150110738 A KR 20150110738A KR 20170017183 A KR20170017183 A KR 20170017183A
Authority
KR
South Korea
Prior art keywords
cpu
virtual
physical
server
priority application
Prior art date
Application number
KR1020150110738A
Other languages
Korean (ko)
Inventor
전재규
김종우
Original Assignee
주식회사 케이티
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 주식회사 케이티 filed Critical 주식회사 케이티
Priority to KR1020150110738A priority Critical patent/KR20170017183A/en
Publication of KR20170017183A publication Critical patent/KR20170017183A/en

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
    • 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
    • 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
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5003Managing SLA; Interaction between SLA and QoS

Abstract

The present invention relates to an apparatus, a method, and a computer program for controlling a virtual central processing unit (CPU). The apparatus for controlling the virtual CPU includes an input unit for receiving subscription information including a specification of a virtual server and a service level agreement (SLA), a generating unit for allocating a physical CPU based on the subscription information to generate the virtual server, a storage unit for storing a mapping relationship between the virtual CPU of the virtual server and the physical CPU allocated to the virtual server, a collection unit for collecting the usage rate of the virtual CPU and the usage rate of the physical CPU at predetermined time intervals, and a controller for controlling at least one of at least two virtual CPUs mapped with the physical CPU when the usage rate of the physical CPU satisfies a predetermined threshold criterion. The SLA includes information on whether a CPU priority application is set and the control unit assigns a weight to a virtual CPU that has set the CPU priority application or gives a capping to a virtual CPU that has not set a CPU priority application. Accordingly, the usage of at least two virtual CPUs is adjusted.

Description

[0001] APPARATUS, METHOD AND COMPUTER PROGRAM FOR CONTROLLING VIRTUAL CPU [0002]

The present invention relates to an apparatus, a method and a computer program for controlling a virtual CPU.

In order to optimize the use of physical hardware, virtualisation technology is commonly used to share a single physical resource while using a variety of virtual servers on a hypervisor basis. At this time, the scheduling management function of the hypervisor used between each virtual server affects the performance and throughput of the virtual system. In general, a virtual processing unit (CPU) allocated to a virtual server is asynchronously assigned to a physical CPU, which is managed by the hypervisor to maximize performance and throughput.

However, if the hypervisor shares physical CPU resources between virtual servers, some virtual servers will affect other virtual servers if they overuse CPU resources. Even though hypervisor tools such as Xen and vmware optimize scheduling, if overprovisioning is applied due to the characteristics of virtualization, it is a structure that can share the physical CPU between virtual servers. In order to solve this problem, some virtual servers need to manage and control the excessive use of the CPU for a certain period of time.

In this regard, Korean Patent Laid-Open Publication No. 2009-0055459 discloses a virtual machine monitor and a multiprocessor system. The virtual machine monitor and the multiprocessor system acquire the physical location information of the I / O device through the interface, In accordance with the specified policy.

Cloud service providers provide over provisioning for central processing unit (CPU) resources as a way to minimize business costs while providing virtual services. For example, if overprovisioning is 1.2, 20% of the physical CPU resources are shared by the virtual servers. In this case, a device and a method for controlling a virtual CPU so as to minimize a portion affected by the performance and the processing speed of the virtual server by the CPU processing / use of the other virtual server when the user uses the virtual server and satisfy the QoS for the virtual server And a computer program. A method and a computer program for controlling a virtual CPU capable of leveling individual core loads of physical nodes and reducing service failures of virtual servers by performing control over virtual CPU cores using overloads. A method and a computer program for controlling a virtual CPU capable of increasing the CPU overprovisioning rate and reducing the investment cost and improving the perceived quality such as the processing time for the use of the virtual server by the user.

According to an aspect of the present invention, there is provided an apparatus for controlling a virtual CPU (Central Processing Unit), the apparatus comprising: a server for storing subscription information including a specification of a virtual server and a service level agreement (SLA) A storage unit for storing a mapping relationship between a virtual CPU of the virtual server and a physical CPU allocated to the virtual server, a storage unit for storing a mapping relationship between a virtual CPU of the virtual server and a physical CPU allocated to the virtual server, A collection unit for collecting the usage rate of the virtual CPU and the utilization rate of the physical CPU in a time interval, and at least two of the virtual CPUs mapped with the physical CPU when the usage rate of the physical CPU satisfies a predetermined threshold criterion Wherein the SLA includes whether to set a CPU priority application, The virtual CPU control unit controls the usage of the at least two or more virtual CPUs by assigning weights to virtual CPUs with U priority application set or assigning capping to virtual CPUs not having CPU priority application set. Can be provided.

According to another embodiment of the present invention, there is provided a method of controlling a virtual CPU, the method comprising: receiving subscription information including a specification of a virtual server and a service level agreement (SLA) Storing a mapping relationship between a virtual CPU of the virtual server and a physical CPU allocated to the virtual server, and controlling the usage rate of the virtual CPU and the physical And controlling at least one of at least two virtual CPUs mapped with the physical CPU when the usage rate of the physical CPU satisfies a predetermined threshold criterion, wherein the SLA comprises a CPU Wherein the step of controlling includes assigning a weight to a virtual CPU for which CPU priority is set, Or a virtual CPU which does not set the CPU priority application is given a capping value to control the usage amount of the at least two or more virtual CPUs.

Still another embodiment of the present invention is a computer program stored in a medium for controlling a virtual CPU in cooperation with a computing device, The computer program, when executed by the computing device, receives subscription information including a specification of a virtual server and a service level agreement (SLA), allocates a physical CPU (Central Processing Unit) based on the subscription information, A virtual CPU and a physical CPU allocated to the virtual server, and collects the usage rate of the virtual CPU and the usage rate of the physical CPU at a predetermined time interval, And controlling at least one of at least two or more virtual CPUs mapped and stored with the physical CPU if the utilization rate of the physical CPU meets a preset threshold criterion, Wherein the step of controlling comprises the steps of: Is given by the limits (Capping) the virtual CPU is not assigned or set the CPU override value to adjust the amount of the at least two virtual CPU, it is possible to provide a computer program.

The above-described task solution is merely exemplary and should not be construed as limiting the present invention. In addition to the exemplary embodiments described above, there may be additional embodiments described in the drawings and the detailed description of the invention.

According to one of the above-mentioned objects of the present invention, a virtual CPU (Central Processing Unit) capable of minimizing a portion affected by processing / use of another virtual server and satisfying QoS for a virtual server when using the virtual server, A method, and a computer program for controlling the display device. A method and a computer program for controlling a virtual CPU capable of leveling individual core loads of physical nodes and reducing service failures of virtual servers by performing control over virtual CPU cores using overloads. It is possible to provide a device, a method, and a computer program for controlling a virtual CPU capable of increasing the CPU overprovisioning rate and reducing the investment cost and improving the quality of perception such as the processing time for the use of the virtual server by the user.

1 is a configuration diagram of a virtual CPU control apparatus according to an embodiment of the present invention.
2 is a diagram illustrating a user interface for receiving subscription information of a virtual server according to an embodiment of the present invention.
3 is a diagram for explaining a method of creating a virtual server according to an embodiment of the present invention.
4 is a diagram for explaining a mapping relationship between a physical CPU core and a virtual CPU core according to an embodiment of the present invention.
5 is a view for explaining a schema table showing a CPU sharing relationship between a physical server and a virtual server according to an embodiment of the present invention.
FIG. 6 is a view for explaining a virtual CPU control according to weight assignment and CPU restriction according to an embodiment of the present invention. Referring to FIG.
FIG. 7 is a view for explaining control execution results of a virtual CPU according to an embodiment of the present invention.
8 is a flowchart illustrating a process of controlling a virtual CPU according to an embodiment of the present invention.

Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings, which will be readily apparent to those skilled in the art. The present invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. In order to clearly illustrate the present invention, parts not related to the description are omitted, and similar parts are denoted by like reference characters throughout the specification.

Throughout the specification, when a part is referred to as being "connected" to another part, it includes not only "directly connected" but also "electrically connected" with another part in between . Also, when an element is referred to as "including" an element, it is to be understood that the element may include other elements as well as other elements, And does not preclude the presence or addition of one or more other features, integers, steps, operations, components, parts, or combinations thereof.

In this specification, the term " part " includes a unit realized by hardware, a unit realized by software, and a unit realized by using both. Further, one unit may be implemented using two or more hardware, or two or more units may be implemented by one hardware.

In this specification, some of the operations or functions described as being performed by the terminal or the device may be performed in the server connected to the terminal or the device instead. Similarly, some of the operations or functions described as being performed by the server may also be performed on a terminal or device connected to the server.

Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.

1 is a configuration diagram of a virtual CPU control apparatus according to an embodiment of the present invention. 1, a virtual CPU (Central Processing Unit) controller 100 includes an input unit 110, a generating unit 120, a storage unit 130, a collecting unit 140, a control unit 150, and a threshold input unit 160, and the present invention is not limited to this, and may include a subscription DB 112, a mapping DB 132, a CPU utilization DB 142, a control history DB 152 and a threshold value DB 162 . Hereinafter, each configuration of the virtual CPU control device 100 will be described in detail.

The input unit 110 may receive subscription information including a specification of a virtual server and a service level agreement (SLA) from a user. The specification of the virtual server may include the name of the virtual server, the password, the number of virtual cores, the memory capacity, the disk capacity, the number of CPU clocks, and the SLA may include, but is not limited to, .

The input unit 110 can receive the subscription information including the specification of the virtual server and the SLA from the user through the virtual server subscription UI and store the subscription information inputted in the subscription DB 112. [ Hereinafter, the virtual server subscription UI will be described with reference to FIG.

2 is a diagram illustrating a user interface for receiving subscription information of a virtual server according to an embodiment of the present invention. 2, the user interface includes a basic server specification (virtual core number, memory capacity (MM), disk capacity, and CPU clock number) for generating a virtual server and data (CPU resource priority or CPU resource ratio Priority application) can be input. At this time, the cost for using the virtual server can be differentiated according to the SLA information selection. Therefore, for example, when the virtual server used by the user is not sensitive to service processing time, CPU resource non-priority application can be selected so that the virtual server use cost can be discounted and used. The number of CPU clocks can be requested within the number of clocks provided by the physical core. For example, if the number of clocks of the physical core is 2.98 Ghz, the user can select 1 Ghz to 2 Ghz. The higher the number of CPU clocks, the more priority is given to CPU resource contention. When the CPU resource priority application field is checked, a service can be provided so that CPU resources can be allocated preferentially when a CPU contention occurs.

Referring back to FIG. 1, the generation unit 120 can create a virtual server by allocating a physical CPU based on the subscription information received from the input unit 110.

The generation unit 120 generates virtual CPUs such that the virtual CPUs that set the CPU priority application and the virtual CPUs that set the CPU non-priority application at the time of generation of the virtual CPUs are uniformly mapped to the physical CPUs CPU can be allocated. That is, the generator 120 can generate the virtual servers 310 and 320 uniformly in one physical server 300 with the CPU resource priority data among the SLA data of the subscription content. For example, the virtual servers 310 and 320 generated in one physical server 300 can be generated in a ratio of CPU resource priority: CPU resource non-priority = 50:50 on average. Hereinafter, an exemplary method of allocating physical resources to create a virtual server will be described with reference to FIG.

3 is a diagram for explaining a method of creating a virtual server according to an embodiment of the present invention. 3, when there is a request to create virtual servers 310 and 320, CPU scheduler 340 and memory / disk / network scheduler 360 receive physical CPU resources 200, memory resources 220, A disk resource 240 and a network resource 260 may be allocated to create virtual servers 310 and 320. [

At this time, one or more virtual servers 310 and 320 can be operated on one physical device server, and a general hypervisor internally "fair-share balancing " algorithm "to distribute resources. The virtual servers 310 and 320 can share the physical CPU resources 200, the memory resources 220, the disk resources 240, and the network resources 260, respectively. In particular, in the case of the CPU resource 200 or the disk resource 240, it is possible to perform resource sharing between virtual servers by introducing an overprovisioning that the virtual servers 310 and 320 are not busy / full simultaneously. For example, when the CPU overprovisioning value is 1.2, up to 12 virtual CPUs can be allocated to the virtual servers 310 and 320 when there are 10 CPU cores.

Referring back to FIG. 1, the storage unit 130 may store a mapping relationship between a virtual CPU of a virtual server and a physical CPU allocated to the virtual server. In this case, the physical CPU includes one or more physical CPU cores, and the virtual CPU may include one or more virtual CPU cores, and the storage unit 130 stores the mapping relationship between the physical CPU cores and the virtual CPU cores in a schema table . Hereinafter, the mapping relationship between the physical CPU core and the virtual CPU core and the schema table will be described with reference to FIGS. 4 and 5. FIG.

4 is a diagram for explaining a mapping relationship between a physical CPU core and a virtual CPU core according to an embodiment of the present invention. Referring to FIG. 4, a plurality of virtual servers 310, 320, and 330 share a physical CPU resource 200. FIG. 4 shows a case where the CPU over provisioning value is 1.2, and shows that there are 10 physical cores and four virtual CPUs (total of 12) are assigned to the virtual servers allocated thereto. The hypervisor allocates dedicated CPU resources per virtual server to optimize optimal resource utilization and prevents CPU conflicts with each other, and shares resources with the remaining two physical CPUs (No. 7 and No. 8 cores of the 200) You can map to use. If one of the virtual servers 320 and 330 uses the CPU excessively, it may affect other virtual servers. In such a situation, a method of controlling a virtual CPU according to an embodiment of the present invention Can be performed.

5 is a view for explaining a schema table showing a CPU sharing relationship between a physical server and a virtual server according to an embodiment of the present invention. Referring to FIG. 5, the schema table according to an embodiment of the present invention may include a physical core, a virtual server name, a virtual core, a number of virtual cores sharing a physical core, It is not limited.

Referring to FIG. 5, the schema table may collect and store virtual core information allocated for each physical core. For example, referring to the schema table, the physical core # 3 can see that the virtual core # 3 of the virtual machine (VM) 1 and the virtual core # 1 of the VM 2 share the CPU resource. In addition, the number of shares can be additionally managed in order to determine whether or not there is a contention, and then the CPU can be controlled on a physical core having a shared virtual core number of 2 or more. Also, when constructing the schema table, it is possible to inquire the subscription information and determine whether or not the CPU control is necessary by constructing the SLA application for the corresponding user.

Referring back to FIG. 1, the collecting unit 140 may collect the utilization rate of the virtual CPU and the utilization rate of the physical CPU at predetermined time intervals. The collection unit 140 may collect the usage rates of the physical CPU and the virtual CPU by using the agents 202, 312, and 322 installed in the physical server 300 and the virtual servers 310 and 320. The agent 202 can be installed inside the cloud server OS, and the agents 312 and 322 can be installed and installed in advance in the virtual server creation as needed, and deployed.

The collecting unit 140 may periodically collect utilization rates for each of the CPU cores of the physical server and periodically collect usage rates of the virtual CPUs of the virtual servers. Also, the collection unit 140 may store the utilization rate of the virtual CPU of the virtual server and the utilization rate of the physical CPU in the CPU utilization DB 142.

The control unit 150 stores the subscription information input from the input unit 100, the physical CPU and virtual CPU usage rates collected by the collection unit 140, the mapping relationship stored in the storage unit 130, and the threshold value input from the threshold input unit 160. [ The control command of the virtual CPU can be executed.

The control unit 150 executes a control command for the CPU of the virtual server, and can execute a control command for each virtual core when the CPU of the virtual server has a plurality of virtual cores.

The control unit 150 may control at least one of at least two or more virtual CPUs mapped to the physical CPU and stored when the usage rate of the physical CPU collected by the collection unit 140 satisfies the set threshold criterion.

The threshold criterion may include the maximum utilization and maintenance time of the physical CPU. For example, you can set a threshold of 90% for a public cloud system, 5 minutes for a private cloud server, or 80% for a private cloud server. In this case, The control unit 150 can perform control of the virtual CPU when a contention ratio of 90% (or 80%) of the physical CPU core is used for 5 minutes (or 1 minute) or more.

The operation of the control unit 150 will be described with reference to FIG. 5 described above. If the physical core 3 satisfies the criterion (for example, 90% or more for 5 minutes or longer) of the physical core 3, the SLA level level is checked for VM1 core 3 and VM2 core 1 using the physical core 3 CPU control commands can be executed on the virtual core in the following manner.

There are two main types of control commands: one is to provide CPU resources first, and the other is to provide CPU resources in a non-priority (some CPU resources are available). As a method of using the CPU resources firstly, a weight is additionally allocated to the corresponding CPU core, and control processing is performed so that more priority CPU resources can be used in case of contention. For example, if you assign weight = 512, you can do more with twice the CPU resources than the default 256. In a non-preferential manner, the capping is given to the virtual server CPU core so that CPU resources can be used only at a capping rate. For example, if cap = 80, only 80% of the total CPU resources are available.

The control unit 150 calculates an average usage rate of the physical CPU over a predetermined period of time by using the collected usage amount of the physical CPU, It is possible to determine whether the average utilization rate satisfies the threshold criterion by comparing the average utilization rate with the threshold value criterion. If the average utilization rate of the physical CPU satisfies the threshold criterion, the control unit 150 inquires of the CPU whether or not the CPU priority application of the virtual CPU and the virtual CPU mapped to the physical CPU is set. If the CPU priority application is set, Can be controlled.

A) the virtual servers sharing a specific physical CPU core are all subscribed to SLA; b) only some virtual servers are subscribed to SLA; and c) It can be distinguished when all virtual servers do not subscribe to SLAs. The control unit 150 can return (a) the virtual CPU mapped to the specific physical CPU core in which the contention occurs, without any control. (b) or (c), virtual servers that apply for SLAs can apply priority over weights so that they can use a lot of CPU resources. In the case of a virtual server having no priorities, a capping function may be utilized to limit the use of some resources. Hereinafter, the operation of the control unit 150 will be described in more detail with reference to FIG. 6 and FIG.

FIG. 6 is a view for explaining a virtual CPU control according to weight assignment and CPU restriction according to an embodiment of the present invention. Referring to FIG. Referring to FIG. 6, when eight virtual servers in one physical server are operating in a virtual server specification described in the table, priority allocation that can use CPU resources is determined according to weight and cap values .

The higher the weight value, the higher the virtual core can be allocated. The default weight value is 256 * 2 Ghz (allocated) / 2.98 Ghz (physical) = 172 from VM1 to VM4 when the physical core is 2.98 Ghz 256 * 1 Ghz (allocation) / 2.98 Ghz (physical) = 86 from VM5 to VM8, and allocates more resources to the virtual server having a higher weight value in case of contention.

The Cap value is a percentage of the total available CPU resources. A value of 0 is infinite. Otherwise, CPU resources can be used by that ratio. For example, in the case of VM2, if the restriction is given, only 68% of the total CPU resources can be used, with 2 Ghz (allocation) / 2.98 Ghz (physical) = 0.68. In the case of a 4-core VM4, 0.68 / 4 = 0.17, and only 17% can be used per core.

FIG. 7 is a view for explaining control execution results of a virtual CPU according to an embodiment of the present invention. Referring to FIG. 7A, there is shown a case where four virtual servers are operating in one physical server in a virtualized environment, and each virtual CPU usage rate is 100% continuously used. The control unit 150 may perform CPU capping for the 44095VM and the 44096VM when the virtual servers 44095VM and 44096VM set the CPU resource non-application by referring to the SLA criteria of the virtual server. 7B, the controller 150 restricts the CPU resources in real time to minimize the actual physical CPU user resources used by the virtual server, and for the remaining virtual servers 44085VM and 44094VM, more CPU Resources can be used for processing.

Referring back to FIG. 1, the control history DB 152 may store the control history of the virtual CPU performed by the control unit 150.

The threshold value input unit 160 may receive a threshold criterion from an operator or a user. The threshold criterion may include the maximum utilization and maintenance time of the physical CPU, for example, 90% for a public cloud system, 5 minutes, or for a private cloud server of a particular user 80% 1 minute and so on. The threshold value DB 162 may store a threshold criterion.

8 is a flowchart illustrating a process of controlling a virtual CPU according to an embodiment of the present invention. Referring to FIG. 8, the input unit receives the specification of the virtual server and the SLA-related information from the user (S801) and manages the subscription DB for each user (S802). The generator generates a virtual server by allocating a physical CPU based on the received subscription information (S803). At this time, the generator can create a virtual server so that the SLA conditions per physical CPU can be evenly distributed.

Thereafter, the collecting unit collects the utilization rate of the physical CPU (S804). The collector can periodically collect the virtual CPU utilization of the entire cloud physical system and the virtual server, including the newly created virtual server. The storage unit stores the mapping relationship between the physical CPU and the virtual CPU in the mapping DB (S805). The storage unit periodically manages the mapping relationship between the physical CPU and the virtual CPU, and this data can be used when controlling the virtual CPU of the virtual server when a condition requiring control occurs due to a contention in the physical CPU.

The threshold input unit may receive a threshold reference from a user or an operator, or may load a threshold reference stored in the threshold DB (S806). The threshold criterion can be used to determine whether or not there is a CPU contention.

The control unit checks whether CPU contention occurs at predetermined time intervals based on the CPU usage rate and threshold criterion (S807). The control unit can load the threshold information for each physical CPU unit, for example, and periodically calculate an average CPU usage rate for a certain time period to compare the two values.

If the usage rate of the physical CPU satisfies the threshold criterion, the controller returns the physical CPU core number (S810). If the virtual core and the virtual server mapped to the physical CPU core are found, (S811).

If all the mapped virtual servers have set the CPU priority, the control unit returns without any control (S813). If some of the virtual servers set priority or all of the virtual servers have SLA The virtual server can be controlled by assigning a weight to the virtual server for which the priority application has been set (S814) or giving a restriction to the virtual server for which the non-priority application is set (S815). The control history DB stores the virtual server control history of the control unit (S816).

Returning to step S808, if the control unit confirms whether or not the contention of the CPU is satisfied, if the usage rate of the physical CPU does not satisfy the threshold criterion, all the CPU resources operate well without contention. If such a condition is maintained for a predetermined period of time, if there is a virtual CPU core to which the CPU control is applied, the original recovery is performed (S820). Specifically, after inquiring the CPU control history data stored in the control history DB, the application of the weight or the cap is restored to the virtual core (S821, S822).

In the above description, steps S801 to S822 may be further divided into further steps or combined into fewer steps, according to an embodiment of the present invention. Also, some of the steps may be omitted as necessary, and the order between the steps may be changed.

The method for controlling the virtual CPU according to the embodiment of the present invention described in Fig. 8 may be implemented in the form of a recording medium including a program stored in a medium executed by the computer or an instruction executable by the computer. Computer readable media can be any available media that can be accessed by a computer and includes both volatile and nonvolatile media, removable and non-removable media. In addition, the computer-readable medium can include both computer storage media and communication media. Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Communication media typically includes any information delivery media, including computer readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave, or other transport mechanism.

It will be understood by those skilled in the art that the foregoing description of the present invention is for illustrative purposes only and that those of ordinary skill in the art can readily understand that various changes and modifications may be made without departing from the spirit or essential characteristics of the present invention. will be. It is therefore to be understood that the above-described embodiments are illustrative in all aspects and not restrictive. For example, each component described as a single entity may be distributed and implemented, and components described as being distributed may also be implemented in a combined form.

The scope of the present invention is defined by the appended claims rather than the detailed description and all changes or modifications derived from the meaning and scope of the claims and their equivalents are to be construed as being included within the scope of the present invention do.

100: Virtual CPU control device
110: input unit
120: Generator
130:
140:
150:
160: threshold value input section

Claims (20)

An apparatus for controlling a virtual CPU,
An input unit for receiving subscription information including a specification of a virtual server and a service level agreement (SLA);
A generating unit for allocating a physical CPU (Central Processing Unit) based on the subscription information to generate the virtual server;
A storage unit for storing a mapping relationship between a virtual CPU of the virtual server and a physical CPU allocated to the virtual server;
A collection unit for collecting usage rates of the virtual CPU and the physical CPU at predetermined time intervals; And
And a controller for controlling at least one of at least two virtual CPUs mapped with the physical CPU when the usage rate of the physical CPU meets a predetermined threshold criterion,
The SLA includes whether or not the CPU priority application is set,
Wherein the controller adjusts the usage of the at least two virtual CPUs by assigning weights to virtual CPUs that have set CPU overrides or by imposing capping on virtual CPUs that have not set CPU overrides, CPU control device.
The method according to claim 1,
Wherein the generation unit assigns a physical CPU such that a virtual CPU that sets the CPU priority application and a virtual CPU that does not set the CPU priority application are mapped equally to the physical CPU based on the SLA, CPU control device.
The method according to claim 1,
The physical CPU comprising one or more physical CPU cores, the virtual CPU comprising one or more virtual CPU cores,
Wherein the storage unit stores a mapping relationship between the physical CPU core and the virtual CPU core in a schema table.
The method of claim 3,
Wherein the control unit controls the CPU usage amount for each of the virtual CPU cores.
The method according to claim 1,
Wherein the controller calculates an average utilization rate of the physical CPU for a predetermined time, compares the average utilization rate with the threshold criterion, and when the average utilization rate satisfies the threshold criterion, And a virtual CPU control unit for inquiring whether or not the virtual CPU has been set for CPU priority application and controlling the virtual CPU based on whether or not the CPU priority application is set.
The method according to claim 1,
Wherein the collecting unit collects the usage rate of the physical CPU and the utilization rate of the virtual CPU by using an agent installed in the physical server and the virtual server.
The method according to claim 1,
Wherein the threshold criterion comprises a maximum utilization rate and a maintenance time of the physical CPU,
The method according to claim 1,
Wherein the control unit does not control the virtual CPU when all the at least two or more virtual CPUs have set the CPU priority application,
The method according to claim 1,
Wherein the control unit controls the virtual CPU based on utilization rates of the virtual CPU and the physical CPU, the threshold reference, the SLA, and mapping information of the virtual CPU and the physical CPU.
The method according to claim 1,
A threshold value input unit receiving the threshold value;
A threshold storage unit for storing the threshold reference; And
A control history storage unit for storing a control history of the virtual CPU,
Further comprising a virtual CPU control unit
A method for controlling a virtual CPU,
Receiving subscription information including a specification of a virtual server and a service level agreement (SLA);
Allocating a physical CPU (Central Processing Unit) based on the subscription information to generate the virtual server;
Storing a mapping relationship between a virtual CPU of the virtual server and a physical CPU allocated to the virtual server;
Collecting the usage rate of the virtual CPU and the usage rate of the physical CPU at predetermined time intervals; And
And controlling at least one of at least two virtual CPUs mapped with the physical CPU and stored when the utilization rate of the physical CPU meets a predetermined threshold criterion,
The SLA includes whether or not the CPU priority application is set,
Wherein the controlling step adjusts the usage amount of the at least two virtual CPUs by assigning a weight to a virtual CPU that sets CPU priority application or by giving a capping to a virtual CPU that does not set CPU priority application , Virtual CPU control method.
11. The method of claim 10,
Wherein the generating step allocates a physical CPU based on the SLA so that a virtual CPU that sets the CPU overrides and a virtual CPU that does not set the CPU overrides can be evenly mapped to the physical CPU. How to control virtual CPUs.
11. The method of claim 10,
The physical CPU comprising one or more physical CPU cores, the virtual CPU comprising one or more virtual CPU cores,
Wherein the storing step stores a mapping relationship between the physical CPU core and the virtual CPU core in a schema table.
14. The method of claim 13,
Wherein the controlling step adjusts a CPU usage amount for each of the virtual CPU cores.
11. The method of claim 10,
Wherein the controlling comprises:
Calculating an average utilization rate of the physical CPU for a predetermined time;
Comparing the average utilization rate with the threshold criterion;
Inquiring whether or not to set CPU overrides of the virtual CPU and the virtual CPU mapped to the physical CPU when the average utilization rate satisfies the threshold criterion; And
Controlling the virtual CPU based on whether the CPU priority application is set or not
The virtual CPU control method comprising the steps of:
11. The method of claim 10,
Wherein the collecting step collects the usage rate of the physical CPU and the utilization rate of the virtual CPU using an agent installed in the physical server and the virtual server.
11. The method of claim 10,
Wherein the threshold criterion comprises a maximum utilization rate and a maintenance time of the physical CPU.
11. The method of claim 10,
Wherein the controlling step does not control the virtual CPU when the at least two or more virtual CPUs mapped with the physical CPU and setting the CPU overrides.
A computer program stored in a medium for controlling a virtual CPU in cooperation with a computing device,
The computer program, when executed by the computing device,
Receives subscription information including a specification of a virtual server and a service level agreement (SLA)
A physical CPU (Central Processing Unit) is allocated based on the subscription information to create the virtual server,
Storing a mapping relationship between a virtual CPU of the virtual server and a physical CPU allocated to the virtual server,
Collects the usage rate of the virtual CPU and the usage rate of the physical CPU at predetermined time intervals,
And a control unit for controlling at least one of at least two virtual CPUs mapped with the physical CPU when the utilization rate of the physical CPU satisfies a predetermined threshold criterion,
The SLA includes whether or not the CPU priority application is set,
Wherein the controlling step adjusts the usage amount of the at least two virtual CPUs by assigning a weight to a virtual CPU that sets CPU priority application or by giving a capping to a virtual CPU that does not set CPU priority application , Computer program.
20. The method of claim 19,
The apparatus,
And allocating a physical CPU based on the SLA so that a virtual CPU for which the CPU priority application is set and a virtual CPU for which the CPU priority application is not set can be evenly mapped to the physical CPU.
KR1020150110738A 2015-08-05 2015-08-05 Apparatus, method and computer program for controlling virtual cpu KR20170017183A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150110738A KR20170017183A (en) 2015-08-05 2015-08-05 Apparatus, method and computer program for controlling virtual cpu

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150110738A KR20170017183A (en) 2015-08-05 2015-08-05 Apparatus, method and computer program for controlling virtual cpu

Publications (1)

Publication Number Publication Date
KR20170017183A true KR20170017183A (en) 2017-02-15

Family

ID=58112156

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150110738A KR20170017183A (en) 2015-08-05 2015-08-05 Apparatus, method and computer program for controlling virtual cpu

Country Status (1)

Country Link
KR (1) KR20170017183A (en)

Similar Documents

Publication Publication Date Title
Zhani et al. Vdc planner: Dynamic migration-aware virtual data center embedding for clouds
US9183016B2 (en) Adaptive task scheduling of Hadoop in a virtualized environment
US10129101B2 (en) Application driven and adaptive unified resource management for data centers with Multi-Resource Schedulable Unit (MRSU)
CN107222531B (en) Container cloud resource scheduling method
US9304803B2 (en) Cooperative application workload scheduling for a consolidated virtual environment
US20170371717A1 (en) Resource management in cloud systems
WO2020015356A1 (en) Method and system for cluster rate limiting in a cloud computing system
KR101880407B1 (en) Resource management method, host, and endpoint
US9772792B1 (en) Coordinated resource allocation between container groups and storage groups
JP6783850B2 (en) Methods and systems for limiting data traffic
US10630600B2 (en) Adaptive network input-output control in virtual environments
Fan et al. Simulated-annealing load balancing for resource allocation in cloud environments
Taherizadeh et al. Auto-scaling applications in edge computing: Taxonomy and challenges
WO2016041446A1 (en) Resource allocation method, apparatus and device
US11726816B2 (en) Scheduling workloads on a common set of resources by multiple schedulers operating independently
Seth et al. Dynamic threshold-based dynamic resource allocation using multiple VM migration for cloud computing systems
Tonini et al. Benefits of Pod dimensioning with best-effort resources in bare metal cloud native deployments
Miraftabzadeh et al. Efficient distributed algorithm for scheduling workload-aware jobs on multi-clouds
US10956228B2 (en) Task management using a virtual node
Himthani et al. Comparative analysis of VM scheduling algorithms in cloud environment
Kesavan et al. Active coordination (act)-toward effectively managing virtualized multicore clouds
Balla et al. Estimating function completion time distribution in open source FaaS
Patil et al. Resource allocation and scheduling in the cloud
Cucinotta et al. Virtual network functions as real-time containers in private clouds
KR20170017183A (en) Apparatus, method and computer program for controlling virtual cpu