Workload control apparatus and workload control method

The workload control device prioritizes workload execution to meet power reduction demands and maintain pipeline deadlines, addressing the challenge of fluctuating renewable energy supply in machine learning pipelines.

JP2025123786APending Publication Date: 2025-08-25HITACHI LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2024019461
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-02-13
Publication Date
2025-08-25

AI Technical Summary

Technical Problem

When scheduling workloads, especially in machine learning pipelines, the challenge arises when available power decreases, making it difficult to determine if the pipeline deadline can be met if the execution of a workload is stopped.

Method used

A workload control device that manages execution schedules and power consumption, prioritizing workloads that can finish before power reduction periods, and determines execution methods to maintain pipeline deadlines and reduce power consumption.

Benefits of technology

Enables appropriate control of workload execution to meet power reduction demands while ensuring pipeline deadlines are met, reducing CO2 emissions and power consumption.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025123786000001_ABST
    Figure 2025123786000001_ABST
Patent Text Reader

Abstract

To appropriately control workload.SOLUTION: A workload control apparatus stores workload management information, which manages an execution schedule and power consumptions of workloads that configure a pipeline, and reduced power consumption management information, which manages information on the power consumptions that need to be reduced from planned power consumptions and indicates a reduction period and reduction amount of power consumption reduction. The workload control apparatus determines a priority of the workload that is determined to be interrupted or not based on the workload management information and the reduced power consumption management information, and assigns higher priorities to workloads scheduled to be completed before the start of the reduced period than to workloads scheduled to be completed after the start of the reduced period, and determines a method for executing the workloads in the pipeline in the order according to the priorities until the total power consumption of the determined workload reaches the reduction amount.SELECTED DRAWING: Figure 10
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to an apparatus and method for controlling the execution of a workload. [Background technology]

[0002] The power consumption associated with the execution of workloads such as machine learning is increasing, making it necessary to reduce the CO2 emissions associated with power consumption. While CO2 emissions can be reduced by utilizing renewable energy sources such as solar and wind power, the supply of renewable energy fluctuates over time, and research is being conducted into technologies that can schedule workload execution to adapt to the amount of renewable energy supply.

[0003] If the renewable energy supply decreases, it is possible to suspend the execution of workloads, but there is a technology that creates checkpoints so that the workloads can be resumed later from the point where they were suspended.

[0004] Meanwhile, to ensure a stable supply of electricity, electric power companies use demand response (DR) to request that consumers increase or decrease their power consumption, and consumers who respond to DR can receive compensation accordingly. DR can be divided into up-regulation DR, which requests an increase in power consumption, and down-regulation DR, which requests a decrease in power consumption. Furthermore, the electricity generated by DR is purchased by electric power companies or sold on the market, which is called the negawatt market. [Prior art documents] [Non-patent literature]

[0005] [Non-Patent Document 1] Goiri et al., Energy-aware Scheduling in Virtualized Datacenters (2010 IEEE International Conference on Cluster Computing) Summary of the Invention [Problem to be solved by the invention]

[0006] When scheduling workloads, if the available power for the workload decreases, the workload cannot be executed as expected. For example, in machine learning, pipeline processing consisting of multiple workloads is executed, and it is common for a completion deadline to be set for the pipeline. However, if the execution of a workload is stopped, it becomes a challenge to determine whether the pipeline deadline can be met. [Means for solving the problem]

[0007] One aspect of the present invention is a workload control device that controls the execution of a pipeline including one or more workloads that are executed sequentially, the device including one or more processing devices and one or more storage devices, wherein the one or more storage devices store workload management information that manages the execution schedule and power consumption of the workloads that make up the pipeline, and reduced power consumption management information that manages information on power consumption that needs to be reduced from planned power consumption and indicates the period and amount of reduction in power consumption, the one or more processing devices determine the priority of workloads for which interruption is to be determined based on the workload management information and the reduced power consumption management information, give a higher priority to workloads that are scheduled to finish before the start of the reduction period than workloads that are scheduled to finish after the start of the reduction period, and determine the execution method of the workloads in the pipeline in an order according to the priority until the total power consumption of the determined workloads reaches the reduction amount. [Effects of the Invention]

