WO2013097151A1 - 一种资源调度方法及设备 - Google Patents

一种资源调度方法及设备 Download PDF

Info

Publication number
WO2013097151A1
WO2013097151A1 PCT/CN2011/084933 CN2011084933W WO2013097151A1 WO 2013097151 A1 WO2013097151 A1 WO 2013097151A1 CN 2011084933 W CN2011084933 W CN 2011084933W WO 2013097151 A1 WO2013097151 A1 WO 2013097151A1
Authority
WO
WIPO (PCT)
Prior art keywords
scheduled
virtual machine
physical machine
machine
target physical
Prior art date
Application number
PCT/CN2011/084933
Other languages
English (en)
French (fr)
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 PCT/CN2011/084933 priority Critical patent/WO2013097151A1/zh
Priority to CN2011800033404A priority patent/CN103299279A/zh
Priority to EP11878495.8A priority patent/EP2713270A4/en
Publication of WO2013097151A1 publication Critical patent/WO2013097151A1/zh
Priority to US14/106,481 priority patent/US20140143777A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0817Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
    • 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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • 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/5066Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Definitions

  • the present invention relates to the field of cloud computing technologies, and in particular, to a resource scheduling method and device. Background technique
  • cloud computing technology as an emerging IT technology, is developing more and more rapidly, and resource scheduling, as one of the core technologies of cloud computing, is receiving more and more attention from the academic community.
  • Figure 1 shows a typical cloud computing data center networking mode, including the core layer, the aggregation layer, and the access layer.
  • the core layer is provided with a core layer switch
  • the aggregation layer is provided with an aggregation switch
  • the access layer is set.
  • There is an access switch and the physical machine is connected to the aggregation switch through the access layer switch, and forms a data center at the aggregation switch to handle various cloud computing services.
  • the virtual machine is usually scheduled according to the virtual machine CPU usage or the virtual machine memory usage status, and the virtual machine is scheduled to be used as a scheduling basis. For example, when the CPU usage of a virtual machine is reached. Eighty-eight percent, when the usage rate is high, and new services cannot be carried, other virtual machines with lower CPU usage are selected to perform new services, so as to ensure that the new services meet network bandwidth or other resource requirements.
  • the resource scheduling according to the above scheme after scheduling the service scheduling from the original virtual machine to the destination virtual machine, can solve the problem of insufficient service of the original virtual machine, but will increase the network load of the destination virtual machine to a certain extent. Therefore, when the network load required for the scheduled service is large, the network load demand on the destination virtual machine may exceed the threshold and generate an alarm. Therefore, the scheduling effect of the existing resource scheduling method is poor, and the scheduling result is poor. Not ideal. Summary of the invention
  • the embodiment of the present invention provides a resource scheduling method and device, so as to solve the problem that the scheduling effect of the resource scheduling method in the prior art is poor, and the technical solution is as follows:
  • a resource scheduling method includes:
  • a resource scheduling device includes:
  • a first determining module configured to determine at least one candidate target physical machine and a physical machine where the virtual machine to be scheduled is located
  • a communication cost calculation module configured to calculate an alternate communication cost after the simulation of the to-be-scheduled virtual machine is scheduled to each candidate target physical machine
  • a second determining module configured to determine a target physical machine from the at least one candidate target physical machine according to the communication cost
  • a scheduling module configured to schedule the to-be-scheduled virtual machine to the target physical machine.
  • the candidate communication cost is determined by calculating the candidate communication cost after the virtual machine is scheduled to be dispatched to each candidate target physical machine, and then the resource scheduling is performed, thereby implementing the comprehensive analysis resource scheduling process.
  • the load of the entire network enables the scheduled resources to meet more business needs and optimize the scheduling effect.
  • Figure 1 shows a typical cloud computing data center networking mode
  • FIG. 2 is a flowchart of a resource scheduling method according to an embodiment of the present invention.
  • FIG. 3 is a flowchart of a method for determining at least one candidate target physical machine and a physical machine where a virtual machine to be scheduled is located according to an embodiment of the present invention
  • FIG. 4 is a flowchart of still another method for determining at least one candidate target physical machine and a physical machine where the virtual machine to be scheduled is located according to an embodiment of the present disclosure
  • FIG. 5 is a flow chart of obtaining a prediction duration of an alarm network load according to an embodiment of the present invention.
  • FIG. 6 is a flowchart of still another resource scheduling method according to an embodiment of the present invention.
  • FIG. 7 is a flowchart of a method for determining whether an improvement coefficient meets a preset improvement condition according to an embodiment of the present invention
  • FIG. 8 is a schematic structural diagram of a resource scheduling device according to an embodiment of the present invention.
  • FIG. 9 is a schematic structural diagram of a first determining module according to an embodiment of the present disclosure.
  • FIG. 10 is a schematic structural diagram of still another first determining module according to an embodiment of the present disclosure.
  • FIG. 11 is a schematic structural diagram of a second determining module according to an embodiment of the present invention. detailed description
  • the embodiment of the present invention discloses a resource scheduling method, and the method can It is applied to the cloud computing data center server. Specifically, it can be run by the management system on the cloud computing data center server. The specific process is shown in Figure 2, including:
  • Step S21 Determine at least one candidate target physical machine and a physical machine where the virtual machine to be scheduled is located.
  • the resource scheduling method disclosed in this embodiment may be applied to any scenario that requires resource scheduling, for example, when the cloud computing data center server When the management system detects an alarm in the alarm queue, or manually schedules a virtual machine according to the current system running status.
  • Step S22 Calculate an alternative communication cost after the virtual machine to be scheduled is simulated and dispatched to each candidate target physical machine
  • the alternative communication cost in this embodiment is: an alternative internal communication cost of the other virtual machine in the data center where the virtual machine to be scheduled is to communicate with the virtual machine to be scheduled after the virtual machine to be scheduled is scheduled to the candidate target physical machine; / or, after the virtual machine to be scheduled is scheduled to the candidate target physical machine, the virtual machine to be scheduled Alternative external communication costs for external devices in the data center to communicate with virtual machines.
  • the access layer switch When the access layer switch alarms, it performs scheduling within the same data center to apply internal communication costs. When the aggregation layer switch alarms, it performs scheduling across data centers and applies external communication costs. When the aggregation layer switch alarms, first select the virtual machine with the largest network load under the switch as the virtual machine to be scheduled, and then simulate the alternative external communication cost and preparation after scheduling the virtual machine to each other data center with which it communicates. The internal communication cost is selected, and then the external communication cost improvement coefficient and the internal communication cost improvement coefficient are calculated. Only when the external communication cost improvement coefficient and the internal communication cost improvement coefficient satisfy the scheduling condition, the scheduling is performed, and the internal communication improvement system is selected and The external communication improves the physical machine that the system simultaneously achieves as the target physical machine. Alternatively, when the aggregation layer switch alarms, the calculation simulates the candidate external communication cost after scheduling the virtual machine to each other data center with which it communicates, and performs scheduling when the external communication cost improvement coefficient satisfies the scheduling condition.
  • Step S23 Determine a target physical machine from the at least one candidate target physical machine according to the communication cost.
  • the candidate communication cost is determined by calculating the candidate communication cost after the virtual machine is scheduled to be dispatched to each candidate target physical machine, and then the resource scheduling is performed, thereby implementing the comprehensive analysis resource scheduling process.
  • the load of the entire network enables the scheduled resources to meet more business needs and optimize the scheduling effect.
  • Step S31 Acquire alarm information, and when the alarm information meets the scheduling condition, search for the virtual machine to be scheduled according to the alarm information;
  • the alarm information in this embodiment includes an alarm type.
  • the alarm type includes at least one of the following:
  • Virtual machine alarm when the internal communication load value of the virtual machine exceeds the internal communication load threshold; or the access layer switch alarm when the access layer switch's egress bandwidth network load exceeds the set egress bandwidth value, or the aggregation layer switch egress bandwidth network Aggregation layer switch alarm when the load exceeds the set egress bandwidth value.
  • the virtual machine that sends the alarm is the virtual machine to be scheduled.
  • the alarm type is the switch alarm
  • the virtual machine included in the switch that finds the alarm is the network load.
  • the specific process of determining the type of alarm may be completed by a management system on the cloud computing data center server, or may be completed by other devices independent of the management system on the cloud computing data center server.
  • the scheduling condition is met. If it is another alarm type, the scheduling condition is not met.
  • Step S32 Determine a physical machine where the virtual machine to be scheduled is located, and the candidate target physical machine includes other physical machines in the data center where the physical machine is located.
  • the resource scheduling is performed in the data center where the virtual machine to be scheduled is located, thereby reducing the to-be-scheduled
  • the network load caused by the virtual machine communicating with the virtual machine it communicates with exceeds the preset threshold.
  • the candidate target physical machine may also be in a different data center from the virtual machine to be scheduled.
  • the virtual machine to be scheduled and the virtual machine communicating with it do not belong to the same data center, at this time, at least one candidate target physical machine and to be scheduled are determined.
  • the process of the physical machine where the virtual machine is located is shown in Figure 4, including:
  • Step S41 Acquire alarm information, and when the alarm information meets the scheduling condition, find the virtual machine to be scheduled and the communication virtual machine that communicates with the virtual machine to be scheduled according to the alarm information;
  • Step S42 Determine a physical machine where the communication virtual machine is located, and the candidate target physical machine includes other physical machines in the data center where the physical machine is located.
  • the communication mode between the two data centers is converted into communication in the data center through resource scheduling.
  • the external communication cost is reduced, thereby realizing the problem of reducing the network load in the communication process.
  • the embodiment does not limit the scheduling of the virtual machine to be scheduled in the data center where the virtual machine is scheduled, or the data center where the virtual machine that is in communication with the virtual machine is located, and the same can be scheduled to the physical machine of the other data center.
  • the scope of protection of the embodiments of the present invention is as long as the network load can be reduced.
  • the alarm information further includes a predicted duration of the alarm network load, and the alarm information conforms to the scheduling condition, further comprising: the current duration of the alarm network load is not less than a preset time.
  • the alarm type is simultaneously met as a virtual machine alarm or a switch alarm, and the alarm network load is currently persistent.
  • the time is not less than the preset time, the alarm information meets the scheduling condition.
  • the method for determining that the alarm information and the alarm information meet the scheduling condition is not limited.
  • the alarm information may only include the predicted duration of the alarm network load, and the predicted duration of the alarm network load is not less than the preset time. To determine that the alarm information meets the scheduling conditions.
  • the current duration in this embodiment refers to the duration of the network load generating the alarm from the occurrence of the alarm to the current time.
  • the preset time may be determined according to the predicted duration of the alarm network load, which may be the preset duration itself. Or it is 50% of the predicted duration, or 60%, etc., which can be set according to the actual network status.
  • a communication load matrix may be established in advance, and each data point in the communication load matrix is used to indicate a communication cost when the virtual machine to be scheduled communicates with each virtual machine, and the communication cost may be an external communication cost. It may be an internal communication cost, for example, establishing a communication load matrix corresponding to each data center, and the communication load matrix includes internal communication costs when communication is performed between virtual machines in the data center.
  • the communication load matrix is an n*n matrix
  • the (i; j) data points in the matrix represent the uplink network load of the virtual machine i for the virtual machine j, where n is a positive integer, and i and j are positive integers not greater than n, respectively.
  • each data point in the communication load matrix is filtered by the IP address of the virtual machine network card, and the destination IP address of the IP packet is used, the communication status of each virtual machine changes when the communication environment changes. Therefore, it is necessary to update the communication matrix, assuming that the update period in this embodiment is L.
  • the predicted duration of the alarm network load is obtained according to the flow shown in FIG. 5, including:
  • Step S51 Set a sampling time starting point, and find a matrix data point whose communication cost is greater than a preset communication load threshold in the communication load matrix corresponding to the starting point of the sampling time, and record the number thereof; then the sampling in this embodiment
  • the starting point of the moment is an integer multiple of L, that is, after updating the communication load matrix, it is determined whether there is a data point larger than the preset communication cost in the communication load matrix, that is, whether there is a communication process greater than the preset communication cost; if yes, the record is larger than The number of data points for the preset communication cost.
  • Al, A2, A3, Bl, B2, B3, Cl, C2 and C3 are the data points in the communication load matrix, and the matrix update period is 1 minute. Taking half an hour as a prediction period, set the sampling point starting point to 7:30 (the system needs to buffer the data of the communication matrix in the entire prediction period).
  • the calculation first takes the communication load matrix data at 7:30 to check, and sets the preset communication load threshold to 500M. If the value of B2 and B3 is greater than the threshold value of 500M, the two matrix data points (B2, B3) are used. As a basis for subsequent detection, the number of records is 2.
  • Step S52 Determine, according to a preset update period, the communication cost corresponding to the communication load matrix data point from the start time of the sampling time to the current update time, and record the communication cost corresponding to each data point for the last time continuously greater than the preset communication load.
  • the number of thresholds
  • the communication cost corresponding to the matrix data points of B2 and B3 in each communication cycle matrix is continuously viewed from 7:30 to 8:00, and the value of the communication cost of recording the two points is updated at each update time point.
  • the value is greater than the preset communication load threshold, and the number of consecutive times greater than the preset communication load threshold is counted, the number of times that the last consecutive continuous greater than the preset communication load threshold is recorded, for example, taking data point B2 as an example, not at 7:30
  • the communication cost obtained in the first 10 updates is greater than the preset communication load threshold, and the middle 5 updates are not greater than the preset communication load threshold, and the next 15 times are greater than the preset.
  • the communication load threshold therefore, is recorded 15 times as the number of times the data point B2 is continuously continuously greater than the preset communication load threshold, and then the predicted time is calculated based on the number of times.
  • Step S53 Obtain a predicted duration of the alarm network load according to the number of recorded communication load matrix data points, the communication cost corresponding to the recorded data points, and the number of times that the communication load threshold is last continuously greater than the preset communication load threshold.
  • X-1 is specifically, "X where mi is the number of times that the communication cost of the i-th data point is continuously greater than the preset communication load threshold for the last time. According to the above formula, the predicted duration T of the alarm network load can be obtained.
  • the current duration of the alarm network load is t and the preset time is 0.5T
  • it is determined by comparing the size of t and 0.5T whether the alarm network load is a continuous large network load or an instantaneous peak. If t> 0.5T, it indicates that the alarm network load is a continuous large network load, and the alarm information meets the scheduling conditions. The resource needs to be scheduled, and when K0.5T, the alarm network load is proved to be an instantaneous peak. Since it does not exist for a long time, no resource scheduling is required.
  • the flow of another resource scheduling method disclosed in the embodiment of the present invention is as shown in FIG. 6.
  • the process is applicable to the case where the virtual machine to be scheduled and the virtual machine that communicates with it are in the same data center, and the alternative communication cost is the internal communication cost.
  • the specific process includes:
  • Step S61 Determine at least one candidate target physical machine and a physical machine where the virtual machine to be scheduled is located; Step S62: Calculate an alternative communication cost after the virtual machine to be scheduled is simulated and scheduled to each candidate target physical machine;
  • the calculated plurality of alternative communication costs may be stored in a preset array arrCn(n).
  • Step S63 Calculate an improvement coefficient according to the candidate communication cost and the current communication cost of the virtual machine to be scheduled
  • Step S64 When the improvement coefficient meets the preset improvement condition, determine that the candidate physical machine corresponding to the candidate communication cost is the target physical machine;
  • the improvement coefficient conforms to the preset improvement condition as: the improvement coefficient is not greater than the preset improvement coefficient.
  • the improvement coefficient in this embodiment may be a ratio of the alternate communication cost to the current communication cost, that is, after the virtual machine to be scheduled is scheduled to the physical machine corresponding to the candidate communication cost, the communication cost of the virtual machine to be scheduled is communicated with the current communication. Whether the cost is larger or smaller, if it is larger, what is the multiple of the larger, and if it is smaller, what is the smaller multiple? The smaller the improvement coefficient is, the more the communication cost is reduced, and the less the network load used for communication.
  • the preset improvement coefficient in this embodiment is 0.6, that is, the alternative communication cost is reduced to the current communication cost. More than 60% can reduce the network load used in the communication process, so that the virtual machine's network load is lower than the preset threshold. This embodiment does not limit the value of the preset improvement coefficient, which can be set according to actual conditions.
  • Step S65 Dispatch the virtual machine to be scheduled to the target physical machine.
  • Step S71 Select an alternate communication cost to be analyzed from the candidate communication costs
  • Step S72 Obtain a ratio of the current communication cost to be analyzed to the current communication cost, and use the ratio as the improvement coefficient corresponding to the current communication cost to be analyzed;
  • the improvement coefficient in this embodiment is ⁇ : " _ Cn .
  • Step S73 determining whether the improvement coefficient is not greater than the preset improvement coefficient, and if so, executing step S74, and if not, executing step S75;
  • Step S74 determining that the improvement coefficient meets a preset improvement condition, and determining that the candidate target physical machine corresponding to the improvement coefficient is the target physical machine;
  • Step S75 Determine whether there is an unallocated candidate communication cost in the candidate communication cost, and if yes, execute step S76, and if no, end;
  • Step S76 The unresolved candidate internal communication cost is selected, and the next unanalyzed alternative communication cost is selected as the current communication cost to be analyzed, and the process returns to step S72.
  • the physical resource of the target physical machine may be analyzed to determine whether the physical resource can ensure the resource requirement of the virtual machine after the scheduling, for example, the virtual machine to be scheduled.
  • the memory required for communication is 5M, and the remaining memory of the target physical machine is less than 5M, indicating that the normal communication cannot be performed after the virtual machine to be scheduled is scheduled.
  • the CPU usage of the virtual machine to be scheduled for communication is 20%, and the current CPU usage of the target physical machine is 90%.
  • the currently determined target physical machine may be discarded, and the above steps are repeated to determine the new physical machine. Thereby ensuring the success of the scheduling and improving the reliability of the method.
  • a plurality of candidate communication costs stored in the array may be sorted in order from small to large, and then sequentially selected, thereby ensuring that the target physical machine is quickly found, and when an alternative communication is performed
  • the improvement coefficient corresponding to the cost is not less than the preset improvement coefficient
  • the remaining alternative communication costs need not be discriminated, and the determination may be directly determined not to be less than the preset improvement coefficient, thereby reducing the number of calculations and reducing the power consumption.
  • the invention also discloses a resource scheduling device, and its structure is as shown in FIG. 8, which includes: a first determining module 81, configured to determine at least one candidate target physical machine and a physical machine where the virtual machine to be scheduled is located;
  • the communication cost calculation module 82 is configured to calculate an alternative communication cost after the virtual machine to be scheduled is simulated and dispatched to each candidate target physical machine;
  • a second determining module 83 configured to determine a target physical machine from the at least one candidate target physical machine according to the candidate communication cost
  • the scheduling module 84 is configured to schedule the virtual machine to be scheduled to the target physical machine.
  • the resource scheduling device disclosed in this embodiment calculates the candidate communication cost after the virtual machine is scheduled to be dispatched to each candidate target physical machine, determines the target physical machine, and then performs resource scheduling, thereby implementing the entire process of comprehensive analysis resource scheduling.
  • the load of the network enables the scheduled resources to meet more business needs and optimize the scheduling effect.
  • the candidate internal communication cost of the other virtual machine in the data center where the virtual machine is to be scheduled to communicate with the virtual machine to be scheduled after the virtual machine to be scheduled is scheduled to the candidate target physical machine;
  • the candidate external communication cost of the external device in the data center where the virtual machine to be scheduled is in communication with the virtual machine after the virtual machine to be scheduled is scheduled to the candidate target physical machine.
  • the resource scheduling needs to be performed in the data center where the virtual machine to be scheduled is located, so as to reduce the network load when the virtual machine to be scheduled communicates with the virtual machine that communicates with the virtual machine, so that the network does not exceed the preset threshold.
  • the first determining module is as shown in FIG. 9, and includes:
  • the first searching unit 91 is configured to acquire alarm information, and when the alarm information meets the scheduling condition, find the virtual machine to be scheduled according to the alarm information;
  • the first determining unit 92 is configured to determine a physical machine where the virtual machine to be scheduled is located, and the candidate target physical machine includes other physical machines in the data center where the physical machine is located.
  • the first determining module is as shown in FIG. 10, and includes:
  • a second determining unit 101 configured to acquire alarm information, and when the alarm information meets a scheduling condition, the communication virtual machine;
  • the second determining unit 102 is configured to determine a physical machine where the communication virtual machine is located, where the candidate target physical machine includes other physical machines in a data center where the physical machine is located.
  • This embodiment does not limit that when facing different scheduling situations, the first determining modules respectively have different structures, and the above structures can also be set in the same storage medium with analysis processing capability at the same time, and are selected according to different situations. Different processing modes.
  • the alarm information includes:
  • the alarm type includes at least one of the following:
  • the alarm information further includes: a predicted duration of the alarm network load. When the current duration of the alarm network is not less than the preset time, it is determined that the alarm information meets the scheduling conditions.
  • the second determining module in this embodiment is as shown in FIG. 11, and includes:
  • the improvement coefficient calculation unit 111 is configured to calculate an improvement coefficient according to the candidate communication cost and the current communication cost of the virtual machine to be scheduled;
  • the target physical machine determining unit 112 is configured to determine, when the improvement coefficient meets the preset improvement condition, that the candidate physical machine corresponding to the candidate communication cost is the target physical machine.
  • the improvement coefficient calculation unit 111 includes:
  • the current communication cost calculation sub-unit 1111 is configured to obtain a communication cost when the virtual communication to be scheduled is obtained according to the communication load matrix.
  • the preferred embodiment of the resource scheduling device is disclosed in this embodiment.
  • the process of implementing all the live parts in the method of the above embodiment can be instructed by a computer program to be completed in the future.
  • the program can be stored in a computer readable storage medium, which, when executed, can include the flow of an embodiment of the methods described above.
  • the storage medium may be a magnetic disk, an optical disk, a read-only memory (ROM), or a random access memory (RAM).
  • ROM read-only memory
  • RAM random access memory
  • the disclosed systems, devices, and methods may be implemented in other manners without departing from the spirit and scope of the application.
  • the embodiment to be used is merely an exemplary example and should not be construed as limiting, and the specific content given should not limit the purpose of the application.
  • the division of the unit or subunit is only a logical function division, and the actual implementation may have another division manner, for example, a plurality of units or a plurality of subunits are combined.
  • multiple units may or may be combined or integrated into another system, or some features may be omitted or not implemented.
  • the described systems, apparatus, and methods, and the schematic diagrams of various embodiments may be combined or integrated with other systems, modules, techniques or methods without departing from the scope of the present application.
  • the mutual coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection through some interface, device or unit, and may be electrical, mechanical or otherwise.

