CN111580937B - Automatic virtual machine scheduling method for Feiteng multi-core/many-core hybrid cluster - Google Patents

Automatic virtual machine scheduling method for Feiteng multi-core/many-core hybrid cluster Download PDF

Info

Publication number
CN111580937B
CN111580937B CN202010554622.4A CN202010554622A CN111580937B CN 111580937 B CN111580937 B CN 111580937B CN 202010554622 A CN202010554622 A CN 202010554622A CN 111580937 B CN111580937 B CN 111580937B
Authority
CN
China
Prior art keywords
virtual machine
core
server
many
scheduling
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010554622.4A
Other languages
Chinese (zh)
Other versions
CN111580937A (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.)
National University of Defense Technology
Original Assignee
National University of Defense Technology
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 National University of Defense Technology filed Critical National University of Defense Technology
Priority to CN202010554622.4A priority Critical patent/CN111580937B/en
Publication of CN111580937A publication Critical patent/CN111580937A/en
Application granted granted Critical
Publication of CN111580937B publication Critical patent/CN111580937B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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
    • 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/4557Distribution of virtual machine instances; Migration and load balancing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5022Workload threshold
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Hardware Redundancy (AREA)

Abstract

The invention discloses a method for automatically scheduling a virtual machine facing a Feiteng multi-core/many-core hybrid cluster, which comprises the following steps of firstly scheduling a low-load virtual machine to release resources, and then scheduling a high-load virtual machine: acquiring a virtual machine with the resource occupation higher than a preset threshold value to obtain a high-load virtual machine set; for each virtual machine in the high-load virtual machine set: if the virtual machine is positioned on a multi-core server and available resources on a many-core server meet the migration requirement of the virtual machine, migrating the virtual machine to the many-core server to run; otherwise, if the available resources of the server where the virtual machine is located meet the requirement of increasing the configuration of the virtual machine, increasing the configuration for the virtual machine. The invention can automatically dispatch the virtual machine to a proper physical server according to the historical load information of the virtual machine and automatically adjust the configuration of the virtual machine, thereby providing proper resource configuration for the virtual machine, ensuring the application performance of the virtual machine and improving the utilization rate of resources.

Description

Automatic virtual machine scheduling method for Feiteng multi-core/many-core hybrid cluster
Technical Field
The invention relates to a virtual machine scheduling management technology, in particular to a virtual machine automatic scheduling method for a Feiteng multi-core/many-core hybrid cluster.
Background
Resource allocation and scheduling with virtual machines as granularity are one of core technologies of a cloud computing platform. With the continuous improvement and improvement of the functional performance of a domestic processor represented by Feiteng, due to the reasons of multiple aspects such as fast iteration of hardware, multi-stage construction of projects and the like, the phenomenon that the same series and different inter-generation processor platforms in the same cloud server cluster commonly exist, as a domestic server based on the Feiteng multi-core processor and a domestic server based on the Feiteng many-core processor exist, the single core performance of the latter is higher, the memory speed is higher, and the memory capacity is larger, so that the Feiteng multi-core/many-core hybrid cluster is a cluster formed by the domestic server based on the Feiteng multi-core processor and the domestic server based on the Feiteng many-core processor. On the other hand, in the process of migrating an application to a cloud, in order to meet an access request under a peak condition, a user often requests virtual machine resources according to the maximum pressure during initial resource allocation, or tends to use a hardware server with higher configuration (like when a soar multi-core server and a many-core server exist, a many-core server with higher single-core performance and higher memory speed is preferentially used), so that resource waste exists to different degrees, and some applications which really need higher-performance resources cannot obtain required resources.
The existing virtual machine dynamic scheduling method generally aims at improving the utilization rate of physical servers in a cloud computing system, preventing overload or idling, reducing energy consumption and the like, and rarely considers the difference of different physical server configurations in a mixed cluster, so that applications with different resource requirements are scheduled to be operated on a proper server in a targeted manner.
Disclosure of Invention
The technical problems to be solved by the invention are as follows: aiming at the problems in the prior art, the invention provides an automatic virtual machine scheduling method facing a Feiteng multi-core/many-core hybrid cluster, which can automatically schedule a virtual machine to a proper physical server according to historical load information of the virtual machine and automatically adjust the configuration of the virtual machine, thereby providing proper resource configuration for the virtual machine, ensuring the application performance of the virtual machine and improving the utilization rate of resources.
In order to solve the technical problems, the invention adopts the technical scheme that:
a method for automatically scheduling a virtual machine facing a Feiteng multi-core/many-core hybrid cluster, wherein the Feiteng multi-core/many-core hybrid cluster comprises a multi-core server and a many-core server, and the method comprises the following steps of scheduling a high-load virtual machine:
1) Acquiring a virtual machine with the resource occupation higher than a preset threshold value to obtain a high-load virtual machine set;
2) For each virtual machine in the high-load virtual machine set: if the virtual machine is positioned on a multi-core server and available resources on a many-core server meet the migration requirement of the virtual machine, migrating the virtual machine to the many-core server to run; otherwise, if the available resources of the server where the virtual machine is located meet the requirement of increasing the configuration of the virtual machine, increasing the configuration for the virtual machine.
Optionally, the detailed processing step in step 2) for each virtual machine in the high-load virtual machine set includes:
2.1 Judging whether the virtual machine is positioned in a multi-core server, and skipping to execute the step 2.2) if the virtual machine is positioned in the multi-core server; otherwise, skipping to execute the step 2.3);
2.2 Judging whether the available resources on the many-core server can meet the migration requirement of the virtual machine, if so, migrating the virtual machine to the many-core server for operation, and quitting; otherwise, judging whether the available resources of the multi-core server can meet the requirement of the increased configuration of the virtual machine, if so, increasing the configuration of the virtual machine, and exiting; otherwise, skipping to execute the step 2.4);
2.3 Judging whether the available resources on the many-core server can meet the requirement of the increased configuration of the virtual machine, if so, increasing the configuration of the virtual machine, and exiting; otherwise, skipping to execute the step 2.4);
2.4 Does not perform any scheduling operation on the virtual machine, ends and exits.
Optionally, the operation of issuing a warning is further included before ending and exiting in step 2.4).
Optionally, before the scheduling of the high-load virtual machine, the method further includes the step of scheduling the low-load virtual machine:
s1) acquiring a virtual machine with resource occupation lower than a preset threshold value to obtain a low-load virtual machine set;
s2) aiming at each virtual machine in the low-load virtual machine set: if the virtual machine is located in a many-core server and available resources on a multi-core server meet the migration requirement of the virtual machine, migrating the virtual machine to the multi-core server for running; otherwise, if the available resources of the server where the virtual machine is located meet the requirement of the reduced configuration of the virtual machine, the reduced configuration of the virtual machine is performed.
Optionally, the detailed processing step in step S2) for each virtual machine in the low-load virtual machine set includes:
s2.1) judging whether the virtual machine is located in a many-core server, and if the virtual machine is located in the many-core server, skipping to execute the step S2.2); otherwise, skipping to execute the step S2.3);
s2.2) judging whether the available resources on the multi-core server can meet the migration requirement of the virtual machine, if so, migrating the virtual machine to the multi-core server for operation, and quitting; otherwise, skipping to execute the step S2.3);
s2.3) reducing the configuration for the virtual machine and exiting.
In addition, the invention also provides a virtual machine automatic scheduling system for the Feiteng multi-core/many-core hybrid cluster, which comprises a computer device, wherein the computer device is programmed or configured to execute the steps of the virtual machine automatic scheduling method for the Feiteng multi-core/many-core hybrid cluster, or a computer program which is programmed or configured to execute the virtual machine automatic scheduling method for the Feiteng multi-core/many-core hybrid cluster is stored in a memory of the computer device.
In addition, the invention also provides a Feiteng multi-core/many-core hybrid cluster, which comprises a multi-core server, a many-core server and a scheduling node, wherein the scheduling node is programmed or configured to execute the steps of the virtual machine automatic scheduling method for the Feiteng multi-core/many-core hybrid cluster, or a computer program which is programmed or configured to execute the virtual machine automatic scheduling method for the Feiteng multi-core/many-core hybrid cluster is stored in a memory of the scheduling node.
In addition, the invention also provides a computer readable storage medium, wherein a computer program programmed or configured to execute the method for automatically scheduling the virtual machine oriented to the Feiteng multi-core/many-core hybrid cluster is stored in the computer readable storage medium.
In addition, the invention also provides a virtual machine automatic scheduling method facing to a mixed cluster, wherein the mixed cluster comprises servers with more than two performance grades, and the method comprises the following steps of scheduling the high-load virtual machine:
a1 Obtaining a virtual machine with resource occupation higher than a preset threshold value in the mixed cluster to obtain a high-load virtual machine set;
a2 For each virtual machine in the set of high-load virtual machines: if a server with a higher performance level exists above the performance level of the server where the virtual machine is located, and available resources on the server with the higher performance level meet the migration requirement of the virtual machine, migrating the virtual machine to the server with the higher performance level for running; otherwise, if the available resources of the server where the virtual machine is located or other servers of the same performance level are enough for the virtual machine to increase the configuration, the configuration is increased for the virtual machine.
Optionally, the method further includes the step of performing low-load virtual machine scheduling:
b1 Obtaining a virtual machine with the resource occupation lower than a preset threshold value in the mixed cluster to obtain a low-load virtual machine set;
b2 For each virtual machine in the set of low-load virtual machines: if a server with a lower performance level exists below the performance level of the server where the virtual machine is located and available resources on the server with the lower performance level meet the migration requirement of the virtual machine, migrating the virtual machine to the server with the lower performance level for running; otherwise, the configuration is reduced for the virtual machine.
Compared with the prior art, the invention has the following advantages:
1. the invention fully considers the difference of multi-core/many-core physical servers, especially servers with different performance levels such as different generation processors and the like in performance, and makes a decision between two operations of migration and configuration change according to the actual load condition of the virtual machine, and the high-load working condition can be adapted by migration or configuration increase when the load is too high.
2. The invention not only uses the migration operation to dynamically adjust the virtual machine, but also adopts a method for changing the running configuration of the virtual machine, thereby providing more accurate resource supply for the virtual machine and improving the resource use efficiency of the whole system.
In summary, the present invention can automatically schedule the virtual machine to the appropriate physical server according to the historical load information of the virtual machine and automatically adjust the configuration of the virtual machine, thereby providing the appropriate resource configuration for the virtual machine, and improving the utilization rate of the resource while ensuring the application performance of the virtual machine.
Drawings
Fig. 1 is a schematic basic flow chart of medium and high load virtual machine scheduling according to an embodiment of the present invention.
Fig. 2 is a detailed flowchart illustrating the scheduling of a medium/high load virtual machine according to an embodiment of the present invention.
Fig. 3 is a detailed flowchart illustrating a scheduling of a low/medium load virtual machine according to an embodiment of the present invention.
Fig. 4 is a schematic structural diagram of a principle of a soar multi-core/many-core hybrid cluster in an embodiment of the present invention.
Detailed Description
The first embodiment is as follows:
the method for automatically scheduling a virtual machine oriented to a multi-core/many-core hybrid cluster of the invention will be further described in detail below by taking a multi-core/many-core hybrid cluster of a multi-core server and a many-core server as an example.
As shown in fig. 1, the method for automatically scheduling a virtual machine for a multi-core/many-core mixed cluster in the embodiment includes the steps of performing high-load virtual machine scheduling:
1) Acquiring a virtual machine with resource occupation higher than a preset threshold to obtain a high-load virtual machine set, which is recorded as a VM _ high load set in this embodiment;
2) For each virtual machine in the high-load virtual machine set: if the virtual machine is positioned on a multi-core server and available resources on a many-core server meet the migration requirement of the virtual machine, migrating the virtual machine to the many-core server for operation; otherwise, if the available resources of the server where the virtual machine is located meet the requirement of increasing the configuration of the virtual machine, increasing the configuration for the virtual machine.
It should be noted that the resource occupation may be the occupation proportion of the CPU, the memory, the disk IO rate, the network bandwidth, or the occupation proportion of the mixed index of the above resources, as required. For simplicity of description, the CPU occupation is exemplified in the present embodiment. The preset threshold value of the step 1) is 75%, and the preset threshold values corresponding to different resources are different.
As shown in fig. 2, the detailed processing steps in step 2) for each virtual machine in the high-load virtual machine set include:
2.1 Judging whether the virtual machine is positioned in the multi-core server, and skipping to execute the step 2.2) if the virtual machine is positioned in the multi-core server; otherwise, skipping to execute the step 2.3);
2.2 Judging whether the available resources on the many-core server can meet the migration requirement of the virtual machine, if so, migrating the virtual machine to the many-core server for operation, and quitting; otherwise, judging whether the available resources of the multi-core server can meet the requirement of the increased configuration of the virtual machine, if so, increasing the configuration of the virtual machine, and exiting; otherwise, skipping to execute the step 2.4);
2.3 Judging whether the available resources on the many-core server can meet the requirement of the increased configuration of the virtual machine, if so, increasing the configuration of the virtual machine, and exiting; otherwise, skipping to execute the step 2.4);
2.4 Does not perform any scheduling operation on the virtual machine, ends and exits.
Step 2.2) when judging whether the available resources on the many-core server can meet the migration requirement of the virtual machine, a plurality of implementation modes can be provided: 1. checking all the many-core servers; 2. a check is made on a portion of the many-core servers (e.g., randomly acquired, or ordered acquisition based on available resources). If the available resources on one of the many-core servers meet the migration requirement of the virtual machine, the virtual machine is migrated to the many-core server to run, and similarly, if a plurality of many-core servers meet the requirement, random selection can be performed according to the requirement or sequencing acquisition can be performed according to the situation of the available resources.
Step 2.2) judging whether the available resources of the multi-core server can meet the requirement of the virtual machine for increasing configuration or not, there may be a plurality of implementation manners: 1. judging whether the available resources of the multi-core server where the virtual machine is located can meet the requirement of increasing configuration of the virtual machine; 2. and judging whether the available resources of any multi-core server can meet the requirement of the increased configuration of the virtual machine.
Step 2.3) judging whether the available resources on the many-core server can meet the requirement of the virtual machine for increasing configuration or not, there can be a plurality of implementation modes: 1. judging whether the available resources on the many-core server where the virtual machine is located can meet the requirement of increasing the configuration of the virtual machine; 2. and judging whether the available resources on any many-core server can meet the requirement of increasing the configuration of the virtual machine.
As shown in fig. 2, the operation of issuing a warning is also included before ending and exiting in step 2.4).
Resources in a virtual machine are limited by configuration, for example, CPU, memory, disk IO rate, network bandwidth, etc. are limited by configuration. The increasing mode may be selected according to needs, for example, a proportional mode is adopted in this embodiment, and the proportion of each increasing configuration is 1.
As shown in fig. 3, the method further includes, before performing scheduling of the high-load virtual machine, a step of performing scheduling of the low-load virtual machine:
s1) acquiring a virtual machine with resource occupation lower than a preset threshold value to obtain a low-load virtual machine set, wherein the low-load virtual machine set is recorded as a VM _ LOWLOAD set in the embodiment;
s2) aiming at each virtual machine in the low-load virtual machine set: if the virtual machine is located in a many-core server and available resources on a multi-core server meet the migration requirement of the virtual machine, migrating the virtual machine to the multi-core server to run; otherwise, if the available resources of the server where the virtual machine is located meet the requirement of the reduced configuration of the virtual machine, the reduced configuration of the virtual machine is performed.
In the embodiment, by scheduling the low-load virtual machine before scheduling the high-load virtual machine, part of resources can be released for providing for scheduling the high-load virtual machine, so that the scheduling effect of the high-load virtual machine can be better. It goes without saying that the low-load virtual machine scheduling may be performed after the high-load virtual machine scheduling, or simultaneously or alternately with the high-load virtual machine scheduling, because the high-load virtual machine scheduling has no dependency on the low-load virtual machine scheduling.
The CPU occupation is exemplified in the present embodiment. The preset threshold value of step S1) is 20%.
As shown in fig. 3, the detailed processing steps in step S2) for each virtual machine in the low-load virtual machine set include:
s2.1) judging whether the virtual machine is located in a many-core server, and if the virtual machine is located in the many-core server, skipping to execute the step S2.2); otherwise, skipping to execute the step S2.3);
s2.2) judging whether the available resources on the multi-core server can meet the migration requirement of the virtual machine, if so, migrating the virtual machine to the multi-core server for operation, and quitting; otherwise, skipping to execute the step S2.3);
s2.3) reducing the configuration for the virtual machine and exiting.
The foregoing reduction configuration mode may be selected as needed, for example, a proportional mode is adopted in this embodiment, and the proportion of each reduction configuration is 1.
Step S2.2) determining whether the available resources on the multicore server can meet the migration requirement of the virtual machine may also be implemented in a variety of ways: 1. checking all the multi-core servers, and 2, checking part of the multi-core servers (for example, randomly acquiring or sequencing according to the available resource condition). If the available resources on a certain multi-core server meet the migration requirement of the virtual machine, the virtual machine is migrated to the multi-core server to run, and if a plurality of multi-core servers meet the requirement, random selection can be performed according to the requirement or sequencing acquisition can be performed according to the condition of the available resources.
Referring to fig. 4, as an optional modularized implementation manner, in this embodiment, the steps of the virtual machine automatic scheduling method for the multi-core/many-core soar hybrid cluster are executed based on a cloud platform monitoring module, a virtual machine load analysis module, a virtual machine scheduling decision module, and a virtual machine scheduling execution module. The cloud platform monitoring module acquires state information of the current cluster virtual machine and submits the state information to the virtual machine load analysis module for historical load information analysis, and the historical load information analysis module determines a virtual machine set which needs to be dynamically scheduled. And the virtual machine scheduling decision module processes the virtual machines in the virtual machine set one by one according to the physical machine state information provided by the cloud platform monitoring module and sends corresponding decisions to the virtual machine scheduling execution module. And the virtual machine scheduling execution module finishes the final instruction execution.
In this embodiment, the cloud platform monitoring module is configured to monitor states of all physical machines and virtual machines in the current cloud platform, where the states include distribution information of the virtual machines on the physical machines and various operation indexes of the physical machines and the virtual machines, such as resource occupation, memory utilization, disk read-write bandwidth, and network bandwidth. Meanwhile, the cloud platform monitoring module can complete alarm according to the formulated index threshold value. The embodiment mainly focuses on the distribution information of the virtual machine on the physical machine and the resource occupation information of the virtual machine.
In this embodiment, based on information provided by the cloud platform monitoring module, the virtual machine load analysis module analyzes the virtual machine resource occupation on the multi-core and many-core servers in the feiteng period. The analysis period may be customized, by default in weeks, but not so short that frequent migration/modification of the virtual machine results in additional overhead and system turbulence. If the load of a certain virtual machine resource occupied in one week is higher than a certain threshold (set to 75% in the present invention), it indicates that it may need higher computational performance to provide stable service, and it is added to the set VM _ high load in descending order of load value. If the utilization rate of a certain virtual machine resource occupied in one week is lower than a certain threshold (set as 20% in the invention), it indicates that there is a surplus of the currently allocated computing resource, and the virtual machine resource is added into the set VM _ LOWLOAD according to the ascending order of the load value.
In this embodiment, the virtual machine scheduling decision module processes the virtual machines in the two sets of VM _ HIGHLOAD and VM _ LOWLOAD in sequence to make an appropriate decision, based on the analysis result of the virtual machine analysis module and in combination with the information of the physical machine acquired by the cloud platform monitoring module:
1. the virtual machines in the VM _ lowline set are processed first. And taking out the virtual machine with the lowest current load according to the sequence in the set, and firstly judging whether the virtual machine is in a many-core server and can be migrated to the Feiteng multi-core server. And if the appropriate multi-core server exists, the decision is completed, otherwise, the configuration of the current virtual machine is reduced according to the proportion of 1. For a virtual machine in a VM _ LOWLOAD set on a multi-core soar server, since no physical server with lower configuration is available for migration, only a reduction configuration operation is performed, and the configuration of the current virtual machine is reduced according to a proportion (which can be configured as required) of 1.
2. The virtual machines in the VM _ HIGHLOAD set are processed next. And taking out the virtual machine with the highest current load according to the sequence in the set, and firstly judging whether the virtual machine is currently on a multi-core processor and can be migrated to a Feiteng many-core server. And if the suitable many-core server exists, the decision is completed, otherwise, whether the current multi-core server cluster has enough resources is judged, and the configuration of the current virtual machine is expanded according to the proportion of 1. If there are enough resources, the decision is complete, otherwise the scheduling decision does not perform any scheduling operation for this virtual machine, but instead alerts the administrator of the overload. For a virtual machine in a VM _ HIGHLOAD set on a soar many-core server, because no higher configured physical server is available for migration, only whether sufficient resources exist or not is performed to perform virtual machine configuration expansion, and the configuration of the current virtual machine is expanded according to a ratio (configurable as needed) of 1.5. If there are enough resources, the decision is complete, otherwise the scheduling decision does not perform any scheduling operation for this virtual machine, but instead alerts the administrator of the overload. It goes without saying that the order of processing the two sets VM _ high load and VM _ LOWLOAD can be selected as desired.
And the virtual machine scheduling execution module calls the existing functions of the cloud platform to execute corresponding actions including migration, configuration increase, configuration reduction and the like according to the scheduling decision made by the virtual machine scheduling decision module.
In addition, the embodiment also provides a virtual machine automatic scheduling system for a mixed soaring multi-core/many-core cluster, which includes a computer device programmed or configured to execute the steps of the virtual machine automatic scheduling method for a mixed soaring multi-core/many-core cluster, or a memory of the computer device stored with a computer program programmed or configured to execute the virtual machine automatic scheduling method for a mixed soaring multi-core/many-core cluster.
In addition, as shown in fig. 4, this embodiment further provides a mixed soaring multi-core/many-core cluster, which includes a multi-core server, a many-core server, and a scheduling node, where the scheduling node is programmed or configured to execute the steps of the above virtual machine automatic scheduling method for the mixed soaring multi-core/many-core cluster, or a memory of the scheduling node stores a computer program that is programmed or configured to execute the above virtual machine automatic scheduling method for the mixed soaring multi-core/many-core cluster.
In addition, the present embodiment also provides a computer-readable storage medium, in which a computer program is stored, the computer program being programmed or configured to execute the foregoing method for automatically scheduling a virtual machine for a multi-core/many-core hybrid cluster.
In summary, the method for automatically scheduling the virtual machine of the multi-core/many-core hybrid cluster in this embodiment can automatically schedule the virtual machine to a suitable physical server according to the historical load information of the virtual machine carried by the multi-core/many-core hybrid cluster in the feiteng, and automatically adjust the configuration of the virtual machine, so as to provide a suitable resource configuration for the virtual machine, and improve the utilization rate of the resource while ensuring the application performance of the virtual machine. Meanwhile, although the invention is developed by taking a domestic Feiteng multi-core/many-core server cluster as an example, the related technology can also be applied to processor platforms of other brands and capable of mutually performing virtual machine migration among different models. Meanwhile, in the embodiment, the resource occupation is used as a main index to make a dynamic scheduling decision, and other indexes such as the memory utilization rate, the disk IO rate, the network bandwidth and a mixed index formed by the above related indexes can be used as corresponding consideration indexes according to actual needs. The method has the advantages that the difference of the Feiteng multi-core/many-core physical server in the computing performance, particularly the difference of processors of different generations, is fully considered in the dynamic scheduling of the virtual machine, and a decision is made between two operations of migration and configuration change according to the actual situation of the virtual machine, so that more accurate resource supply is provided for the virtual machine, and the resource use efficiency of the whole system is improved.
Example two:
on the basis of the virtual machine automatic scheduling method facing the Feiteng multi-core/many-core hybrid cluster, the embodiment further populates the method of the present invention to a hybrid cluster including servers with more than two performance levels, thereby providing a virtual machine automatic scheduling method facing the hybrid cluster. The method of this embodiment is basically the same as the first embodiment, and the main difference is the hybrid cluster, and the hybrid cluster can be selected in different server types.
Similar to the first embodiment, the present embodiment includes the step of performing high-load virtual machine scheduling:
a1 Obtaining a virtual machine with resource occupation higher than a preset threshold value in the mixed cluster to obtain a high-load virtual machine set;
a2 For each virtual machine in the set of high-load virtual machines: if a server with a higher performance level exists above the performance level of the server where the virtual machine is located, and available resources on the server with the higher performance level meet the migration requirement of the virtual machine, migrating the virtual machine to the server with the higher performance level for running; otherwise, if the available resources of the server where the virtual machine is located or other servers with the same performance level are enough for the virtual machine to increase the configuration, the configuration is increased for the virtual machine.
In this embodiment, the detailed processing step for each virtual machine in the high-load virtual machine set in step A2) includes:
a2.1 Judging whether a server with a higher performance level is above the performance level of the server of the virtual machine, and if so, skipping to execute the step A2.2); otherwise, skipping to execute the step A2.3);
a2.2 Judging whether available resources on the server with the higher performance level meet the migration requirement of the virtual machine, and if so, migrating the virtual machine to the server with the higher performance level for running; otherwise, skipping to execute the step A2.3);
a2.3 Judging whether the available resources of the server where the virtual machine is located or other servers with the same performance level are enough for the virtual machine to increase the configuration, if so, increasing the configuration for the virtual machine, ending and exiting; otherwise, skipping to execute the step A2.4);
a2.4 Does not perform any scheduling operation on the virtual machine, ends and exits;
likewise, the operation of issuing a warning is also included before ending and exiting in step a 2.4).
Similar to the first embodiment, the method further includes, before the scheduling of the high-load virtual machine, the step of scheduling the low-load virtual machine:
b1 Obtaining a virtual machine with the resource occupation lower than a preset threshold value in the mixed cluster to obtain a low-load virtual machine set;
b2 For each virtual machine in the set of low-load virtual machines: if a server with a lower performance level exists below the performance level of the server where the virtual machine is located and available resources on the server with the lower performance level meet the migration requirement of the virtual machine, migrating the virtual machine to the server with the lower performance level to run; otherwise, the configuration is reduced for the virtual machine.
In this embodiment, the detailed processing step for each virtual machine in the low-load virtual machine set in step B2) includes:
b2.1 Judging whether a server with a lower performance level is under the performance level of the server of the virtual machine, and if so, skipping to execute the step B2.2); otherwise, skipping to execute the step B2.3);
b2.2 Judging whether available resources on the server with the lower performance level meet the migration requirement of the virtual machine, and if so, migrating the virtual machine to the server with the lower performance level for running; otherwise, skipping to execute the step B2.3);
b2.3 Narrow the configuration for the virtual machine, end and exit.
As will be appreciated by one skilled in the art, embodiments of the present application may be provided as a method, system, or computer program product. Accordingly, the present application may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present application may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein. The present application is directed to methods, apparatus (systems), and computer program products according to embodiments of the application wherein instructions, which execute via a flowchart and/or a processor of the computer program product, create means for implementing functions specified in the flowchart and/or block diagram block or blocks. These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks. These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
The above description is only a preferred embodiment of the present invention, and the protection scope of the present invention is not limited to the above embodiments, and all technical solutions belonging to the idea of the present invention belong to the protection scope of the present invention. It should be noted that modifications and embellishments within the scope of the invention may occur to those skilled in the art without departing from the principle of the invention, and are considered to be within the scope of the invention.