[0008] According to one aspect of the present invention, when it becomes necessary to reduce power consumption during the execution of a workload, the execution of the workload can be appropriately controlled. [Brief explanation of the drawings]

[0009] [Figure 1] FIG. 1 is a diagram illustrating a system configuration for implementing an embodiment of the present invention. [Figure 2A] FIG. 10 is a diagram illustrating the operation of the workload control server. [Figure 2B] FIG. 10 is a diagram illustrating the operation of the workload control server. [Figure 2C] FIG. 10 is a diagram illustrating the operation of the workload control server. [Figure 2D] FIG. 10 is a diagram illustrating the operation of the workload control server. [Figure 3] FIG. 2 is a diagram illustrating an en-route control server. [Figure 4] FIG. 10 is a diagram illustrating a pipeline management table stored in a storage device of the mid-stream control server. [Figure 5] 10 is a diagram illustrating a workload management table stored in a storage device of the mid-stream control server. FIG. [Figure 6] 10 is a diagram illustrating a power consumption schedule table stored in a storage device of the mid-way control server. FIG. [Figure 7] FIG. 10 is a diagram illustrating a workload control table stored in a storage device of the mid-stream control server. [Figure 8] FIG. 10 is a diagram illustrating an allowable discharge table stored in a storage device of the en route control server. [Figure 9] 10 is a diagram illustrating a DR management table stored in a storage device of the mid-route control server. FIG. [Figure 10] 10 is a flowchart showing the operation of an en route control program stored in a storage device of an en route control server. [Figure 11] FIG. 10 is a diagram showing a renewable energy reduction table stored in a storage device of the mid-way control server. [Figure 12] 10 is a flowchart showing the operation of an en route control program stored in a storage device of an en route control server. DETAILED DESCRIPTION OF THE INVENTION [Example]

[0010] 1 is a system configuration diagram for carrying out one embodiment of this specification. A system 100 for carrying out this embodiment includes a data center (DC) 101, a network 102, a power company 104, and a DC operator 105. The DC operator 105 has a workload control server 106, an intermediate control server 107, and network equipment 108. The data center 101 has servers, storage, network equipment, etc., and executes the workload submitted by the DC operator 105. The network 102 is a network such as the Internet.

[0011] The workload control server 106 determines the data center 101 that will execute the workload and the execution time based on the power consumption and execution time of the workload and the predicted value of the renewable energy (renewable energy) supply of the data center 101. The mid-stream control server 107 is a server that controls the suspension of the workload when responding to a downward DR (Demand Response), and its operation will be described later. The network device 108 is a communication device such as a switch or router, and connects the workload control server 106 and mid-stream control server 107 to the network 102.

[0012] 2A to 2D are diagrams for explaining the operation of the workload control server 106. The operation of the workload control server 106 will be explained using a workload schedule 201, a workload 202, and a pipeline 203. One workload 202 is a processing unit by one application, and one pipeline 203 is made up of one or more workloads executed sequentially by one application. The pipeline 203 is used, for example, in the field of machine learning. In this specification, one or more workloads executed sequentially are called a pipeline, and the application is not limited thereto.

[0013] 2A shows an example of a workload schedule 201. The horizontal axis of the graph represents time, the vertical axis represents the total power consumption of the workloads, and each rectangle represents one workload. The workload schedule 201 represents a workload execution plan based on power consumption, which is managed for each data center 101. The workload schedule 201 shows the workloads 202 to be executed at each time and their power consumption.

[0014] FIG. 2B shows an example of a workload 202. The workload 202 is a process executed in one of the data centers 101, and has power consumption and duration as characteristic values. Each workload is identified by a workload ID and managed in a workload management table 500, the contents of which will be described later. The example of FIG. 2B shows that the power consumption of the workload 202 is 100 W and the duration is 2 hours.

[0015] 2C shows an example configuration of a pipeline 203. The pipeline 203 consists of one or more workloads. In the example of FIG. 2, pipeline 1 consists of workloads WL1, WL2, and WL3. Pipeline 2 consists of workloads WL4 to WL7.

[0016] 2D shows an example of planned power consumption 204. The planned power consumption 204 may be configured based on a renewable energy supply forecast. In addition to renewable energy, the planned power consumption may include non-renewable energy other than renewable energy (non-renewable energy) supplied from a power grid, for example. The workload control server 106 determines the data center 101 that will execute the pipeline 203 and the schedule to be executed there, based on the planned power consumption 204, the pipeline 203, and the workloads 202 that constitute it.

[0017] 3 shows an example of the configuration of the en route control server 300. The en route control server 300 includes a processing device 301, a NIC 302, and a storage device 303. The processing device 301 is a device such as a CPU or a microprocessor that reads and executes programs stored in the storage device 303. The processing device 301 may include multiple chips and multiple packages. The NIC 302 is an interface for accessing the network 102 through connection with the network device 108. The en route control server 300 may also include input devices such as a mouse and a keyboard and / or output devices such as a display device and a printer.

[0018] The storage device 303 includes a main storage device and may further include an auxiliary storage device. The main storage device may be, for example, a volatile storage device such as a DRAM, and the auxiliary storage device may be, for example, a non-volatile storage device such as an SSD (Solid State Drive) or an HDD (Hard Disk Drive). The storage device 303 stores a pipeline management table 400, a workload management table 500, a power consumption schedule table 600, a workload control table 700, an allowable discharge amount table 800, a DR management table 900, and an intermediate control program 1000.

[0019] The processing device 301 realizes a predetermined function by executing a program stored in the storage device 303. The storage device 303 stores the program executed by the processing device 301 and data necessary for executing the program. The program is executed by the processing device 301 to perform a predetermined process using the storage device 303 and the NIC 302. Therefore, in this specification, a description using the program as the subject may also be a description using the processing device 301 as the subject. Alternatively, the process executed by a program is a process performed by the computer and computer system on which the program runs.

[0020] The processing device 301 operates according to a program to function as a functional unit (means) that realizes a predetermined function. For example, the processing device 301 functions as a mid-way control unit (mid-way control means) by operating according to the mid-way control program 1000. The computer and the computer system are devices and systems that include functional units.

[0021] 4 shows an example of the configuration of a pipeline management table 400 stored in the storage device 303 of the mid-stream control server 300. The pipeline management table 400 manages information about pipelines to be executed, and is set by a user, for example, before the execution of the pipeline. In the example configuration shown in FIG. 4, the pipeline management table 400 includes a pipeline ID 401, a workload ID 402, a previous workload ID 403, and a deadline 404.

[0022] The pipeline ID 401 is an identifier for identifying the pipeline. The workload ID 402 is an identifier for identifying the workloads that make up the pipeline. The previous workload ID 403 is the workload ID of the workload that is executed immediately before the corresponding workload. The deadline 404 indicates the deadline for the corresponding pipeline.

[0023] In Figure 4, for example, this means that a pipeline with a pipeline ID of "1" is made up of workloads with workload IDs "1," "2," and "3," and the workload immediately preceding the workload with workload ID "2" is the workload with workload ID "1." This also means that the deadline for the pipeline with pipeline ID "1" is 15:00 on February 1st.

[0024] 5 shows an example of the configuration of a workload management table 500, which is workload management information stored in the storage device 303 of the mid-stream control server 300. The workload management table 500 manages information about the workloads that make up the pipelines managed by the pipeline management table 400. The workload management table 500 includes a workload ID 501, power consumption 502, duration 503, estimated start time 504, predicted remaining time 505, end time 506, and status 507.

[0025] The workload ID 501 is an identifier for identifying a workload. The ID of each workload indicated by the workload ID 501 matches the ID indicated by the workload ID 402 in the pipeline management table 400. The power consumption 502 is the power consumption of the corresponding workload. The duration 503 is the time required for the corresponding workload. The power consumption 502 and the duration 503 are set in advance by the user, for example.

[0026] The scheduled start time 504 is the time when the corresponding workload is scheduled to start execution. The value of the scheduled start time 504 is determined by the workload control server 106. The workload control server 106 can determine the scheduled start time of the workload based on the scheduled power consumption of the data center shown in FIG. 6. The workloads are scheduled so that the total power consumption of the workloads does not exceed the scheduled power consumption of each slot. Note that the method of scheduling workloads is widely known, and details will be omitted here.