Abstract

本发明实施例公开了一种资源调度方法及装置,该方法包括:确定至少一个备选目标物理机和待调度虚拟机所在的物理机;计算将所述待调度虚拟机模拟调度到各备选目标物理机后的备选通信成本;根据所述通信成本从所述至少一个备选目标物理机中确定目标物理机;将所述待调度虚拟机调度到所述目标物理机。本发明实施例所提供的方案中,通过计算待调度虚拟机模拟调度到各备选目标物理机后的备选通信成本,确定目标物理机,然后进行资源调度,从而实现了综合分析资源调度过程中整个网络的负载情况,使得调度后的资源能够满足更多的业务需求,优化了调度效果。

Description

一种资源调度方法及设备
技术领域
本发明涉及云计算技术领域, 特别是涉及一种资源调度方法及设备。 背景技术
目前, 云计算技术作为一种新兴的 IT技术, 其发展越来越迅速, 而资源 调度作为云计算的核心技术之一, 越来越受到学术界的重视。
图 1所示为典型的云计算数据中心组网方式, 其中包括核心层、 汇聚层和 接入层, 其中核心层上设置有核心层交换机, 汇聚层上设置有汇聚交换机, 接 入层上设置有接入交换机, 物理机通过接入层交换机与汇聚交换机相连,在汇 聚交换机处组成数据中心, 处理各种云计算业务。
随着云计算的发展,运行在云计算数据中心上的业务类型越来越多, 其中 包含很多对网络带宽的需求较高的业务。 为了满足业务对网络带宽的要求, 通 常需要对云计算数据中心的虚拟机资源进行调度。现有技术中,通常根据虚拟 机 CPU使用情况, 或者虚拟机内存使用情况等虚拟机本身的性能状态指标作 为调度基石出, 对虚拟机进行调度, 例如, 当某一虚拟机的 CPU使用率达到百 分之八十, 使用率较高, 无法承载新的业务时, 选择 CPU使用率较低的其他 虚拟机执行新的业务, 从而保证满足新的业务对网络带宽或其他的资源要求。
依据上述方案进行的资源调度,在将业务调度从原虚拟机调度到目的虚拟 机后, 虽然能够解决原虚拟机的业务不足的问题,但会在一定程度上增加目的 虚拟机的网络负载。 因此当被调度业务所需的网络负载较大时,有可能造成目 的虚拟机上网络负载的需求量超出门限值从而产生告警, 所以,现有的资源调 度方法的调度效果较差, 调度结果并不理想。 发明内容
为解决上述技术问题, 本发明实施例提供了一种资源调度方法及设备, 以 解决现有技术中资源调度方法调度效果差的问题, 技术方案如下:
一种资源调度方法, 包括:
确定至少一个备选目标物理机和待调度虚拟机所在的物理机; 计算将所述待调度虚拟机模拟调度到各备选目标物理机后的备选通信成 本;
根据所述备选通信成本从所述至少一个备选目标物理机中确定目标物理 机;
将所述待调度虚拟机调度到所述目标物理机。
一种资源调度设备, 包括:
第一确定模块,用于确定至少一个备选目标物理机和待调度虚拟机所在的 物理机;
通信成本计算模块,用于计算将所述待调度虚拟机模拟调度到各备选目标 物理机后的备选通信成本;
第二确定模块,用于根据所述通信成本从所述至少一个备选目标物理机中 确定目标物理机;
调度模块, 用于将所述待调度虚拟机调度到所述目标物理机。
本发明实施例所提供的方案中,通过计算待调度虚拟机模拟调度到各备选 目标物理机后的备选通信成本, 确定目标物理机, 然后进行资源调度, 从而实 现了综合分析资源调度过程中整个网络的负载情况,使得调度后的资源能够满 足更多的业务需求, 优化了调度效果。 附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施 例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地, 下面描述 中的附图仅仅是本发明的一些实施例, 对于本领域普通技术人员来讲,在不付 出创造性劳动的前提下, 还可以根据这些附图获得其他的附图。
图 1为典型的云计算数据中心组网方式;
图 2为本发明实施例公开的一种资源调度方法的流程图;
图 3 为本发明实施例公开的确定至少一个备选目标物理机和待调度虚拟 机所在的物理机的方法的流程图;
图 4 为本发明实施例公开的又一确定至少一个备选目标物理机和待调度 虚拟机所在的物理机的方法流程图;
图 5 为本发明实施例公开的获得告警网络负载的预测持续时间的方法流 程图;
图 6为本发明实施例公开的又一资源调度方法的流程图;
图 7为本发明实施例公开判断改善系数是否符合预设改善条件的流程图; 图 8为本发明实施例公开的一种资源调度设备的结构示意图;
图 9为本发明实施例公开的第一确定模块的结构示意图;
图 10为本发明实施例公开的又一第一确定模块的结构示意图;
图 11为本发明实施例公开的第二确定模块的结构示意图。 具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清 楚、 完整地描述, 显然, 所描述的实施例仅仅是本发明一部分实施例, 而不是 全部的实施例。基于本发明中的实施例, 本领域普通技术人员在没有做出创造 性劳动前提下所获得的所有其他实施例, 都属于本发明保护的范围。
为了解决现有技术中资源调度方法只能使虚拟机满足某些业务的需求,其 调度效果较差,调度结果并不理想的问题, 本发明实施例公开了一种资源调度 方法, 该方法可以应用于云计算数据中心服务器, 具体的, 可以由云计算数据 中心服务器上的管理系统进行运行, 其具体流程如图 2所示, 包括:
步骤 S21、 确定至少一个备选目标物理机和待调度虚拟机所在的物理机; 本实施例中公开的资源调度方法可以应用于任何一个需要进行资源调度 的场景, 例如, 当云计算数据中心服务器上的管理系统检测到告警队列中出现 告警时, 或者人为的根据当前系统运行状态对某一虚拟机进行调度时。
步骤 S22、计算将待调度虚拟机模拟调度到各备选目标物理机后的备选通 信成本;
本实施例中,只需计算假设将待调度虚拟机调度到备选目标物理机后,待 调度虚拟机与数据中心内的其他虚拟机之间进行通信的通信成本,作为备选通 信成本, 而无需真正将待调度虚拟机进行调度, 因此, 不会增加由于进行调度 而造成的开销。
本实施例中的备选通信成本为: 待调度虚拟机被调度到备选目标物理机 后,待调度虚拟机所在数据中心的其他虚拟机与待调度虚拟机通信的备选内部 通信成本; 和 /或, 待调度虚拟机被调度到备选目标物理机后, 待调度虚拟机 所在数据中心的外部设备与虚拟机通信的备选外部通信成本。
当接入层交换机告警时在同一数据中心内部进行调度, 应用内部通信成 本; 当汇聚层交换机告警时进行跨数据中心的调度, 应用外部通信成本。 当汇 聚层交换机告警时首先选择该交换机下当前网络负载最大的虚拟机为待调度 虚拟机,然后模拟计算将该虚拟机调度到与之通信的各个其它数据中心后的备 选外部通信成本及备选内部通信成本,之后进行外部通信成本改善系数及内部 通信成本改善系数的计算,只有当外部通信成本改善系数及内部通信成本改善 系数同时满足调度条件时才进行调度,选择符合内部通信改善系统及外部通信 改善系统同时达到的物理机作为目标物理机。 或者, 当汇聚层交换机告警时, 计算模拟计算将该虚拟机调度到与之通信的各个其它数据中心后的备选外部 通信成本, 当外部通信成本改善系数满足调度条件时才进行调度。
步骤 S23、 根据通信成本从至少一个备选目标物理机中确定目标物理机; 步骤 S24、 将待调度虚拟机调度到目标物理机。
本实施例公开的资源调度方法中,通过计算待调度虚拟机模拟调度到各备 选目标物理机后的备选通信成本, 确定目标物理机, 然后进行资源调度, 从而 实现了综合分析资源调度过程中整个网络的负载情况,使得调度后的资源能够 满足更多的业务需求, 优化了调度效果。
上述实施例中,当云计算数据中心服务器上的管理系统接收到由于网络负 载超过预设门限而产生的告警信息而需要进行资源调度时,确定至少一个备选 目标物理机和待调度虚拟机所在的物理机的过程如图 3所示, 包括:
步骤 S31、 获取告警信息, 当告警信息符合调度条件时, 依据告警信息查 找待调度虚拟机;
本实施例中的告警信息包括告警类型。
告警类型至少包括如下一项:
虚拟机的内部通信负载值超出内部通信负载门限时的虚拟机告警; 或 接入层交换机出口带宽网络负载超过设定的出口带宽值时的接入层交换 机告警, 或, 汇聚层交换机出口带宽网络负载超过设定的出口带宽值时的汇聚 层交换机告警。
当告警类型为虚拟机告警时, 则发出告警的虚拟机为待调度虚拟机, 当所 述告警类型为交换机告警时, 查找告警的交换机所包含的虚拟机中, 网络负载 值最大的虚拟机, 并将其确定为待调度虚拟机。 具体的确定告警类型的过程可 以为云计算数据中心服务器上的管理系统完成,也可以为其他独立于云计算数 据中心服务器上的管理系统的设备完成。
此时, 当报警类型为虚拟机告警或者交换机告警, 则符合调度条件, 若为 其他告警类型, 则不符合调度条件。
步骤 S32、 确定待调度虚拟机所在的物理机, 备选目标物理机包括该物理 机所在的数据中心内的其他物理机。 据中心,也就是说, 无论待调度虚拟机和与其通信的虚拟机是否处于同一数据 中心, 本实施例中都通过在待调度虚拟机所在数据中心内, 进行资源的调度, 从而实现降低待调度虚拟机和与其通信的虚拟机进行通信时造成的网络负载 超过预设门限的目的。
当然,备选目标物理机也可以与待调度虚拟机处于不同数据中心, 当待调 度虚拟机和与其通信的虚拟机不属于同一数据中心时,此时确定至少一个备选 目标物理机和待调度虚拟机所在的物理机的过程如图 4所示, 包括:
步骤 S41、 获取告警信息, 当告警信息符合调度条件时, 依据告警信息查 找待调度虚拟机及与待调度虚拟机进行通信的通信虚拟机;
步骤 S42、 确定通信虚拟机所在的物理机, 备选目标物理机包括物理机所 在的数据中心内的其他物理机。
本实施例中 ,通过将待调度虚拟机调度到与其进行通信的虚拟机所在的数 据中心内的方式,将两者间的跨数据中心的通信方式通过资源的调度转换成了 数据中心内的通信, 减小了外部通信成本,从而实现了降低通信过程中的网络 负载的问题。
进一步的,本实施例也并不限定将待调度虚拟机在其所在数据中心内进行 调度, 或者, 调度到与其通信的虚拟机所在的数据中心, 其同样可以调度到其 他的数据中心的物理机上, 只要能够实现降低网络负载,都是本发明实施例保 护的范围。
上述实施例中,告警信息还包括告警网络负载的预测持续时间, 而告警信 息符合调度条件还包括: 告警网络负载的当前持续时间不小于预设时间。 当同 时符合报警类型为虚拟机告警或者交换机告警,并且告警网络负载的当前持续 时间不小于预设时间这两个条件时, 告警信息符合调度条件。
本实施例并不限定告警信息和告警信息符合调度条件的判别方式如上所 述,告警信息中还可以只包含告警网络负载的预测持续时间,通过判断告警网 络负载的预测持续时间不小于预设时间来确定告警信息符合调度条件。
本实施例中的当前持续时间指的是产生告警的网络负载从出现告警到当 前时刻所持续的时间,预设时间可以根据告警网络负载的预测持续时间进行确 定, 可以是预设持续时间本身, 或者是预测持续时间的百分之五十, 或者百分 之六十等, 具体可以根据实际的网络状态进行设定。
本发明中为了计算方便, 可以预先建立通信负载矩阵,通信负载矩阵中的 各个数据点用来指示待调度虚拟机与各个虚拟机间进行通信时的通信成本,该 通信成本可以是外部通信成本也可以是内部通信成本, 例如, 建立与各个数据 中心对应的通信负载矩阵,该通信负载矩阵中包含有数据中心内各个虚拟机间 进行通信时的内部通信成本。 假设所述数据中心内的虚拟机个数为 n, 则通信 负载矩阵为 n*n矩阵, 矩阵中的第 (i; j )数据点表示虚拟机 i对于虚拟机 j 的上行网络负载, 其中, n为正整数, i和 j分别为不大于 n的正整数。
由于通信负载矩阵内的各个数据点是通过过滤虚拟机网卡的 IP报文, 利 用 IP报文的目的 IP地址统计得出的, 当通信环境发生变化后, 各个虚拟机的 通信情况也会发生改变, 因此需要对通信矩阵进行更新,假设本实施例中的更 新周期为 L。
利用上述通信负载矩阵,按照图 5所示流程获得告警网络负载的预测持续 时间, 包括:
步骤 S51、 设定采样时刻起始点, 查找与该采样时刻起始点对应的通信负 载矩阵中, 通信成本大于预设通信负载阈值的矩阵数据点, 并记录其个数; 则本实施例中的采样时刻起始点为 L 的整数倍, 即在更新通信负载矩阵 后, 判断通信负载矩阵内是否有大于预设通信成本的数据点, 即是否存在大于 预设通信成本的通信过程; 如果有, 记录大于预设通信成本的数据点的个数。
例如, 有一个 3*3的通信矩阵, 如下所示:
Al , A2, A3
Bl , B2, B3 CI , C2, C3
其中 Al、 A2、 A3、 Bl、 B2、 B3、 Cl、 C2和 C3为通信负载矩阵中的数 据点, 设矩阵更新周期为 1分钟。 以半小时为一个预测周期, 那么设定采样时 刻起始点为 7:30 (系统需要緩存整个预测周期内通信矩阵的数据)。
计算时首先取 7:30时的通信负载矩阵数据进行查看, 设预设通信负载阈 值为 500M,如果得出 B2、B3的值大于阈值 500M,则以这两个矩阵数据点( B2、 B3 )作为后续检测依据, 则记录的个数为 2。
步骤 S52、 确定从采样时刻起始点到当前时间内, 按照预设的更新周期获 得通信负载矩阵数据点所对应的通信成本,并记录各个数据点所对应的通信成 本最后一次连续大于预设通信负载阈值的次数;
从 7:30向 8:00连续查看每个更新周期内通信负载矩阵中对应 (B2、 B3 的矩阵数据点的通信成本,记录这两个点的通信成本的值在每个更新时间点进 行更新时, 大于预设通信负载阈值的情况, 并统计连续大于预设通信负载阈值 的次数, 记录最后一次连续大于预设通信负载阈值的次数, 例如, 以数据点 B2为例, 没在 7:30至 8:00间进行的 30次更新时, 前 10次更新时获得的通 信成本大于预设通信负载阈值, 中间 5次更新时, 不大于预设通信负载阈值, 而后面的 15次大于预设通信负载阈值, 因此, 记录 15次作为数据点 B2最后 一次连续大于预设通信负载阈值的次数, 然后依据该次数计算预测时间。
步骤 S53、 依据记录的通信负载矩阵数据点的个数、 记录的数据点所对 应的通信成本最后一次连续大于预设通信负载阈值的次数以及更新周期获得 告警网络负载的预测持续时间。
x-1 具体为, " X 其中, mi为第 i个数据点的通信成本最后一次连续大于预设通信负载阈值 的次数, 依据上述公式则可获得告警网络负载的预测持续时间 T。
假设告警网络负载的当前持续时间为 t, 而预设时间为 0.5T, 则通过比较 t 与 0.5T 的大小判断告警网络负载是持续大网络负载还是瞬时峰值。 如果 t>=0.5T, 则表明告警网络负载为持续大网络负载, 告警信息符合调度条件, 则需要对资源进行调度, 而当 K0.5T时, 则证明该告警网络负载为瞬时峰值, 由于不会长时间存在, 所以无需进行资源的调度。
本发明实施例公开的又一资源调度方法的流程如图 6所示,该过程适用于 待调度虚拟机和与其进行通信的虚拟机处于同一数据中心的情况,备选通信成 本为内部通信成本, 具体流程包括:
步骤 S61、 确定至少一个备选目标物理机和待调度虚拟机所在的物理机; 步骤 S62、计算将待调度虚拟机模拟调度到各备选目标物理机后的备选通 信成本;
本实施例中, 当备选通信成本有多个时, 可以将计算得到的多个备选通信 成本存储于预先设定的数组 arrCn(n)中。
步骤 S63、根据备选通信成本与待调度虚拟机的当前通信成本计算改善系 数;
依据上述通信负载矩阵计算当前内部通信成本, 假设待调度虚拟机为 i, 与其进行通信的虚拟机为 j , 则虚拟机的当前内部通信成本 Cn为:
Cn=VCM[i, j]*ai+VCM[j, i]*aj
其中, ai与 aj为通信成本系数, 一般情况下 ai=aj=虚拟机 i与虚拟机 j之 间通信所经历的交换机个数减 1。
步骤 S64、 当改善系数符合预设改善条件时, 确定与备选通信成本对应的 备选物理机为目标物理机;
本实施例中, 改善系数符合预设改善条件为: 改善系数不大于预设改善系 数。本实施例中的改善系数可以为备选通信成本与当前通信成本的比值, 即表 示,将待调度虚拟机调度到与备选通信成本对应的物理机上后,待调度虚拟机 通信成本与当前通信成本相比是变大还是变小,若变大,其变大的倍数是多少, 若变小,其变小的倍数是多少。该改善系数越小,则证明通信成本减少的越多, 进行通信所使用的网络负载就越少, 本实施例中的预设改善系数为 0.6, 即, 备选通信成本缩减到当前通信成本的百分之六十以上,才能够降低该通信过程 所使用的网络负载,从而使虚拟机的网络负载低于预设门限。本实施例并不限 定预设改善系数的值, 其可以根据实际情况进行设定。
步骤 S65、 将待调度虚拟机调度到目标物理机。
上述过程中, 由于备选通信成本有多个, 因此, 可以按照如图 7所示步骤 判断改善系数是否符合预设改善条件, 并确定目标物理机:
步骤 S71、 从备选通信成本中选择当前待分析备选通信成本;
步骤 S72、 获得当前待分析通信成本与当前通信成本的比值, 将比值作为 当前待分析通信成本对应的改善系数;
_ arrCn[i]
本实施例中的改善系数为 α: " _ Cn 。
步骤 S73、判断改善系数是否不大于预设改善系数,若是,则执行步骤 S74, 若否, 则执行步骤 S75;
步骤 S74、 确定该改善系数符合预设改善条件, 并确定与该改善系数对应 的备选目标物理机为目标物理机;
步骤 S75、 判断备选通信成本中是否存在未被分析备选通信成本, 若是, 则执行步骤 S76, 若否, 则结束;
步骤 S76、 从未被分析备选内部通信成本中, 选择下一未被分析备选通信 成本为当前待分析通信成本, 返回执行步骤 S72。
本实施例中,把待调度虚拟机调度到目标物理机前,还可以对目标物理机 的物理资源进行分析, 确定其物理资源是否能够保证调度后虚拟机的资源需 求, 例如, 待调度虚拟机进行通信时所需要的内存为 5M, 而目标物理机的剩 余内存不足 5M, 则表明将待调度虚拟机调度后, 无法进行正常的通信。 或者, 待调度虚拟机进行通信时所需要的 CPU占用率为 20%, 而目标物理机的当前 CPU的内存占用率为 90%。 当出现上述情况中的任意一种或任意几种的组合 时, 可以舍弃当前确定出的目标物理机, 重复上述步骤确定新的物理机。 从而 保证调度的成功, 提高了该方法的可靠性。
本实施例中,可将存储在数组中的多个备选通信成本按照由小到大的顺序 进行排序, 然后依次选取, 从而能够保证快速的找到目标物理机, 并且, 当某 一备选通信成本对应的改善系数已经不小于预设改善系数时,无需再对剩余的 其他备选通信成本进行判别, 可以直接确定均不小于预设改善系数,从而减少 了计算次数, 降低了功耗。 本发明同时公开了一种资源调度设备, 其结构如图 8所示, 包括: 第一确定模块 81 , 用于确定至少一个备选目标物理机和待调度虚拟机所 在的物理机;
通信成本计算模块 82, 用于计算将待调度虚拟机模拟调度到各备选目标 物理机后的备选通信成本;
第二确定模块 83 , 用于根据备选通信成本从至少一个备选目标物理机中 确定目标物理机;
调度模块 84, 用于将待调度虚拟机调度到所述目标物理机。
本实施例公开的资源调度设备的工作过程可参考图 2对应的方法实施例, 具体内容再次不再贅述。
本实施例公开的资源调度设备通过计算待调度虚拟机模拟调度到各备选 目标物理机后的备选通信成本, 确定目标物理机, 然后进行资源调度, 从而实 现了综合分析资源调度过程中整个网络的负载情况,使得调度后的资源能够满 足更多的业务需求, 优化了调度效果。
上述实施例中的备选通信成本至少包括如下一项:
待调度虚拟机被调度到备选目标物理机后,待调度虚拟机所在数据中心的 其他虚拟机与待调度虚拟机通信的备选内部通信成本; 或
待调度虚拟机被调度到备选目标物理机后,待调度虚拟机所在数据中心的 外部设备与虚拟机通信的备选外部通信成本。
进一步的,当由于出现告警信息而需要在待调度虚拟机所在数据中心内进 行资源的调度,以降低待调度虚拟机和与其通信的虚拟机进行通信时的网络负 载, 使其不超过预设门限时, 第一确定模块如图 9所示, 包括:
第一查找单元 91 , 用于获取告警信息, 当告警信息符合调度条件时, 依 据所述告警信息查找待调度虚拟机;
第一确定单元 92, 用于确定待调度虚拟机所在的物理机, 备选目标物理 机包括物理机所在的数据中心内的其他物理机。
进一步的, 当待调度虚拟机和与其通信的虚拟机不属于同一数据中心时 , 第一确定模块如图 10所示, 包括:
第二确定单元 101 ,用于获取告警信息, 当所述告警信息符合调度条件时, 通信虚拟机; 第二确定单元 102, 用于确定所述通信虚拟机所在的物理机, 所述备选目 标物理机包括所述物理机所在的数据中心内的其他物理机。
本实施例并不限定当面对不同的调度情况时,第一确定模块的分别具有不 同的结构,其同样可以将上述结构同时设置在同一具有分析处理能力的存储介 质中, 根据不同的情况选择不同的处理模式。
本实施例中, 告警信息包括: 告警类型至少包括如下一项:
虚拟机的内部通信负载值超出内部通信负载门限时的虚拟机告警; 或 接入层交换机出口带宽网络负载超过设定的出口带宽值时的交换机告警; 或,汇聚层交换机出口带宽网络负载超过设定的出口带宽值时的接入层交换机 告警。
进一步的, 告警信息中还包括: 告警网络负载的预测持续时间。 告警网络 负载的当前持续时间不小于预设时间时, 确定告警信息符合调度条件。 进一步的, 本实施例中的第二确定模块如图 11所示, 包括:
改善系数计算单元 111 , 用于根据备选通信成本与待调度虚拟机的当前通 信成本计算改善系数;
目标物理机确定单元 112, 用于当改善系数符合预设改善条件时, 确定与 备选通信成本对应的备选物理机为目标物理机。
而改善系数计算单元 111包括:
当前通信成本计算子单元 1111 , 用于依据通信负载矩阵获得待调度虚拟 通信时的通信成本。
本实施例公开的只是资源调度设备的最佳实施例,其具体实现方式请参考 上述资源调度方法实施例, 具体内容不再贅述。 本领域普通技术人员可以理解,实现上述实施例方法中的全部活部分流程 是可以通过计算机程序来指令相关的应将来完成的。所述的程序可存储于一计 算机可读取存储介质中, 该程序在执行时, 可包括如上述各方法的实施例的流 程。 其中, 所述的存储介质可为磁碟、 光盘、 只读存储记忆体 (Read-Only Memory, ROM )或随机存^ ^己忆体 ( Random Access Memory, RAM )等。 对于装置或系统实施例而言, 由于其基本相应于方法实施例, 所以相关之 处参见方法实施例的部分说明即可。以上所描述的装置或系统实施例仅仅是示 意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开 的,作为单元显示的部件可以是或者也可以不是物理单元, 即可以位于一个地 方, 或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分 或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造 性劳动的情况下, 即可以理解并实施。
在本发明所提供的几个实施例中, 应该理解到, 所揭露的系统, 装置和方 法, 在没有超过本申请的精神和范围内, 可以通过其他的方式实现。 待用的实 施例只是一种示范性的例子, 不应该作为限制, 所给出的具体内容不应该限制 本申请的目的。 例如, 所述单元或子单元的划分, 仅仅为一种逻辑功能划分, 实际实现时可以有另外的划分方式, 例如多个单元或多个子单元结合一起。 另 外, 多个单元可以或组件可以结合或者可以集成到另一个系统, 或一些特征可 以忽略, 或不执行。
另外, 所描述系统, 装置和方法以及不同实施例的示意图, 在不超出本申 请的范围内, 可以与其它系统, 模块, 技术或方法结合或集成。 另一点, 所显 示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置 或单元的间接耦合或通信连接, 可以是电性, 机械或其它的形式。
以上所述仅是本发明的具体实施方式,应当指出,对于本技术领域的普通 技术人员来说, 在不脱离本发明原理的前提下, 还可以做出若干改进和润饰, 这些改进和润饰也应视为本发明的保护范围。

Claims

权 利 要 求
1、 一种资源调度方法, 其特征在于, 包括:
确定至少一个备选目标物理机和待调度虚拟机所在的物理机;
计算将所述待调度虚拟机模拟调度到各备选目标物理机后的备选通信成 本;
根据所述备选通信成本从所述至少一个备选目标物理机中确定目标物理 机;
将所述待调度虚拟机调度到所述目标物理机。
2、 根据权利要求 1所述的方法, 其特征在于, 所述确定至少一个备选目 标物理机和待调度虚拟机所在的物理机包括:
获取告警信息, 当所述告警信息符合调度条件时,依据所述告警信息查找 所述待调度虚拟机;
确定所述待调度虚拟机所在的物理机,所述备选目标物理机包括所述物理 机所在的数据中心内的其他物理机;
或, 获取告警信息, 当所述告警信息符合调度条件时, 依据所述告警信息 确定所述通信虚拟机所在的物理机,所述备选目标物理机包括所述物理机 所在的数据中心内的其他物理机。
3、 根据权利要求 1或 2所述的方法, 其特征在于, 所述备选通信成本至 少包括如下一项:
所述待调度虚拟机被调度到备选目标物理机后,所述待调度虚拟机所在数 据中心的其他虚拟机与所述待调度虚拟机通信的备选内部通信成本;
或, 所述待调度虚拟机被调度到备选目标物理机后, 所述待调度虚拟机所 在数据中心的外部设备与所述虚拟机通信的备选外部通信成本。
4、 根据权利要求 2所述的方法, 其特征在于, 所述告警信息包括: 告警 类型。
5、 根据权利要求 4所述的方法, 其特征在于, 所述告警类型至少包括如 下一项:
虚拟机的内部通信负载值超出内部通信负载门限时的虚拟机告警; 或,接入层交换机出口带宽网络负载超过设定的出口带宽值时的接入层交 换机告警;
或,汇聚层交换机出口带宽网络负载超过设定的出口带宽值时的接入层交 换机告警。
6、 根据权利要求 4或 5所述的方法, 其特征在于, 所述告警信息还包括 告警网络负载的预测持续时间, 所述告警信息符合调度条件包括: 所述告警网 络负载的当前持续时间不 d、于预设时间。
7、 根据权利要求 1至 6任一项所述的方法, 其特征在于, 根据所述备选 通信成本从所述至少一个备选目标物理机中确定目标物理机包括: 数;
当所述改善系数符合预设改善条件时,确定与所述备选通信成本对应的备 选物理机为目标物理机。
8、 根据权利要求 7所述的方法, 其特征在于, 所述待调度虚拟机的当前 通信成本依据通信负载矩阵获得,所述通信负载矩阵中包含有所述待调度虚拟 机与各个虚拟机间进行通信时的通信成本。
9、 一种资源调度设备, 其特征在于, 包括:
第一确定模块,用于确定至少一个备选目标物理机和待调度虚拟机所在的 物理机;
通信成本计算模块,用于计算将所述待调度虚拟机模拟调度到各备选目标 物理机后的备选通信成本;
第二确定模块,用于根据所述备选通信成本从所述至少一个备选目标物理 机中确定目标物理机;
调度模块, 用于将所述待调度虚拟机调度到所述目标物理机。
10、 根据权利要求 9所述的设备, 其特征在于, 所述第一确定模块包括: 第一查找单元, 用于获取告警信息, 当所述告警信息符合调度条件时, 依 据所述告警信息查找所述待调度虚拟机;
第一确定单元, 用于确定所述待调度虚拟机所在的物理机, 所述备选目标 物理机包括所述物理机所在的数据中心内的其他物理机。
11、 根据权利要求 9所述的设备, 其特征在于, 所述第一确定模块包括: 第二查找单元, 用于获取告警信息, 当所述告警信息符合调度条件时, 依 信虚拟机;
第二确定单元, 用于确定所述通信虚拟机所在的物理机, 所述备选目标物 理机包括所述物理机所在的数据中心内的其他物理机。
12、 根据权利要求 10或 11所述的设备, 其特征在于, 所述第二确定模块 包括: 前通信成本计算改善系数;
目标物理机确定单元, 用于当所述改善系数符合预设改善条件时,确定与 所述备选通信成本对应的备选物理机为目标物理机。
13、 根据权利要求 12所述的设备, 其特征在于, 所述改善系数计算单元 包括:
当前通信成本计算子单元,用于依据通信负载矩阵获得所述待调度虚拟机 的当前通信成本,所述通信负载矩阵中包含有所述待调度虚拟机与各个虚拟机 间进行通信时的通信成本。
14、 根据权利要求 9至 13任一项所述的设备, 其特征在于, 所述备选通 信成本至少包括如下一项:
所述待调度虚拟机被调度到备选目标物理机后,所述待调度虚拟机所在数 据中心的其他虚拟机与所述待调度虚拟机通信的备选内部通信成本;
或, 所述待调度虚拟机被调度到备选目标物理机后, 所述待调度虚拟机所 在数据中心的外部设备与所述虚拟机通信的备选外部通信成本。
PCT/CN2011/084933 2011-12-29 2011-12-29 一种资源调度方法及设备 WO2013097151A1 (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
PCT/CN2011/084933 WO2013097151A1 (zh) 2011-12-29 2011-12-29 一种资源调度方法及设备
CN2011800033404A CN103299279A (zh) 2011-12-29 2011-12-29 一种资源调度方法及设备
EP11878495.8A EP2713270A4 (en) 2011-12-29 2011-12-29 METHOD AND DEVICE FOR PLANNING RESOURCES
US14/106,481 US20140143777A1 (en) 2011-12-29 2013-12-13 Resource Scheduling Method and Device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2011/084933 WO2013097151A1 (zh) 2011-12-29 2011-12-29 一种资源调度方法及设备

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US14/106,481 Continuation US20140143777A1 (en) 2011-12-29 2013-12-13 Resource Scheduling Method and Device

Publications (1)

Publication Number Publication Date
WO2013097151A1 true WO2013097151A1 (zh) 2013-07-04

Family

ID=48696229

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2011/084933 WO2013097151A1 (zh) 2011-12-29 2011-12-29 一种资源调度方法及设备

Country Status (4)

Country Link
US (1) US20140143777A1 (zh)
EP (1) EP2713270A4 (zh)
CN (1) CN103299279A (zh)
WO (1) WO2013097151A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106598693A (zh) * 2016-05-11 2017-04-26 河南理工大学 一种基于延时策略的能耗及负载感知的虚拟机整合方法

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10348628B2 (en) * 2013-09-12 2019-07-09 Vmware, Inc. Placement of virtual machines in a virtualized computing environment
JP2015088112A (ja) * 2013-11-01 2015-05-07 ソニー株式会社 制御装置、処理装置及び情報処理方法
US9489242B2 (en) * 2014-09-30 2016-11-08 Telefonaktiebolaget L M Ericsson (Publ) Algorithm for faster convergence through affinity override
CN104639639B (zh) * 2015-02-09 2018-04-27 华为技术有限公司 一种虚拟机部署位置的调整方法、装置及系统
CN104995604A (zh) 2015-03-03 2015-10-21 华为技术有限公司 虚拟机的资源分配方法及装置
US20190108060A1 (en) * 2017-10-09 2019-04-11 Nokia Solutions And Networks Oy Mobile resource scheduler
CN107872402B (zh) * 2017-11-15 2021-04-09 北京奇艺世纪科技有限公司 全局流量调度的方法、装置及电子设备
CN109951558A (zh) * 2019-03-27 2019-06-28 北京并行科技股份有限公司 一种超算资源的云调度方法、云调度中心和系统
CN113395114B (zh) * 2020-03-12 2022-09-16 华为技术有限公司 光模块、数据中心系统以及数据传输方法
CN116107726B (zh) * 2023-04-13 2023-07-18 上海思尔芯技术股份有限公司 Fpga资源调度方法、装置、设备以及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101504620A (zh) * 2009-03-03 2009-08-12 华为技术有限公司 一种虚拟化集群系统负载平衡方法、装置及系统
CN101719081A (zh) * 2009-12-01 2010-06-02 北京大学 一种虚拟机调度方法
US20110099551A1 (en) * 2009-10-26 2011-04-28 Microsoft Corporation Opportunistically Scheduling and Adjusting Time Slices
CN102096601A (zh) * 2011-02-11 2011-06-15 浪潮(北京)电子信息产业有限公司 一种虚拟机迁移的管理方法和系统

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8005009B2 (en) * 2004-06-25 2011-08-23 InMon Corp. Methods and computer programs for generating data traffic matrices
US9485144B2 (en) * 2004-06-25 2016-11-01 InMon Corp. Network traffic optimization
US8145760B2 (en) * 2006-07-24 2012-03-27 Northwestern University Methods and systems for automatic inference and adaptation of virtualized computing environments
US8102781B2 (en) * 2008-07-31 2012-01-24 Cisco Technology, Inc. Dynamic distribution of virtual machines in a communication network
US8224957B2 (en) * 2010-05-20 2012-07-17 International Business Machines Corporation Migrating virtual machines among networked servers upon detection of degrading network link operation
CN102232282B (zh) * 2010-10-29 2014-03-26 华为技术有限公司 一种实现数据中心资源负载均衡的方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101504620A (zh) * 2009-03-03 2009-08-12 华为技术有限公司 一种虚拟化集群系统负载平衡方法、装置及系统
US20110099551A1 (en) * 2009-10-26 2011-04-28 Microsoft Corporation Opportunistically Scheduling and Adjusting Time Slices
CN101719081A (zh) * 2009-12-01 2010-06-02 北京大学 一种虚拟机调度方法
CN102096601A (zh) * 2011-02-11 2011-06-15 浪潮(北京)电子信息产业有限公司 一种虚拟机迁移的管理方法和系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP2713270A4 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106598693A (zh) * 2016-05-11 2017-04-26 河南理工大学 一种基于延时策略的能耗及负载感知的虚拟机整合方法

Also Published As

Publication number Publication date
US20140143777A1 (en) 2014-05-22
EP2713270A1 (en) 2014-04-02
CN103299279A (zh) 2013-09-11
EP2713270A4 (en) 2014-10-22

Similar Documents

Publication Publication Date Title
WO2013097151A1 (zh) 一种资源调度方法及设备
Xu et al. From cloud to edge: a first look at public edge platforms
CN106533723B (zh) 虚拟资源调度方法、装置及系统
CA2107141C (en) Method simulating data traffic on network in accordance with a client/server paradigm
CN103294521B (zh) 一种降低数据中心通信负载及能耗的方法
US20080013449A1 (en) Mmpp analysis of network traffic using a transition window
JP2006520937A5 (zh)
CN105338061A (zh) 一种轻量级消息中间件的实现方法与系统
JP2013150134A (ja) 計算機システム、仮想サーバ配置方法及び配置制御装置
CN104052678A (zh) 利用反馈请求的源驱动开关探测的方法和系统
WO2014090075A1 (en) System and method for estimating an effective bandwidth
US9104488B2 (en) Support server for redirecting task results to a wake-up server
CN105516292A (zh) 一种智能变电站云平台的热备方法
WO2015003551A1 (zh) 网络测试方法及其数据采集方法、网络测试装置及系统
CN109728981A (zh) 一种云平台故障监测方法及装置
CN107544837A (zh) 云服务设备性能数据采集系统、方法和装置
WO2016197458A1 (zh) 一种流量控制的方法及装置
CN113099410A (zh) 一种5g电力边缘数据传输处理方法、装置、终端及介质
CN109361749A (zh) 报文处理方法、相关设备及计算机存储介质
Wang et al. Performance modeling and suitability assessment of data center based on fog computing in smart systems
CN111422078B (zh) 一种基于区块链的电动汽车充电数据调配监测方法
CN111124605B (zh) 利用气流组织分布方式进行数据中心虚拟机放置与调度的方法
CN117076117A (zh) 一种基于新通信架构的媒体会场智能调度方法及系统
CN104903813A (zh) 用于计算中心中的预测性功率管理的系统和方法
Yuan et al. A DRL-Based Container Placement Scheme with Auxiliary Tasks.

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 11878495

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2011878495

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE