Cluster management device, cluster management method, and program
The cluster management device optimizes power distribution in data center racks by determining suitable server devices for new workloads based on power and workload information, addressing the challenge of circuit breaker overload and reducing amperage costs.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- SOFTBANK CORPORATION
- Filing Date
- 2024-12-18
- Publication Date
- 2026-06-25
AI Technical Summary
The challenge is to reduce the contracted amperage of power supplies connected to racks in data centers while minimizing the risk of circuit breaker overload, particularly due to the varying power consumption of server devices equipped with GPUs, which can lead to increased costs and potential power interruptions.
A cluster management device and method that determines the most suitable server device for running new workloads by considering power supply information, server information, and workload information, including kernel parameter sets tailored for different application types, to optimize power utilization and prevent overload.
This approach reduces the risk of circuit breaker overload and decreases the contracted amperage of power supplies, enhancing power utilization efficiency and preventing server shutdowns by intelligently managing power distribution within data center racks.
Smart Images

Figure JP2024044744_25062026_PF_FP_ABST
Abstract
Description
Cluster management device, cluster management method, and program
[0001] The present invention relates to a cluster management device, a cluster management method, and a program, and relates to a cluster management device, a cluster management method, and a program that reduce the contract amperage of the power supply connected to a rack and reduce the risk of breaker power overload.
[0002] The operating threshold of the breaker for each rack arranged in a data center or the like is set to be not less than the total rated power consumption of the connected devices, thereby reducing the risk of power interruption by the breaker. On the other hand, increasing the operating threshold of the breaker increases the contract amperage of the power supply, resulting in an increase in cost. Therefore, it is desirable to improve the power utilization efficiency of the devices in the rack.
[0003] Patent Document 1 proposes a technique for managing the power demand assigned to a small number of power supply sets by a server device while avoiding dramatic interruptions caused by the use of protocols or similar processes conventionally applied for power consumption management.
[0004] Recently, applications using GPUs (Graphics Processing Units) such as generative AI have emerged, and server devices equipped with GPUs are widely used. Since GPUs consume a large amount of power, the rated power of the server device also increases. Therefore, in the racks where such server devices are arranged, the contract amperage of the power supply drawn per rack tends to increase.
[0005] Japanese Patent Application Laid-Open No. 2024-512681
[0006] A cluster management device according to one aspect of the present invention is a virtualization infrastructure having a cluster composed of multiple server devices, and is a cluster management device for a virtualization infrastructure that runs multiple workloads that execute application processing, comprising: a power supply information storage unit that stores power supply information indicating the operating threshold of the circuit breaker of one or more power supplies for each power supply; a server information storage unit that stores server information indicating the amount of power used by one or more server devices included in the cluster that are connected to each of the one or more power supplies, for each server device; a workload information storage unit that stores workload information indicating the expected increase in power consumption that is expected to increase due to the operation of each of the multiple workloads; and an operating device determination unit that determines a server device to run a new workload by referring to the power supply information, the server information, and the workload information.
[0007] A cluster management method according to one aspect of the present invention is a cluster management method for a virtualization infrastructure having a cluster composed of multiple server devices, and which operates multiple workloads that execute application processing, and includes the step of determining a server device to run a new workload by referring to power information that shows the operating threshold of the circuit breaker of one or more power supplies for each power supply, server information that stores the amount of power used by one or more server devices included in the cluster that are connected to each of the one or more power supplies, and workload information that shows the expected increase in power that is expected to increase due to the operation of each of the multiple workloads.
[0008] Each aspect of the present invention may be implemented by a computer, in which case a program that causes the computer to perform each step of the above method, and a computer-readable recording medium on which the program is recorded, also fall within the scope of the present invention.
[0009] This figure shows an example of a cluster virtualization infrastructure. This figure illustrates an example of housing server devices included in a cluster of the cluster virtualization infrastructure in a rack. This is a block diagram showing a functional configuration example of a cluster management device. This is a block diagram showing a detailed functional configuration example of a storage unit. Figure 5 shows an example of power information. This figure shows an example of server information. This figure shows an example of workload information. This figure illustrates an example of server device determination by the device determination unit. This is a flowchart illustrating an example of the server device determination process flow. This is a flowchart illustrating an example of the deployment determination process flow. This is a block diagram showing another functional configuration example of a cluster management device. This figure illustrates an example of setting a parameter set for kernel parameters. This figure shows an example of base power information. This figure shows an example of operation management information. This figure illustrates an example of changing parameter set settings by the parameter set control unit. This figure shows another example of server information. This is a flowchart illustrating an example of changing parameter set settings flow. This figure shows an example of four servers included in a cluster being housed in a rack. This figure shows another example of operation management information. This figure shows yet another example of server information. This figure shows an example of a computer configuration that executes program instructions, which are software that realize each function.
[0010] Hereinafter, one embodiment of this disclosure will be described in detail with reference to the drawings. For ease of understanding, the background and challenges of this disclosure will be described first, followed by a detailed description of the disclosure.
[0011] The operating threshold of the circuit breakers in each rack located in data centers and similar facilities is set to be greater than or equal to the sum of the rated power consumption of the connected equipment, thereby reducing the risk of power outages caused by the breakers. On the other hand, unnecessarily increasing the operating threshold of the circuit breakers would increase the contracted amperage and thus increase costs, so it is desirable to improve the power utilization efficiency of the equipment within the rack.
[0012] Racks house various devices such as network equipment and server equipment, but server equipment typically consumes a significant amount of power. Therefore, it is desirable to improve the power utilization efficiency of server equipment.
[0013] Recently, applications that utilize GPUs, such as generative AI, have become prevalent, and server devices equipped with GPUs are widely used. Because GPUs consume a lot of power, the rated power of the server devices also increases. Therefore, in racks where such server devices are located, the contracted amperage of power supplied per rack tends to increase.
[0014] Each power supply providing power to the rack is equipped with a circuit breaker corresponding to the contracted amperage, for example, based on the contract with the power company. If the amperage of power consumed by the equipment in the rack exceeds the circuit breaker's operating threshold, the power supply to the rack is cut off. When the power supply to the rack is cut off, the server equipment and other devices inside the rack will shut down.
[0015] However, the power consumption of a server equipped with a GPU varies significantly depending on the type and number of applications running on the server. Therefore, for example, some racks may consume less power while others consume more. In this case, possible causes include running many low-power applications on some servers and many high-power applications on others.
[0016] In this situation, there is a need for technology that can reduce the contracted amperage of the power supply connected to the rack as much as possible, while also reducing the risk of circuit breaker overload. This disclosure provides technology that can reduce the contracted amperage of the power supply connected to the rack, while also reducing the risk of circuit breaker overload.
[0017] (First Embodiment) Embodiments of the present invention will be described below with reference to the drawings.
[0018] (Cluster Virtualization Infrastructure) Figure 1 shows an example of a cluster virtualization infrastructure. Here, virtualization infrastructure refers to a virtual environment prepared as a common platform for multiple applications and services by abstracting and hiding physical resources such as server devices and networks using virtualization technology, and the system that manages those virtual environments.
[0019] In the cluster virtualization infrastructure 100 shown in Figure 1, a cluster 110 consisting of multiple server devices is provided as a common platform for multiple applications and services. The multiple application processes executed by the cluster virtualization infrastructure 100 each have different characteristics and are classified into types according to those characteristics.
[0020] In this example, the cluster virtualization infrastructure 100 executes two types of application processing: a first type, which involves training a machine learning model or inference using a machine learning model, and a second type, which involves application processing related to a virtual base station.
[0021] Hereafter, application processing related to the training of machine learning models or inference using machine learning models will be referred to as AI application processing, and application processing related to virtual base stations (vRAN: virtual Radio Access Network) will be referred to as vRAN application processing.
[0022] Each of the server devices 131-1 to 131-6 included in cluster 110 may be a computing device having a GPU (Graphics Processing Unit), memory, etc. Each of the server devices constituting cluster 110 is also referred to as a node.
[0023] Each of the server devices 131-1 to 131-7 runs a container as a workload. The containers running on each server device are generated according to the type of application processing. In cluster 110, vRAN containers 151-1, 151-2, and 151-3 are running, corresponding to vRAN application processing. In addition, AI application containers 151-4 and 151-5 are running in cluster 110, corresponding to AI application processing.
[0024] The vRAN application processing controls, for example, a physical antenna (RU). The data output from vRAN containers 151-1, 151-2, and 151-3 is supplied to the RU, for example. The AI application processing outputs, for example, estimation results in response to user input. The data output from AI application containers 151-4 and 151-5 is provided to the user, for example.
[0025] Unlike AI application processing, the immediacy of processing is extremely important for vRAN application processing. Therefore, when executing vRAN application processing, the server equipment always requires a lot of computing resources and consumes a large amount of power.
[0026] In other words, the server device running vRAN containers 151-1, 151-2, and 151-3 requires a different kernel parameter set configuration compared to the server device running AI application containers 151-4 and 151-5.
[0027] The kernel parameter set specifies, for example, CPU isolation, control of clock ticks for scheduling, and page size. For example, the kernel parameter set may include parameters such as "isolcpus," "nohz_full," and "hugepage." The settings of the kernel parameter set are determined by how the values set for each of these parameters are chosen.
[0028] vRAN container 151-1 is running on server device 131-1, vRAN container 151-2 is running on server device 131-2, and vRAN container 151-3 is running on server device 131-3. AI application container 151-4 is running on server device 131-5, and AI application container 151-5 is running on server device 131-6. No containers are running on server device 131-4.
[0029] While it is actually possible to run (deploy) multiple containers on a single server device, for the sake of simplicity, this explanation describes an example where only one container is deployed on a single server device.
[0030] Server devices 131-1 to 131-3 are configured with a parameter set of kernel parameters suitable for vRAN application processing. Server devices 131-5 and 131-6 are configured with a parameter set of kernel parameters suitable for AI application processing.
[0031] In the example shown in the figure, cluster 110 includes an intra-cluster control server 160. The intra-cluster control server 160 maintains information such as the availability of resources on the nodes (server devices) within the cluster, and the types and number of deployed containers. The intra-cluster control server 160 also deploys containers to the nodes of cluster 110 in response to deployment requests from external sources, for example.
[0032] In addition, the cluster control server 160 performs tasks such as sending and receiving messages with each node of the cluster 110, and storing information related to external devices connected to the cluster 110. For example, the cluster control server 160 sends and receives messages and data with the cluster management device 170, provides information to the cluster management device 170, and executes various control processes in response to commands from the cluster management device 170.
[0033] For example, when a cluster virtualization infrastructure 100 is implemented using Kubernetes, the in-cluster control server 160 implements functions called Control Plane and MasterNode.
[0034] As described above, the cluster virtualization infrastructure 100 executes AI application processing and vRAN application processing. The cluster virtualization infrastructure 100 may be installed in a data center or the like as a RIC (RAN Intelligent Controller) that controls the operation of RU and DU.
[0035] (Housing in Racks) Figure 2 illustrates an example of housing server devices included in a cluster of a cluster virtualization infrastructure in racks. In this example, eight server devices included in cluster 200 are housed in two racks. Each power supply providing power to the racks is equipped with a circuit breaker corresponding to the contracted amperage of the power supply. When the amperage of power consumed by the equipment in the rack exceeds the operating threshold of the circuit breaker, the power supply to the rack is cut off.
[0036] Rack 221 is powered by power supplies 211 and 212. Rack 222 is powered by power supplies 213 and 214. In this example, each rack is powered by two power supplies, but it may also be powered by only one power supply. In other words, the racks containing the server devices included in the cluster are powered by one or more power supplies.
[0037] Rack 221 houses servers A, B, C, and D. Servers A and C are powered by power supply 211, while servers B and D are powered by power supply 212.
[0038] Rack 222 houses servers E, F, G, and H. Servers E and G are powered by power supply 213, while servers F and H are powered by power supply 214.
[0039] For example, suppose that servers A through H in cluster 200 are all the same model of server equipment, and the rated power of these eight server equipment units is 100V / 20A. Traditionally, data centers have anticipated a power consumption of 4kVA (= 100V × 20A × 2) from each of power supplies 211 through 214.
[0040] Furthermore, to avoid circuit breaker tripping due to temporary increases in power consumption, the so-called 80% rule is generally applied when installing power supplies in data centers. That is, the contracted amperage of the power supply is determined so that the sum of the rated power of the equipment consuming the power supplied from the power supply is 80% of the circuit breaker's operating threshold. When the 80% rule is applied, the current at which the circuit breaker operates becomes 5A, so the contracted amperage must be determined so that each of power supplies 211 to 214 can supply 5kVA.
[0041] However, it is extremely rare for server equipment to operate at its rated power consumption. Normally, server equipment will operate without problems if it is supplied with about 50% of its rated power. In other words, in reality, only about 2 kVA of power consumption can be expected from each of power supplies 211 to 214.
[0042] (Functional Configuration of the Cluster Management Device) Next, the configuration of the cluster management device 170 will be described. Figure 3 is a block diagram showing an example of the functional configuration of the cluster management device 170 according to this embodiment. As shown in the figure, the cluster management device 170 includes a request reception unit 171, an information acquisition unit 172, a storage unit 173, a device determination unit 174, and a workload control unit 175.
[0043] (Request Reception Unit) The request reception unit 171 receives, for example, a request to run a new workload (e.g., a container). A request to run a container or the like is also called a deployment request. Workload attribute information is attached to the deployment request. Workload attribute information includes type information that indicates the type of workload (container). For example, the type information may indicate whether it is a vRAN container or an AI application container.
[0044] (Information Acquisition Unit) The information acquisition unit 172 acquires information such as the node ID, which is a unique ID for identifying the server device, and information indicating the amount of power being used by each server device included in the cluster 110 for each server device included in the cluster 110. Further, the information acquisition unit 172 acquires information such as parameter setting information indicating the setting contents of the parameter set of each server device included in the cluster 110, and workload attribute information of the workload during operation.
[0045] Note that, based on the parameter setting information, for example, it is possible to identify whether the server device is a server device that operates a vRAN container or a server device that operates an AI container application.
[0046] (Storage Unit) The storage unit 173 stores information related to, for example, the power supply of the rack, information related to the server devices included in the cluster, and information related to the workload.
[0047] FIG. 4 is a block diagram showing a detailed functional configuration example of the storage unit 173. In this example, the storage unit 173 includes a power supply information storage unit 191, a server information storage unit 192, and a workload information storage unit 193.
[0048] (Power Supply Information Storage Unit) The power supply information storage unit 191 stores power supply information indicating the operation threshold values of the breakers for the one or more power supplies for each power supply. FIG. 5 is a diagram showing an example of the power supply information. Here, it is assumed that power is supplied to the rack in which the server devices included in the cluster 110 are housed from two power supplies (outlets). Note that in this example, power is supplied to the rack from two power supplies, but power may be supplied from one power supply or from three or more power supplies.
[0049] In FIG. 5, the power supply information is shown in a table format. In FIG. 5, a breaker with an operation threshold value of 30 A is provided for the first outlet that supplies power to the server devices included in the cluster 110. Also, a breaker with an operation threshold value of 30 A is provided for the second outlet that supplies power to the server devices included in the cluster 110.
[0050] Furthermore, power information may be generated, for example, based on information entered by a user of the cluster management device 170.
[0051] (Server Information Storage Unit) The server information storage unit 192 stores server information, which shows the amount of power consumed by one or more server devices connected to one or more power supplies, for each server device, that are included in the cluster 110. Figure 6 is a diagram showing an example of server information. For convenience, it is assumed that the cluster 110 includes four server devices, and that these server devices are housed in the same rack.
[0052] In Figure 6, server information is shown in table format. The "Node ID" column in the table in Figure 6 shows the node IDs of the four server devices in cluster 110. In this example, the node IDs listed are Server A, Server B, Server C, and Server D. The node ID of each server device is obtained, for example, by the information acquisition unit 172.
[0053] The "Node Type" column in the table in Figure 6 shows the settings of the kernel parameter set for the server device with each node ID. In this example, the node type for the server device with node ID Server A and the server device with node ID Server D is described as "vRAN", while the node type for the server device with node ID Server B and the server device with node ID Server C is described as "AI".
[0054] This indicates that server A and server D have parameter sets configured to handle vRAN application processing, while server B and server C have parameter sets configured to handle AI application processing.
[0055] Thus, workloads are classified into types according to the characteristics of application processing, server devices are configured with parameter sets corresponding to the workload type, and server information further includes information about the parameter sets configured on the server device.
[0056] The node type of each server device is obtained, for example, by the information acquisition unit 172.
[0057] The "Power Consumption" column in the table in Figure 6 shows the amount of power being used by the server device for each node ID. Here, it is assumed that the power supply voltage for each server device is 100V, and the amount of power being used by the server device is shown in amperes. In this example, the power consumption of server A is 15A, the power consumption of server B is 9A, the power consumption of server C is 5A, and the power consumption of server D is 15A.
[0058] The power consumption of each server device is obtained, for example, by the information acquisition unit 172.
[0059] The "Power Supply" column in the table in Figure 6 shows the power supply to which each node ID's server device is connected (receives power). In this example, Server A and Server C are connected to the first outlet, and Server B and Server D are connected to the second outlet.
[0060] The power supply to which each server device is connected is input, for example, by a user of the cluster management device 170.
[0061] (Workload Information) Workload information is stored for multiple workloads, showing the expected increase in power consumption due to the operation of each workload. Figure 7 shows an example of workload information.
[0062] In Figure 7, workload information is shown in a table format. The "Workload ID" column in the table in Figure 7 shows the workload ID, which is the identifier for the workload. In this example, the workload IDs listed are "VR", "AI-1", "AI-2", "AI-3", and "AI-4".
[0063] The "Workload Type" column in the table in Figure 7 shows information indicating the type of application related to the workload. In this example, "vRAN (indicating vRAN application processing)" or "AI (indicating AI application processing)" is listed. Workloads of type vRAN will only run on server devices where the kernel parameter set is configured for vRAN applications. Workloads of type AI will run on server devices where the kernel parameter set is configured for AI applications.
[0064] The "CPU Allocation" column in the table in Figure 7 shows the number of CPU cores allocated to run the workload. In this example, it is stated that workload ID "AI-1" is allocated 16 cores, workload ID "AI-2" is allocated 8 cores, and workload ID "AI-3" is allocated 16 cores. Although "N / A" is listed for workload ID "VR", the maximum number of available cores will actually be allocated.
[0065] The "GPU Memory Allocation" column in the table in Figure 7 shows the amount of GPU memory allocated to run the workload. In this example, it is stated that 80GB is allocated to the workload with workload ID "AI-1", 80GB to the workload with workload ID "AI-2", and 40GB to the workload with workload ID "AI-3". Although "N / A" is listed for the workload with workload ID "VR", the maximum available capacity will actually be allocated.
[0066] The column for expected power increase in Figure 7 shows the amount of power expected to increase due to the operation of the workload. Here, assuming a constant voltage (100V), the difference in power is expressed in amperes.
[0067] Figure 7 shows that an increase of 4.0A is expected due to the operation of the workload with workload ID "AI-1", an increase of 3.8A due to the operation of the workload with workload ID "AI-2", and an increase of 3.0A due to the operation of the workload with workload ID "AI-3".
[0068] Furthermore, Figure 7 indicates that an increase of 0.1A is expected due to the operation of the workload with workload ID "VR". As will be explained in more detail later, server devices with parameter sets configured for vRAN applications consume a lot of power even when no workload is running, so the increase in power consumption due to the operation of the "VR" workload is small.
[0069] Workload information may be generated, for example, based on information entered by a user of the cluster management device 170.
[0070] (Device Determination Unit) When the device determination unit 174 in Figure 3 receives a deployment request that requests the operation of a new workload and includes workload attribute information, it determines the server device on which to run the new workload by referring to the workload type of the new workload, as well as power supply information, server information, and workload information.
[0071] (Example of server device determination by the device determination unit) For example, as shown in Figure 8, suppose a deployment request for workload X is received by the request reception unit 171. The deployment request is assumed to have a workload ID as workload attribute information. In this example, AI-3 is assigned as the workload ID, and the assigned workload ID is indicated in parentheses in Figure 8.
[0072] The device determination unit 174, for example, refers to the node type of the servers in the cluster and the workload ID related to the deployment request, and identifies a server device with a node type that matches the workload type. In this case, from the server information in Figure 6, Server B and Server C are identified. This is because the node type of these server devices is AI, which matches the workload type of AI-3 shown in the workload information in Figure 7.
[0073] The device determination unit 174 then identifies the expected increase in power consumption when a new workload is run on the identified server device and compares it with the circuit breaker activation threshold of the power supply to which the server device is connected.
[0074] Server B is connected to the second outlet, and Server C is connected to the first outlet. The power supply to which each server device is connected can be identified based on the server information. Furthermore, the circuit breaker operating threshold for each power supply can be identified based on the power supply information. In Figure 8, the circuit breaker operating threshold (30A) for each outlet is indicated in parentheses.
[0075] In this case, from the server information in Figure 6, we can see that the total power consumption of the first outlet is 20A (= 15A + 5A), and the total power consumption of the second outlet is 24A (= 15A + 9A). Also, from the workload information in Figure 7, we can see that the expected power increase for AI-3 is 3.0A.
[0076] The circuit breaker's operating threshold is 30A, so it is desirable to deploy workload X to the server device in such a way that the total power consumption of each power supply remains below 24A (= 30A x 0.8) even after workload X is deployed. In the current case, the total power consumption of the second outlet is already 24A, so workload X cannot be deployed to server B, which is connected to the second outlet. On the other hand, even if workload X is deployed to server C, the total power consumption of the first outlet is 23A (= 20A + 3A), so it is possible to ensure that the power consumption of each power supply remains below 24A even after workload X is deployed.
[0077] Therefore, the device determination unit 174 determines that server C is the server device on which workload X should be deployed.
[0078] This section describes an example of controlling the determination of which server device should deploy workload X, based on the so-called 80% rule, so that the sum of the power consumption of each power source is 80% or less of the circuit breaker's operating threshold. However, the determination of which server device should be controlled so that, for example, the sum of the power consumption of each power source is 70% or less, or 90% or less of the circuit breaker's operating threshold.
[0079] Furthermore, although this example describes a deployment request being assigned a workload ID, the deployment request may also be assigned information indicating the workload type, CPU allocation, and GPU memory allocation. Based on this information, the workload information in Figure 7 may be referenced to identify the workload ID and expected power increase of the workload related to the deployment request.
[0080] (Workload Control Unit) The workload control unit 175 controls the operation of workloads on each server included in the cluster 110. For example, the workload control unit 175 controls the deployment of containers, the deletion of containers, etc.
[0081] (Server Device Determination Process) Next, the server device determination process performed by the cluster management device 170 will be explained. Figure 9 is a flowchart illustrating an example of the server device determination process flow.
[0082] In step S101, the device determination unit 174 reads out power information. At this time, for example, power information as shown in Figure 5 is read out from the power information storage unit 191 of the storage unit 173.
[0083] In step S102, the device determination unit 174 reads out the server information. At this time, for example, the server information shown in Figure 6 is read out from the server information storage unit 192 of the storage unit 173.
[0084] In step S103, the device determination unit 174 reads out the workload information. At this time, for example, workload information as shown in Figure 7 is read out from the workload information storage unit 193 of the storage unit 173.
[0085] Furthermore, the processes in steps S101 to S103 may be executed periodically at predetermined intervals, for example. This ensures that the latest information is retrieved even if, for example, power information, server information, and workload information are updated.
[0086] In step S104, the device determination unit 174 determines whether or not the deployment request for workload X has been received by the request reception unit 171, and waits until it is determined that the deployment request has been received. If it is determined in step S104 that the deployment request has been received, the process in step S105 is executed.
[0087] In step S105, the device determination unit 174 identifies a server device whose workload type and node type match.
[0088] For example, as shown in Figure 8, suppose the request receiving unit 171 receives a deployment request for workload X. The device determination unit 174, for example, refers to the node type of the servers in the cluster and the workload ID related to the deployment request, and identifies a server device of the node type that matches the workload type. In this case, from the server information in Figure 6, Server B and Server C are identified.
[0089] In step S106, the device determination unit 174 identifies the power supply and the breaker operation threshold.
[0090] At this time, it is determined from the server information that server B is connected to the second outlet and server C is connected to the first outlet. Furthermore, it is determined from the power supply information that the operating thresholds for the first and second outlet breakers are 30A.
[0091] In step S107, the device determination unit 174 identifies the expected increase in power.
[0092] For example, if the workload ID of the workload related to the deployment request is AI-3, the workload information identifies that the expected power increase for AI-3 is 3.0A.
[0093] Although it has been explained that a workload ID is assigned to the deployment request, the deployment request may also be assigned information indicating the workload type, CPU allocation, and GPU memory allocation. Based on this information, the workload information in Figure 7 may be referenced to identify the workload ID and expected power increase of the workload related to the deployment request.
[0094] In step S108, the device determination unit 174 executes a deployment determination process. This determines the server device to which the workload related to the deployment request should be deployed.
[0095] (Deployment Decision Process) Next, with reference to Figure 10, the details of the deployment decision process in step S108 of Figure 9 will be explained. Figure 10 is a flowchart illustrating an example of the flow of the deployment decision process.
[0096] In step S121, the device determination unit 174 selects candidate server devices that are candidates for the server device to which the workload related to the deployment request should be deployed. In this case, as a result of the processing in step S105 in Figure 9, Server B and Server C are selected as candidate server devices. If there are multiple candidate server devices, one candidate server device is selected in step S121. For example, Server B is selected.
[0097] In step S122, the device determination unit 174 calculates the total power consumption of the candidate server devices, which is the total power consumption after deployment of the workload related to the deployment request.
[0098] At this point, the server information identifies that the total power consumption of the second outlet to which candidate server device Server B is connected is 24A (= 15A + 9A). Then, the expected power increase of AI-3 (3A) is added to the total power consumption of the second outlet (24A). In this case, the total power consumption of the workload related to the deployment request after deployment will be 27A (= 24A + 3A).
[0099] In step S123, the device determination unit 174 determines whether the total power consumption after deployment, calculated in the process of step S122, satisfies predetermined conditions.
[0100] Since the circuit breaker's operating threshold is 30A, it is desirable to deploy workload X to the server device in such a way that the total power consumption of each power source remains below 24A (= 30A × 0.8) even after workload X has been deployed.
[0101] In this case, the total power consumption after deployment calculated in step S122 (27A) exceeds 80% of the circuit breaker's operating threshold (27A > 24A), and in step S123, it is determined that the condition is not met. If it is determined in step S123 that the condition is not met, the process in step S124 is executed.
[0102] In step S124, it is determined whether or not there is a next candidate server. In this case, candidate server C is the next candidate server, so in step S124, it is determined that there is a next candidate server. If it is determined in step S124 that there is a next candidate server, the processes in steps S121 to S123 will be executed again.
[0103] In other words, in step S121, server C is selected as the candidate server device. In step S122, the server information reveals that the total power consumption of the first outlet to which server B, the candidate server device, is connected is 20A, and the AI-3's assumed increased power (3A) is added to the total power consumption of the first outlet. In this case, the total power consumption of the workload related to the deployment request after deployment will be 23A (= 20A + 3A).
[0104] In this case, the total power consumption after deployment calculated in step S122 (23A) is less than or equal to 80% of the circuit breaker's operating threshold (23A < 24A), and in step S123, it is determined that the condition is met. If it is determined in step S123 that the condition is met, the process in step S125 is executed.
[0105] In step S125, the device determination unit 174 determines the candidate server device (server C) selected in step S121 as the server device to which the workload related to the deployment request should be deployed.
[0106] On the other hand, if the process in step S124 determines that there are no other candidate servers, then in step S126, a message indicating that deployment is not possible (for example, an error message) is output.
[0107] In this way, the deployment decision process is executed.
[0108] In this explanation, as an example, the predetermined condition used for the determination in step S123 is described as the total power consumption after deployment being 80% or less of the circuit breaker's operating threshold. However, other conditions may be set. For example, the predetermined condition may be that the total power consumption after deployment is 90% or less of the circuit breaker's operating threshold, or that the total power consumption after deployment is 70% or less of the circuit breaker's operating threshold.
[0109] (Effects of the Embodiment) Each power supply providing power to the rack is equipped with a circuit breaker corresponding to the contracted amperage of the power supply. When the amperage of power consumed by the equipment in the rack exceeds the operating threshold of the circuit breaker, the power supply to the rack is cut off. When the power supply to the rack is cut off, the server equipment and other devices in the rack will stop.
[0110] However, the power consumption of a server equipped with a GPU varies significantly depending on the type and number of applications running on the server. Therefore, for example, some racks may consume less power while others consume more.
[0111] According to this embodiment, for one or more power sources, the server device to run a new workload is determined by referring to power source information that shows the operating threshold of the circuit breaker for each power source, server information that shows the amount of power consumed by one or more server devices included in the cluster that are connected to each of the one or more power sources, and workload information that shows the expected increase in power consumption that is expected to increase due to the operation of each workload.
[0112] Therefore, according to this embodiment, it is possible to provide a technology that reduces the contracted amperage of the power supply connected to the rack and reduces the risk of power overload at the circuit breaker.
[0113] (Second Embodiment) Next, a second embodiment will be described. Figure 11 is a block diagram showing an example of the functional configuration of the cluster management device 170 according to this embodiment. Components having the same functions as those described in the first embodiment are denoted by the same reference numerals, and their descriptions are omitted as appropriate.
[0114] As shown in Figure 11, the cluster management device 170 according to this embodiment includes a parameter set control unit 176, unlike the case in Figure 4. The other configurations are the same as in Figure 4.
[0115] (Parameter Set Control Unit) The parameter set control unit 176 controls the setting changes of the kernel parameter set for servers included in the cluster. When the parameter set control unit 176 changes the setting of the kernel parameter set, the node type in the server information will also be changed.
[0116] (Kernel Parameters) As mentioned above, kernel parameters may include, for example, parameters such as "isolcpus", "nohz_full", and "hugepage". The setting of the kernel parameter set is determined by how the values set for each of these parameters are selected. Figure 12 illustrates an example of setting the kernel parameter set.
[0117] "hugepage" is a parameter that specifies the page size of memory when a workload is running on the server device. "isolcpus" is a parameter that specifies CPU isolation when a workload is running on the server device. "nohz_full" is a parameter that specifies the control of clock ticks for scheduling when a workload is running on the server device.
[0118] Figure 12 shows the settings for two different parameter sets, with the pattern ID being "1" or "2" corresponding to each setting (hereinafter referred to as pattern 1 or pattern 2 as appropriate).
[0119] Pattern 1 in Figure 12 is set to "AI" and indicates that the parameter set is suitable for running an AI application container. In Pattern 1, the value of "hugepage" is set to 512M, and values are not set for "isolcpus" and "nohz_full". When the kernel parameter set is set in this way, the processor utilization is reduced, and power consumption can be kept relatively low.
[0120] Pattern 2 in Figure 12 is designated as "vRAN" and indicates that the parameter set is suitable for running a vRAN container. In Pattern 2, the value of "hugepage" is set to 512M, the value of "isolcpus" is set to "4-71", and the value of "nohz_full" is set to "4-71". When the kernel parameter set is configured in this way, the processor utilization increases, and power consumption becomes relatively high.
[0121] (Base Power Information) In this embodiment, base power information is stored in the server information storage unit 192. The base power information shows the base power, which is the amount of power used by the server device when no workload is running, according to the set parameter set.
[0122] Figure 13 shows an example of base power information. In Figure 13, the base power information is shown in a table format. The "Node Type" column in the table in Figure 13 shows vRAN and AI, which correspond to the node type in the server information in Figure 6.
[0123] The "Base Power" column in the table in Figure 13 describes the power consumption (base power) of each node type server device when no workload is running. Here, it is assumed that the power supply voltage of each server device is 100V, and the base power of the server device is indicated in amperes.
[0124] In this example, the base power of a server with node type "vRAN" is set to 15A, and the base power of a server with node type "AI" is set to 5A. That is, a server with kernel parameter set configuration as pattern 2 (vRAN) in Figure 12 consumes 15A of power when no workload is running. Similarly, a server with kernel parameter set configuration as pattern 1 (AI) in Figure 12 consumes 5A of power when no workload is running.
[0125] Unlike AI application processing, vRAN application processing requires reliable execution at pre-set intervals (requiring highly real-time processing). Therefore, server devices with a vRAN node type consume a significant amount of power even when no workload is running, resulting in a smaller power increase due to the operation of "VR" workloads.
[0126] In contrast, AI application processing does not require highly real-time processing. Therefore, server devices with the node type "AI" consume little power when not running a workload, and the power increase when an "AI" workload is running is significant.
[0127] Furthermore, for example, even server devices of the same node type may have different base power requirements due to differences in server model. In such cases, base power information corresponding to each server model may be generated, and the server information may include the model of each server device.
[0128] (Operation Management Information) In this embodiment, operation management information is stored in the server information storage unit 192. The operation management information indicates the workload running on the server device.
[0129] Figure 14 shows an example of operational management information. In Figure 14, the operational management information is shown in table format. The "Pod ID" column in the table in Figure 14 contains identifiers (Pod IDs) that identify the pods in which the container has been instantiated and are running as workloads on the server device. In this example, podA, podB, and podC are listed. The Pod ID of each pod is obtained, for example, by the information acquisition unit 172.
[0130] The "Workload ID" column in the table in Figure 14 shows the workload ID, which is the identification information for the workload related to each pod, and corresponds to the workload ID in Figure 7. In this example, "VR", "AI-1", and "AI-3" are listed as workload IDs. The workload ID for each pod is obtained, for example, by the information acquisition unit 172.
[0131] The "Stopping Availability" column in the table in Figure 14 indicates whether each pod can be stopped. In this example, podA cannot be stopped, while podB and podC can be stopped. Alternatively, the operational priority of each pod could be shown instead of whether it can be stopped. Whether each pod can be stopped may be set based on information included in the workload deployment request, for example, or based on information entered by the user of the cluster management device 170.
[0132] The "Operating Node" column in the table in Figure 14 lists the node ID of the server device (operating node) on which each pod is running. The operating node of each pod is obtained, for example, by the information acquisition unit 172.
[0133] (Example of parameter set setting change by parameter set control unit) For example, suppose a deployment request for workload Y is received by the request reception unit 171, as shown in Figure 15. The deployment request is assumed to be assigned a workload ID. In this example, vRAN is assigned as the workload ID, and the assigned workload ID is indicated in parentheses in Figure 15.
[0134] Furthermore, in Figure 15, the server information when the deployment request for workload Y was received was as shown in Figure 16. The "Node ID" column in the table in Figure 16 shows the node IDs (Server A, Server B, Server C, and Server D) of the four server devices in cluster 110.
[0135] The "Node Type" column in the table in Figure 16 shows the settings of the kernel parameter set for the server device with each node ID. In this example, the node type for the server device with node ID Server A is described as "vRAN", and the node types for the server devices with node IDs Server B, Server C, and Server D are described as "AI".
[0136] In other words, server A is configured with the parameter set of pattern 2 (vRAN) in Figure 12, while servers B through D are configured with the parameter set of pattern 1 (AI) in Figure 12. Note that in Figure 15, the node type of each server device is indicated in parentheses.
[0137] The "Power Consumption" column in the table in Figure 16 shows the amount of power being used by the server device for each node ID. Here, it is assumed that the power supply voltage for each server device is 100V, and the amount of power being used by the server device is shown in amperes. In this example, the power consumption of server A is 15A, the power consumption of server B is 9A, the power consumption of server C is 8A, and the power consumption of server D is 5A.
[0138] The "Power Supply" column in the table in Figure 16 shows the power supply to which each node ID's server device is connected (receives power). In this example, Server A and Server C are connected to the first outlet, and Server B and Server D are connected to the second outlet. In Figure 15, the operating threshold (30A) of the circuit breaker for each outlet is indicated in parentheses.
[0139] The device determination unit 174, for example, refers to the node type of the servers in the cluster and the workload ID related to the deployment request, and identifies a server device with a node type that matches the workload type. In this case, server A is identified from the server information in Figure 16. This is because the node type of server A is vRAN, which matches the workload type of vRAN shown in the workload information in Figure 7.
[0140] On the other hand, from the operational management information in Figure 14, it can be seen that podA is running on server A and cannot be stopped. Note that only one pod with a workload type of vRAN can run on a single server device. In this case, workload Y cannot be deployed unless podA running on server A is stopped, but podA cannot be stopped.
[0141] Therefore, the device determination unit 174 determines that a change in node type is necessary to deploy workload Y, and sends a node type change request to the parameter set control unit 176.
[0142] The parameter set control unit 176 identifies the target servers, which are the server devices to be changed in node type. In this case, the target servers are Server B, Server C, and Server D, whose node type is AI. It is necessary that the pods running on these server devices can be stopped, and from the operation management information in Figure 14, it can be seen that podB running on Server B and podC running on Server C can be stopped, and that no pods are running on Server C.
[0143] Changing the node type of any of the server devices (Server B, Server C, or Server D) will change the kernel parameter set settings and thus the base power. In other words, the power consumption of the server device after the parameter set settings are changed will be 15A.
[0144] If the node type of server B is changed, the total power consumption of the second outlet to which server B is connected will be 20A (= 15A + 5A). If the node type of server C is changed, the total power consumption of the first outlet to which server C is connected will be 30A (= 15A + 15A). If the node type of server D is changed, the total power consumption of the second outlet to which server D is connected will be 24A (= 9A + 15A).
[0145] Since the circuit breaker's operating threshold is 30A, it is desirable to change the node type of the server equipment so that the total power consumption of each power source remains below 24A (= 30A × 0.8) even after changing the parameter set settings. In the current case, the total power consumption of the first outlet is 30A, so the node type of server C cannot be changed. On the other hand, even if the node type of either server B or server D is changed, the total power consumption of the second outlet will remain below 24A.
[0146] Therefore, the parameter set control unit 176 changes the node type of either server B or server D.
[0147] In this manner, the parameter set control unit 176 controls the setting changes of the server device's parameter set by referring to power supply information, server information, base power information, and operation management information.
[0148] (Parameter Set Setting Change Process) Next, the parameter set setting change process will be explained with reference to Figure 17. Figure 17 is a flowchart illustrating an example of the flow of the parameter set setting change process. This process may be executed in place of, for example, the process in step S105 of Figure 9.
[0149] In step S141, the device determination unit 174 compares, for example, the node type of the server device in the cluster with the workload ID related to the deployment request.
[0150] In step S142, the device determination unit 174 determines whether or not a change in node type is necessary based on the comparison results in the processing of step S141.
[0151] If it is determined in step S142 that a change in node type is necessary, the process in step S143 is executed. In step S143, the parameter set control unit 176 identifies the target server, which is the server device to be changed in node type. In step S144, the parameter set control unit 176 selects one target server from the target servers identified in step S143.
[0152] In step S145, the parameter set control unit 176 calculates the total power consumption of the power supply to which the target server is connected, which is the total power consumption after the parameter set settings of the target server have been changed.
[0153] In step S146, the parameter set control unit 176 determines whether the total power consumption calculated by the processing in step S145 satisfies a preset condition.
[0154] For example, as described above with reference to Figure 15, let's assume that Server B, Server C, and Server D are the target servers. If the node type of any of the server devices among Server B, Server C, and Server D is changed, the settings of the kernel parameter set will be changed and the base power will also be changed.
[0155] If the node type of server B is changed, the total power consumption of the second outlet to which server B is connected will be 20A (= 15A + 5A). If the node type of server C is changed, the total power consumption of the first outlet to which server C is connected will be 30A (= 15A + 15A). If the node type of server D is changed, the total power consumption of the second outlet to which server D is connected will be 24A (= 9A + 15A).
[0156] Since the circuit breaker's operating threshold is 30A, it is desirable to change the node type of the server device so that the total power consumption of each power source remains below 24A (= 30A × 0.8) even after changing the parameter set settings. In the current case, the total power consumption of the first outlet is 30A, so the node type of server C cannot be changed. In such a case, step S146 determines that the condition is not met.
[0157] On the other hand, even if the node type of either Server B or Server D is changed, the total power consumption of the second outlet remains 24A or less. In such a case, step S146 determines that the condition is met.
[0158] If it is determined in step S146 that the conditions are met, the process in step S148 is executed. In step S148, the parameter set control unit 176 changes the parameter set settings of the target server selected in step S144. For example, if the target server has a parameter set setting corresponding to pattern 1 (AI) in Figure 12, it is changed to a parameter set setting corresponding to pattern 2 (vRAN).
[0159] If it is determined in step S146 that the conditions are not met, the process in step S147 is executed. In step S147, it is determined whether or not there is another target server. If it is determined in step S147 that there is another target server, the processes in steps S144 to S146 are executed repeatedly.
[0160] On the other hand, if the process in step S147 determines that there is no next target server, then in step S149, a message indicating that deployment is not possible (for example, an error message) is output.
[0161] In this way, the parameter set setting change process is executed.
[0162] (Effects of the Embodiment) According to this embodiment, the setting changes of the server device's parameter set are controlled by referring to power supply information, server information, base power information, and operation management information. Therefore, the probability that a workload for which a deployment request has been made cannot be deployed can be reduced.
[0163] Therefore, according to this embodiment, it is possible to reduce the contracted amperage of the power supply connected to the rack, reduce the risk of power overload on the circuit breaker, and utilize the computing resources of the server devices included in the cluster more efficiently.
[0164] (Third Embodiment) Next, a third embodiment will be described. For example, if the power consumption of a server device increases unexpectedly, the cluster management device 170 may cause a pod running on one server device to run on another server device connected to a different power source.
[0165] In other words, the device determination unit 174 may refer to power supply information, server information, workload information, and operation management information to determine a moving workload, which is a workload that should be moved from among one or more workloads running on one of the multiple server devices, and also determine other server devices on which the moving workload should be run.
[0166] For example, let's assume that the four servers included in the cluster are housed in a rack, as shown in Figure 18. In this example, Server A and Server C are connected to the first outlet, and Server B and Server D are connected to the second outlet. In Figure 18, the operating threshold (30A) of the circuit breaker for each outlet is indicated in parentheses.
[0167] Furthermore, the node type of Server A, Server B, and Server C is assumed to be "AI," and the node type of Server D is assumed to be "vRAN." In Figure 18, the node type of each server device is indicated in parentheses.
[0168] Here, the pods running on each server device are indicated by the operation management information in Figure 19. According to Figure 19, the pod IDs of the pods running on the server devices are podA, podB, and podC. The workload IDs are "VR", "AI-1", and "AI-3", respectively. The operating node for podA is Server D, the operating node for podB is Server B, and the operating node for podC is Server C.
[0169] Currently, the power consumption of each server device is as shown in the server information in Figure 20. In this example, the power consumption of server A is 5A, server B is 11A, server C is 8A, and server D is 15A.
[0170] In this case, the total power consumption of the first outlet to which servers A and C are connected is 13A (= 5A + 8A), and the total power consumption of the second outlet to which servers B and D are connected is 26A (11A + 15A). The workload ID of podB running on server B is "AI-1", so from the workload information in Figure 7, we can see that the expected increase in power is 4A. For this reason, when deploying the podB workload, it was assumed that the power consumption of server B would be 9A.
[0171] However, if a sudden increase in computing load occurs in an operating pod, it may consume more power than expected. In this case, the actual increase in power due to the operation of podB would be 6A (= 11A - 5A).
[0172] The circuit breaker's tripping threshold is 30A, so it is desirable that the total power consumption of each power source be 24A (= 30A x 0.8) or less. In the current case, the total power consumption of the second outlet is 26A (>24A), so there is a risk that the circuit breaker will shut off the power.
[0173] In such cases, the device determination unit 174 may configure a pod currently running on one server device to run on another server device connected to a different power source. For example, podB running on server B may be configured to run on server C.
[0174] In this way, the total power consumption of the second outlet to which servers B and D are connected will be 15A (<24A), and the total power consumption of the first outlet to which servers A and C are connected will be 19A (= 5A + 8A + 6A).
[0175] According to this embodiment, even in cases where the power consumption of the server device unexpectedly increases, the risk of circuit breaker overload can be reduced.
[0176] (Other Embodiments) In the embodiments described above, an example of a cluster virtualization infrastructure 100 in which one cluster 110 is managed by a cluster management device 170 was described. However, for example, multiple clusters similar to cluster 110 may be managed by a single cluster management device 170.
[0177] Furthermore, although the first embodiment described an example in which two types of application processing are executed on the cluster virtualization infrastructure 100, it is also possible to execute three or more types of application processing.
[0178] (Example of implementation by software) The cluster management device 170 described above is a program for making a computer function, and can be implemented by a program for making a computer function as a cluster management device 170. In this case, the cluster management device 170 includes a computer having at least one control device (e.g., a processor) and at least one storage device (e.g., memory) as hardware for executing the above program. An example of such a computer is shown in Figure 21.
[0179] The computer 500 includes at least one processor 501 and at least one memory 502. The memory 502 stores a program 520 for operating the computer 500 as a cluster management device 170. In the computer 500, the processor 501 reads and executes this program 520 from the memory 502, thereby realizing the various functions of the cluster management device 170.
[0180] The processor 501 can be, for example, a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), a DSP (Digital Signal Processor), an MPU (Micro Processing Unit), an FPU (Floating Point Number Processing Unit), a PPU (Physics Processing Unit), a microcontroller, or a combination thereof.
[0181] For memory 502, for example, flash memory, HDD (Hard Disk Drive), SSD (Solid State Drive), or a combination thereof can be used.
[0182] Furthermore, the computer 500 may also be equipped with RAM (Random Access Memory) for deploying the program 520 at runtime and for temporarily storing various data. The computer 500 may also be equipped with a communication interface for sending and receiving data with other devices. Furthermore, the computer 500 may also be equipped with an input / output interface for connecting input / output devices such as a keyboard, mouse, display, and printer.
[0183] Furthermore, the program 520 for operating the computer 500 as a cluster management device 170 can be recorded on a tangible, non-temporary recording medium 530 that is readable by the computer 500. Such a recording medium 530 could be, for example, a tape, disk, card, semiconductor memory, or a programmable logic circuit. The computer 500 can retrieve the program 520 via such a recording medium 530.
[0184] Furthermore, the program 520 for operating the computer 500 as a cluster management device 170 can be transmitted via a transmission medium. Such a transmission medium can be, for example, a communication network or broadcast waves. The computer 500 can also acquire the program 520 via such a transmission medium.
[0185] Furthermore, some or all of the functions of the cluster management device 170 can also be implemented by logic circuits. For example, an integrated circuit in which logic circuits functioning as the above-mentioned control blocks are formed is also included in the scope of the present invention. In addition, it is also possible to implement the functions of the above-mentioned control blocks using, for example, a quantum computer.
[0186] According to each aspect of the present invention described above, by achieving the effects described above, it is possible to contribute to the achievement of Sustainable Development Goal (SDG) 9, "Build resilient infrastructure, promote inclusive and sustainable industrialization and foster technological innovation."
[0187] It should be noted that the present invention is not limited to the embodiments described above, and various modifications are possible within the scope of the claims. Embodiments obtained by appropriately combining the technical means disclosed in different embodiments are also included within the technical scope of the present invention.
[0188] [Summary] The cluster device according to aspect 1 of the present invention is a virtualization infrastructure having a cluster composed of a plurality of server devices, and is a cluster management device for a virtualization infrastructure that runs a plurality of workloads that execute application processing, comprising: a power supply information storage unit that stores power supply information indicating the operating threshold of the circuit breaker of one or more power supplies for each power supply; a server information storage unit that stores server information indicating the amount of power used by one or more server devices included in the cluster that are connected to each of the one or more power supplies, for each server device; a workload information storage unit that stores workload information indicating the expected increase in power that is expected to increase due to the operation of each of the plurality of workloads; and an operating device determination unit that determines a server device to run a new workload by referring to the power supply information, the server information, and the workload information.
[0189] In the cluster device according to embodiment 2 of the present invention, in embodiment 1 described above, the workload is classified into types according to the characteristics of the application processing, the plurality of server devices are set with parameter sets according to the types of workload, and the server information further includes information on the parameter sets set in the server devices.
[0190] In the cluster device according to embodiment 3 of the present invention, in embodiment 2 described above, the parameter set is a parameter set of kernel parameters, and the parameter set specifies at least CPU isolation, control of clock ticks for scheduling, and page size.
[0191] A cluster device according to embodiment 4 of the present invention, in embodiment 2 or 3 above, further includes a parameter set control unit which controls changes to the parameter set settings of the server device by referring to the power supply information, the server information, the base power information, and the operation management information.
[0192] In the cluster device according to embodiment 5 of the present invention, in any of embodiments 2 to 4 above, the server information storage unit further stores operation management information indicating the workload running on the server device, and the operation device determination unit further refers to the power supply information, the server information, the workload information, and the operation management information to determine a moving workload which is a workload to be moved from among the one or more workloads running on one of the plurality of server devices, and also determines other server devices on which the moving workload should be run.
[0193] The cluster device according to embodiment 6 of the present invention, in any of embodiments 1 to 5 above, includes at least a first type and a second type, wherein the type corresponding to the content of the application processing of the workload includes at least a first type and a second type, the first type corresponds to application processing related to learning a machine learning model or inference using the machine learning model, and the second type corresponds to application processing related to vRAN (virtual Radio Access Network).
[0194] A cluster management method according to embodiment 7 of the present invention is a cluster management method for a cluster management device of a virtualization infrastructure having a cluster composed of a plurality of server devices, which runs a plurality of workloads that execute application processing, and includes the step of determining a server device to run a new workload by referring to power information that shows the operating threshold of the circuit breaker of one or more power supplies for each power supply, server information that stores the amount of power used by one or more server devices included in the cluster that are connected to each of the one or more power supplies, and workload information that shows the expected increase in power that is expected to increase due to the operation of each of the plurality of workloads.
[0195] A program according to aspect 8 of the present invention causes a computer to function as a cluster management device for a virtualization infrastructure having a cluster composed of multiple server devices, which runs multiple workloads that execute application processing, comprising: a power supply information storage unit that stores power supply information indicating the operating threshold of the circuit breaker of one or more power supplies for each power supply; a server information storage unit that stores server information indicating the amount of power consumed by one or more server devices included in the cluster, which are connected to each of the one or more power supplies; a workload information storage unit that stores workload information indicating the expected increase in power consumption for each of the multiple workloads due to the operation of the workload; and an operating device determination unit that determines a server device to run a new workload by referring to the power supply information, the server information, and the workload information.
[0196] 100 Cluster virtualization infrastructure 131-1 to 131-6 Server devices 151-1 to 151-3 vRAN containers 151-4, 151-5 AI application containers 160 In-cluster control server 170 Cluster management device 171 Request reception unit 172 Information acquisition unit 173 Storage unit 174 Device determination unit 175 Workload control unit 176 Parameter set control unit 191 Power information storage unit 192 Server information storage unit 193 Workload information storage unit
Claims
1. A cluster management device for a virtualization infrastructure having a cluster composed of multiple server devices, which runs multiple workloads that execute application processing, comprising: a power supply information storage unit that stores power supply information indicating the operating threshold of the circuit breaker of one or more power supplies for each power supply; a server information storage unit that stores server information indicating the amount of power consumed by one or more server devices included in the cluster that are connected to each of the one or more power supplies; a workload information storage unit that stores workload information indicating the expected increase in power consumption for each of the multiple workloads due to the operation of the workloads; and an operating device determination unit that determines a server device to run a new workload by referring to the power supply information, the server information, and the workload information.
2. The cluster management device according to claim 1, wherein the workload is classified into types according to the characteristics of the application processing, the plurality of server devices are configured with parameter sets according to the types of workload, and the server information further includes information on the parameter sets configured on the server devices.
3. The cluster management device according to claim 2, wherein the parameter set is a parameter set of kernel parameters, and the parameter set specifies at least CPU isolation, control of clock ticks for scheduling, and page size.
4. The cluster management device according to claim 2, further comprising: a server information storage unit which stores base power information indicating the amount of power used by the server device when the workload is not running, for each set parameter set; and operation management information indicating the workload running on the server device; and a parameter set control unit which controls changes to the parameter set settings of the server device by referring to the power supply information, the server information, the base power information, and the operation management information.
5. The cluster management device according to claim 2, wherein the server information storage unit further stores operational management information indicating workloads running on the server device, and the operational device determination unit further refers to the power supply information, the server information, the workload information, and the operational management information to determine a moving workload which is a workload to be moved from among one or more workloads running on one of the plurality of server devices, and determines other server devices on which the moving workload should be run.
6. The cluster management device according to claim 1, wherein the types according to the content of the application processing of the workload include at least a first type and a second type, the first type corresponds to application processing related to learning a machine learning model or inference using the machine learning model, and the second type corresponds to application processing related to vRAN (virtual Radio Access Network).
7. A cluster management method for a cluster management device of a virtualization infrastructure having a cluster composed of multiple server devices, wherein multiple workloads that execute application processing are running, the cluster management method includes the step of determining a server device to run a new workload by referring to: power information that shows the operating threshold of the circuit breaker of one or more power supplies for each power supply; server information that stores the amount of power used by one or more server devices included in the cluster that are connected to each of the one or more power supplies, for each server device; and workload information that shows the expected increase in power consumption that is expected to increase due to the operation of each of the multiple workloads.
8. A program to cause a computer to function as a cluster management device for a virtualization infrastructure having a cluster composed of multiple server devices, which runs multiple workloads that execute application processing, comprising: a power supply information storage unit that stores power supply information indicating the operating threshold of the circuit breaker for one or more power supplies for each power supply; a server information storage unit that stores server information indicating the amount of power consumed by one or more server devices included in the cluster, which are connected to each of the one or more power supplies; a workload information storage unit that stores workload information indicating the expected increase in power consumption for each of the multiple workloads due to the operation of the workloads; and an operating device determination unit that determines a server device to run a new workload by referring to the power supply information, the server information, and the workload information.