[0027] The predicted remaining time 505 is a predicted value of the execution time remaining until the corresponding workload is completed. This value is provided by the workload control server 106. The prediction method is widely known, so details will be omitted. The end time 506 is the time when the corresponding workload actually ends.

[0028] State 507 is the state of the corresponding workload. Its initial value is "Undetermined." When the scheduled start time of the workload is registered, the state changes to "Waiting." The state further changes to "Running" when the workload starts to run, and to "Completed" when it finishes.

[0029] For example, the top record in Figure 5 indicates that the workload with workload ID "1" consumes 80W of power, lasts for 2 hours, has a scheduled start time of 8:00, has a predicted remaining time of 0, ends at 10:00, and is in the "Completed" state.

[0030] 6 shows a power consumption schedule table 600 stored in the storage device 303 of the mid-way control server 300. The power consumption schedule table 600 is information for managing the renewable energy power consumption of the data center 101, and is determined and registered by an administrator based on a predicted value of the renewable energy supply amount. The consumed power may include non-renewable energy as well as supplied renewable energy.

[0031] The power consumption schedule table 600 consists of slots 601 and power consumption schedule 602. Slots 601 represent time periods divided into one-hour units, and "02 / 01 00" represents the time period from 00:00 to 01:00 on date 02 / 01. Power consumption schedule 602 represents the amount of power (for example, in kWh) that is scheduled to be consumed in the corresponding slot. In FIG. 6, this means that the power consumption schedule for slot "02 / 01 00" is "4," and the power consumption schedule for slot "02 / 01 10" is "12."

[0032] 7 shows a workload control table 700 stored in the storage device 303 of the mid-stream control server 300. The workload control table 700 manages information on a workload control method in response to an event related to a reduction in power consumption, such as a decrease in renewable energy supply or a received downward DR request (a request to reduce power consumption), after the execution schedule of the workload has started.

[0033] 7, the workload control table 700 includes a determination time 701, a workload ID 702, an amount of power consumption reduction (W) immediately after 703, a control content 704, and a priority 705. The determination time 701 indicates the content of each record, i.e., the time when the workload control method was determined. The workload ID 702 indicates the identifier of the workload.

[0034] The immediate power consumption reduction range 703 indicates the amount of reduction in power consumption when a workload is stopped. In this example, the amount of reduction in power consumption matches the power consumption of that workload. The control content 704 indicates the control content (execution method) determined for each workload. The priority 705 indicates the record in the workload control table 700, that is, the priority of control execution determined for the workload. The control content and priority will be described in detail later.

[0035] 8 shows an example of the configuration of an allowable emission amount table 800 stored in the storage device 303 of the en route control server 300. The allowable emission amount table 800 is management information for allowable carbon dioxide emission, and is made up of remaining allowable emission amounts 801. The remaining allowable emission amount 801 indicates the remaining amount of greenhouse gas emission allowed per day, for example. The unit may be a period of other length than one day, and one or more types of gases other than carbon dioxide may be the target.

[0036] The amount of gas emissions allowed per day is set in advance. The amount of gas emissions is calculated by performing a calculation using a predetermined emission coefficient on the excess consumption of non-renewable energy compared to the planned power consumption at each time shown in the power consumption plan table 600. The remaining allowable emissions are calculated by subtracting the amount of gas emissions from the current value.

[0037] 9 shows an example of the configuration of a DR management table 900 stored in the storage device 303 of the mid-stream control server 300. The DR management table 900 is reduced power consumption management information that manages information on power consumption that needs to be reduced from the planned power consumption, and manages received DR requests. In the example configuration shown in FIG. 9, the DR management table 900 includes a DR ID 901, a start time 902, a reduction range 903, a response time 904, and an end time 905.

[0038] DR ID 901 is an ID that identifies a DR (request). Start time 902 indicates the start time of the corresponding DR. Reduction range 903 indicates the reduction range specified for the corresponding DR. Response time 904 indicates the response time specified for the corresponding DR, that is, the time from the request to the start time of power consumption reduction. End time 905 indicates the end time specified for the corresponding DR, that is, the time at which power consumption may be increased.

