WO2023084777A1 - スケーリング管理装置、スケーリング管理方法、および、プログラム - Google Patents

スケーリング管理装置、スケーリング管理方法、および、プログラム Download PDF

Info

Publication number
WO2023084777A1
WO2023084777A1 PCT/JP2021/041923 JP2021041923W WO2023084777A1 WO 2023084777 A1 WO2023084777 A1 WO 2023084777A1 JP 2021041923 W JP2021041923 W JP 2021041923W WO 2023084777 A1 WO2023084777 A1 WO 2023084777A1
Authority
WO
WIPO (PCT)
Prior art keywords
hardware
scaling
performance
usage rate
value
Prior art date
Application number
PCT/JP2021/041923
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 JP2023559383A priority Critical patent/JPWO2023084777A1/ja
Priority to PCT/JP2021/041923 priority patent/WO2023084777A1/ja
Publication of WO2023084777A1 publication Critical patent/WO2023084777A1/ja

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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • 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

Definitions

  • the present invention relates to a scaling management device, a scaling management method, and a program for controlling scaling in a virtualization infrastructure.
  • a virtualization platform uses virtualization technology to abstract and hide physical resources such as servers and networks, and to manage virtual environments prepared as a common platform for multiple applications and services. refers to the system.
  • OpenStack software for building cloud environments
  • Kubernetes software for operating and managing containerized workloads and services.
  • OpenStack is mainly used for management and operation of physical machines and virtual machines (VM).
  • Kubernetes is mainly used for managing and operating containers (see Non-Patent Document 1).
  • virtualization platforms in the city are equipped with auto-scaling (a function that automatically adjusts the number of VMs and containers based on system usage).
  • the scaling threshold value is set in advance by the system operator and does not take into consideration the power efficiency characteristics of each piece of hardware.
  • heterogeneous hardware including accelerators such as GPUs and FPGAs
  • performance differences and power efficiency of each server A heterogeneous environment in which characteristic differences exist is not considered.
  • HPA Horizontal Pod Autoscaler
  • the metrics (evaluation scale) used for scaling decisions are calculated considering the heterogeneous environment. isn't it.
  • HPA uses, for example, the CPU usage rate as a metric for Pods (the minimum execution unit of a Kubernetes application) participating in a cluster, and compares the average value of the CPU usage rate with a threshold value to achieve scaling. Determine the presence or absence of At this time, the CPU usage rate is the performance difference of hardware (hereinafter sometimes referred to as "HW") (difference in processing performance of each server) and power efficiency characteristic difference (difference in usage rate at which power efficiency is maximized). ) are not considered.
  • HW hardware
  • 800m ⁇ 0.6 480m. Therefore, since the Pod's average CPU usage rate "600m” exceeds the scaling threshold "480m”, scaling is executed and one Pod is added. In this way, since the HW performance difference and the power efficiency characteristic difference are not taken into consideration, the Pods are added even though there is still room for the Pods of HW_A.
  • the present invention has been made in view of these points, and the object of the present invention is to enable efficient resource operation with reduced power consumption in a virtualization infrastructure.
  • a scaling management device is a scaling management device that manages scaling of virtual resources mounted on hardware by a virtualization infrastructure, wherein the scaling management device manages the scaling of each of the plurality of pieces of hardware.
  • Power efficiency that calculates the power efficiency characteristics of the hardware by measuring the power efficiency while varying the usage rate of the hardware, and determines the usage rate at which the power efficiency value is the highest among the measured power efficiencies.
  • a characteristic calculation unit measures the performance of each of the hardware by measuring a predetermined metric, identifies the hardware with the lowest performance value, and sets the performance value of the identified hardware to 1.
  • a performance ratio calculation unit that calculates the performance value of other hardware as a performance ratio
  • a virtual resource number calculation unit for calculating the score calculated for each hardware, and calculating the number of virtual resources to be installed in the hardware according to the ratio of the magnitude of the score calculated for each hardware
  • a scaling setting file is created in which the usage rate at which the power efficiency value is the highest is set as a target value for scaling of the hardware, and the calculated number of virtual resources to be mounted on the hardware
  • a setting file creating unit for creating a resource setting file including the requested resource of the virtual resource to be installed in the hardware.
  • FIG. 4 is a diagram for explaining an outline of processing executed by the scaling management device according to the embodiment.
  • 1 is a diagram showing the overall configuration of a scaling management system including a scaling management device according to an embodiment;
  • FIG. It is a figure which shows the calculation result of the power efficiency characteristic of the hardware which concerns on this embodiment. It is a figure which shows the calculation result of the performance ratio of the hardware which concerns on this embodiment.
  • 6 is a flow chart showing the flow of calculation processing of power efficiency characteristics according to the present embodiment.
  • FIG. 6 is a flowchart showing the flow of performance ratio calculation processing according to the embodiment; 6 is a flowchart showing the flow of scaling processing according to the embodiment; 6 is a flowchart showing the flow of scaling processing according to the embodiment; 4 is a flow chart showing the flow of hardware start/stop processing according to the embodiment.
  • 3 is a hardware configuration diagram showing an example of a computer that implements the functions of the scaling management device according to the present embodiment;
  • FIG. FIG. 10 is a diagram for explaining a problem of scaling in a conventional virtualization platform in which heterogeneous hardware is mixed and operated;
  • this embodiment a mode for carrying out the present invention.
  • this embodiment First, an outline of processing executed by the scaling management device 10 according to the present embodiment will be described.
  • FIG. 1 is a diagram for explaining an overview of processing executed by the scaling management device 10 according to this embodiment.
  • the scaling management device 10 determines required resources for a plurality of pieces of hardware 3 (HW_A and HW_B in FIG. 1) set and managed by the virtualization base 20 (see FIG. 2 described later), taking into account performance differences and power efficiency characteristic differences. Calculate the setting value and scaling threshold.
  • This scaling management device 10 executes the following processes.
  • a benchmark tool or the like is used to calculate performance differences and power efficiency characteristics for each piece of hardware.
  • the performance difference is calculated as the ratio of the performance values of each piece of hardware when the performance value of the piece of hardware with the lowest performance among the plurality of piece of hardware is set to "1".
  • the performance ratio between HW_A and HW_B is calculated as "2:1”.
  • a benchmark tool is used to gradually increase the load and measure, thereby calculating the power efficiency characteristics of each piece of hardware and determining the usage rate that maximizes the power efficiency. As shown in FIG. 1, HW_A has the maximum power efficiency when the usage rate is "90%.” In HW_B, power efficiency is maximized when the usage rate is "60%.”
  • ⁇ 2> Calculate the number of virtual resources (number of virtual resources) to be mounted on each piece of hardware.
  • a usage rate corresponding to the maximum value of power efficiency in the power efficiency characteristics of each piece of hardware is set as a scaling target value.
  • the target value of the power efficiency is "90%”.
  • HW_B the target value of power efficiency is "60%”.
  • the score of each piece of hardware is calculated from the power efficiency target value and the performance ratio "2:1".
  • the number of virtual resources to be installed in each piece of hardware is calculated.
  • an application virtualized on a virtualization platform consisting of one or more containers, one or more VMs, etc.
  • the number of virtual resources refers to the number of containers or VMs means number.
  • the virtual resource set in the virtualization infrastructure is described as a container, but it is not limited to this.
  • the number of containers mounted on the hardware is set to "3:1" by HW_A:HW_B corresponding to the score ratio "1.8:0.6". That is, for example, HW_A is loaded with three virtual resources, and HW_B is loaded with one virtual resource.
  • the requested resources for the containers mounted on the hardware for example, the requested resource "400m” for the containers mounted on HW_A and the requested resources for the containers mounted on HW_B
  • a requested resource of "800m” is set for the container.
  • the scaling target value is set to "90%” based on the power efficiency characteristics of HW_A, and the scaling target value is set to "60%” based on the power efficiency characteristics of HW_B. be done.
  • scaling is executed based on the scaling setting file.
  • determination is made with a different target value for each hardware type. If the usage rate of the hardware is extremely high or low, the hardware itself is started or stopped.
  • the scaling management device 10 considers the performance difference (performance ratio) and the power efficiency characteristic difference (difference in the usage rate at which the power efficiency is maximized) to create a resource setting file (specifically, a container mounted on each piece of hardware). number settings and request resource settings to allocate). Therefore, if traffic is evenly distributed to all containers by a load balancer or the like, all hardware will reach the scaling threshold almost at the same time. Note that the scaling management device 10 performs container monitoring and scaling determination, but the virtualization base 20 (FIG. 2) performs actual container control.
  • the scaling management device 10 creates a resource configuration file considering the performance difference (performance ratio), and sets a scaling target value (threshold value) considering the power efficiency characteristic difference. It is possible to control each piece of hardware so that it operates with the load amount with the highest power efficiency.
  • the virtualization base controlled by the scaling management device 10 is particularly useful in a heterogeneous environment in which different types of hardware coexist, but may be configured with the same type of hardware. In the following description, it is assumed that the hardware is configured in a heterogeneous environment consisting of multiple types and multiple units.
  • the scaling management system 1 including the scaling management device 10 of the present invention will be specifically described below.
  • FIG. 2 is a diagram showing the overall configuration of the scaling management system 1 including the scaling management device 10 according to this embodiment.
  • the scaling management system 1 includes hardware (HW) 3 (3A, 3B, 3C, .
  • a virtualization platform 20 that virtualizes the hardware 3 and builds a common platform that provides multiple applications and services using virtual resources (containers, VMs, etc.) set on each hardware 3, each hardware 3 and the virtualization platform 20 and a scaling management device 10 that is communicatively connected.
  • HW hardware
  • a virtualization platform 20 that virtualizes the hardware 3 and builds a common platform that provides multiple applications and services using virtual resources (containers, VMs, etc.) set on each hardware 3, each hardware 3 and the virtualization platform 20 and a scaling management device 10 that is communicatively connected.
  • the hardware 3 is, for example, heterogeneous hardware including accelerators such as GPUs and FPGAs.
  • the hardware 3 of this embodiment is composed of at least a plurality of pieces of hardware with different power efficiency characteristics.
  • the virtualization platform 20 abstracts and hides physical resources such as the hardware 3 using virtualization technology, and manages a virtualization environment in which multiple applications and services are built as a common platform.
  • This virtualization platform 20 is implemented by, for example, a server or the like provided on a cloud.
  • the virtualization platform 20 includes a resource manager 21 and a virtual resource controller 22, as shown in FIG.
  • the resource management unit 21 sets and manages physical resources such as the hardware 3 .
  • the virtual resource control unit 22 sets and manages virtual resources (containers and VMs) constructed (mounted) on the hardware 3 .
  • the virtual resource control unit 22 of the virtualization platform 20 loads virtual resources (containers, etc.) on each piece of hardware 3 based on the number of virtual resources indicated in the resource setting file obtained from the scaling management device 10 .
  • the virtual resource control unit 22 also adjusts (adds/deletes) virtual resources based on requests from the scaling management device 10 .
  • the resource management unit 21 receives an instruction to start/stop the hardware 3 from the scaling management device based on the usage status of the hardware 3, the resource management unit 21 starts/stops the hardware 3, which is a physical resource.
  • the scaling management device 10 calculates the number of virtual resources to be constructed in each piece of hardware 3 based on the power efficiency characteristics of each piece of hardware 3 and the performance difference (performance ratio) between pieces of hardware 3, and then sets a scaling policy. , scales the virtual resources built in the hardware 3 via the virtualization base 20 .
  • the scaling management device 10 is configured by a computer having a control section, an input/output section, and a storage section (all of which are omitted from the drawings).
  • the input/output unit inputs and outputs information to and from the virtualization base 20 and each piece of hardware 3 and the like.
  • This input/output unit consists of a communication interface for transmitting and receiving information via a communication line, and an input/output interface for inputting and outputting information between an input device such as a keyboard (not shown) and an output device such as a monitor. be done.
  • the storage unit is configured by a hard disk, flash memory, RAM (Random Access Memory), or the like.
  • the storage unit temporarily stores a program for executing each function of the control unit and information necessary for the processing of the control unit.
  • the control unit controls the overall processing executed by the scaling management device 10, and includes a HW characteristic calculation unit 11, a resource setting unit 12, a monitoring unit 13, a scaling control unit 14, and a HW control unit 15. be done.
  • the HW characteristic calculation unit 11 uses a benchmark tool or the like to calculate the performance difference (performance ratio) and power efficiency characteristic for each piece of hardware 3 .
  • the HW characteristic calculator 11 includes a power efficiency characteristic calculator 111 and a performance ratio calculator 112 .
  • the power efficiency characteristic calculation unit 111 calculates the power efficiency characteristic of each piece of hardware 3 by measuring the power efficiency while varying the usage rate of the hardware 3, and calculates the power efficiency characteristic of the hardware 3. Among them, the usage rate at which the value of power efficiency becomes the highest is determined.
  • the power efficiency characteristic calculator 111 applies a benchmark load to the hardware 3 and calculates the maximum RPS (Requests Per Second). For example, "5000" is calculated as the maximum RPS (RPS_MAX). Note that the power efficiency characteristic calculation unit 111 stores the maximum RPS value of each piece of hardware 3 in the storage unit. Next, the power efficiency characteristic calculator 111 applies the maximum load of the hardware 3 in increments of 10% for a predetermined time T (an arbitrary value set in advance, for example, T seconds). Then, the power efficiency characteristic calculation unit 111 calculates the average power (Power_x[W]) and the average load (RPS_x) in the predetermined time T. Also, the power efficiency characteristic calculation unit 111 calculates the average power for the predetermined time T while no load is applied.
  • FIG. 3 is a diagram showing calculation results of power efficiency characteristics of the hardware 3 according to this embodiment.
  • the first line in FIG. 3 shows the resource usage rate when the maximum processing amount (load) is set to "1.0" and the load is set in increments of 10%. This usage rate is hereinafter referred to as the "set usage rate” to distinguish it from the usage rate measured by monitoring the hardware 3.
  • FIG. The power efficiency EE_x on the fourth line is a value obtained by dividing the average load RPS_x on the third line by the average power Power_x [W] on the second line.
  • the normalization EENormalize_x on the fifth line is the power efficiency at the maximum RPS ("4950" in Fig. 3) ("4.95" in Fig.
  • the power efficiency characteristic calculation unit 111 is not limited to calculating the power efficiency characteristic by applying the benchmark load, and may use other methods.
  • the power efficiency characteristic calculation unit 111 measures the power efficiency and the usage rate during operation using an application actually installed in the hardware 3 without applying a benchmark load, and determines the usage that maximizes the power efficiency. The optimum value of the rate may be calculated (learned).
  • the performance ratio calculation unit 112 measures the performance of each piece of hardware 3 by measuring a predetermined metric, identifies the piece of hardware 3 with the lowest performance value, and The performance value of the other hardware 3 when the performance value is set to "1" is calculated as the performance ratio.
  • the performance ratio calculation unit 112 first refers to information on the maximum RPS of each piece of hardware 3 calculated by the power efficiency characteristic calculation unit 111, and calculates the RPS value of the hardware 3 having the lowest maximum RPS value. select.
  • the performance ratio calculation unit 112 applies a load of the selected RPS value in increments of 10% for a predetermined time T (an arbitrary value set in advance). Then, an average usage rate (for example, CPU usage rate, GPU usage rate, etc.) for each predetermined time T is calculated.
  • the performance ratio calculator 112 measures the average usage rate for all hardware types. Then, the performance ratio calculation unit 112 calculates the ratio of the average usage rate of the other hardware 3 to the average usage rate of the hardware 3 with the lowest RPS value in increments of 10% of the load, and averages them as a whole. , to calculate the performance score.
  • FIG. 4 is a diagram showing calculation results of the performance ratio of the hardware 3 according to this embodiment.
  • the setting usage rate (usage rate) on the first line in FIG. 4 indicates the resource usage rate in increments of 10% when the RPS value of the hardware 3 having the lowest maximum RPS value is "1.0".
  • the third line shows the average usage rate [%] of HW_B, which is hardware 3 with the lowest maximum RPS value.
  • the second line shows the average usage rate [%] of HW_A, which is another piece of hardware 3 .
  • the performance ratio on the 4th line is the average usage rate [%] of HW_B, which is hardware 3 with the lowest maximum RPS value on the 3rd line, for each set usage rate (1.0 to 0.1), and the other values on the 2nd line.
  • the performance ratio calculator 112 calculates the average of the performance ratios at each set usage rate (“1.91” in FIG. 4). That is, the performance ratio between HW_A and HW_B is approximately "2:1". Based on this performance ratio, the performance ratio calculation unit 112 sets the performance score of HW_A to “2” and the performance score of HW_B to “1”.
  • the performance ratio calculation unit 112 calculates the performance ratio by calculating the performance ratio of the average usage rate between the hardware 3 . This is because the scaling control unit 14 (FIG. 2), which will be described later, determines scaling based on the usage rate, so that the performance ratio can be similarly calculated based on the usage rate to obtain a more accurate value.
  • the calculation of this performance ratio is not limited to the method based on this usage rate.
  • the performance ratio calculation unit 112 may calculate, as the performance ratio, the ratio between the RPS value of the hardware 3 having the lowest maximum RPS value and the maximum RPS value of the other hardware 3 to be compared. .
  • the performance ratio calculation unit 112 identifies one of the plurality of hardware 3 as the hardware 3 having the lowest performance value, compares it with the performance values of the other hardware 3, and calculates the performance ratio. Calculate "1:1".
  • the scaling management device 10 may acquire in advance information indicating that the performance ratio of each piece of hardware 3 is "1:1" from a system management terminal or the like, and the performance ratio calculation unit 112 may store the information. .
  • the resource setting unit 12 calculates the number of virtual resources (containers, etc.) to be mounted on each piece of hardware 3, and sets the required resources so that the performance of each virtual resource is the same.
  • the resource setting unit 12 includes a virtual resource number calculation unit 121 , a required resource calculation unit 122 and a setting file creation unit 123 .
  • the number-of-virtual-resources calculation unit 121 calculates a score by multiplying the performance ratio calculated by the performance ratio calculation unit 112 by the usage rate at which the power efficiency value of the hardware 3 is the highest for each piece of hardware 3, The number of virtual resources to be installed in the hardware 3 is calculated according to the score ratio calculated for each piece of hardware 3 .
  • the virtual resource number calculation unit 121 sets logic in advance such as rounding off the number to the first decimal place when the ratio of HW_A:HW_B is not an integer, for example, "2.5:1". , so that the number of containers can be calculated as an integer.
  • the virtual resource number calculation unit 121 sets the number of containers mounted on each piece of hardware 3 to "1:1".
  • the required resource calculation unit 122 sets the required resources to be set for each piece of hardware 3 so that the performance of each virtual resource unit is the same.
  • the requested resource calculation unit 122 uses the performance ratio of the other hardware to the performance value "1" of the hardware 3, which is the lowest performance value, to calculate the request for the virtual resource mounted on the other hardware 3.
  • the requested resource calculation unit 122 calculates the requested resource "400 m" of HW_A for the requested resource of HW_B.
  • the required resource calculation unit 122 identifies one performance value among the plurality of hardware 3 as the lowest performance value, The performance value of the hardware 3 is compared to determine the ratio of the requested resources to be "1:1".
  • the setting file creation unit 123 creates a scaling setting file that sets the usage rate at which the power efficiency value is the highest for each piece of hardware 3 as the target value for scaling the hardware 3 . Also, the configuration file creation unit 123 calculates the number of virtual resources to be installed in the hardware 3 calculated by the virtual resource number calculation unit 121 and the number of virtual resources to be installed in the hardware 3 calculated by the required resource calculation unit 122. Create a resource configuration file containing the request resource.
  • the setting file creation unit 123 determines the scaling target value according to the set usage rate (usage rate) of the peak value of power efficiency indicated by the power efficiency characteristics of the hardware 3 . For example, the setting file creating unit 123 determines that the usage rate for HW_A is 90% and the usage rate for HW_B is 60%. Then, the setting file creating unit 123 creates a scaling setting file including information on the determined scaling target value.
  • the setting file creation unit 123 calculates the number of virtual resources (eg, the number of containers) calculated by the virtual resource number calculation unit 121 and the requested resources (eg, the number of HW_A) for the virtual resources (containers) mounted on each hardware 3. Create a resource configuration file that includes the requested resource "400m” and the requested resource of HW_B "800m").
  • the setting file creating unit 123 transmits the created resource setting file to the virtualization base 20 .
  • the resource management unit 21 of the virtualization platform 20 sets virtual resources (such as containers) in each piece of hardware 3 based on the resource setting file.
  • the monitoring unit 13 monitors each piece of hardware 3 by acquiring information on the virtual resource (container) usage rate (predetermined metrics such as CPU usage rate and GPU usage rate) at predetermined intervals.
  • the monitoring unit 13 may acquire this usage rate information directly from each piece of hardware 3 or through the virtualization infrastructure 20 .
  • the monitoring unit 13 outputs the information to the scaling control unit 14 and the HW control unit 15 .
  • the scaling control unit 14 compares the difference between the target value of the usage rate based on the power efficiency characteristics of each piece of hardware 3 set in the scaling setting file and the usage rate acquired by the monitoring unit 13 at predetermined intervals, and performs scaling. Execute the process. Specifically, the scaling control unit 14 acquires from the monitoring unit 13 information on the usage rate of virtual resources such as containers and VMs (for example, CPU usage rate, RPS, etc.). Then, the scaling control unit 14 calculates a moving average at a predetermined interval (monitoring interval), averages the virtual resources (for example, the number of containers) installed in each hardware 3, and compares it with the target value.
  • a predetermined interval monitoring interval
  • the scaling control unit 14 scales out, that is, adds a virtual resource such as a container.
  • the monitoring unit 13 scales in, that is, deletes the virtual resource such as the container when the target value is not reached.
  • the scaling control unit 14 may set the number of times of comparison with the target value or provide a range from the target value for each scale-out/scale-in when determining scaling. For example, the scaling control unit 14 sets the number of times of comparison to 1 in determining scale-out, and adds a container if the number of comparisons is 1 or more (that is, if even one time exceeds the target value). In addition, the monitoring unit 13 sets the number of times of comparison to 3 in the determination of scale-in, and deletes the container if the target value is exceeded 3 times in a row and is below the target value by 10%.
  • the scaling control unit 14 After determining the number of virtual resources to be added or deleted, the scaling control unit 14 transmits the information to the virtualization infrastructure 20 as a container addition/deletion request. As a result, the virtual resource control unit 22 of the virtualization base 20 adds or deletes the virtual resources installed in the hardware 3 .
  • the HW control unit (hardware control unit) 15 acquires information on the usage rate (CPU usage rate and GPU usage rate) of the hardware 3, and when the usage rate is significantly high (higher than a predetermined threshold (first threshold) case), or when a container addition failure response due to resource shortage is received in response to a container addition request to the virtualization base 20 by the scaling control unit 14, one unit is selected from the HW resources that have not been started, and the hardware 3 and add free resources to the resource management unit 21 of the virtualization base 20 .
  • a predetermined threshold first threshold
  • the HW resource selected by the HW control unit 15 selects the hardware 3 based on the following predetermined policy in order to minimize power consumption.
  • (1) Select hardware with small maximum power consumption.
  • (2) Select hardware with low standby power in the idle state (standby state). In the case of (1) and (2), the performance is generally low, so the hardware has a small maximum RPS.
  • (3) Select hardware based on the increasing trend of traffic. In the case of (3), when the traffic tends to increase significantly, hardware with high maximum power consumption but high performance is selected. On the other hand, when the increasing trend is gradual, hardware with a small maximum power consumption is selected. Note that the HW control unit 15 may select a plurality of pieces of hardware instead of limiting the number to one according to the increasing trend.
  • the HW control unit 15 acquires information on the usage rate (CPU usage rate and GPU usage rate) of the hardware 3, and when the usage rate is extremely low (lower than a predetermined threshold (second threshold)), Terminate the hardware 3 that is a surplus resource.
  • the HW control unit 15 selects one of the hardware 3 in operation, and instructs the virtualization base 20 to perform new processing for a virtual resource such as a container running on the selected hardware 3. Instruct to stop sorting. Then, the HW control unit 15 instructs the resource management unit 2 of the virtualization base 20 to delete the resource information of the hardware 3 and stop processing of the hardware 3 at the timing when all the processes being executed are completed.
  • the hardware 3 is selected based on the following predetermined policy in order to minimize power consumption.
  • (1) Select hardware with a large maximum power consumption.
  • (2) Select hardware that has a large standby power in the idle state (standby state). In the case of (1) and (2), since the performance is generally high, the hardware has a large maximum RPS.
  • (3) Select hardware based on the decreasing trend of traffic. In the case of (3), when the tendency of traffic to decrease is large, hardware with high maximum power consumption and high performance is selected. On the other hand, when the decreasing trend is gradual, hardware with small maximum power consumption is selected.
  • the HW control unit 15 may select a plurality of pieces of hardware instead of limiting the number of pieces to one according to the tendency of decrease.
  • HW control unit 15 has been described as starting and stopping the hardware 3 via the resource management unit 21 of the virtualization base 20, the HW control unit 15 does not via the virtualization base 20, The directly selected hardware 3 may be instructed to start/stop.
  • FIG. 5 is a flowchart showing the flow of calculation processing for power efficiency characteristics according to the present embodiment.
  • the power efficiency characteristic calculator 111 applies a load of maximum RPS ⁇ “x” to the hardware 3 and measures the power for a predetermined time (for example, T seconds) (step S104).
  • the power efficiency characteristic calculator 111 calculates the average power (Power_x) and the average load (RPS_x) for a predetermined time (T seconds) (step S105).
  • step S108 the power efficiency characteristic calculator 111 measures power for a predetermined time (T seconds) in a state where no load is applied (no load state). Then, the power efficiency characteristic calculator 111 calculates the average power (Power_0) in the no-load state (step S109). By the processing of steps S101 to S109, the power efficiency characteristic calculation unit 111 obtains information on average power (Power_x) and average load (RPS_x) shown in FIG.
  • the power efficiency characteristic calculation unit 111 repeats the processing from 1.0 to 0.1 for the usage rate (set usage rate) x ten times (steps S110 to S113).
  • the power efficiency characteristic calculation unit 111 calculates a value (normalized EENormalize_x) obtained by normalizing the power efficiency calculated in increments of 10% of the load with the power efficiency at the maximum RPS being "1.0" (step S112).
  • the power efficiency characteristic calculator 111 obtains information on power efficiency (EE_x) and normalization (EENormalize_x) shown in FIG.
  • EE_x power efficiency
  • EENormalize_x normalization
  • FIG. 6 is a flowchart showing the flow of performance ratio calculation processing according to this embodiment.
  • the performance ratio calculator 112 of the scaling management device 10 acquires information on the maximum RPS for each piece of hardware 3 measured when the power efficiency characteristic calculator 111 calculates the power efficiency characteristic (step S201). Then, the performance ratio calculation unit 112 selects the lowest maximum RPS information (RPS_Low) from the acquired maximum RPS information (step S202).
  • RPS_Low lowest maximum RPS information
  • the performance ratio calculation unit 112 repeats the processing of steps S203 to S209 for each hardware type. At this time, the performance ratio calculation unit 112 sets the selected lowest maximum RPS value to the usage rate “1.0” and applies the load with the maximum RPS value in increments of 10%.
  • the performance ratio calculation unit 112 applies a load of the selected lowest maximum RPS ⁇ “x” to the hardware 3, and calculates the usage rate (for example, CPU usage rate or GPU usage rate) for a predetermined period of time. is measured for T seconds (step S205).
  • the performance ratio calculation unit 112 calculates an average usage rate (Utilizatin_x) for a predetermined time (T seconds) (step S206).
  • the performance ratio calculation unit 112 repeats the processing from 1.0 to 0.1 for the usage rate (set usage rate) x ten times (steps S210 to S212).
  • step S211 the performance ratio calculation unit 112 calculates the ratio of the usage rate at each usage rate (set usage rate) x. Specifically, the performance ratio calculation unit 112 calculates the average usage rate of the hardware 3 (HW_B in FIG. 5) having the lowest maximum RPS value, and the other hardware 3 (HW_A in FIG. 5) to be compared. divided by the average usage rate of
  • the performance ratio calculator 112 calculates the performance ratios shown in FIG.
  • ⁇ Scaling processing ⁇ 7 and 8 are flowcharts showing the flow of scaling processing according to this embodiment. Note that when the scaling control unit 14 of the scaling management device 10 executes the scaling process, the monitoring unit 13 receives information on the metrics to be monitored for each piece of hardware 3 (for example, CPU usage rate, usage rate obtained from RPS, etc.). Assume that you have obtained
  • step S301 first, the scaling control unit 14 sets ⁇ times as the threshold for the number of scale-out determinations and ⁇ times as the threshold for the number of scale-in determinations. Also, a width ( ⁇ %) from the target value for scale-out determination and a width ( ⁇ %) from the target value for scale-in determination are set.
  • step S302 the scaling control unit 14 resets the scale-out determination count “Y” to “0” (initializes). Further, the scaling control unit 14 initializes the scale-in determination count “Z” to “0”.
  • the scaling control unit 14 calculates a moving average (U) of metrics at predetermined intervals for each piece of hardware 3 (step S303). Subsequently, the scaling control unit 14 determines whether or not a predetermined monitoring interval has been exceeded (step S304). If the predetermined monitoring interval has not been exceeded (step S304 ⁇ No), the process returns to step S303 and continues. On the other hand, if the predetermined monitoring interval has been exceeded (step S304 ⁇ Yes), the process proceeds to the next step S305.
  • U moving average
  • step S305 the scaling control unit 14 determines whether the moving average (U) of the metrics is equal to or greater than the target value ⁇ (1+ ⁇ ). If the value of the moving average (U) exceeds the value (step S305 ⁇ Yes), the process proceeds to step S306, and the scale-out determination count "Y" is set to Y+1.
  • step S307 determines whether the scale-out determination count "Y" is equal to or greater than " ⁇ " (step S307).
  • step S307 ⁇ No the process returns to step S303 to continue processing.
  • step S311 the process proceeds to step S311 in FIG.
  • step S305 if the moving average (U) of the metric is less than the target value ⁇ (1+ ⁇ ) (step S305 ⁇ No), the scaling control unit 14 determines that the moving average (U) of the metric is , target value ⁇ (1 ⁇ ) (step S308). Then, if the moving average (U) is not less than the target value x (1- ⁇ ), that is, if the moving average (U) is greater than or equal to the target value x (1- ⁇ ) (step 308 ⁇ No), the process returns to step S302 to continue the process. On the other hand, if the moving average (U) is less than the target value ⁇ (1 ⁇ ) (step S308 ⁇ Yes), the process proceeds to step S309, and the scale-in determination count “Z” is set to Z+1.
  • the scaling control unit 14 determines whether the scale-in determination count "Z" is equal to or greater than “ ⁇ ” (step S310). Here, if “Z" is not equal to or greater than " ⁇ ” (step S310 ⁇ No), the process returns to step S303 to continue processing. On the other hand, if "Z" is greater than or equal to " ⁇ " (step S310 ⁇ Yes), the process proceeds to the next step S311.
  • step S311 of FIG. 8 the scaling control unit 14 sets the number of virtual resources (TotalNum) required as a whole to "0" (initialization).
  • step S ⁇ b>313 the scaling control unit 14 calculates TotalNum+(total value of load/target value) for the selected type of hardware 3 . Then, the calculated value is set as a new TotalNum.
  • the total value of the loads is the total value of the loads of the multiple units when there are multiple units of the hardware 3 of one type.
  • the target value is 90% for HW_A and 60% for HW_B of the requested resource set for each virtual resource in the resource setting file.
  • step S315 the scaling control unit 14 calculates the number of virtual resources to be added/deleted (scale). Specifically, the scaling control unit 14 rounds up the calculated TotalNum to an integer value (Ceil(TotalNum)) and subtracts the current number of virtual resources.
  • step S316 determines whether or not the calculated number of virtual resources to be added/deleted (scale) is 0 or more (step S316). If the calculated number of virtual resources to be added/deleted (scale) is 0 or more (step S316 ⁇ Yes), the process proceeds to step S317. In step S ⁇ b>317 , the scaling control unit 14 transmits a request to add scale virtual resources (containers, etc.) to the virtualization base 20 . Note that if scale is 0, the request will not be sent.
  • step S316 if the calculated number of virtual resources to be added/deleted (scale) is less than 0 (step S316 ⁇ No), the process proceeds to step S318.
  • step S ⁇ b>318 the scaling control unit 14 transmits a request to delete scale virtual resources to the virtualization infrastructure 20 .
  • the scaling management device 10 can perform scaling considering the power efficiency of each piece of hardware 3 .
  • FIG. 9 is a flow chart showing the flow of start/stop processing of the hardware 3 according to this embodiment. Note that when the HW control unit 15 of the scaling management device 10 executes start/stop processing of the hardware 3, the monitoring unit 13 monitors each hardware 3 based on metrics (for example, CPU usage rate, RPS, etc.). resource usage rate) information is acquired.
  • metrics for example, CPU usage rate, RPS, etc.
  • the HW control unit 15 transmits a container addition request to the virtualization base 20 by the processing of the scaling control unit 14, it receives a container addition failure response due to resource shortage from the virtualization base 20 (step S401). In this case, the HW control unit 15 proceeds to step S406 to add new hardware 3 .
  • the HW control unit 15 sets the threshold (predetermined upper limit usage rate (predetermined first threshold)) that is the upper limit of the monitored metrics (resource usage rate such as CPU usage rate) for each piece of hardware 3. For example, A% is set, and B%, for example, is set as a lower limit threshold (predetermined lower limit usage rate (predetermined second threshold)) (step S402).
  • the HW control unit 15 calculates a moving average of metrics (resource usage rate) at predetermined intervals for each piece of hardware 3 (step S403). Subsequently, the HW control unit 15 determines whether or not a predetermined monitoring interval has been exceeded (step S404). If the predetermined monitoring interval has not been exceeded (step S404 ⁇ No), the process returns to step S403 and continues. On the other hand, if the predetermined monitoring interval has been exceeded (step S403 ⁇ Yes), the process proceeds to the next step S405.
  • the HW control unit 15 determines whether the moving average of the calculated metrics (resource usage rate) is equal to or higher than a predetermined upper limit usage rate (A) (step S405). If the usage rate is equal to or higher than the predetermined upper limit usage rate (A) (step S405 ⁇ Yes), the process proceeds to step S406.
  • step S406 the HW control unit 15 selects hardware 3 to be added. At that time, in order to minimize power consumption, the HW control unit 15 selects hardware 3 with low maximum power consumption or hardware 3 with low standby power consumption, or adjusts the maximum power consumption according to the increasing trend of traffic. Hardware 3 that is large (or small) but has high (or low) processing performance may be selected.
  • the HW control unit 15 instructs the virtualization base 20 to add the selected hardware 3 (step S407). Specifically, the HW control unit 15 activates the hardware 3 by requesting the virtualization base 20 to activate the selected hardware 3, and supplies the free resource to the resource management unit 21 of the virtualization base 20. is added.
  • step S405 if the moving average of the calculated metrics (resource usage rate) is not equal to or greater than the predetermined upper limit usage rate (A) (step S405 ⁇ No), the HW control unit 15 determines that the moving average of the calculated metrics is , is less than a predetermined lower limit usage rate (B) (step S408). If it is not less than the predetermined lower limit usage rate (B) (step S408 ⁇ No), the process returns to step S403 to continue the process. On the other hand, if it is less than the predetermined lower limit usage rate (B) (step S408 ⁇ Yes), the process proceeds to the next step S409.
  • step S409 the HW control unit 15 selects the hardware 3 to stop. At that time, in order to minimize power consumption, the HW control unit 15 selects the hardware 3 with large maximum power consumption or the hardware 3 with large standby power, or reduces the maximum power consumption according to the decreasing trend of traffic. Hardware 3 that is large (or small) but has high (or low) processing performance may be selected.
  • step S410 when the hardware 3 to be stopped is selected, the HW control unit 15 instructs the virtualization base 20 to stop distributing requests to the selected hardware 3. After the selected hardware 3 completes the in-process request, the resource management unit 21 of the virtualization platform 20 stops the selected hardware 3 .
  • the scaling management device 10 can start and stop hardware while taking power efficiency into consideration.
  • FIG. 10 is a hardware configuration diagram showing an example of a computer 900 that implements the functions of the scaling management device 10 according to this embodiment.
  • the computer 900 includes a CPU (Central Processing Unit) 901, a ROM (Read Only Memory) 902, a RAM 903, a HDD (Hard Disk Drive) 904, an input/output I/F (Interface) 905, a communication I/F 906 and a media I/F 907. have.
  • CPU Central Processing Unit
  • ROM Read Only Memory
  • RAM 903 Random Access Memory
  • HDD Hard Disk Drive
  • I/F Interface
  • the CPU 901 operates based on programs stored in the ROM 902 or HDD 904, and performs control by the control unit.
  • the ROM 902 stores a boot program executed by the CPU 901 when the computer 900 is started, a program related to the hardware of the computer 900, and the like.
  • the CPU 901 controls an input device 910 such as a mouse and keyboard, and an output device 911 such as a display and printer via an input/output I/F 905 .
  • the CPU 901 acquires data from the input device 910 and outputs the generated data to the output device 911 via the input/output I/F 905 .
  • a GPU Graphics Processing Unit
  • a GPU may be used together with the CPU 901 as a processor.
  • the HDD 904 stores programs executed by the CPU 901 and data used by the programs.
  • Communication I/F 906 receives data from other devices via a communication network (for example, NW (Network) 920) and outputs it to CPU 901, and transmits data generated by CPU 901 to other devices via the communication network. Send to device.
  • NW Network
  • the media I/F 907 reads programs or data stored in the recording medium 912 and outputs them to the CPU 901 via the RAM 903 .
  • the CPU 901 loads a program related to target processing from the recording medium 912 onto the RAM 903 via the media I/F 907, and executes the loaded program.
  • the recording medium 912 is an optical recording medium such as a DVD (Digital Versatile Disc) or a PD (Phase change rewritable Disk), a magneto-optical recording medium such as an MO (Magneto Optical disk), a magnetic recording medium, a semiconductor memory, or the like.
  • the CPU 901 of the computer 900 implements the functions of the scaling management device 10 by executing programs loaded on the RAM 903 .
  • Data in the RAM 903 is stored in the HDD 904 .
  • the CPU 901 reads a program related to target processing from the recording medium 912 and executes it.
  • the CPU 901 may read a program related to target processing from another device via the communication network (NW 920).
  • a scaling management device is a scaling management device 10 that manages scaling of virtual resources mounted on hardware 3 by a virtualization platform 20.
  • the scaling management device 10 manages scaling of each of a plurality of pieces of hardware 3.
  • the power efficiency characteristic of the hardware 3 is calculated by measuring the power efficiency while changing the usage rate of the hardware 3, and the usage rate at which the value of the power efficiency is the highest among the measured power efficiencies is calculated.
  • the power efficiency characteristic calculation unit 111 to determine and the performance of each hardware 3 are measured by measuring a predetermined metric, the hardware 3 having the lowest performance value is specified, and the performance value of the specified hardware 3 is determined.
  • a performance ratio calculation unit 112 that calculates the performance value of the other hardware 3 as a performance ratio when is set to "1", and the calculated performance ratio for each of the hardware 3 is added to the power efficiency value of the hardware 3
  • a virtual resource number calculation unit 121 that calculates a score obtained by multiplying the utilization rate that maximizes the number of virtual resources, and calculates the number of virtual resources to be installed in the hardware 3 according to the ratio of the magnitude of the score calculated for each hardware 3.
  • a scaling setting file is created in which the usage rate at which the power efficiency value is maximized is set as the target value for scaling of the hardware 3, for each of the requested resource calculation unit 122 that calculates the requested resource for the virtual resource to be used and the hardware 3. and a setting file creation unit 123 for creating a resource setting file containing the calculated number of virtual resources to be mounted on the hardware 3 and the requested resources of the virtual resources to be mounted on the hardware 3.
  • the scaling management device 10 it is possible to perform scaling in consideration of performance differences and power efficiency characteristic differences of the hardware 3 in the virtualization platform 20.
  • FIG. As a result, each piece of hardware 3 can be operated with a load amount with the highest power efficiency.
  • the scaling management device 10 creates a resource setting file according to the performance difference of each piece of hardware 3, sets a scaling target value according to the power efficiency characteristic difference, and creates a scaling setting file. Therefore, in the virtualization infrastructure 20 , traffic can be evenly distributed to each virtual resource without considering the performance difference and the power efficiency characteristic difference between the hardware 3 .
  • the monitoring unit 13 acquires the usage rate of the virtual resources mounted on the hardware 3, the usage rate of the acquired virtual resources, and the scaling setting file for each hardware 3 unit. It is characterized by further comprising a scaling control unit 14 that determines addition or deletion of a virtual resource by comparing it with a scaling target value.
  • the scaling management device 10 can determine addition/deletion of virtual resources based on scaling target values corresponding to power efficiency characteristic differences. Therefore, it is possible to operate the virtualization infrastructure 20 with reduced power consumption compared to the conventional technology.
  • hardware with small maximum power consumption or standby power is further provided with a hardware control unit 15 that determines hardware with a small value as hardware to be added.
  • the scaling management device 10 can select hardware 3 with low maximum power consumption or low standby power when adding hardware 3 . Therefore, power consumption can be reduced as compared with the conventional technology.
  • the hardware 3 that has a large maximum power or the hardware 3 that has a large standby power is stopped. It is characterized by further comprising a hardware control unit 15 that determines as .
  • the scaling management device 10 can select hardware 3 with a large maximum power consumption or a large standby power when stopping the hardware 3 . Therefore, power consumption can be reduced as compared with the conventional technology.
  • scaling management system 3 hardware (HW) REFERENCE SIGNS LIST 10 scaling management device 11 HW characteristic calculation unit 12 resource setting unit 13 monitoring unit 14 scaling control unit 15 HW control unit (hardware control unit) 20 virtualization base 21 resource management unit 22 virtual resource control unit 111 power efficiency characteristic calculation unit 112 performance ratio calculation unit 121 virtual resource number calculation unit 122 required resource calculation unit 123 configuration file creation unit

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

スケーリング管理装置(10)は、ハードウェア(3)の電力効率特性を算出し、電力効率の値が最も高くなる使用率を決定する電力効率特性算出部(111)と、ハードウェアの性能を測定して、最も低い性能値であるハードウェアを特定し、特定したハードウェアと他のハードウェアの性能比を算出する性能比算出部(112)と、性能比に、電力効率の値が最も高くなる使用率を乗算したスコアを算出し、スコアに応じて仮想リソース数を算出する仮想リソース数算出部(121)と、仮想リソースの要求リソースを算出する要求リソース算出部(122)と、スケーリング設定ファイルおよびリソース設定ファイルを作成する設定ファイル作成部(123)とを備える。

Description

スケーリング管理装置、スケーリング管理方法、および、プログラム
 本発明は、仮想化基盤において、スケーリングを制御するスケーリング管理装置、スケーリング管理方法、およびプログラムに関する。
 近年、データセンタ等のサーバファームでは、仮想化基盤を構築して運用されることが多くなってきている。仮想化基盤とは、仮想化技術を用いてサーバやネットワークといった物理資源を抽象化・隠蔽し、複数のアプリケーションやサービスに対して共通基盤として準備された仮想環境、またそれらの仮想環境を管理するシステムのことをいう。
 オープンソースの仮想化基盤としては、クラウド環境構築用のソフトウェアであるOpenStackや、コンテナ化されたワークロードやサービスを運用管理するためのソフトウェアであるKubernetesが知られている。OpenStackは、主に物理マシンや仮想マシン(VM)の管理・運用に用いられる。Kubernetesは、主にコンテナの管理・運用に用いられる(非特許文献1参照)。
 このデータセンタ等で構築される仮想化基盤において、サーバ等のIT機器による消費電力の増大が懸念されており、データセンタ等のサーバファームでは、機器の最大パフォーマンスではなく、電力効率が着目されるようになっていきている。
 電力効率は、「電力効率=平均負荷/平均電力」(1W当たりの処理量)で定義される。また、使用率100%の電力効率を1.0としたときの各使用率(0~100%)における電力効率の推移が「電力効率特性」として評価される。この電力効率は、デバイスのアーキテクチャによって異なる傾向を示し、常に使用率100%のときが最大の電力効率とはならず、使用率60~70%程度で電力効率が最大となるようなサーバも存在することが知られている(非特許文献2参照)。
Kubernetes,"Horizontal Pod Autoscaler Walkthrough,"[online],[令和3年11月1日検索],インターネット<URL:https://kubernetes.io/ja/docs/tasks/run-application/horizontal-pod-autoscale-walkthrough/> C.Jiang, et al.,"Energy Proportional Servers: Where Are We in 2016? ," [online],2017 IEEE 37th International Conference on Distributed Computing Systems, [令和3年11月1日検索], インターネット<URL:https://ieeexplore.ieee.org/document/7980102>
 上記したサーバ等の消費電力の問題に関し、市中の仮想化基盤では、オートスケーリング(システムの使用状況から自動的にVM数やコンテナ数を調整する機能)を備えている。しかしながら、スケーリングの閾値は、システム運用者が事前に設定する値を用いており、ハードウェア毎の電力効率特性を考慮した値となっていない。特に、仮想化技術により、複数種類、複数台のサーバ(例えば、GPUやFPGA等のアクセラレータを含む異種ハードウェア)を物理資源として抽象化する場合であっても、各サーバの性能差や電力効率特性差が存在するヘテロジニアスな環境について考慮されていない。
 例えば、上記したKubernetesでは、HPA(Horizontal Pod Autoscaler)という機能でオートスケーリングを実現しているが、スケーリング判断に使用されるメトリクス(評価尺度)は、ヘテロジニアスな環境を考慮して算出されるものではない。
 具体的には、HPAでは、クラスタに参加しているPod(Kubernetesアプリケーションの最小実行単位)のメトリクスとして、例えばCPU使用率を用い、そのCPU使用率の平均値を閾値と比較することで、スケーリングの有無を判断する。このとき、CPU使用率はハードウェア(以下、「HW」と記す場合がある。)の性能差(各サーバの処理性能の違い)や電力効率特性差(電力効率が最大となる使用率の違い)は考慮されない。
 ここで、HW_AとHW_Bとを物理資源とするクラウド基盤(仮想化基盤)において、このシステムの運用者が、Podのリソース設定ファイルに要求リソース「800m」(「m」は、Kubernetesでの1コア=1000millicoresで表される単位)を入力し、スケーリングに関する設定ファイルに、スケーリング閾値「CPU使用率=60%」を入力したとする。また、図11で示すように、HW_AとHW_Bとの性能比は、「2:1」とし、HW_Aの電力効率特性として、使用率90%のときに電力効率が最大となり、HW_Bの電力効率特性として、使用率60%のときに電力効率が最大となるものとする。さらに、HW_AとHW_Bのそれぞれは、Pod数が「1」で同じであり、スケーリング閾値(60%)も同じであるとする。
 上記の設定でクラウド基盤を運用し、図11で示すように、Podの平均使用率がHW_A「400m」、HW_B「800m」であったとする。この場合のスケーリングの実施判断は次のようになる。
 Podの平均CPU使用率・・・(400m+800m)/2 = 600m
 一方、スケーリング閾値は「CPU使用率=60%」であるので、800m×0.6=480mとなる。よって、Podの平均CPU使用率「600m」がスケーリング閾値「480m」を超えるため、スケーリングが実行され、Podが1つ追加されてしまう。
 このように、HW性能差や電力効率特性差が考慮されていなため、HW_AのPodにはまだ余裕があるにもかかわらず、Podが追加されてしまうことになる。
 このような点に鑑みて本発明がなされたのであり、本発明は、仮想化基盤において、消費電力を抑えた効率的なリソースの運用を可能にすることを課題とする。
 本発明に係るスケーリング管理装置は、仮想化基盤によりハードウェア上に搭載される仮想リソースのスケーリングを管理するスケーリング管理装置であって、前記スケーリング管理装置が、複数の前記ハードウェアそれぞれについて、前記ハードウェアの使用率の高低を変化させて電力効率を測定することにより当該ハードウェアの電力効率特性を算出し、測定した電力効率のうち、電力効率の値が最も高くなる使用率を決定する電力効率特性算出部と、所定のメトリクスを測定することにより前記ハードウェアそれぞれの性能を測定して、最も低い性能値である前記ハードウェアを特定し、特定した前記ハードウェアの性能値を1とした場合の他のハードウェアの性能値を性能比として算出する性能比算出部と、前記ハードウェアそれぞれについて、前記算出した性能比に、当該ハードウェアにおいて前記電力効率の値が最も高くなる使用率を乗算したスコアを算出し、前記ハードウェアごとに算出されたスコアの大きさの比率に応じて、前記ハードウェアに搭載する仮想リソース数を算出する仮想リソース数算出部と、前記最も低い性能値であるハードウェアの性能値1に対する他のハードウェアの性能比に基づき、他のハードウェアに搭載する前記仮想リソースへの要求リソースを1とした場合の、前記最も低い性能値であるハードウェアの要求リソースを、1に対する当該性能比で示される値とすることにより、前記最も低い性能値であるハードウェアと他のハードウェアとに搭載する前記仮想リソースについての要求リソースを算出する要求リソース算出部と、前記ハードウェアそれぞれについて、前記電力効率の値が最も高くなる使用率を当該ハードウェアのスケーリングの目標値とするスケーリング設定ファイルを作成するとともに、前記算出されたハードウェアに搭載する仮想リソース数と、当該ハードウェアに搭載する仮想リソースの前記要求リソースとを含むリソース設定ファイルを作成する設定ファイル作成部と、を備える。
 本発明によれば、仮想化基盤において、消費電力を抑えた効率的なリソースの運用を可能にする。
本実施形態に係るスケーリング管理装置が実行する処理の概要を説明するための図である。 本実施形態に係るスケーリング管理装置を含むスケーリング管理システムの全体構成を示す図である。 本実施形態に係るハードウェアの電力効率特性の算出結果を示す図である。 本実施形態に係るハードウェアの性能比の算出結果を示す図である。 本実施形態に係る電力効率特性の算出処理の流れを示すフローチャートである。 本実施形態に係る性能比算出処理の流れを示すフローチャートである。 本実施形態に係るスケーリング処理の流れを示すフローチャートである。 本実施形態に係るスケーリング処理の流れを示すフローチャートである。 本実施形態に係るハードウェアの起動・停止処理の流れを示すフローチャートである。 本実施形態に係るスケーリング管理装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。 従来の異種ハードウェアが混在して運用される仮想化基盤でのスケーリングの問題点を説明するための図である。
 次に、本発明を実施するための形態(以下、「本実施形態」と称する。)について説明する。まず、本実施形態に係るスケーリング管理装置10が実行する処理の概要について説明する。
 図1は、本実施形態に係るスケーリング管理装置10が実行する処理の概要を説明するための図である。
 スケーリング管理装置10は、仮想化基盤20(後記する図2参照)が設定・管理する複数のハードウェア3(図1ではHW_A,HW_B)について、性能差や電力効率特性差を考慮した要求リソースの設定値、およびスケーリングの閾値を算出する。
 このスケーリング管理装置10は、以下の処理を実行する。
 <1>ベンチマークツール等を用いて、ハードウェア毎に性能差と電力効率特性とを算出する。
 ここで性能差は、複数のハードウェアのうち、最も低い性能であるハードウェアの性能値を「1」としたときの、各ハードウェアの性能値の比を、性能比として算出する。例えば、HW_AとHW_Bとの性能比が「2:1」として算出される。
 また、ベンチマークツールにより、負荷を徐々にかけて測定することにより、各ハードウェアにおける電力効率特性を算出し、電力効率が最大となる使用率を求める。
 図1で示すように、HW_Aにおいて電力効率が最大となるのは使用率「90%」のときである。また、HW_Bにおいて電力効率が最大となるのは使用率「60%」のときである。
 <2>各ハードウェアに搭載する仮想リソースの搭載数(仮想リソース数)を算出する。
 まず、各ハードウェアの電力効率特性における電力効率の最大値に対応する使用率を、スケーリングの目標値として設定する。ここで、HW_Aにおいては電力効率の目標値が使用率「90%」となる。HW_Bにおいては電力効率の目標値が使用率「60%」となる。
 そして、この電力効率の目標値と性能比「2:1」とにより、各ハードウェアのスコアを算出する。
 ・HW_Aのスコア・・・性能「2」×電力効率「90%」=1.8
 ・HW_Bのスコア・・・性能「1」×電力効率「60%」=0.6
 このスコアの比に基づき、各ハードウェアに搭載する仮想リソース(コンテナやVM等)の数を算出する。なお、本明細書において、仮想化基盤において仮想化されたアプリケーション(1つ以上のコンテナや、1つ以上のVM等で構成)のことを仮想リソースと称し、仮想リソース数は、コンテナ数やVM数を意味する。また、以下の説明において、仮想化基盤に設定される仮想リソースをコンテナとして説明するが、これに限定されない。
 ここでは、ハードウェアに搭載されるコンテナ数を、スコア比「1.8:0.6」に対応させて、HW_A:HW_Bで「3:1」とする。つまり、例えば、HW_Aに3個の仮想リソースを搭載させ、HW_Bに1個の仮想リソースを搭載させるものとする。
 <3>コンテナ単位の性能が同じになるように要求リソースを設定する。
 HW_AとHW_Bとの性能比が上記のように「2:1」である場合には、例えば、HW_Aに搭載されるコンテナへの要求リソース「400m」に対し、HW_Bに搭載されるコンテナへの要求リソース「800m」を設定する。つまり、HW_AとHW_Bとの要求リソースの比が「1:2」となるように、要求リソースを設定する。
 上記算出結果に基づき、コンテナのデプロイ時に必要となるリソース設定ファイルと、スケーリング実行時に必要となるスケーリング設定ファイルを作成する。
 ここで、リソース設定ファイルには、ハードウェアに搭載されるコンテナ数とともに、そのハードウェアに搭載するコンテナ向けの要求リソース、例えば、HW_Aに搭載するコンテナ向けに要求リソース「400m」、HW_Bに搭載するコンテナ向けに要求リソース「800m」が設定される。
 また、スケーリング設定ファイルには、HW_Aにおける電力効率特性に基づきスケーリングの目標値が使用率「90%」に設定され、HW_Bにおける電力効率特性に基づきスケーリングの目標値が使用率「60%」に設定される。
 <4>運用中ではスケーリング設定ファイルに基づきスケーリングを実行する。
 運用中ではコンテナの使用状況(使用率)を監視し、スケーリング設定ファイルに基づきスケーリングを実行する。この際ハードウェア種別毎に異なる目標値で判断を行う。ハードウェアの使用率が著しく高いまたは低い場合には、ハードウェア自体の起動または停止を行う。
 このスケーリング管理装置10は、性能差(性能比)と電力効率特性差(電力効率が最大となる使用率の違い)を考慮してリソース設定ファイル(具体的には、ハードウェア毎に搭載するコンテナ数の設定と割り当てる要求リソースの設定)を作成する。そのため、ロードバランサ等により、全コンテナに均等にトラフィックが振り分けられれば、どのハードウェアもほぼ同時にスケーリング閾値に達するものとなる。
 なお、コンテナの監視やスケーリングの判断については、スケーリング管理装置10が行うが、実際のコンテナ制御については仮想化基盤20(図2)が行う。
 本実施形態に係るスケーリング管理装置10は、性能差(性能比)を考慮したリソース設定ファイルの作成と、電力効率特性差を考慮したスケーリングの目標値(閾値)の設定により、仮想化基盤において、ハードウェア毎に電力効率が最も高い負荷量で動作するように制御することが可能となる。なお、スケーリング管理装置10が制御対象とする仮想化基盤は、異種ハードウェアが混在するヘテロジニアスな環境において特に有用であるが、同種のハードウェアから構成されていてもよい。以下においては、ハードウェアが、複数種類、複数台からなるヘテロジニアス環境で構成されているものとして説明する。
 以下、本発明のスケーリング管理装置10を含むスケーリング管理システム1について具体的に説明する。
 図2は、本実施形態に係るスケーリング管理装置10を含むスケーリング管理システム1の全体構成を示す図である。
 スケーリング管理システム1は、複数種類、複数台のサーバからなる物理資源であるハードウェア(HW)3(3A,3B,3C,・・・)と、仮想化技術により物理資源である異種混在のハードウェア3を仮想化し、各ハードウェア3上に設定した仮想リソース(コンテナやVM等)により複数のアプリケーションやサービスを提供する共通基盤を構築する仮想化基盤20と、各ハードウェア3および仮想化基盤20と通信接続されるスケーリング管理装置10とを含んで構成される。
 ハードウェア3は、例えば、GPUやFPGA等のアクセラレータを含む異種ハードウェアである。本実施形態のハードウェア3は、少なくとも電力効率特性の異なる複数のハードウェアで構成される。
 仮想化基盤20は、仮想化技術を用いてハードウェア3等の物理資源を抽象化・隠蔽し、複数のアプリケーションやサービスを共通基盤として構築する仮想化環境を管理する。この仮想化基盤20は、例えばクラウド上に設けられるサーバ等により実現される。
 仮想化基盤20は、図2で示すように、リソース管理部21と仮想リソース制御部22とを備える。リソース管理部21は、ハードウェア3等の物理リソースを設定・管理する。仮想リソース制御部22は、ハードウェア3上に構築(搭載)する仮想リソース(コンテナやVM)を設定管理する。
 この仮想化基盤20の仮想リソース制御部22は、スケーリング管理装置10から取得したリソース設定ファイルで示される仮想リソース数に基づき、各ハードウェア3に仮想リソース(コンテナ等)を搭載する。また、仮想リソース制御部22は、スケーリング管理装置10からのリクエストに基づき、仮想リソースの調整(追加・削除)を行う。
 また、リソース管理部21は、ハードウェア3の使用状況に基づき、スケーリング管理装置から、ハードウェア3の起動・停止の指示を受け取ると、物理資源であるハードウェア3の起動や停止を行う。
<スケーリング管理装置>
 スケーリング管理装置10は、ハードウェア3毎の電力効率特性とハードウェア3間の性能差(性能比)に基づき、各ハードウェア3に構築する仮想リソース数を算出した上で、スケーリングポリシを設定し、仮想化基盤20を介してハードウェア3に構築された仮想リソースのスケーリングを実行させる。
 このスケーリング管理装置10は、制御部、入出力部、記憶部(いずれも図示省略)を備えるコンピュータにより構成される。
 入出力部は、仮想化基盤20や各ハードウェア3等との間の情報について入出力を行う。この入出力部は、通信回線を介して情報の送受信を行う通信インタフェースと、不図示のキーボード等の入力装置やモニタ等の出力装置との間で情報の入出力を行う入出力インタフェースとから構成される。
 記憶部は、ハードディスクやフラッシュメモリ、RAM(Random Access Memory)等により構成される。
 この記憶部には、制御部の各機能を実行させるためのプログラムや、制御部の処理に必要な情報が一時的に記憶される。
 制御部は、スケーリング管理装置10が実行する処理の全般を司り、HW特性算出部11と、リソース設定部12と、監視部13と、スケーリング制御部14と、HW制御部15とを含んで構成される。
 HW特性算出部11は、ベンチマークツール等を用いて、ハードウェア3毎に性能差(性能比)と電力効率特性とを算出する。このHW特性算出部11は、電力効率特性算出部111と性能比算出部112とを含んで構成される。
 電力効率特性算出部111は、ハードウェア3それぞれについて、そのハードウェア3の使用率の高低を変化させて電力効率を測定することにより当該ハードウェア3の電力効率特性を算出し、測定した電力効率のうち、電力効率の値が最も高くなる使用率を決定する。
 具体的には、まず、電力効率特性算出部111は、ハードウェア3にベンチマーク負荷を印加して最大RPS(Requests Per Second)を算出する。例えば、最大RPS(RPS_MAX)として「5000」が算出される。なお、電力効率特性算出部111は、各ハードウェア3の最大RPSの値を記憶部に記憶しておく。
 次に、電力効率特性算出部111は、ハードウェア3の最大負荷を10%刻みで所定時間T(予め設定した任意の値、例えばT秒間)印加する。そして、電力効率特性算出部111は、所定時間Tでの平均電力(Power_x[W])と平均負荷(RPS_x)とを算出する。また電力効率特性算出部111は、負荷を印加しない状態で、所定時間Tの平均電力を算出する。
 続いて、電力効率特性算出部111は、算出した平均電力(Power_x[W])と平均負荷(RPS_x)を用いて、電力効率(EE_x)を、「電力効率=平均負荷/平均電力」の式に基づき算出する。
 さらに、電力効率特性算出部111は、負荷10%刻みとして算出した電力効率を、最大RPS時の電力効率を「1.0」として正規化した値(正規化EENormalize_x)を算出する。
 図3は、本実施形態に係るハードウェア3の電力効率特性の算出結果を示す図である。
 図3の1行目は、最大処理量(負荷)を「1.0」とした場合の負荷を10%刻みに設定したリソースの使用率を示す。この使用率を、ハードウェア3を監視することにより測定される使用率を区別するため、以下「設定使用率」と称する。4行目の電力効率EE_xは、3行目の平均負荷RPS_xを2行目の平均電力Power_x[W]で割った値となる。5行目の正規化EENormalize_xは、最大RPS時(図3では「4950」)の電力効率(図3では、「4.95」)を「1.0」として各設定使用率(0.9~0.1)における電力効率を、正規化した値である。
 図3においては、設定使用率(使用率)「0.9」(90%)のとき、正規化した値が最も高い「1.10」となる。よって、このハードウェア3は、使用率「0.9」(90%)ときに電力効率EE_xが最も高いものとなる。
 なお、電力効率特性算出部111は、電力効率特性の算出を、ベンチマーク負荷を印加することにより算出することに限定されず、他の手法を用いてもよい。例えば、電力効率特性算出部111は、ベンチマーク負荷を印加せずに、実際にハードウェア3に搭載するアプリケーションを用いて運用中に電力効率と使用率とを測定し、電力効率が最大となる使用率の最適値を算出(学習)するようにしてもよい。
 図2に戻り、性能比算出部112は、所定のメトリクスを測定することによりハードウェア3それぞれの性能を測定して、最も低い性能値であるハードウェア3を特定し、特定したハードウェア3の性能値を「1」とした場合の他のハードウェア3の性能値を性能比として算出する。
 具体的には、性能比算出部112は、まず、電力効率特性算出部111が算出した各ハードウェア3の最大RPSの情報を参照し、最大RPSの値が最も低いハードウェア3のRPS値を選択する。
 次に、性能比算出部112は、選択したRPS値の10%刻みの負荷を所定時間T(予め設定した任意の値)印加する。そして、各所定時間Tの平均使用率(例えば、CPU使用率、GPU使用率など)を算出する。性能比算出部112は、全てのハードウェア種別で平均使用率の測定を行う。
 そして、性能比算出部112は、負荷10%刻みで、最も低いRPS値のハードウェア3の平均使用率に対する、その他のハードウェア3の平均使用率の比を算出し、全体で平均することにより、性能スコアを算出する。
 図4は、本実施形態に係るハードウェア3の性能比の算出結果を示す図である。
 図4の1行目の設定使用率(使用率)は、最大RPSの値が最も低いハードウェア3のRPS値を「1.0」とした場合の10%刻みのリソースの使用率を示す。3行目は、最大RPSの値が最も低いハードウェア3であるHW_Bの平均使用率[%]を示す。また2行目は、他のハードウェア3であるHW_Aの平均使用率[%]を示す。4行目の性能比率は、設定使用率(1.0~0.1)毎に、3行目の最大RPSの値が最も低いハードウェア3であるHW_Bの平均使用率[%]を、2行目の他のハードウェア3であるHW_Aの平均使用率[%]で割った値となる。
 そして、この算出結果に基づき、性能比算出部112は、各設定使用率での性能比率の平均を算出する(図4では「1.91」)。つまり、HW_AとHW_Bとの性能比は、およそ「2:1」となる。なお、性能比算出部112は、この性能比に基づき、HW_Aの性能スコア「2」とし、HW_Bの性能スコアを「1」とする。
 ここで、性能比算出部112は、性能比の算出を、ハードウェア3間の平均使用率の性能比率を算出により求めている。これは、後記するスケーリング制御部14(図2)によるスケーリングの判断を使用率に基づき行うため、性能比も同様に使用率の比率により算出することでより正確な値が得られるためである。ただし、この性能比の算出は、この使用率に基づく手法に限定されない。例えば、性能比算出部112は、最大RPSの値が最も低いハードウェア3のRPS値と、比較対象となる他のハードウェア3の最大RPS値との比を、性能比として算出してもよい。
 なお、ハードウェア3が同種の複数のハードウェア3で構成される場合、測定される性能値は基本的には同じになる。このとき、性能比算出部112は、複数のハードウェア3のうちの1つを、最も低い性能値であるハードウェア3として特定し、他のハードウェア3の性能値と比較して、性能比「1:1」を算出する。また、システムの管理端末等より、スケーリング管理装置10が各ハードウェア3の性能比が「1:1」である旨の情報を予め取得し、性能比算出部112が保持するようにしてもよい。
 図2に戻り、リソース設定部12は、各ハードウェア3に搭載する仮想リソース(コンテナ等)の搭載数を算出するとともに、仮想リソース単位の性能が同じになるように要求リソースを設定する。
 このリソース設定部12は、仮想リソース数算出部121と、要求リソース算出部122と、設定ファイル作成部123とを含んで構成される。
 仮想リソース数算出部121は、ハードウェア3それぞれについて、性能比算出部112が算出した性能比に、そのハードウェア3において電力効率の値が最も高くなる使用率を乗算したスコアを算出し、ハードウェア3ごとに算出されたスコアの大きさの比率に応じて、ハードウェア3に搭載する仮想リソース数を算出する。
 具体的には、仮想リソース数算出部121は、性能比算出部112が算出した各ハードウェア3の性能スコアと、電力効率特性で示される最も高い電力効率となる設定使用率(使用率)を乗算することによりスコアを算出する。
 HW_Aのスコア・・・性能スコア「2」×最も高い電力効率の使用率「90%」=1.8
  HW_Bのスコア・・・性能スコア「1」×最も高い電力効率の使用率「60%」=0.6
 このスコアの比に基づき、仮想リソース数算出部121は、ハードウェア3に搭載されるコンテナ数を、HW_A:HW_Bで「3:1」とする。
 なお、仮想リソース数算出部121は、例えば、HW_A:HW_Bの比が「2.5:1」のように、整数とならない場合には、予め小数点第1位の数を四捨五入する等のロジックを設定し、コンテナ数を整数で算出できるようにしておく。
 また、ハードウェア3が同種の複数のハードウェア3で構成される場合、各ハードウェア3において、性能スコアが同じ「1」あり、最も高い電力効率の使用率も同じとなる。よって、仮想リソース数算出部121は、各ハードウェア3に搭載されるコンテナ数を、「1:1」とする。
 要求リソース算出部122は、性能比算出部112が算出した性能比に基づき、仮想リソース単位の性能が同じになるように、各ハードウェア3に設定する要求リソースを設定する。
 ここで、要求リソース算出部122は、最も低い性能値であるハードウェア3の性能値「1」に対する他のハードウェアの性能比を用いて、他のハードウェア3に搭載する仮想リソースへの要求リソースを「1」とした場合の、最も低い性能値であるハードウェア3の要求リソースを、「1」に対する当該性能比で示される値とする。これに基づき、最も低い性能値であるハードウェア3と他のハードウェア3とに搭載する仮想リソースについての要求リソースを算出する。
 具体的には、要求リソース算出部122は、HW_AとHW_Bとの性能比が上記のように「2:1」である場合には、例えば、HW_Aの要求リソース「400m」に対し、HW_Bの要求リソース「800m」を設定する。つまり、HW_AとHW_Bとの要求リソースの比が性能比と逆である「1:2」となるように、要求リソースを決定する。
 なお、ハードウェア3が同種の複数のハードウェア3で構成される場合、要求リソース算出部122は、複数のハードウェア3のうちの1つの性能値を、最も低い性能値として特定し、他のハードウェア3の性能値と比較して、要求リソースの比を「1:1」に決定する。
 設定ファイル作成部123は、ハードウェア3それぞれについて、電力効率の値が最も高くなる使用率を、当該ハードウェア3のスケーリングの目標値とするスケーリング設定ファイルを作成する。また、設定ファイル作成部123は、仮想リソース数算出部121により算出されたハードウェア3に搭載する仮想リソース数と、要求リソース算出部122により算出された、当該ハードウェア3に搭載する仮想リソースの要求リソースと含むリソース設定ファイルを作成する。
 設定ファイル作成部123は、スケーリングの目標値を、そのハードウェア3の電力効率特性で示される電力効率のピーク値の設定使用率(使用率)に応じて決定する。例えば、設定ファイル作成部123は、HW_Aについて使用率90%、HW_Bについて使用率60%に決定する。そして、設定ファイル作成部123は、決定したスケーリングの目標値の情報を含むスケーリング設定ファイルを作成する。
 また、設定ファイル作成部123は、仮想リソース数算出部121が算出した仮想リソース数(例えば、コンテナ数)と、ハードウェア3毎に搭載する仮想リソース(コンテナ)向けの要求リソース(例えば、HW_Aの要求リソース「400m」、HW_Bの要求リソース「800m」)を含むリソース設定ファイルを作成する。
 設定ファイル作成部123は、作成したリソース設定ファイルを仮想化基盤20に送信する。これにより、仮想化基盤20のリソース管理部21により、リソース設定ファイルに基づいて、各ハードウェア3に仮想リソース(コンテナ等)が設定される。
 監視部13は、各ハードウェア3単位で、仮想リソース(コンテナ)の使用率(CPU使用率や、GPU使用率などの所定のメトリクス)の情報を所定の間隔で取得することにより監視する。監視部13は、各ハードウェア3から、直接この使用率の情報を取得してもよいし、仮想化基盤20を介して取得してもよい。
 監視部13は、このハードウェア3毎の使用率の情報を取得すると、スケーリング制御部14およびHW制御部15にその情報を出力する。
 スケーリング制御部14は、スケーリング設定ファイルにおいて設定した、各ハードウェア3における電力効率特性に基づく使用率の目標値と、監視部13が取得した使用率との差分を所定の間隔で比較し、スケーリング処理を実行する。
 具体的には、スケーリング制御部14は、コンテナやVM等の仮想リソースの使用率(例えば、CPU使用率やRPS等)の情報を監視部13から取得する。そして、スケーリング制御部14は、所定の間隔(監視間隔)で移動平均を算出し、各ハードウェア3に搭載される仮想リソース(例えば、コンテナ数)で平均して目標値と比較する。
 そして、スケーリング制御部14は、目標値を上回る場合には、スケールアウト、つまりコンテナ等の仮想リソースを追加する。一方、監視部13は、目標値を下回る場合には、スケールイン、つまりコンテナ等の仮想リソースを削除する。
 なお、スケーリング制御部14は、スケーリングの判断を行う際に、目標値との比較回数を設定したり、スケールアウト/スケールイン別に目標値との幅を設けるようにしてもよい。例えば、スケーリング制御部14は、スケールアウトの判断において、比較回数を1回に設定し、1回以上であれば(つまり1回でも目標値を超えれば)コンテナを追加する。また、監視部13は、スケールインの判断において、比較回数を3回に設定し、目標値を3回連続かつ目標値より10%下回ればコンテナを削除する。
 スケーリング制御部14は、追加や削除する仮想リソース数を決定すると、その情報をコンテナ追加/削除リクエストとして、仮想化基盤20へ送信する。これにより、仮想化基盤20の仮想リソース制御部22が、ハードウェア3に搭載された仮想リソースの追加や削除を実行する。
 HW制御部(ハードウェア制御部)15は、ハードウェア3の使用率(CPU使用率やGPU使用率)の情報を取得し、使用率が著しく高い場合(所定の閾値(第1閾値)より高い場合)や、スケーリング制御部14による仮想化基盤20へのコンテナ追加リクエストに対し、リソース不足によるコンテナ追加失敗応答を受信した場合に、起動していないHWリソースから1台を選択し、そのハードウェア3の起動および仮想化基盤20のリソース管理部21へ空きリソースの追加を行う。
 このHW制御部15が選択するHWリソースは、消費電力最小化のため、以下の所定のポリシーに基づきハードウェア3を選択する。
 (1)最大消費電力の小さいハードウェアを選択する。
 (2)idle状態(待機状態)の待機電力が小さいハードウェアを選択する。
 (1)(2)の場合は、一般的に性能が低くなるため、最大RPSも小さいハードウェアとなる。
 (3)トラフィックの増加傾向からハードウェアを選択する。
 (3)の場合、トラフィックの増加傾向が大きいときは、最大消費電力は大きいが性能の高いハードウェアを選択する。一方増加傾向が緩やかなときは、最大消費電力の小さいハードウェアを選択する。なお、HW制御部15は、増加傾向に応じて台数も1台に限定せず、複数台のハードウェアを選択するようにしてもよい。
 また、HW制御部15は、ハードウェア3の使用率(CPU使用率やGPU使用率)の情報を取得し、使用率が著しく低い場合(所定の閾値(第2閾値)より低い場合)に、余剰リソースとなるハードウェア3を終了する。
 この場合、HW制御部15は、起動中のハードウェア3から1台選択し、仮想化基盤20に対し、選択したハードウェア3上で起動しているコンテナ等の仮想リソースへの新たな処理の振り分け停止を指示する。そして、HW制御部15は、実行中の処理が全て完了したタイミングで仮想化基盤20のリソース管理部2へ、当該ハードウェア3のリソース情報削除と、そのハードウェア3の停止処理を指示する。
 なお、HW制御部15が選択するHWリソースは、消費電力最小化のために、以下の所定のポリシーに基づきハードウェア3を選択する。
 (1)最大消費電力の大きいハードウェアを選択する。
 (2)idle状態(待機状態)の待機電力が大きいハードウェアを選択する。
 (1)(2)の場合は、一般的に性能が高いため、最大RPSも大きいハードウェアとなる。
 (3)トラフィックの減少傾向からハードウェアを選択する。
 (3)の場合、トラフィックの減少傾向が大きいときには、最大消費電力が大きく性能が高いハードウェアを選択する。一方減少傾向が緩やかなときには、最大消費電力の小さいハードウェアを選択する。なお、HW制御部15は、減少傾向に応じて台数も1台に限定せず、複数台のハードウェアを選択するようにしてもよい。
 なお、HW制御部15は、仮想化基盤20のリソース管理部21を介して、ハードウェア3の起動・停止を行うものとして説明したが、HW制御部15が、仮想化基盤20を介さず、直接選択したハードウェア3に対し、起動・停止の指示を行うようにしてもよい。
<スケーリング管理装置の処理>
 次に、本実施形態に係るスケーリング管理装置10が実行する処理の流れについて詳細に説明する。
 ここでは、スケーリング管理装置10が実行する、電力効率特性の算出処理(図5)、性能比算出処理(図6)、スケーリング処理(図7、図8)およびハードウェアの起動・停止処理(図9)について詳細に説明する。
≪電力効率特性の算出処理≫
 図5は、本実施形態に係る電力効率特性の算出処理の流れを示すフローチャートである。
 まず、スケーリング管理装置10の電力効率特性算出部111は、各ハードウェア3にベンチマーク負荷を印加する(ステップS101)。
 そして、電力効率特性算出部111は、ハードウェア3それぞれについて、最大RPSを決定する(ステップS102)。なお、電力効率特性算出部111は、各ハードウェア3の最大RPSを、記憶部に記憶しておく。
 そして、電力効率特性算出部111は、最大RPS時の使用率(設定使用率)xについて、「x=1.0」を設定する(ステップS103)。
 続いて、電力効率特性算出部111は、ハードウェア3に対し、最大RPS×「x」の負荷を印加して、電力を所定の時間(例えばT秒間)測定する(ステップS104)。
 次に、電力効率特性算出部111は、所定の時間(T秒間)での平均電力(Power_x)と平均負荷(RPS_x)とを算出する(ステップS105)。
 そして、電力効率特性算出部111は、ハードウェア3の最大負荷を10%刻みで印加するために、使用率xについて「x=x-0.1」とする(ステップS106)。
 続いて、電力効率特性算出部111は、「x=0」か否かを判定し(ステップS107)、x=0でなければ(ステップS107→No)、ステップS104に戻り処理を続ける。一方、x=0であれば(ステップS107→Yes)、次のステップS108に進む。
 ステップS108において、電力効率特性算出部111は、負荷を印加しない状態(無負荷状態)で所定時間(T秒間)電力を測定する。
 そして、電力効率特性算出部111は、無負荷状態での平均電力(Power_0)を算出する(ステップS109)。
 なお、このステップS101~S109の処理により、電力効率特性算出部111は、図3で示す、平均電力(Power_x)と平均負荷(RPS_x)の情報を得る。
 続いて、電力効率特性算出部111は、使用率(設定使用率)xについて1.0~0.1までの処理を10回繰り返す(ステップS110~S113)。
 ステップS111において、電力効率特性算出部111は、各使用率xでの電力効率(EE_x)を「電力効率=平均負荷/平均電力」の式に基づき算出する。
 次に、電力効率特性算出部111は、負荷10%刻みで算出した電力効率を、最大RPS時の電力効率を「1.0」として正規化した値(正規化EENormalize_x)を算出する(ステップS112)。
 このステップS110~S113の処理により、電力効率特性算出部111は、図3で示す、電力効率(EE_x)と正規化(EENormalize_x)の情報を得る。
 この図3の正規化した値(EENormalize_x)の情報で示される電力効率特性では、正規化した値が最も高い「1.10」の場合、つまり使用率(設定使用率)が「0.9」(90%)のときに、電力効率が最も高いことが示される。
≪性能比算出処理≫
 図6は、本実施形態に係る性能比算出処理の流れを示すフローチャートである。
 まず、スケーリング管理装置10の性能比算出部112は、電力効率特性算出部111による電力効率特性の算出の際に測定したハードウェア3毎の最大RPSの情報を取得する(ステップS201)。
 そして、性能比算出部112は、取得した最大RPSの情報のうち、最も低い最大RPSの情報(RPS_Low)を選択する(ステップS202)。
 次に、性能比算出部112は、ハードウェア種別ごとに、ステップS203~S209の処理を繰り返す。その際、性能比算出部112は、選択した最も低い最大RPS値を使用率「1.0」とし、その最大RPS値を10%刻みとした負荷を印加する。
 まず、性能比算出部112は、選択した最も低い最大RPS値を使用率(設定使用率)xを「x=1.0」に設定する(ステップS204)。
 次に、性能比算出部112は、ハードウェア3に対し、選択した最も低い最大RPS×「x」の負荷を印加して、使用率(例えば、CPU使用率やGPU使用率)を所定の時間であるT秒間測定する(ステップS205)。
 続いて、性能比算出部112は、所定の時間(T秒間)での平均使用率(Utilizatin_x)を算出する(ステップS206)。
 そして、性能比算出部112は、ハードウェア3の最大負荷を10%刻みで印加するために、使用率(設定使用率)xについて「x=x-0.1」とする(ステップS207)。
 続いて、性能比算出部112は、「x=0」か否かを判定し(ステップS208)、x=0でなければ(ステップS208→No)、ステップS205に戻り処理を続ける。一方、x=0であれば(ステップS208→Yes)、次のステップS209に進む。
 なお、このステップS204~S208の処理を、ハードウェア種別毎に繰り返すことにより、性能比算出部112は、例えば図4で示す、HW_A平均使用率、HW_B平均使用率の情報を得る。
 続いて、性能比算出部112は、使用率(設定使用率)xについて1.0~0.1までの処理を10回繰り返す(ステップS210~S212)。
 ステップS211において、性能比算出部112は、各使用率(設定使用率)xでの使用率の比率を算出する。
 具体的には、性能比算出部112は、最大RPSの値が最も低いハードウェア3(図5ではHW_B)の平均使用率を、比較対象となる他のハードウェア3(図5では、HW_A)の平均使用率で割った値を算出する。
 このステップS211の処理を、各使用率(設定使用率)xで繰り返すことにより、性能比算出部112は、図4で示す性能比率を算出する。
 次にステップS213において、性能比算出部112は、使用率(設定使用率)x=1.0~0.1について、性能比率の平均を算出する(図4では、平均「1.91」)。
 そして、性能比算出部112は、比較対象となる他のハードウェア3(図4では、HW_A)と、最大RPSの値が最も低いハードウェア3(図4ではHW_B)と、の性能比(HW_A:HW_B)を、「1.91:1」≒「2:1」とする。
 なお、性能比算出部112は、この性能比に基づき、HW_Aの性能スコア「2」とし、HW_Bの性能スコアを「1」とする。
 性能比算出部112は、比較対象となる種別が異なるハードウェア3それぞれについて、最大RPSの値が最も低いハードウェア3(図4ではHW_B)との性能比を算出する。
≪スケーリング処理≫
 図7および図8は、本実施形態に係るスケーリング処理の流れを示すフローチャートである。
 なお、スケーリング管理装置10のスケーリング制御部14がスケーリング処理を実行するに際して、監視部13が各ハードウェア3の監視対象となるメトリクス(例えば、CPU使用率、RPS等から求まる使用率)の情報を取得しているものとする。
 ステップS301において、まず、スケーリング制御部14は、スケールアウトの判定回数の閾値としてα回、スケールインの判定回数の閾値としてβ回を設定する。また、スケールアウト判定の目標値との幅として(γ%)、スケールイン判定の目標値との幅として(δ%)を設定しておく。
 次に、ステップS302において、スケーリング制御部14は、スケールアウトの判定回数「Y」を「0」(初期化)する。また、スケーリング制御部14は、スケールインの判定回数「Z」を「0」に初期化する。
 そして、スケーリング制御部14は、ハードウェア3毎に所定間隔でのメトリクスの移動平均(U)を算出する(ステップS303)。
 続いて、スケーリング制御部14は、所定の監視間隔を超えたか否かを判定する(ステップS304)。所定の監視間隔を超えていなければ(ステップS304→No)、ステップS303に戻り処理を続ける。一方、所定の監視間隔を超えていれば(ステップS304→Yes)、次のステップS305に進む。
 ステップS305において、スケーリング制御部14は、メトリクスの移動平均(U)が、目標値×(1+γ)の値以上であるかを判定する。そして、移動平均(U)の値が超えている場合には(ステップS305→Yes)、ステップS306に進み、スケールアウト判定回数「Y」をY+1とする。
 続いて、スケーリング制御部14は、スケールアウトの判定回数「Y」が「α」回以上であるかを判定する(ステップS307)。ここで、「Y」が「α」以上でなければ(ステップS307→No)、ステップS303に戻り、処理を続ける。一方、「Y」が「α」以上であれば(ステップS307→Yes)、図8のステップS311へ進む。
 また、ステップS305において、メトリクスの移動平均(U)が、目標値×(1+γ)の値未満である場合には(ステップS305→No)、スケーリング制御部14は、メトリクスの移動平均(U)が、目標値×(1-δ)の値未満であるかを判定する(ステップS308)。そして、移動平均(U)が、目標値×(1-δ)の値未満でない場合、つまり、移動平均(U)が目標値×(1-δ)の値以上である場合には(ステップ308→No)、ステップS302に戻り、処理を続ける。一方、移動平均(U)が、目標値×(1-δ)の値未満である場合(ステップS308→Yes)、ステップS309に進み、スケールインの判定回数「Z」をZ+1とする。
 続いて、スケーリング制御部14は、スケールインの判定回数「Z」が「β」回以上であるか判定する(ステップS310)。ここで「Z」が「β」以上でなければ(ステップS310→No)、ステップS303に戻り、処理を続ける。一方「Z」が「β」以上であれば(ステップS310→Yes)、次のステップS311へ進む。
 図8のステップS311において、スケーリング制御部14は、全体として必要なる仮想リソース数(TotalNum)を「0」(初期化)とする。
 続いて、スケーリング制御部14は、すべてのハードウェア種別で以下の処理を繰り返す(ステップS312~S314)。
 具体的には、ステップS313において、スケーリング制御部14は、選択したある種別のハードウェア3について、TotalNum+(負荷の合計値/目標値)を算出する。そして算出した値を、新たなTotalNumとする。
 ここで、負荷の合計値は、1種別のハードウェア3が複数台存在する場合には、複数台の負荷の合計値となる。また、目標値は、リソース設定ファイルにおいて、各仮想リソース向けに設定された要求リソースのHW_Aであれば90%、HW_Bであれば60%の値となる。
 このステップS313の処理を、全てのハードウェア種別で繰り返すことにより、全ハードウェア種別を踏まえたTotalNumを算出する。
 次に、ステップS315において、スケーリング制御部14は、追加/削除する仮想リソース数(scale)を算出する。
 具体的には、スケーリング制御部14は、算出されたTotalNumを整数値へ切り上げ(Ceil(TotalNum))、現在の仮想リソース数を減算する。
 そして、スケーリング制御部14は、算出された追加/削除する仮想リソース数(scale)が0以上であるか否かを判定する(ステップS316)。そして、算出された追加/削除する仮想リソース数(scale)が0以上であれば(ステップS316→Yes)、ステップS317へ進む。
 ステップS317において、スケーリング制御部14は、scale個の仮想リソース(コンテナ等)を追加するリクエストを、仮想化基盤20に送信する。なおscaleが0であれば、リクエストは送信しない。
 一方、ステップS316において、算出された追加/削除する仮想リソース数(scale)が0未満であれば(ステップS316→No)、ステップS318へ進む。
 ステップS318において、スケーリング制御部14は、scale個の仮想リソースを削除するリクエストを、仮想化基盤20に送信する。
 このようにして、スケーリング管理装置10は、各ハードウェア3の電力効率を考慮したスケーリングを行うことができる。
≪ハードウェアの起動・停止処理≫
 図9は、本実施形態に係るハードウェア3の起動・停止処理の流れを示すフローチャートである。
 なお、スケーリング管理装置10のHW制御部15がハードウェア3の起動・停止処理を実行するに際して、監視部13が各ハードウェア3の監視対象となるメトリクス(例えば、CPU使用率、RPS等に基づくリソース使用率)の情報を取得しているものとする。
 HW制御部15は、スケーリング制御部14の処理により、仮想化基盤20にコンテナ追加リクエストを送信した際に、仮想化基盤20からリソース不足によるコンテナ追加失敗応答を受信する(ステップS401)。この場合、HW制御部15は、新たなハードウェア3を追加するため、ステップS406へ進む。
 また、HW制御部15は、各ハードウェア3に関し、監視しているメトリクス(CPU使用率等のリソース使用率)の上限となる閾値(所定の上限使用率(所定の第1閾値))として、例えばA%、下限となる閾値(所定の下限使用率(所定の第2閾値))として、例えばB%を設定しておく(ステップS402)。
 続いて、HW制御部15は、ハードウェア3毎に所定間隔でのメトリクス(リソース使用率)の移動平均を算出する(ステップS403)。
 続いて、HW制御部15は、所定の監視間隔を超えたか否かを判定する(ステップS404)。所定の監視間隔を超えていなければ(ステップS404→No)、ステップS403に戻り処理を続ける。一方、所定の監視間隔を超えていれば(ステップS403→Yes)、次のステップS405に進む。
 次に、HW制御部15は、算出したメトリクス(リソース使用率)の移動平均が、所定の上限使用率(A)以上であるかを判定する(ステップS405)。所定の上限使用率(A)以上であれば(ステップS405→Yes)、ステップS406へ進む。
 ステップS406において、HW制御部15は、追加するハードウェア3を選択する。
 その際、HW制御部15は、消費電力最小化のため、最大消費電力の小さいハードウェア3や、待機電力が小さいハードウェア3を選択したり、トラフィックの増加傾向に応じて、最大消費電力の大きい(または小さい)が処理性能の高い(または低い)ハードウェア3を選択してもよい。
 そして、HW制御部15は、仮想化基盤20に対し、選択したハードウェア3の追加を指示する(ステップS407)。具体的には、HW制御部15は、仮想化基盤20に選択したハードウェア3の起動をリクエストすることにより、そのハードウェア3を起動させ、仮想化基盤20のリソース管理部21への空きリソースの追加を行わせる。
 一方、ステップS405において、算出したメトリクス(リソース使用率)の移動平均が、所定の上限使用率(A)以上でない場合(ステップS405→No)、HW制御部15は、算出したメトリクスの移動平均が、所定の下限使用率(B)未満であるかを判定する(ステップS408)。そして、所定の下限使用率(B)未満でなければ(ステップS408→No)、ステップS403に戻り、処理を続ける。一方、所定の下限使用率(B)未満であれば(ステップS408→Yes)、次のステップS409へ進む。
 ステップS409において、HW制御部15は、停止するハードウェア3を選択する。
 その際、HW制御部15は、消費電力最小化のため、最大消費電力の大きいハードウェア3や、待機電力が大きいハードウェア3を選択したり、トラフィックの減少傾向に応じて、最大消費電力の大きい(または小さい)が処理性能の高い(または低い)ハードウェア3を選択してもよい。
 次に、ステップS410において、HW制御部15は、停止するハードウェア3を選択すると、仮想化基盤20に対し、選択したハードウェア3に対するリクエストの振り分け停止を指示する。そして、仮想化基盤20のリソース管理部21は、選択したハードウェア3が処理中リクエストを完了した後、そのハードウェア3を停止させる。
 このようにして、スケーリング管理装置10は、電力効率を考慮した上で、ハードウェアの起動・停止処理を行うことができる。
<ハードウェア構成>
 本実施形態に係るスケーリング管理装置10は、例えば図10に示すような構成のコンピュータ900によって実現される。
 図10は、本実施形態に係るスケーリング管理装置10の機能を実現するコンピュータ900の一例を示すハードウェア構成図である。コンピュータ900は、CPU(Central Processing Unit)901、ROM(Read Only Memory)902、RAM903、HDD(Hard Disk Drive)904、入出力I/F(Interface)905、通信I/F906およびメディアI/F907を有する。
 CPU901は、ROM902またはHDD904に記憶されたプログラムに基づき作動し、制御部による制御を行う。ROM902は、コンピュータ900の起動時にCPU901により実行されるブートプログラムや、コンピュータ900のハードウェアに係るプログラム等を記憶する。
 CPU901は、入出力I/F905を介して、マウスやキーボード等の入力装置910、および、ディスプレイやプリンタ等の出力装置911を制御する。CPU901は、入出力I/F905を介して、入力装置910からデータを取得するともに、生成したデータを出力装置911へ出力する。なお、プロセッサとしてCPU901とともに、GPU(Graphics Processing Unit)等を用いても良い。
 HDD904は、CPU901により実行されるプログラムおよび当該プログラムによって使用されるデータ等を記憶する。通信I/F906は、通信網(例えば、NW(Network)920)を介して他の装置からデータを受信してCPU901へ出力し、また、CPU901が生成したデータを、通信網を介して他の装置へ送信する。
 メディアI/F907は、記録媒体912に格納されたプログラムまたはデータを読み取り、RAM903を介してCPU901へ出力する。CPU901は、目的の処理に係るプログラムを、メディアI/F907を介して記録媒体912からRAM903上にロードし、ロードしたプログラムを実行する。記録媒体912は、DVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto Optical disk)等の光磁気記録媒体、磁気記録媒体、半導体メモリ等である。
 例えば、コンピュータ900が本発明のスケーリング管理装置10として機能する場合、コンピュータ900のCPU901は、RAM903上にロードされたプログラムを実行することにより、スケーリング管理装置10の機能を実現する。また、HDD904には、RAM903内のデータが記憶される。CPU901は、目的の処理に係るプログラムを記録媒体912から読み取って実行する。この他、CPU901は、他の装置から通信網(NW920)を介して目的の処理に係るプログラムを読み込んでもよい。
<効果>
 以下、本発明に係るスケーリング管理装置10等の効果について説明する。
 本発明に係るスケーリング管理装置は、仮想化基盤20によりハードウェア3上に搭載される仮想リソースのスケーリングを管理するスケーリング管理装置10であって、スケーリング管理装置10が、複数のハードウェア3それぞれについて、ハードウェア3の使用率の高低を変化させて電力効率を測定することにより当該ハードウェア3の電力効率特性を算出し、測定した電力効率のうち、電力効率の値が最も高くなる使用率を決定する電力効率特性算出部111と、所定のメトリクスを測定することによりハードウェア3それぞれの性能を測定して、最も低い性能値であるハードウェア3を特定し、特定したハードウェア3の性能値を「1」とした場合の他のハードウェア3の性能値を性能比として算出する性能比算出部112と、ハードウェア3それぞれについて、算出した性能比に、当該ハードウェア3において電力効率の値が最も高くなる使用率を乗算したスコアを算出し、ハードウェア3ごとに算出されたスコアの大きさの比率に応じて、ハードウェア3に搭載する仮想リソース数を算出する仮想リソース数算出部121と、最も低い性能値であるハードウェア3の性能値「1」に対する他のハードウェア3の性能比に基づき、他のハードウェア3に搭載する仮想リソースへの要求リソースを「1」とした場合の、最も低い性能値であるハードウェア3の要求リソースを、「1」に対する当該性能比で示される値とすることにより、最も低い性能値であるハードウェア3と他のハードウェア3とに搭載する仮想リソースについての要求リソースを算出する要求リソース算出部122と、ハードウェア3それぞれについて、電力効率の値が最も高くなる使用率を当該ハードウェア3のスケーリングの目標値とするスケーリング設定ファイルを作成するとともに、算出されたハードウェア3に搭載する仮想リソース数と、当該ハードウェア3に搭載する仮想リソースの要求リソースとを含むリソース設定ファイルを作成する設定ファイル作成部123と、を備えることを特徴とする。
 このスケーリング管理装置10によれば、仮想化基盤20におけるハードウェア3の性能差や電力効率特性差を考慮したスケーリングを行うことが可能となる。これにより、ハードウェア3毎に、電力効率が最も良い負荷量で動作することが可能となる。
 また、スケーリング管理装置10は、各ハードウェア3の性能差に応じてリソース設定ファイルを作成するとともに、電力効率特性差に応じたスケーリングの目標値を設定してスケーリング設定ファイルを作成する。そのため、仮想化基盤20においては、ハードウェア3間の性能差および電力効率特性差を考慮することなく、各仮想リソースへ均等にトラフィックの振り分けを行えばよい。
 また、スケーリング管理装置10において、ハードウェア3単位で、当該ハードウェア3に搭載された仮想リソースの使用率を取得する監視部13と、取得した仮想リソースの使用率と、スケーリング設定ファイルで示されるスケーリングの目標値とを比較することより、仮想リソースの追加または削除を判断するスケーリング制御部14と、をさらに備えることを特徴とする。
 このように、スケーリング管理装置10は、電力効率特性差に応じたスケーリングの目標値に基づき、仮想リソースの追加・削除を判断することができる。よって、従来技術に比べ、消費電力を抑えた仮想化基盤20の運用が可能となる。
 また、スケーリング管理装置10において、仮想リソースの追加に失敗した場合、または、取得した仮想リソースの使用率が、所定の第1閾値より高い場合に、最大消費電力の小さいハードウェア、または、待機電力の小さいハードウェアを、追加するハードウェアとして決定するハードウェア制御部15をさらに備えることを特徴とする。
 このようにすることで、スケーリング管理装置10は、ハードウェア3を追加する際に、最大消費電力の小さい、または、待機電力の小さいハードウェア3を選択することができる。よって、従来技術よりも消費電力を低減することができる。
 また、スケーリング管理装置10において、取得した仮想リソースの使用率が、所定の第2閾値より低い場合に、最大電力の大きいハードウェア3、または、待機電力の大きいハードウェア3を、停止させるハードウェアとして決定するハードウェア制御部15をさらに備えることを特徴とする。
 このようにすることで、スケーリング管理装置10は、ハードウェア3を停止させる際に、最大消費電力の大きい、または、待機電力の大きいハードウェア3を選択することができる。よって、従来技術よりも消費電力を低減することができる。
 なお、本発明は、以上説明した実施形態に限定されるものではなく、多くの変形が本発明の技術的思想内で当分野において通常の知識を有する者により可能である。
 1   スケーリング管理システム
 3   ハードウェア(HW)
 10  スケーリング管理装置
 11  HW特性算出部
 12  リソース設定部
 13  監視部
 14  スケーリング制御部
 15  HW制御部(ハードウェア制御部)
 20  仮想化基盤
 21  リソース管理部
 22  仮想リソース制御部
 111 電力効率特性算出部
 112 性能比算出部
 121 仮想リソース数算出部
 122 要求リソース算出部
 123 設定ファイル作成部

Claims (6)

  1.  仮想化基盤によりハードウェア上に搭載される仮想リソースのスケーリングを管理するスケーリング管理装置であって、
     前記スケーリング管理装置は、
     複数の前記ハードウェアそれぞれについて、前記ハードウェアの使用率の高低を変化させて電力効率を測定することにより当該ハードウェアの電力効率特性を算出し、測定した電力効率のうち、電力効率の値が最も高くなる使用率を決定する電力効率特性算出部と、
     所定のメトリクスを測定することにより前記ハードウェアそれぞれの性能を測定して、最も低い性能値である前記ハードウェアを特定し、特定した前記ハードウェアの性能値を1とした場合の他のハードウェアの性能値を性能比として算出する性能比算出部と、
     前記ハードウェアそれぞれについて、前記算出した性能比に、当該ハードウェアにおいて前記電力効率の値が最も高くなる使用率を乗算したスコアを算出し、前記ハードウェアごとに算出されたスコアの大きさの比率に応じて、前記ハードウェアに搭載する仮想リソース数を算出する仮想リソース数算出部と、
     前記最も低い性能値であるハードウェアの性能値1に対する他のハードウェアの性能比に基づき、他のハードウェアに搭載する前記仮想リソースへの要求リソースを1とした場合の、前記最も低い性能値であるハードウェアの要求リソースを、1に対する当該性能比で示される値とすることにより、前記最も低い性能値であるハードウェアと他のハードウェアとに搭載する前記仮想リソースについての要求リソースを算出する要求リソース算出部と、
     前記ハードウェアそれぞれについて、前記電力効率の値が最も高くなる使用率を当該ハードウェアのスケーリングの目標値とするスケーリング設定ファイルを作成するとともに、前記算出されたハードウェアに搭載する仮想リソース数と、当該ハードウェアに搭載する仮想リソースの前記要求リソースとを含むリソース設定ファイルを作成する設定ファイル作成部と、
     を備えることを特徴とするスケーリング管理装置。
  2.  前記ハードウェア単位で、当該ハードウェアに搭載された前記仮想リソースの使用率を取得する監視部と、
     取得した前記仮想リソースの使用率と、前記スケーリング設定ファイルで示されるスケーリングの目標値とを比較することより、前記仮想リソースの追加または削除を判断するスケーリング制御部と、
     をさらに備えることを特徴とする請求項1に記載のスケーリング管理装置。
  3.  前記仮想リソースの追加に失敗した場合、または、取得した前記仮想リソースの使用率が、所定の第1閾値より高い場合に、最大消費電力の小さいハードウェア、または、待機電力の小さいハードウェアを、追加するハードウェアとして決定するハードウェア制御部
     をさらに備えることを特徴とする請求項2に記載のスケーリング管理装置。
  4.  取得した仮想リソースの使用率が、所定の第2閾値より低い場合に、最大電力の大きい前記ハードウェア、または、待機電力の大きい前記ハードウェアを、停止させるハードウェアとして決定するハードウェア制御部
     をさらに備えることを特徴とする請求項2に記載のスケーリング管理装置。
  5.  仮想化基盤によりハードウェア上に搭載される仮想リソースのスケーリングを管理するスケーリング管理装置のスケーリング管理方法であって、
     前記スケーリング管理装置は、
     複数の前記ハードウェアそれぞれについて、前記ハードウェアの使用率の高低を変化させて電力効率を測定することにより当該ハードウェアの電力効率特性を算出し、測定した電力効率のうち、電力効率の値が最も高くなる使用率を決定するステップと、
     所定のメトリクスを測定することにより前記ハードウェアそれぞれの性能を測定し、最も低い性能値である前記ハードウェアを特定し、特定した前記ハードウェアの性能値を1とした場合の他のハードウェアの性能値を性能比として算出するステップと、
     前記ハードウェアそれぞれについて、前記算出した性能比に、当該ハードウェアにおいて前記電力効率の値が最も高くなる使用率を乗算したスコアを算出し、前記ハードウェアごとに算出されたスコアの大きさの比率に応じて、前記ハードウェアに搭載する仮想リソース数を算出するステップと、
     前記最も低い性能値であるハードウェアの性能値1に対する他のハードウェアの性能比に基づき、他のハードウェアに搭載する前記仮想リソースへの要求リソースを1とした場合の、前記最も低い性能値であるハードウェアの要求リソースを、1に対する当該性能比で示される値とすることにより、前記最も低い性能値であるハードウェアと他のハードウェアとに搭載する前記仮想リソースについての要求リソースを算出するステップと、
     前記ハードウェアそれぞれについて、前記電力効率の値が最も高くなる使用率を、当該ハードウェアのスケーリングの目標値とするスケーリング設定ファイルを作成するとともに、前記算出されたハードウェアに搭載する仮想リソース数と、当該ハードウェアに搭載する仮想リソースの前記要求リソースとを含むリソース設定ファイルを作成するステップと、
     を実行することを特徴とするスケーリング管理方法。
  6.  コンピュータを、請求項1乃至請求項4のいずれか一項に記載のスケーリング管理装置として機能させるためのプログラム。
     