Claims (7)

1. A method for automatically scheduling a virtual machine facing a Feiteng multi-core/many-core hybrid cluster, wherein the Feiteng multi-core/many-core hybrid cluster comprises a multi-core server and a many-core server, and is characterized by comprising the following steps of scheduling a high-load virtual machine:
1) Acquiring a virtual machine with the resource occupation higher than a preset threshold value to obtain a high-load virtual machine set;
2) For each virtual machine in the high-load virtual machine set: if the virtual machine is positioned on a multi-core server and available resources on a many-core server meet the migration requirement of the virtual machine, migrating the virtual machine to the many-core server to run; otherwise, if the available resources of the server where the virtual machine is located meet the requirement of increasing the configuration of the virtual machine, increasing the configuration for the virtual machine;
the detailed processing step in the step 2) for each virtual machine in the high-load virtual machine set comprises the following steps:
2.1 Judging whether the virtual machine is positioned in a multi-core server, and skipping to execute the step 2.2) if the virtual machine is positioned in the multi-core server; otherwise, skipping to execute the step 2.3);
2.2 Judging whether the available resources on the many-core server can meet the migration requirement of the virtual machine, if so, migrating the virtual machine to the many-core server for operation, and quitting; otherwise, judging whether the available resources of the multi-core server can meet the requirement of the increased configuration of the virtual machine, if so, increasing the configuration of the virtual machine, and exiting; otherwise, skipping to execute the step 2.4);
2.3 Judging whether the available resources on the many-core server can meet the requirement of the increased configuration of the virtual machine, if so, increasing the configuration of the virtual machine, and exiting; otherwise, skipping to execute the step 2.4);
2.4 Does not perform any scheduling operation on the virtual machine, ends and exits;
the method also comprises the following steps of scheduling the low-load virtual machine before scheduling the high-load virtual machine:
s1) acquiring a virtual machine with resource occupation lower than a preset threshold value to obtain a low-load virtual machine set;
s2) aiming at each virtual machine in the low-load virtual machine set: if the virtual machine is located in a many-core server and available resources on a multi-core server meet the migration requirement of the virtual machine, migrating the virtual machine to the multi-core server to run; otherwise, if the available resources of the server where the virtual machine is located meet the requirement of the reduced configuration of the virtual machine, the reduced configuration of the virtual machine is performed.
2. The method for automatically scheduling the virtual machine facing the Feiteng multi-core/many-core hybrid cluster according to claim 1, wherein the step 2.4) is ended and further comprises an operation of issuing an alarm before exiting.
3. The method for automatically scheduling virtual machines in a multi-core/many-core hybrid cluster in a Feiteng environment according to claim 1, wherein the detailed processing step for each virtual machine in the low-load virtual machine set in step S2) includes:
s2.1) judging whether the virtual machine is located in a many-core server, and if the virtual machine is located in the many-core server, skipping to execute the step S2.2); otherwise, skipping to execute the step S2.3);
s2.2) judging whether the available resources on the multi-core server can meet the migration requirement of the virtual machine, if so, migrating the virtual machine to the multi-core server for running, and exiting; otherwise, skipping to execute the step S2.3);
s2.3) reducing the configuration for the virtual machine and exiting.
4. A multi-core/many-core hybrid cluster-oriented virtual machine automatic scheduling system, comprising a computer device, wherein the computer device is programmed or configured to execute the steps of the multi-core/many-core hybrid cluster-oriented virtual machine automatic scheduling method according to any one of claims 1 to 3, or a memory of the computer device stores a computer program programmed or configured to execute the multi-core/many-core hybrid cluster-oriented virtual machine automatic scheduling method according to any one of claims 1 to 3.
5. A multi-core/many-core hybrid cluster in the form of a feiteng multi-core/many-core hybrid cluster, comprising a multi-core server, a many-core server, and a scheduling node, wherein the scheduling node is programmed or configured to perform the steps of the method for automatically scheduling virtual machines of the multi-core/many-core hybrid cluster in the form of any one of claims 1 to 3, or a computer program is stored in a memory of the scheduling node and is programmed or configured to perform the method for automatically scheduling virtual machines of the multi-core/many-core hybrid cluster in the form of a feiteng multi-core/many-core hybrid cluster in the form of any one of claims 1 to 3.
6. A computer-readable storage medium, wherein a computer program is stored in the computer-readable storage medium, the computer program being programmed or configured to perform the method for virtual machine auto-dispatch for a mixed multi-core/many-core cluster of FT as claimed in any one of claims 1 to 3.
7. A virtual machine automatic scheduling method facing a mixed cluster, wherein the mixed cluster comprises servers with more than two performance levels, is characterized by comprising the following steps of scheduling high-load virtual machines:
a1 Obtaining a virtual machine with resource occupation higher than a preset threshold value in the mixed cluster to obtain a high-load virtual machine set;
a2 For each virtual machine in the set of high-load virtual machines: if a server with a higher performance level exists above the performance level of the server where the virtual machine is located, and available resources on the server with the higher performance level meet the migration requirement of the virtual machine, migrating the virtual machine to the server with the higher performance level for running; otherwise, if the available resources of the server where the virtual machine is located or other servers with the same performance level are enough for the virtual machine to increase the configuration, increasing the configuration for the virtual machine;
the detailed processing steps in the step A2) for each virtual machine in the high-load virtual machine set include:
a2.1 Judging whether a server with a higher performance level is above the performance level of the server of the virtual machine, and if so, skipping to execute the step A2.2); otherwise, skipping to execute the step A2.3);
a2.2 Judging whether available resources on the server with the higher performance level meet the migration requirement of the virtual machine, and if so, migrating the virtual machine to the server with the higher performance level for running; otherwise, skipping to execute the step A2.3);
a2.3 Judging whether the available resources of the server where the virtual machine is located or other servers with the same performance level are enough for the virtual machine to increase the configuration, if so, increasing the configuration for the virtual machine, ending and exiting; otherwise, skipping to execute the step A2.4);
a2.4 Does not perform any scheduling operation on the virtual machine, ends and exits;
the method also comprises the following steps of scheduling the low-load virtual machine before scheduling the high-load virtual machine:
b1 Obtaining a virtual machine with the resource occupation lower than a preset threshold value in the mixed cluster to obtain a low-load virtual machine set;
b2 For each virtual machine in the set of low-load virtual machines: if a server with a lower performance level exists below the performance level of the server where the virtual machine is located and available resources on the server with the lower performance level meet the migration requirement of the virtual machine, migrating the virtual machine to the server with the lower performance level for running; otherwise, the configuration is reduced for the virtual machine.
CN202010554622.4A 2020-06-17 2020-06-17 Automatic virtual machine scheduling method for Feiteng multi-core/many-core hybrid cluster Active CN111580937B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010554622.4A CN111580937B (en) 2020-06-17 2020-06-17 Automatic virtual machine scheduling method for Feiteng multi-core/many-core hybrid cluster

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010554622.4A CN111580937B (en) 2020-06-17 2020-06-17 Automatic virtual machine scheduling method for Feiteng multi-core/many-core hybrid cluster

Publications (2)

Publication Number Publication Date
CN111580937A CN111580937A (en) 2020-08-25
CN111580937B true CN111580937B (en) 2022-11-04

Family

ID=72116454

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010554622.4A Active CN111580937B (en) 2020-06-17 2020-06-17 Automatic virtual machine scheduling method for Feiteng multi-core/many-core hybrid cluster

Country Status (1)

Country Link
CN (1) CN111580937B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115061775B (en) * 2022-05-26 2024-06-04 上海交通大学 Public cloud-based application collaborative configuration system, method and equipment

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101706743A (en) * 2009-12-07 2010-05-12 北京航空航天大学 Dispatching method of virtual machine under multi-core environment
CN104572307A (en) * 2015-01-30 2015-04-29 无锡华云数据技术服务有限公司 Method for flexibly scheduling virtual resources
CN105260245A (en) * 2015-11-04 2016-01-20 浪潮(北京)电子信息产业有限公司 Resource scheduling method and device

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10353739B2 (en) * 2015-06-27 2019-07-16 Vmware, Inc. Virtual resource scheduling for containers without migration

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101706743A (en) * 2009-12-07 2010-05-12 北京航空航天大学 Dispatching method of virtual machine under multi-core environment
CN104572307A (en) * 2015-01-30 2015-04-29 无锡华云数据技术服务有限公司 Method for flexibly scheduling virtual resources
CN105260245A (en) * 2015-11-04 2016-01-20 浪潮(北京)电子信息产业有限公司 Resource scheduling method and device