[0039] 9, the top record indicates that the DR start time for DR ID “1” is 12:00, the reduction amount is 100 W, and the response time is 600 seconds. When the mid-course control program 1000 receives a DR request from the power company 104 or the market, it writes the corresponding information into the DR management table 900.

[0040] In the example described below, a downward DR means a request for the supply (consumption) of renewable energy, that is, a decrease in the amount of renewable energy supplied. Furthermore, it is assumed that the data center can receive non-renewable energy from a power supplier different from the power supplier that received the request. Whether or not the power from an external power supplier is renewable energy can be determined, for example, by an electricity certificate.

[0041] 10 is a flowchart showing an example of the operation of the mid-course control program 1000 stored in the storage device 303 of the mid-course control server 300. The mid-course control program 1000 updates the DR management table 900 (1014) upon receiving a request for a downward DR of renewable energy (1013). That is, the received information on the downward DR is registered in a new record in the DR management table 900.

[0042] Next, the mid-process control program 1000 selects a workload whose status 507 is "running" in the workload management table 500 (1001). The mid-process control program 1000 predicts the amount of power consumption reduction to be performed immediately after the selected workload and the remaining processing time from the information in the workload management table 500 (1002). Here, it is assumed that the amount of power consumption reduction to be performed immediately after the selected workload matches the value in the power consumption 502, and that the remaining processing time matches the value in the predicted remaining time 505.

[0043] The mid-stream control program 1000 compares the value indicated by the response time 904 in the DR management table 900 with the remaining processing time, and determines whether the processing of the selected workload will be completed within the response time (1003). If it is determined that the processing will be completed within the response time (1003: YES), the mid-stream control program 1000 updates the control content 704 of the corresponding workload ID in the workload control table 700 to "do nothing" and the priority 705 to "100" (1004). The priority can be expressed as any value that can indicate the order of priority. As a result, a workload that is scheduled to be completed within the response time (by the start time) is given a higher priority than other workloads.

[0044] If it is determined that the processing of the selected workload will not be completed within the response time (1003: NO), the mid-process control program 1000 determines whether the pipeline will be completed in time for its deadline if the workload is stopped (1005). The deadline for the pipeline is indicated in the deadline 404 of the pipeline management table 400.

[0045] Specifically, the mid-process control program 1000 references the pipeline management table 400 to obtain information about the pipeline to which the selected workload belongs. The mid-process control program 1000 obtains the duration of each workload scheduled to be executed after the selected workload from the duration 503 in the workload management table 500.

[0046] The mid-stream control program 1000 calculates the predicted remaining time when the selected running workload is stopped after the specified response time has elapsed, and further calculates the predicted remaining time of the pipeline by adding the duration of each workload scheduled to be executed. The mid-stream control program 1000 compares the time when the predicted remaining time of the pipeline has elapsed from the end time of the DR with the deadline of the pipeline. The end time of the DR is indicated in the end time 905 of the DR management table 900, and the deadline of the pipeline is indicated in the deadline 404 of the pipeline management table 400. From the result of this comparison, it can be determined whether the completion of the pipeline will meet the deadline.

[0047] If it is determined that the pipeline will complete within its deadline, i.e., that the pipeline deadline can be maintained (1005: YES), the mid-stream control program 1000 sets the control content 704 of the corresponding workload ID in the workload control table 700 to "checkpoint creation and interruption" and the priority 705 to "90" (1006).

[0048] If it is determined that the pipeline will not be completed within the deadline (1005: NO), the mid-process control program 1000 compares the CO2 emissions of the corresponding workload with the remaining allowable CO2 emissions (1007). The calculation of the CO2 emissions of the workload assumes that the workload is executed using non-renewable energy. The mid-process control program 1000 calculates the CO2 emissions of the workload from the predicted remaining time if the workload is executed until the response time has elapsed, its power consumption, and a preset function. The remaining allowable CO2 emissions are shown in the allowable emission table 800.

