Workload control support device and workload control support method
The workload control support device optimizes data center operations by determining workload timing based on predicted power consumption and cost, addressing the imbalance in renewable energy utilization and cost in existing methods.
Patent Information
- Application Number
- JP2025035518
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2025-03-06
- Publication Date
- 2025-11-07
- Estimated Expiration
- 2042-03-11
AI Technical Summary
Existing methods for managing data center workloads to maximize renewable energy utilization fail to consider the costs associated with procuring renewable energy and do not account for the uncertainty in future power consumption and workload plans.
A workload control support device and method that utilize a processor and memory to determine the timing of workloads based on predicted power consumption and cost-effectiveness, ensuring a balanced utilization of renewable energy while optimizing cost conditions.
Enables effective control of workloads using renewable energy, balancing energy utilization rates with cost considerations, thereby enhancing the efficiency and cost-effectiveness of data center operations.
Smart Images

Figure 0007766215000001 
Figure 0007766215000002 
Figure 0007766215000003
Abstract
Description
[Technical Field]
[0001] The present invention relates to a workload control support device and a workload control support method. [Background technology]
[0002] Decarbonization, which aims to move away from fossil fuels in order to prevent the emission of greenhouse gases such as carbon dioxide, which causes global warming, is attracting attention. In this regard, data centers (DCs) are equipped with numerous information processing devices and communication equipment to execute specific jobs, and their operation requires a large amount of electricity. Therefore, attempts are being made to achieve decarbonization by covering this electricity with renewable energy.
[0003] In this case, it is important to maintain the proportion of renewable energy used in relation to power consumption (renewable energy utilization rate: renewable energy rate), but it is preferable to maintain this renewable energy rate at a finer time granularity (for example, hourly rather than daily).
[0004] In this regard, Non-Patent Document 1 describes that in a job system that includes batch jobs whose execution timing can be changed and interactive jobs whose execution timing cannot be changed, the difference between the amount of electricity generated by renewable energy and the amount of electricity consumed can be reduced by shifting the execution timing of the batch jobs. [Prior art documents] [Non-patent literature]
[0005] [Non-Patent Document 1] Li, Y.; Wang, X.; Luo, P.; Pan, Q. Thermal-Aware Hybrid Workload Management in a Green Datacenter towards Renewable Energy Utilization. Energies 2019, 12, 1494. https: / / doi.org / 10.3390 / en12081494 [Retrieved February 16, 2022] Summary of the Invention [Problem to be solved by the invention]
[0006] However, Non-Patent Document 1 does not take into account the costs associated with procuring renewable energy. Procuring renewable energy generally incurs a considerable cost, and Non-Patent Document 1 fails to take such costs into account. In particular, it fails to take into account cost-effectiveness. Furthermore, Non-Patent Document 1 assumes that the future power consumption due to workloads and workload plans are known, but in reality, these are not often known.
[0007] The present invention has been made in consideration of this background, and its purpose is to provide a workload control support device and a workload control support method that are capable of controlling each workload executed using renewable energy while taking cost-effectiveness into consideration. [Means for solving the problem]
[0008] One aspect of the present invention for solving the above problem is a workload control support device having a processor and memory, wherein the memory stores predicted values of the executable period and power consumption for each of a plurality of power-consuming workloads scheduled to be executed in a future time period, and the processor determines the timing of each workload to be executed in the future time period based on the predicted values of the executable period and power consumption so as to satisfy conditions regarding the utilization rate of renewable energy in power consumption in the future time period and conditions regarding the cost of power usage. [Effects of the Invention]
[0009] According to the present invention, each workload executed using renewable energy can be controlled while taking into consideration cost-effectiveness. Problems, configurations, and effects other than those described above will become apparent from the following description of the embodiments. [Brief explanation of the drawings]
[0010] [Figure 1] 1 is a diagram illustrating an example of a configuration of a workload control system according to an embodiment of the present invention. [Figure 2] FIG. 2 is a diagram illustrating an example of hardware and functions included in a workload control support device. [Figure 3] FIG. 10 is a diagram illustrating an example of a DC power prediction table. [Figure 4] FIG. 10 is a diagram illustrating an example of a time slot table. [Figure 5] FIG. 10 is a diagram illustrating an example of a delay limit time prediction distribution table. [Figure 6] FIG. 10 is a diagram illustrating an example of a user policy table. [Figure 7] FIG. 10 is a diagram illustrating an example of a workload table. [Figure 8] FIG. 10 is a diagram illustrating an example of a workload power consumption prediction distribution table. [Figure 9] FIG. 10 is a diagram illustrating an example of a predicted workload table. [Figure 10]FIG. 10 is a flow diagram illustrating an overview of a workload control process. [Figure 11] FIG. 10 is a flowchart illustrating details of a data update process. [Figure 12] FIG. 10 is a flow diagram illustrating a workload deployment process. [Figure 13] FIG. 10 is a flow diagram illustrating an example of a parameter determination process. [Figure 14] FIG. 10 is a flowchart illustrating details of a parameter creation process. [Figure 15] FIG. 10 is a flowchart illustrating details of a parameter creation process. [Figure 16] FIG. 10 is a flow diagram illustrating an example of a risk tolerance calculation process. [Figure 17] FIG. 10 is a flowchart illustrating details of a process for calculating risk tolerance for each viewpoint. [Figure 18] FIG. 10 is a flow diagram illustrating an IT workload control process. [Figure 19] FIG. 10 is a flow diagram illustrating an IT workload control process. [Figure 20] FIG. 10 is a diagram illustrating an example of a workload migration information screen. DETAILED DESCRIPTION OF THE INVENTION
[0011] 1 is a diagram showing an example of the configuration of a workload control system 1 according to this embodiment. The workload control system 1 is configured to include one or more data centers (DCs) 1000. The data centers 1000 are connected to each other via a wide area network 7000 so that they can communicate with each other.
[0012] The data center 1000 comprises a management computer 2000, one or more server devices 3000 used by an administrator or users of the data center 1000, and one or more storage devices 4000 used by the administrator or users of the data center 1000. The server devices 3000 and the storage devices 4000 are communicatively connected to each other via a data network 6000. Furthermore, the management computer 2000, the server devices 3000, and the storage devices 4000 are communicatively connected to each other via a management network 5000.
[0013] The management network 5000, data network 6000, and wide area network 7000 are, for example, the Internet, a local area network (LAN), a wide area network (WAN), or a wired or wireless communication network such as a dedicated line.
[0014] The server device 3000 and the storage device 4000 execute various types of processing. For example, the server device 3000 and the storage device 4000 execute processing (hereinafter referred to as interactive jobs) that has a fixed execution time slot (hereinafter also referred to as a time slot), such as a web application, as well as processing (hereinafter referred to as batch jobs) that does not necessarily have a fixed time slot but must be executed at least within a certain time slot, such as processing related to artificial intelligence (AI) (for example, processing related to machine learning). Note that hereinafter, batch jobs and interactive jobs are collectively referred to as jobs.
[0015] The management computer 2000 manages, in time slot units, the processing load (hereinafter referred to as batch workload) on the system (data center 1000) caused by batch jobs that have been executed and are scheduled to be executed in the server device 3000 and storage device 4000. Similarly, the management computer 2000 manages, in time slot units, the processing load (hereinafter referred to as batch interactive workload) on the system (data center 1000) caused by interactive jobs that have been executed and are scheduled to be executed in the server device 3000 and storage device 4000.
[0016] In this specification, a workload may refer to a job (process) itself.
[0017] Incidentally, a predetermined amount of power is required to execute each process in the server device 3000 and the storage device 4000, and the data center 1000 is required to consume a predetermined percentage of this power from renewable energy sources, rather than from the power grid. That is, in this embodiment, this predetermined percentage (a utilization rate as a minimum condition) is referred to as a target value or target rate of the renewable energy utilization rate. A feature of this is that the amount of power generated by this renewable energy varies depending on the time of day.
[0018] Therefore, the management computer 2000 (workload control support device) of this embodiment sets a power consumption target value for the execution of each batch job in a future time slot, taking into account the renewable energy rate and cost aspects, based on the predicted value of the amount of power generated by renewable energy, and controls the execution timing of each batch job so that this power consumption target value can be achieved to the maximum extent possible (more specifically, the batch job to be executed in each time slot is determined at the timing before the start of each time slot), thereby supporting the maintenance of an appropriate balance between renewable energy rate and cost in the data center 1000. Note that hereinafter, "renewable energy" may be abbreviated as "renewable energy".
[0019] Next, FIG. 2 is a diagram illustrating an example of the hardware and functions of the management computer 2000 (workload control support device).
[0020] The management computer 2000 includes a processing device 11000 (processor) such as a CPU (Central Processing Unit), DSP (Digital Signal Processor), GPU (Graphics Processing Unit), or FPGA (Field-Programmable Gate Array), a main memory device 12000 (memory) such as a ROM (Read Only Memory) or RAM (Random Access Memory), a memory device 8000 such as an HDD (Hard Disk Drive) or SSD (Solid State Drive), a communication device 16000 consisting of a NIC (Network Interface Card), a wireless communication module, a USB (Universal Serial Interface) module, or a serial communication module, an input device 14000 consisting of a mouse, keyboard, or the like, and an output device 15000 consisting of a liquid crystal display or an organic EL (Electro-Luminescence) display, or the like.
[0021] The management computer 2000 also stores a parameter determination program 8700 , a risk tolerance calculation program 8800 , an IT workload control program 8900 , and a power consumption price prediction program 9000 .
[0022] The parameter determination program 8700 acquires the predicted values of executable periods and power consumption for each of a plurality of workloads scheduled to be executed in future time slots. Then, based on the predicted values of executable periods and power consumption, the parameter determination program 8700 calculates the target value of power consumption for the future time slot so as to satisfy the target value of the renewable energy rate for the future time slot and the cost conditions related to the use of renewable energy.
[0023] In this embodiment, the execution time is determined by a delay limit, which is the latest time that can be set as the execution timing for a batch job.
[0024] The parameter determination program 8700 accepts a control policy specification that indicates whether to prioritize the renewable energy rate or the cost condition, and when a control policy that prioritizes the renewable energy rate is specified, identifies a parameter α that indicates a pattern of batch workload execution timing that optimizes the renewable energy utilization rate, and calculates a target value of power consumption in future time slots based on the identified parameter α. On the other hand, when a control policy that prioritizes the cost condition is specified, the parameter determination program 8700 identifies a parameter α that indicates a pattern of batch workload execution timing that optimizes the cost related to the use of renewable energy, and calculates a target value of power consumption in future time slots based on the identified parameter α.
[0025] In this embodiment, the parameter α is a parameter that indicates the proportion of batch workloads that will actually be executed in a certain timeslot out of the batch workloads that have been scheduled for execution in that timeslot up to that point. In this embodiment, the parameter α has a value between 0 and 1 for each timeslot. Note that this is just an example, and other values may be used as long as they reflect the proportion of batch workloads that will actually be executed out of the batch workloads that have been scheduled for execution in a certain timeslot.
[0026] The IT workload control program 8900 calculates a risk tolerance, which indicates the risk due to uncertainty in the predicted power consumption value in future time slots, using a predetermined algorithm, and determines the timing of each workload to be executed in the future time slot based on the calculated risk tolerance and the target power consumption value, and executes each workload at the determined timing.
[0027] The risk tolerance calculation program 8800 calculates the risk tolerance based on the difference between the predicted value of the amount of power generated from renewable energy in a future time slot and the target value of the amount of power consumed in the future time slot.
[0028] The power consumption price prediction program 9000 calculates the predicted execution period and power consumption of workloads scheduled to be executed in future time slots, the predicted power generation amount in future time slots, the predicted power price in future time slots, etc.
[0029] Furthermore, the management computer 2000 stores the following databases: a DC power prediction table 8100, a time slot table 8200, a delay limit time prediction distribution table 8300, a user policy table 8400, a workload table 8500, a workload power consumption prediction distribution table 8600, and a predicted workload table 8650.
[0030] The DC power prediction table 8100 stores the amount of power generation and price of renewable energy predicted by the power consumption price prediction program 9000, the predicted price of power provided from the power grid, and the actual values of these.
[0031] The time slot table 8200 stores information about each time slot, such as predicted and actual power consumption values for each time slot, target power consumption values, parameter α, and risk tolerance.
[0032] The delay limit time predicted distribution table 8300 stores information on the distribution of predicted values of delay limit times of workloads in each future time slot.
[0033] The user policy table 8400 stores data on policies (user policies) related to the use of renewable energy by users, such as a target value for the renewable energy rate (hereinafter referred to as the target rate) and a workload control policy. In this embodiment, the renewable energy utilization rate (renewable energy rate) is defined as the ratio of power consumption by renewable energy to the total power consumption in a certain time period, but may be based on other definitions.
[0034] The workload table 8500 stores and accumulates information about the execution schedule of each workload (batch workload and interactive workload). The server system 3000 and the storage system 4000 execute each workload in accordance with this workload table 8500.
[0035] The workload power consumption predicted distribution table 8600 stores information on the distribution of predicted values of power consumption of each workload.
[0036] The predicted workload table 8650 stores predicted information for each workload in future time slots. Next, specific examples of each database will be described.
[0037] (DC Power Estimation Table) FIG. 3 is a diagram showing an example of the DC power prediction table 8100. As shown in FIG. The DC power prediction table 8100 is composed of one or more records having each data item: a time slot ID 8110 in which identification information for the time slot is set; a time 8120 in which the target time for prediction or actual measurement is set; a renewable energy power generation prediction 8130 in which the predicted value of the renewable energy power generation amount (power that can be provided to the data center 1000) at the target time is set; a renewable energy power generation actual measurement 8140 in which the actual measured value of the renewable energy power generation amount actually measured at the target time is set; a renewable energy price prediction 8150 in which the predicted value of the price per unit of renewable energy at the target time is set; a renewable energy price actual measurement 8160 in which the price of renewable energy actually set at the target time is set; a system price prediction 8170 in which the predicted price of electricity per unit amount (e.g., 1 kW) at the target time in a specified power system (e.g., a commercial power system) is set; and a system price actual measurement 8180 in which the price of electricity per unit amount (e.g., 1 kW) in the above power system actually set at the target time is set.
[0038] The actual measured values and performance values in the DC power prediction table 8100 may be input by the user or may be automatically acquired from a predetermined database.
[0039] (Time slot table) FIG. 4 is a diagram showing an example of the time slot table 8200. As shown in FIG. The time slot table 8200 is composed of one or more records having each of the following data items: a time slot ID 8210 in which identification information for the time slot is set; a time 8220 in which the start time of the time slot is set; a power consumption prediction 8230 in which a predicted value of the power consumption of the data center 1000 at that time slot (power consumption for all facilities or equipment in the data center, including server devices 3000, storage devices 4000, and air conditioning equipment not shown) is set; an actual power consumption measurement 8240 in which the actual measured value of the power consumption of the data center 1000 at that time slot is set; a batch power consumption prediction 8250 in which a predicted value of the power consumption of the batch workload at that time slot (hereinafter also referred to as batch power consumption) is set; an actual batch power consumption measurement 8260 in which the actual measured value of the power consumption of the batch workload at that time slot is set; a power consumption target value 8270 in which a target value of the power consumption of the data center 1000 at that time slot is set; a parameter α 8280 in which a parameter α at that time slot is set; and a risk tolerance 8290 in which the risk tolerance at that time slot is set.
[0040] (Delay limit time forecast distribution table) 5 is a diagram showing an example of a delay limit time predicted distribution table 8300. The delay limit time predicted distribution table 8300 is made up of one or more records having the following data items: a timeslot ID 8310 in which identification information of a future timeslot is set, a delay limit time 8320 in which the delay limit time of the workload in that timeslot is set, and a number 8330 in which the predicted value of the number of workloads in that timeslot that have that delay limit time is set.
[0041] (User policy table) 6 is a diagram showing an example of a user policy table 8400. The user policy table 8400 is configured with one or more records having each data item: a policy ID 8410 in which identification information of a user policy is set, a renewable energy target rate 8420 in which a target value (target rate) of the renewable energy rate in that user policy is set, a start date and time 8430 in which a start date and time of application of that user policy is set, a target achievement date 8440 in which a deadline for achievement of that user policy is set, and a control policy 8450 in which a control policy for renewable energy in that user policy is set.
[0042] In control policy 8450, "COST" means that in addition to utilizing renewable energy, it also places importance on the costs associated with electricity usage, and if the actual renewable energy usage rate exceeds the target rate, it limits the use of renewable energy (using electricity from the power grid to make up the shortfall), prioritizing lowering the costs associated with electricity usage. "RE" means that it places importance on the use of renewable energy, and does not impose any particular restrictions even if the actual renewable energy usage rate exceeds the target rate (using renewable energy to the maximum extent possible). Note that the content of control policy 8450 shown here is just one example, and it is also possible to set information for other policies from the perspective of balancing costs and the use of renewable energy.
[0043] In this embodiment, the data in the user policy table 8400 is input in advance by the user, but it may also be set or changed automatically.
[0044] (Workload table) 7 is a diagram showing an example of a workload table 8500. The workload table 8500 is configured with one or more records having the following data items: a workload ID 8510 in which identification information for the workload is set; a power consumption prediction 8520 in which a predicted value of power consumption for the workload is set; an actual power consumption 8530 in which an actual measured value of power consumption for the workload is set; an input time 8540 in which the time (input time) when information about the workload is initially set in the management computer 2000 as an execution schedule is set; an execution schedule 8550 in which the execution timing of the workload is set; a changed execution schedule 8560 in which the execution timing changed (delayed) for the workload by the IT workload control program 8900 is set; a delay limit time 8570 in which the delay limit time for the workload is set by the user; and a queue flag 8580 in which information indicating whether a queue flag is set for the workload is set.
[0045] If the workload is an interactive workload, the value of the execution schedule 8550 is automatically set to the same value as the input time 8540. In addition, the queue flag 8580 is automatically set to "Y" if it is determined that the execution timing indicated by the execution schedule 8550 will be delayed. How to use the queue flag will be described later.
[0046] (Workload Power Consumption Forecast Distribution Table) 8 is a diagram showing an example of a workload power consumption forecast distribution table 8600. The workload power consumption forecast distribution table 8600 is configured with one or more records having the following data items: a workload ID 8610 in which identification information of the workload is set; a power consumption 8620 in which the range of the predicted value of power consumption of the workload is set; and a probability 8630 in which the probability that the predicted value of power consumption will be realized is set. The workload power consumption forecast distribution table 8600 is generated whenever the actual measured value of past power consumption of each workload is acquired (the distribution of predicted values of power consumption is statistically calculated), and is updated.
[0047] (Predicted Workload Table) 9 is a diagram showing an example of a predicted workload table 8650. The workload table 8650 is configured with one or more records having the following data items: a predicted workload ID 8655 in which identification information of the workload for a predicted future time slot is set; a predicted time 8660 indicating the time at which the workload prediction was made; a time slot 8665 indicating the time slot for which the workload was predicted; a power consumption prediction 8670 in which a predicted value of power consumption in the predicted workload is set; a delay limit time prediction 8675 in which a predicted value of delay limit time in the predicted workload is set; and a queue flag 8680 in which information indicating whether a queue flag is set for the predicted workload is set.
[0048] Each of the programs described above is executed by the processing device 11000 reading out (the program stored in the main memory device 12000 or the memory device 8000). Each program can be recorded on a recording medium and distributed, for example. All or part of the management computer 2000 may be realized using virtual information processing resources provided using virtualization technology, process space separation technology, or the like, such as a virtual server provided by a cloud system. Furthermore, all or part of the functions provided by the management computer 2000 may be realized by a service provided by a cloud system via an API (Application Programming Interface), for example. Next, the processing executed by the management computer 2000 will be explained.
[0049] <Workload control processing> 10 is a flow diagram illustrating an overview of a workload control process that is a process for controlling each workload in the data center 1000. The workload control process is repeatedly executed at a predetermined time (for example, every hour), at predetermined time intervals (for example, a predetermined time and minutes before the start of each time slot), or at a predetermined timing (a time designated by the user).
[0050] First, the management computer 2000 executes a data update process S1 that predicts the amount and price of power generated (power from renewable energy or energy from the power grid) used to operate the data center 1000, the power consumption at the data center 1000, and the distribution of the delay limit time for each workload at the data center 1000, and accumulates this past data. Details of the data update process S1 will be described later.
[0051] Based on the data predicted and accumulated in the data update process S1, the management computer 2000 executes a workload deployment process S2 to deploy (input) workloads to be actually executed from among the workloads scheduled to be executed in the most recent time slot among the workloads in the data center 1000. Details of the workload deployment process S2 will be described later. The above process is executed repeatedly. Next, the data update process S1 will be described in detail.
[0052] <Data update process> FIG. 11 is a flow diagram illustrating the details of the data update process S1. The power consumption price prediction program 9000 predicts the amount of power generated by renewable energy and the price per unit of power for each time slot after the present (S10). Specifically, for example, the power consumption price prediction program 9000 acquires the values of the time 8120, the actual renewable energy power generation amount 8140, and the actual renewable energy price 8160 for each record in the DC power prediction table 8100, and predicts the amount of power generated by renewable energy and the price per unit of power for each time slot after the present based on a predetermined algorithm (for example, performing time series analysis or performing machine learning to create a prediction model) for the acquired values. The power consumption price prediction program 9000 stores the predicted amount of power generated and each price in the renewable energy power generation amount prediction 8130 and the renewable energy price prediction 8150 of the record for each time slot in the DC power prediction table 8100, respectively.
[0053] The power consumption price prediction program 9000 acquires the amount of power generated by renewable energy and the price per unit of power in past time slots from a predetermined device (e.g., an external database or server), and stores the acquired amount of power generated and price as actual values in the actual renewable energy power generation amount 8140 and actual renewable energy price 8160 of the record related to that time slot in the DC power prediction table 8100 (S10).
[0054] Furthermore, the power consumption price prediction program 9000 predicts the price per unit power of power in the power grid for each time slot after the present (S11). Specifically, for example, the power consumption price prediction program 9000 acquires the values of the time 8120 and the actual grid price 8180 of each record in the DC power prediction table 8100, and predicts the price per unit power of power in the power grid for each time slot after the present based on a predetermined algorithm (for example, performing time series analysis or performing machine learning to create a prediction model) for the acquired values. The power consumption price prediction program 9000 stores each predicted price in the grid price prediction 8170 of the record for each time slot in the DC power prediction table 8100.
[0055] The power consumption price prediction program 9000 acquires the price per unit of power of the power system in past time slots from a predetermined device (e.g., an external database or server), and stores the acquired price as an actual value in the system price actual measurement 8180 of the record related to that time slot in the DC power prediction table 8100 (S11).
[0056] Furthermore, the power consumption price prediction program 9000 predicts the overall power consumption of the data center 1000 and the power consumption of the batch workloads for each time slot after the present (S12). Specifically, for example, the power consumption price prediction program 9000 acquires the values of the time 8220, actual power consumption measurement 8240, and actual batch power consumption measurement 8260 of each record in the time slot table 8200, and predicts the overall power consumption of the data center 1000 and the power consumption of the batch workloads for each time slot after the present based on a predetermined algorithm (for example, performing time series analysis or performing machine learning to create a prediction model) for each acquired value. The power consumption price prediction program 9000 stores each predicted power consumption in the power consumption prediction 8230 and batch power consumption prediction 8250 of the record of each time slot in the time slot table 8200.
[0057] The power consumption price prediction program 9000 acquires the power consumption of the entire data center 1000 and the power consumption of the batch workload in past time slots from a predetermined device (e.g., an external database or server), and stores each acquired power consumption amount as an actual value in the actual power consumption measurement 8240 and the actual batch power consumption measurement 8260 of the record related to the time slot in the DC power prediction table 8100 (S12).
[0058] Furthermore, the power consumption price prediction program 9000 predicts the delay limit time of the batch workload of the data center 1000 for each time slot after the present (S13). Specifically, for example, the power consumption price prediction program 9000 acquires the execution schedule 8550 (the time when the past workload was actually executed) or the changed execution schedule 8560, and the delay limit time 8570 from the workload table 8500, and predicts the distribution of the delay limit time of each batch workload for each time slot after the present based on a predetermined algorithm (for example, performing time series analysis or performing machine learning to create a prediction model) for each acquired value. The power consumption price prediction program 9000 stores data on the predicted distribution of delay limit times in the delay limit time 8320 and the number 8330 of the record for each time slot in the delay limit time prediction distribution table 8300, respectively. Furthermore, the power consumption price prediction program 9000 creates new records in the predicted workload table 8650 for the number of items 8330 predicted in each time slot, and stores the data on the time slot and delay limit time in the time slot 8665 and delay limit time prediction 8670 of the predicted workload table 8650. After that, the processing from S10 onwards is repeated.
[0059] Next, FIG. 12 is a flow diagram illustrating the workload deployment process S2. The parameter determination program 8700 executes a parameter determination process S20 for determining the pattern of the parameter α for each time slot from the most recent time slot onwards.
[0060] Furthermore, the risk tolerance calculation program 8800 executes a risk tolerance calculation process S21 for calculating the risk tolerance for each time slot from the most recent time slot onwards.
[0061] Then, the IT workload control program 8900 determines the batch workload to be executed in the most recent time slot based on the target power consumption value calculated based on the pattern of parameter α determined in the parameter determination process S20 and the risk tolerance calculated in the risk tolerance calculation process S21, and executes the IT workload control process S22 to deploy the determined batch workload together with the interactive workload. The parameter determination process S20, the risk tolerance calculation process S21, and the IT workload control process S22 will be described in detail below.
[0062] <Parameter determination process> FIG. 13 is a flow diagram illustrating an example of the parameter determination process S20. In this parameter determination process, the ideal batch workload deployment amount for each future time slot is determined to realize the operation policy specified by the user in the user policy table 8400. The batch workload deployment amount is determined by specifying a parameter α that determines the execution ratio of the batch workload in each time slot. Since the batch workload deployment amount is determined by specifying the parameter α, the power consumption amount for each time slot can be calculated, and thereby the renewable energy utilization rate (hourly renewable energy rate) and the cost related to the use of renewable energy can be calculated. Therefore, the optimal parameter α that realizes the operation policy specified by the user is determined by calculating the possible parameter α.
[0063] First, the parameter determination program 8700 executes a parameter pair creation process S1000 to create one or more lists (patterns) of parameters α for each time slot from the most recent onwards. Details of the parameter creation process S1000 will be described later.
[0064] The parameter determination program 8700 acquires one pattern from among the patterns of the parameter α determined in the parameter creation process S1000 (S1010).
[0065] The parameter determination program 8700 calculates the renewable energy utilization rate (hourly renewable energy rate f_re) and the cost f_cost associated with the utilization of renewable energy for all time slots for which the parameter α has been calculated (S1020). In this embodiment, the cost f_cost associated with the utilization of renewable energy takes into account only the power cost of the renewable energy, but it may also include grid power costs and other costs.
[0066] That is, the parameter determination program 8700 calculates the power consumption target value by adding the value obtained by dividing the batch power consumption prediction 8250 by the power consumption prediction 8230 in the time slot table 8200 and the value obtained by multiplying the batch power consumption 8250 by the parameter α. By referencing the renewable energy power generation prediction 8230 (renewable energy that can be supplied to the data center 1000) in the DC power prediction table 8100, it is determined whether the power consumption of the power consumption target value can be covered by renewable energy, and if not, it specifies that the amount will be covered by the power grid. This allows the parameter determination program 8700 to calculate the renewable energy utilization rate (hourly renewable energy rate f_re). Furthermore, the parameter determination program 8700 can calculate the cost f_cost of using renewable energy by multiplying the predicted value of renewable energy power consumption by the renewable energy price prediction 8150 in the DC power prediction table 8100.
[0067] Next, the parameter determination program 8700 checks whether the control policy is "COST" (S1030). For example, the parameter determination program 8700 refers to the user policy table 8400 and checks whether the value of the control policy 8450 of the latest record is "COST".
[0068] If the control policy is "COST" (S1030: YES), the parameter determining program 8700 executes the processing of S1070, and if the control policy is "RE" (S1030: NO), the parameter determining program 8700 executes the processing of S1040.
[0069] In S1040, the parameter determination program 8700 sets the hourly renewable energy rate f_re as the first objective function. In this case, since the user places importance on utilizing renewable energy, the parameter determination program 8700 determines a parameter α that maximizes the hourly renewable energy rate f_re.
[0070] The parameter determination program 8700 checks whether the first objective function has been set for all patterns of the parameter α (S1050). If the first objective function has been set for all patterns of the parameter α (S1050: YES), the parameter determination program 8700 executes the process of S1060, and if there is a pattern of the parameter α for which the first objective function has not been set (S1050: NO), the parameter determination program 8700 repeats the processes from S1010 onwards to acquire that pattern of the parameter α.
[0071] In S1060, the parameter determination program 8700 identifies the parameter α pattern that maximizes the value of the first objective function from among the multiple parameter α patterns created in the parameter creation process S1000, and sets the identified result as parameter α 8280 of the record related to each time slot in the time slot table 8200. This completes the parameter determination process S20.
[0072] Meanwhile, in S1070, the parameter determination program 8700 sets the cost f_cost as the first objective function. In this case, since the user places importance on the cost of electricity usage in addition to the utilization of renewable energy, when the actual renewable energy utilization rate exceeds the target rate, the parameter α is determined to minimize the cost f_cost without causing the hourly renewable energy rate to fall below the target rate. However, when the actual renewable energy utilization rate is below the target rate, priority is given to achieving a renewable energy utilization rate equal to or higher than the target rate, and the parameter α is determined to maximize the hourly renewable energy rate f_re.
[0073] Furthermore, the parameter determination program 8700 sets a constraint condition in the first objective function that the hourly renewable energy rate f_re is equal to or greater than the renewable energy target rate (satisfies the minimum condition for the renewable energy rate) (S1080). Note that the parameter determination program 8700 uses the value of the renewable energy target rate 8420 of the latest record in the user policy table 8400 as the renewable energy target rate.
[0074] The parameter determination program 8700 checks whether the first objective function has been executed for all patterns of the parameter α (S1080). If the first objective function has been executed for all patterns of the parameter α (S1080: YES), the parameter determination program 8700 executes the process of S1090. If there is a pattern of the parameter α for which the first objective function is not set (S1080: NO), the parameter determination program 8700 repeats the processes from S1010 onwards to acquire that pattern of the parameter α.
[0075] In S1100, the parameter determination program 8700 checks whether a pattern of the parameter α that satisfies the constraint condition exists. If a pattern of the parameter α that satisfies the constraint condition exists (S1100: YES), the parameter determination program 8700 executes the process of S1110, and if a pattern of the parameter α that satisfies the constraint condition does not exist (S1100: NO), the parameter determination program 8700 executes the process of S1120.
[0076] In S1110, the parameter determination program 8700 identifies the parameter α pattern for which the value of the first objective function is smallest, from among the multiple parameter α patterns created in the parameter creation process S1010, and sets the identification result as parameter α 8280 of the record related to each time slot in the time slot table 8200. This completes the parameter determination process S20.
[0077] In S1120, the parameter determination program 8700 sets the hourly renewable energy rate f_re as the second objective function.
[0078] Then, the parameter determination program 8700 identifies the parameter α pattern for which the value of the second objective function is maximum from among the multiple parameter α patterns created in the parameter creation process S1010, and sets the identification result as the parameter α 8280 of the record related to each time slot in the time slot table 8200 (S1130). This completes the parameter determination process S20.
[0079] <Parameter creation process> 14 and 15 are flow diagrams explaining the details of the parameter creation process S1000 (divided into two diagrams due to space limitations). The parameter creation process S1000 creates all possible sets of parameter α. Because the delay limit time 8570 for a batch workload is set by the user, execution cannot be delayed indefinitely. As a result, the amount of batch workload deployment in each time slot cannot be determined completely freely. Therefore, a limit must also be placed on the parameter α for each time slot, and a limit is placed on the parameter α based on information about the predictive distribution of the delay limit time in the delay limit time predictive distribution table 8300, and sets of possible parameter α within that range are created. 14, the parameter determining program 8700 selects the nearest time slot (S2000). Specifically, the parameter determining program 8700 refers to the time slot table 8200 and selects a record in which the time 8220 indicates the closest future time to the current time.
[0080] The parameter determination program 8700 determines whether the currently selected time slot is the last time slot (S2010). Specifically, the parameter determination program 8700 checks whether the currently selected time slot is the last time slot for which timing has been set in advance (for example, the time slot 12 hours later).
[0081] If the selected time slot is the last time slot (S2010: YES), the parameter determination program 8700 executes the processing of S2060, and if the selected time slot is not the last time slot (S2010: NO), the parameter determination program 8700 executes the processing of S2020.
[0082] In S2060, the parameter determination program 8700 decides to deploy all batch workloads since this is the last time slot, sets the parameter α of the currently selected time slot (last time slot) to 1, and the parameter creation process S1000 ends.
[0083] In S2020, the parameter determination program 8700 determines whether the currently selected time slot is the first time slot. Specifically, the parameter determination program 8700 checks whether the time 8220 of the record selected in S2000 indicates the closest future time to the current time.
[0084] If the selected time slot is the first time slot (S2020: YES), the parameter determination program 8700 executes the processing of S2030, and if the selected time slot is not the first time slot (S2020: NO), the parameter determination program 8700 executes the processing of S2070.
[0085] Steps S2030 to S2050 are the processing steps when the currently selected time slot is the first time slot. In the first time slot, batch workloads have already been set in that time slot, so the delay limit time is obtained based on the information about those batch workloads, and power consumption is predicted. On the other hand, steps S2070 to S2110 are the processing steps when the currently selected time slot is not the first time slot. If it is not the first time slot, no batch workloads have been set in those time slots, and so those batch workloads have not yet been registered in the workload table 8500. Therefore, it becomes necessary to predict those batch workloads, and the predicted delay limit time is obtained and power consumption is predicted.
[0086] In S2030, the parameter determination program 8700 acquires the batch workload set for the currently selected time slot and all batch workloads currently accumulated as queues in the time slot immediately preceding the currently selected time slot. Specifically, the parameter determination program 8700 references the workload table 8500 and acquires data for records related to the currently selected time slot and data for all records for which the queue flag 8580 is "Y".
[0087] The parameter determination program 8700 sorts the batch workloads acquired in S2030 in ascending order of delay limit time (earliest order) (S2040). Specifically, the parameter determination program 8700 refers to the workload table 8500 and sorts the records acquired in S2030 in order of the delay limit time 8570 of each record in descending order of proximity to the current time.
[0088] The parameter determination program 8700 calculates a workload power consumption prediction total value PB, which is the sum of the predicted power consumption values Pb of each batch workload sorted in S2040 (S2050). Specifically, the parameter determination program 8700 refers to the workload table 8500, and sums the values of the power consumption prediction 8520 of each record related to the workload sorted in S2040. Thereafter, the processing of S2110 is performed.
[0089] Meanwhile, in S2070, the parameter determination program 8700 obtains predicted values for the number of batch workloads to be deployed (executed) in the currently selected timeslot and the delay limit time of the batch workload. Specifically, the parameter determination program 8700 references the delay limit time predicted distribution table 8300 and obtains the values of the delay limit time 8320 and the number 8330 of the record related to the currently selected timeslot.
[0090] The parameter determination program 8700 calculates the predicted value Pb of power consumption per batch workload in the selected time slot by dividing the predicted value of batch power consumption in the selected time slot by the number of batch workloads calculated in S2070 (S2080).
[0091] Specifically, the parameter determination program 8700 refers to the time slot table 8200, obtains the batch power consumption prediction 8250 of the record related to the selected time slot, and divides the obtained power consumption value by the value of the quantity 8330 obtained in S2070.
[0092] The parameter determination program 8700 stores the calculated predicted value of batch power consumption in the predicted workload table 8650 (S2085).
[0093] Specifically, the parameter determination program 8700 stores the predicted value Pb calculated in S2080 in the power consumption prediction 8670 of the record having the latest predicted time 8660 and having the time slot 8665 that matches the currently selected time slot.
[0094] The parameter determination program 8700 acquires the batch workloads for which the predicted power consumption value Pb was acquired in S2070 and the batch workloads currently stored as queues among the batch workloads for the immediately preceding time slot. Then, the parameter determination program 8700 sorts the acquired batch workloads in order of shortest delay limit time (S2090).
[0095] Specifically, for example, the parameter determination program 8700 references the workload table 8500 and acquires data of records in which the queue flag 8580 is "Y". Furthermore, the parameter determination program 8700 references the predicted workload table 8650 and acquires data of records in which the predicted time 8660 is the latest and the queue flag 8675 is "Y", and data of records in which the predicted time 8660 is the latest and the same time slot 8665 as the currently selected time slot. The parameter determination program 8700 rearranges the delay limit time prediction 8675 of the predicted workload table 8650 and the delay limit time 8570 of the record in the acquired workload table 8500.
[0096] The parameter determination program 8700 calculates a workload power consumption prediction total value PB, which is the sum of the predicted values Pb of power consumption of each batch workload sorted in S2090 (S2100). Specifically, the parameter determination program 8700 adds up the predicted values Pb indicated by the power consumption prediction 8520 or the power consumption prediction 8670 of each record where, in S2090, the queue flag 8580 is "Y", the predicted time 8660 is the latest and the queue flag 8675 is "Y", or the predicted time 8660 is the latest and the same timeslot 8665 as the currently selected timeslot. Thereafter, the processing of S2110 is performed.
[0097] In S2110, the parameter determination program 8700 identifies all workloads that cannot be set (delayed) in time slots after the currently selected time slot, among the workloads for which the predicted power consumption value Pb was calculated in S2050 or S2100, and calculates the sum of the predicted power consumption values Pb of each identified workload (total predicted power consumption value PB' of non-delayable workloads). Specifically, the parameter determination program 8700 references the workload table 8500 and the predicted workload table 8650, identifies workloads of records whose delay limit time 8570 or delay limit time prediction 8675 is the same as the time of the currently selected time slot, and sets the sum of the predicted power consumption values Pb of each identified workload as the total predicted power consumption value PB' of non-delayable workloads. PB' worth of power consumption by the batch workload will always be consumed in that time slot.
[0098] Then, as shown in FIG. 15, the parameter determining program 8700 sets PB' / PB as the lower limit α_min of the parameter α of the currently selected time slot (S2120).
[0099] In this way, the parameter determination program 8700 gives priority to executing a batch workload with a shorter delay limit time at an earlier timing.
[0100] Then, the parameter determination program 8700 arbitrarily determines one or more values of α for the currently selected time slot that are equal to or greater than the lower limit α_min (S2130).
[0101] The parameter determination program 8700 sets the power consumption determination value P to 0 (S2140).
[0102] The parameter determination program 8700 adds the predicted value Pb of the power consumption of each workload to the judgment value P in the order of the workloads rearranged in S2040 or S2090 (S2150, S2160). The parameter determination program 8700 repeats this addition until the judgment value P exceeds the product of PB calculated in S2050 or S2100 and α set in S2130 (S2170: NO).
[0103] If the power consumption value P is equal to or greater than the product of PB and α (S2170: YES), the parameter determination program 8700 accumulates the workloads that were not the subject of the multiplication in a queue (S2180). Specifically, the parameter determination program 8700 references the workload table 8500 and the predicted workload table 8650, and sets the queue flag 8580 or the queue flag 8680 of the record related to the workload that was not the subject of the multiplication to "Y."
[0104] The parameter determination program 8700 selects the next time slot after the currently selected time slot, and repeats the processing from S2010 onwards (S2190).
[0105] In addition, in S2130, the parameter determination program 8700 sets multiple values as the value of α for the selected time slot (for example, if the lower limit value α_min is 0.1, then the values are set to 0.1, 0.2, 0.3, 0.4, ..., 1), and performs processing from S2140 onwards for each of them, thereby creating multiple patterns of the parameter α.
[0106] <Risk tolerance calculation process> FIG. 16 is a flow diagram illustrating an example of the risk tolerance calculation process S21. The risk tolerance calculation program 8800 calculates the power consumption target value for each time slot based on the parameter α for each time slot determined in the parameter determination process S20, and stores each calculated power consumption target value in the power consumption target value 8270 of the time slot table 8200 (S3000).
[0107] For example, the risk tolerance calculation program 8800 refers to the time slot table 8200 and adds the value obtained by dividing the batch power consumption prediction 8250 by the power consumption prediction 8230 of the record of each time slot to the value obtained by multiplying the value of the batch power consumption 8250 by the parameter α.
[0108] The risk tolerance calculation program 8800 selects one of the time slots for which the parameter α was calculated in the parameter determination process S20 (S3010).
[0109] The risk tolerance calculation program 8800 acquires the parameter α of the selected time slot (S3020).
[0110] The risk tolerance calculation program 8800 checks whether the acquired parameter α is 1 or not (S3030).
[0111] If the acquired parameter α is 1 (S3030: YES), the risk tolerance calculation program 8800 executes the processing of S3040, and if the acquired parameter α is not 1 (S3030: NO), the risk tolerance calculation program 8800 executes the processing of S3070.
[0112] In S3070, the risk tolerance calculation program 8800 sets the risk tolerance for the selected time slot to the minimum value (1 in this embodiment) and stores this in the time slot table 8200 (specifically, in the risk tolerance 8290 of the record for the selected time slot in the time slot table 8200). After that, the processing of S3060 is performed.
[0113] In S3040, the risk tolerance calculation program 8800 executes a per-perspective risk tolerance calculation process S3040 for calculating a renewable energy-perspective risk tolerance and a cost-perspective risk tolerance. The per-perspective risk tolerance calculation process S3040 will be described in detail later.
[0114] Then, the risk tolerance calculation program 8800 calculates the risk tolerance for the currently selected time slot based on the renewable energy-oriented risk tolerance and the cost-oriented risk tolerance calculated in S3040 (S3050).
[0115] For example, the risk tolerance calculation program 8800 calculates the product of the renewable energy-perspective risk tolerance and the cost-perspective risk tolerance or the exponentiation value (for example, the square root) of that product. Note that the calculation method described here is just an example, and other calculation methods may be adopted as long as the magnitude of each value of the renewable energy-perspective risk tolerance and the cost-perspective risk tolerance is reflected in the risk tolerance for the selected time slot.
[0116] Furthermore, the risk tolerance calculation program 8800 may reflect the control policy in the risk tolerance for the currently selected time slot. For example, the risk tolerance calculation program 8800 may acquire the control policy 8450 of the latest record in the user policy table 8400, and if the control policy is "RE", the value of the renewable energy perspective risk tolerance or a value obtained by multiplying the renewable energy perspective risk tolerance by a predetermined coefficient may be set as the risk tolerance for the currently selected time slot.
[0117] The risk tolerance calculation program 8800 determines whether or not the risk tolerance has been calculated for all time slots for which the parameter α has been calculated in the parameter determination process S20 (S3060).
[0118] If the risk tolerance has been calculated for all time slots (S3060: YES), the risk tolerance calculation process ends; if there are time slots for which the risk tolerance has not been calculated (S3060: NO), the risk tolerance calculation program 8800 repeats the process from S301 onwards to select time slots for which the risk tolerance has not been calculated.
[0119] <Risk tolerance calculation process for each viewpoint> FIG. 17 is a flowchart illustrating the details of the viewpoint-specific risk tolerance calculation process S3040. The risk tolerance calculation program 8800 calculates the renewable energy perspective risk tolerance (tolerance for the risk that renewable energy will not be fully utilized because the renewable energy rate does not reach the target rate) so that the value becomes smaller the more the renewable energy power generation amount in the selected time slot exceeds the target power consumption value (S4000).
[0120] For example, the risk tolerance calculation program 8800 calculates the renewable energy perspective risk tolerance by (predetermined negative coefficient) x (target value of power consumption - amount of power generated by renewable energy). Note that the formula shown here is just an example, and other formulas that represent a monotonous decrease may also be used.
[0121] The risk tolerance calculation program 8800 checks whether the price per unit power of renewable energy in the selected time slot is greater than the price per unit power of the grid (S4010). Specifically, the risk tolerance calculation program 8800 checks this by referring to the DC power prediction table 8100 and identifying the values of the renewable energy price prediction 8150 and the grid price prediction 8170 of the record related to the selected time slot.
[0122] When the price per unit power of renewable energy is greater than the price per unit power of the grid (S4010: YES), the risk tolerance calculation program 8800 executes the process of S4030. When the price per unit power of renewable energy is less than or equal to the price per unit power of the grid (S4010: NO), the risk tolerance calculation program 8800 executes the process of S4020.
[0123] In S4030, the risk tolerance calculation program 8800 calculates the risk tolerance from the cost perspective (tolerance for the risk of increased cost due to excessive use of renewable energy) such that the value increases as the power generation amount of renewable energy in the selected time slot exceeds the target value of power consumption. With this, the risk tolerance calculation process S3040 for each perspective ends.
[0124] For example, the risk tolerance calculation program 8800 calculates the risk tolerance from the renewable energy perspective using (a coefficient of a predetermined positive value) × (target value of power consumption - power generation amount of renewable energy). Note that the formula shown here is just an example, and other formulas representing monotonic increase may be used.
[0125] In S4020, the risk tolerance calculation program 8800 calculates the risk tolerance from the cost perspective such that the value decreases as the power generation amount of renewable energy in the selected time slot exceeds the target value of power consumption. With this, the risk tolerance calculation process S3040 for each perspective ends.
[0126] For example, the risk tolerance calculation program 8800 calculates the risk tolerance from the renewable energy perspective using (a coefficient of a predetermined negative value) × (target value of power consumption - power generation amount of renewable energy). Note that the formula shown here is just an example, and other formulas representing monotonic decrease may be used.
[0127] <IT workload control process> 18 and 19 are flow diagrams explaining the IT workload control process S22 (divided into two diagrams due to space limitations). In this IT workload control process, the batch workload to be actually deployed is determined so as to approach the power consumption target value for each time slot determined by the calculated value of parameter α. In addition to approaching the power consumption target value, the batch workload to be deployed is determined taking into account the deviation from the predicted power consumption of each batch workload, and in time slots with low risk tolerance, the sum of the deviations from the predicted power consumption of each batch workload is determined as small as possible.
[0128] As shown in FIG. 18, the IT workload control program 8900 calculates a weight value (first weight value) related to the risk tolerance in the most recent time slot (S5000).
[0129] For example, the IT workload control program 8900 sets the inverse of the risk tolerance in the most recent time slot as the first weight value. Note that the method of calculating the first weight value shown here is just an example, and the first weight value can be a monotonically decreasing function of the risk tolerance.
[0130] The IT workload control program 8900 calculates a weight value (second weight value) related to risk tolerance in a time slot subsequent to the most recent time slot (S5010).
[0131] For example, the IT workload control program 8900 sets the second weight to the inverse of the average value of the risk tolerance in the time slots after the most recent time slot. Note that the method of calculating the second weight shown here is just an example, and the second weight can be a monotonically decreasing function of the risk tolerance.
[0132] The IT workload control program 8900 sets the predicted value of power consumption other than the batch workload in the most recent time slot to the variable Po (S5020). Specifically, the IT workload control program 8900 references the time slot table 8200, and sets the value obtained by subtracting the value of the batch power consumption prediction 8250 from the value of the power consumption prediction 8230 of the record related to the most recent time slot to Po.
[0133] The IT workload control program 8900 acquires the batch workload set for the most recent time slot and all batch workloads currently accumulated as queues in the time slot immediately preceding the most recent time slot (S5030). Specifically, the IT workload control program 8900 references the execution schedule 8550 of each record in the workload table 8500, and acquires the record related to the most recent time slot and the record whose queue flag 8580 is "Y".
[0134] The IT workload control program 8900 sorts each batch workload acquired in S5030 in ascending order of delay limit time (earliest order) (S5040). Specifically, the IT workload control program 8900 sorts each record acquired in S5030 in descending order of the delay limit time 8570 of the record related to that time slot, and stores the sorted records.
[0135] Then, the parameter determination program 8700 adds the predicted value of power consumption of each rearranged batch workload to Po in the rearranged order (S5040). Specifically, the parameter determination program 8700 adds the value of the predicted power consumption 8520 of each record rearranged in S5030 to Po in order (batch workloads with the same delay limit time are added to the predicted power consumption value at the same time).
[0136] When Po exceeds the target power consumption value in the addition process of S5040, the parameter determination program 8700 identifies the time slot ts to which the batch workload to which the predicted power consumption value has been added belongs (S5050). As can be seen from the above, there are cases in which multiple batch workloads belong to this time slot ts.
[0137] The parameter determination program 8700 creates one or more sets of batch workloads by dividing the batch workloads belonging to time slot ts into two groups (for example, if the number of batch workloads belonging to time slot ts is three, four sets are created: "0 and 1," "1 and 2," "2 and 1," and "1 and 0") (S5060).
[0138] The parameter determination program 8700 resets Po to the value at S5020 (S5070).
[0139] Next, as shown in FIG. 19, the parameter determining program 8700 selects one of the multiple sets created in S5060 (S5080).
[0140] The parameter determination program 8700 stores the batch workloads of one group in the set selected in S5080 together with batch workloads whose delay limit time is shorter (faster) than the time slot ts as a first group, and stores the batch workloads of the other group in the set selected in S5080 together with batch workloads whose delay limit time is longer (slower) than the time slot ts as a second group (S5090).
[0141] The parameter determination program 8700 determines whether the sum of the power consumption Po of the workloads other than the batch workload and the power consumption of the batch workload of the first group is close to the power consumption target value (S5100).
[0142] For example, the parameter determination program 8700 determines whether the sum of the Po set in S5070 and the power consumption of the batch workload related to the first group (obtained from the power consumption prediction 8520 of the workload table 8500) is greater than or equal to the power consumption target value and less than or equal to (power consumption target value + predetermined error tolerance n%).
[0143] If the sum is close to the power consumption target value (S5100: YES), the parameter determination program 8700 executes the processing of S5110, and if the sum is not close to the power consumption target value (S5100: NO), the parameter determination program 8700 repeats the processing from S5080 onwards to select another set.
[0144] In S5110, the parameter determination program 8700 calculates the value of the evaluation function g, which indicates the severity of deviation of the power consumption of the batch workloads of the first and second groups from the predicted value.
[0145] For example, the parameter determination program 8700 calculates the value of the evaluation function g for the batch workload group acquired in S5080 using the following formula.
[0146] Evaluation function g = (first weight value) × (sum of deviations of the first group) + (second weight value) × (sum of deviations of the second group)
[0147] To calculate the total deviation for the first group, the parameter determination program 8700 calculates the absolute value of the difference between the predicted power consumption value (obtained from the power consumption prediction 8520 of the workload table 8500) for each batch workload belonging to the first group and the past average predicted value or median value of that power consumption (calculated from the power consumption 8620 and probability 8630 of the workload power consumption prediction distribution table 8600), and then adds up the calculated absolute values. The same applies to the total deviation for the second group.
[0148] The evaluation function shown here is just an example, and any function may be used as long as it takes into consideration the tolerance for deviation between predicted values and actual values.
[0149] The parameter determination program 8700 checks whether the value of the evaluation function g has been calculated for all of the workload pairs created in S5060 (S5120). If the value of the evaluation function g has been calculated for all of the workload pairs (S5120: YES), the parameter determination program 8700 executes the processing of S5130, and if there is a workload pair for which the value of the evaluation function g has not been calculated (S5120: NO), the parameter determination program 8700 repeats the processing from S5080 onwards to acquire that workload pair.
[0150] In S5130, the parameter determination program 8700 compares the values of the evaluation function g for each pair of workloads, searches for the pair with the smallest value of the evaluation function g, and identifies the first group and second group associated with this pair.
[0151] Then, the parameter determination program 8700 deploys the batch workloads of the first group identified in S5130 so that they are executed in the nearest time slot (S5140). For example, the parameter determination program 8700 references the workload table 8500, sets the time of the nearest time slot in the post-change execution schedule 8560 of the record related to each batch workload of the first group, and sets "N" in the queue flag 8580.
[0152] Furthermore, the parameter determination program 8700 sets the batch workloads of the second group identified in S5130 to queued (not executed in the nearest time slot) (S5150). For example, the parameter determination program 8700 references the workload table 8500 and sets "Y" to the queue flag 8580 of each record related to each batch workload of the second group. This ends the IT workload control process S22.
[0153] Thereafter, the server system 3000 and the storage system 4000 execute each workload (job) in accordance with the contents of the workload table 8500 (S5160).
[0154] <Workload Migration Information Screen> 20 is a diagram showing an example of a workload migration information screen 13000. The workload migration information screen 13000 includes a pre-migration information display field 13100 that displays a power consumption value 13101 for each time slot in the case where the IT workload control process S22 is not executed (i.e., where the execution timing (time slot) of the batch job is not changed), a post-migration information display field 13200 that displays an actual power consumption value 13102 for each time slot after the IT workload control process S22 is executed, an effect display field 13300 that displays information indicating the effect of executing the IT workload control process S22, a schedule change history display field 13400 that displays information about the batch workload whose execution timing (time slot) has been changed by the IT workload control process S22, and an accept specification field 13500 for closing the workload migration information screen 13000.
[0155] In each of the pre-transition information display field 13100 and the post-transition information display field 13200, a performance value 13103 of the amount of power generated by renewable energy in each time slot is displayed for comparison.
[0156] The effect display column 13300 displays information such as the rate of increase in the renewable energy utilization rate and the rate of decrease in cost per unit time in a predetermined past period, calculated based on the IT workload control process S22.
[0157] The schedule change history display field 13400 displays information 13401 about batch workloads whose execution time slots have been changed by the IT workload control process S22, and information 13402 about batch workloads whose execution slots have been moved from the most recent time slot to a later time slot.
[0158] Although past data is displayed on this workload migration information screen 13000, information (power consumption, etc.) of the batch workload in the most recent time slot to be executed may also be displayed.
[0159] As described above, the workload control support device of this embodiment calculates the target value of power consumption in future time slots based on the predicted values of the delay limit time and power consumption of each workload so as to satisfy the target value of the renewable energy rate and the cost conditions related to the use of renewable energy, determines the timing of execution of each workload in the future time slot based on the calculated target value of power consumption, and executes each workload at the determined timing.
[0160] That is, the workload control support device of this embodiment determines the target value of power consumption taking into consideration the cost and renewable energy rate, and determines the timing of each workload to be executed in a future time slot based on this target value of power consumption. This makes it possible to use renewable energy and execute workloads according to user needs, taking into consideration the cost and renewable energy rate.
[0161] In this way, the workload control assistance device of this embodiment can control each workload executed using renewable energy while taking cost-effectiveness into consideration.
[0162] In addition, the workload control support device of this embodiment accepts from the user a control policy specifying whether to emphasize the renewable energy rate or cost, and if a control policy that emphasizes the renewable energy rate is specified, it identifies a pattern of parameter α that optimizes the renewable energy utilization rate and calculates a target value for power consumption based on the identified pattern.On the other hand, if a policy that emphasizes cost is specified by the user, it identifies parameter α that optimizes the costs associated with the use of renewable energy and calculates a target value for power consumption based on the identified pattern.
[0163] This makes it possible to set appropriate power consumption targets based on the choice of prioritizing cost or the renewable energy rate.
[0164] In addition, when a cost-focused control policy is specified, the workload control support device of this embodiment calculates a target value for power consumption based on a pattern of parameter α that satisfies the user's renewable energy rate target value and optimizes the costs associated with using renewable energy.
[0165] This makes it possible to set a target value for the amount of electricity that emphasizes cost only when the renewable energy ratio target is achieved, thereby ensuring the stable use of renewable energy.
[0166] In addition, the workload control support device of this embodiment creates a pattern of parameter α that satisfies the delay limit time, and calculates the target value of power consumption based on the pattern of parameter α and the predicted value of power consumption so as to satisfy the conditions of renewable energy rate and cost.
[0167] This makes it possible to calculate a predicted value for the amount of power consumption by appropriately allocating the execution timing of each workload that can be delayed.
[0168] In addition, the workload control support device of this embodiment calculates a risk tolerance that indicates the risk due to uncertainty in the predicted power consumption value, and determines the timing of each workload based on that risk tolerance, the difference between the predicted power consumption value and the past power consumption value of each workload, and the target power consumption value.
[0169] This allows the system to set appropriate execution timing for workloads, taking into account the uncertainty of predicted values, and also allows the system to determine the execution timing for workloads, taking into account the risk of discrepancies between predicted and actual power consumption values.
[0170] Furthermore, the workload control assistance device of this embodiment calculates the risk tolerance based on the difference between the predicted value of the amount of power generated from renewable energy and the target value of the amount of power consumption.
[0171] This allows us to take into account the risks arising from the uncertainty of renewable energy generation capacity.
[0172] Furthermore, the workload control assistance device of this embodiment displays information on the timing and power consumption of each workload scheduled for execution, or information on each executed workload and its power consumption.
[0173] This allows the user to check whether the execution timing of the workload has been appropriately determined.
[0174] The present invention is not limited to the above-described embodiments, and can be implemented using any components within the scope of the gist of the present invention. The above-described embodiments and modifications are merely examples, and the present invention is not limited to these contents as long as the features of the invention are not impaired. Furthermore, although various embodiments and modifications have been described above, the present invention is not limited to these contents. Other aspects conceivable within the scope of the technical idea of the present invention are also included within the scope of the present invention.
[0175] For example, some of the functions provided in each device of this embodiment may be provided in another device, or functions provided in another device may be provided in the same device.
[0176] Furthermore, the program configuration described in this embodiment is an example, and for example, part of a program may be incorporated into another program, or multiple programs may be configured as a single program.
[0177] Furthermore, in this embodiment, the delay limit time is used as the executable time, but the executable time may be specifically designated.
[0178] Furthermore, in this embodiment, the workload is a workload in a data center, but the present invention can also be applied to information processing executed in other facilities or networks. [Explanation of symbols]
[0179] 1 Workload Control System 1000 Data Centers 2000 management computer
Claims
1. a processor and a memory; the memory stores predicted values of executable periods and power consumption amounts for each of a plurality of power-consuming workloads scheduled to be executed in a future time period; The processor determines a timing for each workload to be executed in the future time period based on the predicted values of the executable period and the power consumption amount so as to satisfy a condition regarding a utilization rate of renewable energy in power consumption in the future time period and a condition regarding a cost related to power usage. A workload control support device comprising:
2. the processor calculates a target value for the amount of power consumption in the future time period based on the predicted values of the executable period and the amount of power consumption so as to satisfy the utilization rate condition and the cost condition, and determines a timing for executing each workload in the future time period based on the calculated target value for the amount of power consumption; 2. The workload control assistance device according to claim 1.
3. The processor: accepting a parameter designation indicating a policy of which of the utilization rate condition and the cost condition is to be prioritized; When a policy that emphasizes the condition of the utilization rate is specified, a pattern of execution timing of each workload that optimizes the utilization rate of renewable energy is identified, and a target value of the amount of power consumption for the future time period is calculated based on the identified pattern; when a policy that emphasizes the cost condition is specified, identifying a pattern of execution timing of each workload that optimizes the cost related to power usage, and calculating a target value of the amount of power consumption for the future time period based on the identified pattern; The workload control support device according to claim 1 .
4. The processor: When a policy that emphasizes the cost condition is specified, a pattern of execution timing of each workload that satisfies the minimum condition for the renewable energy utilization rate and optimizes the cost related to the use of electricity is identified, and a target value of the amount of power consumption for the future time period is calculated based on the identified pattern.
4. The workload control support device according to claim 3.
5. The processor: creating an execution timing condition for each workload that satisfies the executable period of each workload; calculating a target value of the amount of power consumption for the future time period based on the created execution timing condition and the predicted value of the amount of power consumption so as to satisfy the utilization rate condition and the cost condition; The workload control support device according to claim 2 .
6. the processor calculates a risk tolerance indicating a risk due to uncertainty in the predicted value of the power consumption amount in the future time period using a predetermined algorithm, and determines a timing for executing each workload in the future time period based on the calculated risk tolerance, a difference between the predicted value of power consumption of each workload in the future time period and the past power consumption value of each workload, and the calculated target value of power consumption; The workload control support device according to claim 2 .
7. 7. The workload control support device of claim 6, wherein the processor calculates the risk tolerance based on the difference between a predicted value of power generation amount related to renewable energy in the future time period and the calculated target value of power consumption in the future time period.
8. 2. The workload control support device of claim 1, wherein the processor displays information on the timing and power consumption of each workload to be executed in the determined future time period, or information on each workload that has been executed and the power consumption of each workload.
9. 2. The workload control support device according to claim 1, wherein the processor causes a predetermined device to execute each of the workloads at the determined timing.
10. The information processing device Obtaining predicted values of executable periods and power consumption amounts for each of a plurality of power-consuming workloads scheduled to be executed in a future time period; a workload control process that determines a timing for executing each workload in the future time period based on the obtained predicted values of the executable period and the power consumption amount so as to satisfy a condition of a utilization rate of renewable energy in the power consumption in the future time period and a condition of a cost related to the use of power, and executes each workload at the determined timing; A workload control support method for performing the above.
Citation Information
Patent Citations
Communication terminal, transaction system, display method, and program
JP2021152848A
Energy management system
JP2021193861A