Also Published As

Publication number Publication date
CN111580937A (en) 2020-08-25

Similar Documents

Publication Publication Date Title
CN105320561B (en) Task management method and system
EP3483730B1 (en) Resource allocation method and resource manager
CN102567072B (en) Resource allocation method, resource allocation device and resource allocation system
US7945913B2 (en) Method, system and computer program product for optimizing allocation of resources on partitions of a data processing system
US20150295970A1 (en) Method and device for augmenting and releasing capacity of computing resources in real-time stream computing system
CN103179048B (en) Main frame qos policy transform method and the system of cloud data center
CN107861796B (en) Virtual machine scheduling method supporting energy consumption optimization of cloud data center
CN109257399B (en) Cloud platform application program management method, management platform and storage medium
TW201818244A (en) Method, apparatus and system for allocating resources of application clusters under cloud environment
CN109739634A (en) A kind of atomic task execution method and device
CN111580937B (en) Automatic virtual machine scheduling method for Feiteng multi-core/many-core hybrid cluster
CN107203256B (en) Energy-saving distribution method and device under network function virtualization scene
CN112948113A (en) Cluster resource management scheduling method, device, equipment and readable storage medium
CN110413393B (en) Cluster resource management method and device, computer cluster and readable storage medium
CN114860449B (en) Data processing method, device, equipment and storage medium
CN111210286A (en) Tax control server-based efficient invoice issuing method and system
CN116244073A (en) Resource-aware task allocation method for hybrid key partition real-time operating system
CN110928649A (en) Resource scheduling method and device
CN107783823A (en) A kind of load-balancing method and device
CN111506407A (en) Resource management and job scheduling method, system and medium combining Pull mode and Push mode
CN117579626B (en) Optimization method and system based on distributed realization of edge calculation
CN110580192A (en) Container I/O isolation optimization method in mixed scene based on service characteristics
CN111459651A (en) Load balancing method, device, storage medium and scheduling system
CN114625544B (en) Memory balloon management method and device based on dynamic allocation of virtual machine service load
Kang et al. Container Restart Reduction Technique in Kubernetes Using Memory Oversubscription

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