[0049] If the calculated CO2 emission amount of the workload is smaller than the remaining allowable CO2 emission amount (1007: YES), the mid-stream control program 1000 sets the control content 704 of the corresponding workload ID in the workload control table 700 to "do nothing" and the priority 705 to "30" (1008). This allows the workload to be executed within the allowable CO2 emission amount and the pipeline deadline.

[0050] If the CO2 emissions of the corresponding workload are not smaller than the remaining allowable CO2 emissions (1007: NO), the mid-stream control program 1000 sets the control content 704 of the corresponding workload ID in the workload control table 700 to "checkpoint creation and interruption" and the priority 705 to "10" (1009). This makes it possible to comply with the limit on the allowable CO2 emissions.

[0051] The mid-process control program 1000 sets the status 507 in the workload management table 500 for the workload for which the above processing has been performed to "determined" (1010). If there are other workloads whose status 507 in the workload management table 500 is "in progress" (1011: YES), the program returns to the processing of step 1001.

[0052] If there is no workload with the status 507 set to "RUNNING" in the workload management table 500 (1011: NO), the mid-course control program 1000 references the workload control table 700 and selects a workload with a high priority 705 so that the reduction is equal to or greater than the requested reduction range 903 for DR (1012). In this way, the execution method for the workloads is determined in order of priority until the total power consumption of the determined workloads reaches the reduction amount (requested reduction range). This reduces the possibility of the pipeline exceeding its deadline while also reducing CO2 emissions.

[0053] For example, if the mid-process control program 1000 receives a down DR while a workload with workload ID "2" is being executed and performs "checkpoint creation / interruption" control for this workload, it can reduce the power consumption thereafter.

[0054] The workload execution control method described with reference to Fig. 10 refers to several criteria in determining the priority of the determination order, but some of these criteria may be omitted. For example, the determination regarding the CO2 emissions amount or the pipeline deadline may be omitted, and the determination regarding the completion of the workload within the response time may be omitted. This point is the same in the embodiment. [Example]

[0055] In the first embodiment, the operation of the mid-course control program 1000 for responding to a downward DR request has been described. As another example, a similar response can be described for a case where the renewable energy supply amount is lower than predicted. In this embodiment, a renewable energy reduction table 1100 is used instead of the DR management table 900. In the following, for example, it is assumed that there is a renewable energy supplier to the data center that is different from the electric power company or the general power grid. The renewable energy supply amount is predicted for the renewable energy supply amount from this renewable energy supplier. It is also assumed that non-renewable energy can be supplied from the electric power company or the power grid to make up for the power shortage.

[0056] FIG. 11 shows an example of the configuration of a renewable energy reduction table 1100. The renewable energy reduction table 1100 is reduced power consumption management information that manages information on power consumption that needs to be reduced from planned power consumption, and manages predicted reductions in renewable energy supply. The renewable energy reduction table 1100 includes a renewable energy reduction ID 1101, a start time 1102, a reduction range 1103, and an end time 1104. The renewable energy reduction ID 1101 indicates the identifier of the predicted renewable energy reduction, that is, the ID of the record in the table. The start time 1102 indicates the predicted start time of the renewable energy reduction. The reduction range 1103 indicates the predicted value of the renewable energy reduction. The end time 1104 indicates the predicted end time of the renewable energy reduction.

[0057] Various methods for predicting the amount of renewable energy supply are known, and any of these methods may be used. For example, the amount of renewable energy supply can be predicted based on past history, weather forecasts, measured values ​​of climate information, etc.

[0058] Fig. 12 is a flowchart showing an example of the operation of the mid-course control program 1000 stored in the storage device 303 of the mid-course control server 300. The following mainly explains the differences from the processing in response to a request for a downward DR shown in Fig. 10. The mid-course control program 1000 updates the renewable energy reduction table 1100 (1214) when a prediction of a decrease in the renewable energy supply amount is made (1213). The renewable energy supply amount changes, for example, depending on environmental changes. Various methods are known for predicting a decrease in the renewable energy supply amount, and details will not be given here.

[0059] Steps 1201 and 1202 are the same as steps 1001 and 1002. In step 1203, the mid-course control program 1000 compares the value indicated by the start time 1102 in the renewable energy reduction table 1100 with the remaining processing time of the workload, and determines whether the processing of the selected workload will be completed by the start time (1203).