PCT/JP2021/041923 2021-11-15 2021-11-15 スケーリング管理装置、スケーリング管理方法、および、プログラム WO2023084777A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2023559383A JPWO2023084777A1 (ja) 2021-11-15 2021-11-15
PCT/JP2021/041923 WO2023084777A1 (ja) 2021-11-15 2021-11-15 スケーリング管理装置、スケーリング管理方法、および、プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2021/041923 WO2023084777A1 (ja) 2021-11-15 2021-11-15 スケーリング管理装置、スケーリング管理方法、および、プログラム

Publications (1)

Publication Number Publication Date
WO2023084777A1 true WO2023084777A1 (ja) 2023-05-19

Family

ID=86335467

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/041923 WO2023084777A1 (ja) 2021-11-15 2021-11-15 スケーリング管理装置、スケーリング管理方法、および、プログラム

Country Status (2)

Country Link
JP (1) JPWO2023084777A1 (ja)
WO (1) WO2023084777A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017168484A1 (ja) * 2016-03-28 2017-10-05 株式会社日立製作所 管理計算機および性能劣化予兆検知方法
JP2019135597A (ja) * 2018-02-05 2019-08-15 富士通株式会社 性能調整プログラム、および性能調整方法
JP2020123849A (ja) * 2019-01-30 2020-08-13 日本電信電話株式会社 オートスケール型性能保証システム及びオートスケール型性能保証方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017168484A1 (ja) * 2016-03-28 2017-10-05 株式会社日立製作所 管理計算機および性能劣化予兆検知方法
JP2019135597A (ja) * 2018-02-05 2019-08-15 富士通株式会社 性能調整プログラム、および性能調整方法
JP2020123849A (ja) * 2019-01-30 2020-08-13 日本電信電話株式会社 オートスケール型性能保証システム及びオートスケール型性能保証方法

Also Published As

Publication number Publication date
JPWO2023084777A1 (ja) 2023-05-19

Similar Documents

Publication Publication Date Title
US7676578B1 (en) Resource entitlement control system controlling resource entitlement based on automatic determination of a target utilization and controller gain
JP6386165B2 (ja) 分散コンピュータシステムへの電力割り振りに変更がある場合に中断され得るジョブ及び中断され得ないジョブを管理するための方法並びに装置
US8185893B2 (en) Starting up at least one virtual machine in a physical machine by a load balancer
Beloglazov et al. Optimal online deterministic algorithms and adaptive heuristics for energy and performance efficient dynamic consolidation of virtual machines in cloud data centers
Shaw et al. Use of proactive and reactive hotspot detection technique to reduce the number of virtual machine migration and energy consumption in cloud data center
US9047083B2 (en) Reducing power consumption in a server cluster
Wang et al. A nested two stage game-based optimization framework in mobile cloud computing system
US8996890B2 (en) Method for power conservation in virtualized environments
Hieu et al. Virtual machine consolidation with usage prediction for energy-efficient cloud data centers
KR20130016237A (ko) 분산 컴퓨팅에서의 전력 공급 관리
WO2011088261A2 (en) Methods and apparatus for coordinated energy management in virtualized data centers
WO2014161391A1 (zh) 迁移虚拟机的方法和资源调度平台
Pan et al. Interaction artificial bee colony based load balance method in cloud computing
US8732307B1 (en) Predictive control for resource entitlement
Monil et al. Implementation of modified overload detection technique with VM selection strategies based on heuristics and migration control
Hasan et al. Heuristic based energy-aware resource allocation by dynamic consolidation of virtual machines in cloud data center
CN107506233B (zh) 一种虚拟资源调度方法、装置及服务器
Daraghmeh et al. Linear and logistic regression based monitoring for resource management in cloud networks
US11354163B2 (en) Virtual machine placement method and virtual machine placement device implementing the same
Shalu et al. Artificial neural network-based virtual machine allocation in cloud computing
Deiab et al. Energy efficiency in cloud computing
KR101608859B1 (ko) 클라우드 기반의 지능형 전력제어 시스템
WO2023084777A1 (ja) スケーリング管理装置、スケーリング管理方法、および、プログラム
Thiam et al. Cooperative scheduling anti-load balancing algorithm for cloud: Csaac
Theja et al. An evolutionary computing based energy efficient VM consolidation scheme for optimal resource utilization and QoS assurance

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: 21964130

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2023559383

Country of ref document: JP