[0060] If it is determined that the processing will be completed by the predicted renewable energy decrease start time (1203: YES), the mid-course control program 1000 updates the control content 704 of the corresponding workload ID in the workload control table 700 to "do nothing" and the priority 705 to "100" (1204). The priority can be expressed by any value that can indicate the order of priority.

[0061] If it is determined that the processing of the selected workload will not be completed by the renewable energy decrease predicted start time (1203: NO), the mid-course control program 1000 determines whether the completion of the pipeline will meet its deadline if the corresponding workload is stopped (1205). The deadline of the pipeline is indicated in the deadline 404 of the pipeline management table 400.

[0062] The mid-process control program 1000 references the pipeline management table 400 to obtain information about the pipeline to which the selected workload belongs. The mid-process control program 1000 obtains the duration of each workload scheduled to be executed after the selected workload from the duration 503 in the workload management table 500.

[0063] The mid-stream control program 1000 calculates the predicted remaining time when the selected running workload is stopped from the predicted renewable energy reduction start time, and further calculates the predicted remaining time of the pipeline by adding the duration of each workload scheduled to be executed. The mid-stream control program 1000 compares the time when the predicted remaining time of the pipeline has elapsed from the predicted renewable energy reduction end time with the deadline of the pipeline. The predicted renewable energy reduction end time is indicated in the end time 1104 of the renewable energy reduction table 1100, and the deadline of the pipeline is indicated in the deadline 404 of the pipeline management table 400. From the result of this comparison, it can be determined whether the pipeline will be completed in time for the deadline.

[0064] If it is determined that the pipeline will be completed within the deadline (1205: YES), the mid-stream control program 1000 sets the control content 704 of the corresponding workload ID in the workload control table 700 to "checkpoint creation and interruption" and the priority 705 to "90" (1206).

[0065] If it is determined that the pipeline will not be completed within the deadline (1205: NO), the mid-process control program 1000 compares the CO2 emissions of the corresponding workload with the remaining allowable CO2 emissions (1207). The calculation of the CO2 emissions of the workload assumes that the workload will be executed using non-renewable energy. The mid-process control program 1000 calculates the CO2 emissions of the workload from the predicted remaining time if the workload is executed until the predicted renewable energy reduction start time, its power consumption, and a preset function. The remaining allowable CO2 emissions are shown in the allowable emission table 800.

[0066] If the calculated CO2 emission amount of the workload is smaller than the remaining allowable CO2 emission amount (1207: YES), the mid-stream control program 1000 sets the control content 704 of the corresponding workload ID in the workload control table 700 to "do nothing" and the priority 705 to "30" (1208). This allows the workload to be executed within the allowable CO2 emission amount and the pipeline deadline.

[0067] If the CO2 emissions of the corresponding workload are not smaller than the remaining allowable CO2 emissions (1207: NO), the mid-stream control program 1000 sets the control content 704 of the corresponding workload ID in the workload control table 700 to "checkpoint creation and interruption" and the priority 705 to "10" (1209). This makes it possible to comply with the limit on the allowable CO2 emissions.

[0068] The mid-process control program 1000 sets the status 507 in the workload management table 500 for the workload for which the above processing has been performed to "determined" (1210). If there are other workloads whose status 507 in the workload management table 500 is "in progress" (1211: YES), the process returns to step 1201.

[0069] If there is no workload with the status 507 set to "Running" in the workload management table 500 (1211: NO), the mid-course control program 1000 refers to the workload control table 700 and selects a workload with a high priority 705 (1212) so that the reduction in the amount of renewable energy supply is equal to or greater than the reduction range 1103. This reduces the possibility of the pipeline exceeding its deadline while also reducing CO2 emissions. [Example]

[0070] In the first embodiment, in the operation of the mid-process control program 1000 shown in FIG. 10, the control priorities set in steps 1004, 1006, and 1008 are fixed values. As another example, priorities can be set in advance for each pipeline user. Each user can request the system to execute one or more pipelines, and can further specify the priority of workload control for those pipelines. This embodiment can also be applied to the second embodiment.

[0071] The present invention is not limited to the above-described embodiments and includes various modifications. For example, the above-described embodiments have been described in detail to clearly explain the present invention, and the present invention is not necessarily limited to those including all of the described configurations. Furthermore, it is possible to replace part of the configuration of one embodiment with the configuration of another embodiment, or to add the configuration of another embodiment to the configuration of one embodiment. Furthermore, it is possible to add, delete, or replace part of the configuration of each embodiment with other configurations.

[0072] Furthermore, the above-mentioned components, functions, processing units, etc. may be realized in part or in whole by hardware, for example, by designing them as integrated circuits. Furthermore, the above-mentioned components, functions, etc. may be realized in software by a processor interpreting and executing a program that realizes each function. Information such as the programs, tables, and files that realize each function can be stored in memory, a storage device such as a hard disk or SSD, or a storage medium such as an IC card or SD card.

[0073] In addition, the control lines and information lines shown are those that are considered necessary for the explanation, and do not necessarily show all the control lines and information lines in the product. In reality, it can be assumed that almost all components are interconnected. [Explanation of symbols]

[0074] 300 Intermediate control server 301 Processing equipment 303 Storage device 400 Pipeline Management Table 500 Workload Management Tables 600 Power Consumption Schedule Table 700 Workload Control Table 800 Allowable Emissions Table 900 DR Management Table 1000 Mid-way control program

Claims

1. 1. A workload control device for controlling execution of a pipeline including one or more workloads that are executed sequentially, comprising: one or more processing devices; one or more storage devices; The one or more storage devices include: workload management information for managing the execution schedule and power consumption of the workloads that make up the pipeline; storing reduced power consumption management information that manages information on power consumption that needs to be reduced from the planned power consumption and indicates a period for reducing power consumption and the amount of reduction; The one or more processing devices, based on the workload management information and the reduced power consumption management information, determining a priority of workloads for which interruption is to be determined, and giving a higher priority to workloads that are scheduled to finish by the start of the reduction period than to workloads that are scheduled to finish after the start of the reduction period; The workload control device determines an execution method for the workloads in the pipeline in the order according to the priority until the total power consumption of the determined workloads reaches the reduction amount.

2. 2. The workload control device of claim 1, The need to reduce power consumption stems from a demand response request to reduce power consumption, The workload that will be completed by the start of the reduction period is a workload that will be completed within a response time of the demand response, The workload control device determines that the execution method of a workload for which processing is completed within a response time of the demand response is to be maintained without change.

3. 2. The workload control device of claim 1, Among workloads scheduled to finish after the start of the reduction period, workloads that can maintain the pipeline deadline by being interrupted during the reduction period are given a higher priority than workloads that cannot maintain the pipeline deadline by being interrupted during the reduction period; The workload control device determines that the execution method is to suspend, within the reduction period, a workload whose suspension within the reduction period allows the deadline of the pipeline to be maintained.

4. 4. The workload control device according to claim 3, the one or more storage devices store management information of allowable carbon dioxide emissions; The workload control device determines that the execution method is to execute the workload without interruption if the carbon dioxide emission of the workload, which would make it impossible to maintain the pipeline deadline if it is interrupted during the reduction period, satisfies the conditions of the allowable emission.

5. 2. The workload control device of claim 1, The workload control device, wherein the reduced power consumption management information indicates information based on a predicted decrease in the supply of renewable energy.

6. 2. The workload control device of claim 1, The workload control device determines that the execution method is to maintain, without change, the execution method of the workload that will be completed by the start of the reduction period.

7. 1. A method of workload control by an apparatus for controlling execution of a pipeline including one or more workloads executed sequentially, comprising: The device comprises: workload management information for managing the execution schedule and power consumption of the workloads that make up the pipeline; storing reduced power consumption management information that manages information on power consumption that needs to be reduced from the planned power consumption and indicates a period for reducing power consumption and the amount of reduction; The workload control method includes: the device determines a priority of workloads for which interruptions are to be determined, and gives a higher priority to workloads that finish before the start of the reduction period than to workloads that do not finish before the start of the reduction period; The workload control method includes the device determining an execution control method for workloads in the pipeline in order according to the priority until a total of the determined power consumptions of the workloads reaches the reduction amount.