Control program, control device, and control method

The control program optimizes job scheduling across heterogeneous environments by leveraging software, hardware, and location data to enhance efficiency and reduce costs while considering environmental impact.

JP7892971B2Active Publication Date: 2026-07-22FUJITSU LTD
View PDF 5 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
FUJITSU LTD
Filing Date
2021-12-07
Publication Date
2026-07-22

AI Technical Summary

Technical Problem

Existing job allocation systems in heterogeneous multiple environments fail to optimize job scheduling across different hardware configurations and locations, leading to inefficiencies and increased costs.

Method used

A control program and device that utilize software, hardware, and location information to learn and optimize job scheduling across multiple sites, considering factors like hardware efficiency, user requirements, and environmental impact.

Benefits of technology

Provides optimal job scheduling that meets user requirements, reduces costs, and minimizes environmental footprint by balancing task assignments across diverse hardware and locations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007892971000001
    Figure 0007892971000001
  • Figure 0007892971000002
    Figure 0007892971000002
  • Figure 0007892971000003
    Figure 0007892971000003
Patent Text Reader

Abstract

To provide optimal job scheduling considering a different environment in each base.SOLUTION: When scheduling of a job in a plurality of hardware 10 located at a plurality of bases is executed, software information on a plurality of tasks, hardware information on the plurality of hardware 10 and base information on the plurality of bases included in the job are acquired, and which task in the inputted job is allocated to which hardware 10 is determined by using a result of learning based on the acquired software information, hardware information and base information.SELECTED DRAWING: Figure 4
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a control program, a control device, and a control method.

Background Art

[0002] Supercomputers are installed in universities and various research institutions, contributing to the development of academia and industry.

[0003] There is a system that uses supercomputers installed at multiple sites to utilize various data for calculations. The allocation of jobs between sites is optimized using software information.

Prior Art Documents

Patent Documents

[0004]

Patent Document 1

Patent Document 2

Summary of the Invention

Problems to be Solved by the Invention

[0005] However, in order to use the optimal hardware for simulations in various fields, it is assumed that the hardware configuration will be in a "heterogeneous" multiple environments. In such a heterogeneous environment, there is a possibility that job allocation between sites cannot be optimized only with software information.

[0006] On one aspect, an object is to provide optimal job scheduling considering different environments for each site.

Means for Solving the Problems

[0007] In one aspect, the control program obtains software information about the tasks included in the job, hardware information about the hardware, and location information about the locations from a computer that performs job scheduling between multiple hardware located at multiple sites, and then performs the following at each of the multiple sites based on the obtained software information, hardware information, and location information. A learning model obtained by accumulating the calculation results in the learning model and updating the learning model. This process is used to determine which tasks from the submitted jobs should be assigned to which hardware. [Effects of the Invention]

[0008] In one respect, it can provide optimal job scheduling that takes into account the different environments at each location. [Brief explanation of the drawing]

[0009] [Figure 1] This graph shows the changes in fees for using the system in related technologies and embodiments. [Figure 2] This is a block diagram that schematically illustrates the job execution process in the embodiment. [Figure 3] This table illustrates an example of software information, hardware information, and location information in an embodiment. [Figure 4] This is a block diagram schematically showing an example of the hardware configuration of an information processing system in an embodiment. [Figure 5] This is a flowchart illustrating the optimization architecture for job scheduling processing in the embodiment. [Figure 6] This is a table showing a first example of user input information in the embodiment. [Figure 7] This is a table showing a first example of user job analysis information in the embodiment. [Figure 8] This is a table showing a first example of the job scheduling information presented in the embodiment. [Figure 9]A table showing a second example of user input information in an embodiment. [Figure 10] A table showing a second example of user job analysis information in an embodiment. [Figure 11] A table showing a second example of job scheduling presentation information in an embodiment. [Figure 12] A block diagram schematically showing an example of the hardware configuration of a multi-site job scheduler in an embodiment.

Best Mode for Carrying Out the Invention

[0010] 〔A〕Embodiment Hereinafter, an embodiment will be described with reference to the drawings. However, the embodiments shown below are merely examples, and there is no intention of excluding various modifications and applications of technologies not explicitly stated in the embodiments. That is, the present embodiment can be variously modified and implemented without departing from its gist. Also, each figure does not mean that it includes only the components shown in the figure, and can include other functions and the like.

[0011] Hereinafter, in the figures, since the same reference numerals indicate the same parts, the description thereof will be omitted.

[0012] FIG. 1 is a graph showing changes in fees for system use in related art and embodiments.

[0013] In the related example indicated by reference numeral A1, since it is the efficiency improvement of job scheduling using only software information in the same hardware, for example, the fee paid by the user for system use is determined by the simulation time.

[0014] For example, information such as the power and computing time used in the simulation, and information such as the cooling power required for the simulation require hardware information and site information. In particular, in order to perform optimization among multiple sites, it is necessary to utilize different hardware information and site information (or rather, facility information) for each site to satisfy user requirements (or rather, user usability) and the hardware efficiency of the service provider.

[0015] Also, for example, if the same hardware is used, the axis of execution performance can be omitted and a fee system according to the simulation time can be established. On the other hand, if the hardware is different, the performance becomes non-uniform, so the axis of execution performance increases and becomes three-dimensional. Furthermore, when it comes to different sites, the cooling methods and equipment are different, so it is necessary to consider by correcting the previous parameters.

[0016] In the embodiment shown by reference sign A2, the job is decomposed into tasks and each task is executed on various hardware. Therefore, the fee for using the system is represented by a three-dimensional graph in which, in addition to the axis of the simulation time, the axis of which hardware the task was executed on, that is, the axis of the execution performance of the hardware, is added.

[0017] In the embodiment shown by reference sign A3, since each job is executed at a plurality of sites, a coefficient (α) for reflecting various different states for each site is applied to the three-axis parameters shown by reference sign A2. Also, when executing a job between sites, an architecture that improves the efficiency of data transfer becomes important.

[0018] FIG. 2 is a block diagram schematically explaining the execution process of a job in the embodiment.

[0019] In the embodiment, the job is scheduled in consideration of software information, hardware information, and site information. At that time, each task is arranged so as to maximize the hardware efficiency based on user requirements (or rather, user usability).

[0020] The job scheduler shown in code B1 schedules jobs A, B, and C. When job A is submitted, it is broken down into tasks A, B, and C, which have interdependent relationships, and these tasks are executed in sequence, as shown in codes B2 to B4.

[0021] In the example shown by symbol B2, Task A is executed on hardware A, and once it reaches a runnable state, it transitions between the runnable state and the running state. Alternatively, Task A may transition from the running state to a waiting state and then back to the runnable state, and then transition again between the runnable state and the running state. When Task A completes its execution, it transitions to the state where Task A has finished.

[0022] As shown by symbols B3 and B4, task B is processed in hardware B, and task C is processed in hardware C, in the same way as task A shown by symbol B2.

[0023] The job scheduling performed by the job scheduler shown in symbol B1 may utilize hardware information, location information, and software information obtained via the compiler or runtime.

[0024] Figure 3 is a table illustrating an example of software information, hardware information, and location information in the embodiment.

[0025] Software information may include the critical path, instruction-level cycle count, task dependencies, and task execution time. The critical path, instruction-level cycle count, and task dependencies may be obtained from the compiler. Task execution time may be obtained from the runtime.

[0026] When obtaining software information, it is advisable to consider the dependencies of each module during the make process, their relationships with the libraries used, and the dependencies between execution tasks.

[0027] When making a build, assume that the dependencies of the four source files Source0.cpp, Source1.cpp, Source2.cpp, and Source3.cpp are "Source0.cpp: Source1.cpp, Source2.cpp" and "Source1.cpp:Source2.cpp". If Source1.cpp is modified, only Source2.cpp needs to be recompiled; Source0.cpp and Source1.cpp do not need to be recompiled.

[0028] Regarding the relationship with the libraries used, the software information should be optimized for the libraries used at execution time.

[0029] Regarding dependencies between execution tasks, each task may sequentially use the results of previously executed tasks, and dependencies may arise such as a subsequent task using a file output by a previous task.

[0030] Hardware information may include performance information of the hardware 10 on which tasks are executed, such as the CPU / GPU / FPGA, memory type / performance information, storage type / performance information, CPU-memory performance information, and CPU-storage performance information. Each piece of information included in the hardware information may be obtained from the Operating System (OS), Baseboard Management Controller (BMC), or measurement results database. Note that CPU is an abbreviation for Central Processing Unit, GPU is an abbreviation for Graphics Processing Unit, and FPGA is an abbreviation for Field Programmable Gate Array.

[0031] Site information may include network performance information between nodes, cooling power, network performance information between sites including user site 5, service charges, and site contribution information to Sustainable Development Goals (SDGs), such as CO2 emissions and self-generation ratio. Network performance information between nodes may be obtained from the OS, BMC, or measurement results database. Cooling power, service charges, and site contribution information to SDGs may be obtained from the facility management system. Network performance information between sites may be obtained from the performance results database or the facility management system.

[0032] Figure 4 is a schematic block diagram showing an example of the hardware configuration of the information processing system 100 in the embodiment.

[0033] The information processing system 100 illustrated in Figure 4 comprises multiple locations A to C and a user location 5, which are connected to each other by an inter-location network.

[0034] User site 5 issues a job to perform any calculation using at least one of sites A through C.

[0035] Each site A to C is equipped with multiple hardware devices 10, site job schedulers 3, and cooling devices 4 to execute tasks. In the example shown in Figure 4, site A is equipped with hardware A, site A job scheduler, and cooling device A to execute task A; site B is equipped with hardware B, site B job scheduler, and cooling device B to execute task B; and site C is equipped with hardware C, site C job scheduler, and cooling device C to execute task C.

[0036] In the example shown in Figure 4, site B is equipped with a multi-site job scheduler 2 (in other words, a control device). The multi-site job scheduler 2 functions as an optimization unit 20 for optimizing task scheduling between multiple sites. Note that the multi-site job scheduler 2 may also be provided at site A or site B.

[0037] The optimization unit 20 acquires software information about multiple tasks included in the job, hardware information about multiple hardware devices 10, and site information about multiple locations. Using the learning results based on the acquired software information, hardware information, and site information, the optimization unit 20 determines which task from the submitted job should be assigned to which hardware device 10.

[0038] The branch job scheduler 3 schedules jobs within its own branch.

[0039] The cooling device 4 cools multiple hardware devices 10 within its own site.

[0040] In the example shown in Figure 4, hardware A at site A includes a CPU 11, memory 12, storage 13, and a network interface (IF) 14. Hardware B at site B includes a CPU 11 and memory 12, as well as General-Purpose computing on Graphics Processing Units (GPGPU) 11a and other memory 12 corresponding to the GPGPU 11a. Hardware C at site C includes a CPU 11 and memory 12, as well as an FPGA 11b. In other words, each hardware A to C at sites A to C may have a different hardware configuration.

[0041] The optimization architecture for the job scheduling process in this embodiment will be explained using the flowchart (steps S1-S5, S11-S13) shown in Figure 5. Steps S1-S5 show the optimization architecture for inference, and steps S11-S13 show the optimization architecture for learning.

[0042] In the inference optimization architecture, when a user request is received, the optimization unit 20 determines whether the user request is a learned request parameter (step S1).

[0043] If the user request is not one of the learned request parameters (see No route in step S1), the optimization unit 20 learns new user request parameters obtained by the learning optimization architecture (step S1).

[0044] On the other hand, if the user request is a learned request parameter (see Yes route in step S1), the optimization unit 20 refers to the learning model 101, the inference model 102, the user benefit 103, and the business benefit 104. Then, based on the information it has referred to, the optimization unit 20 calculates multiple cases for job scheduling (step S2).

[0045] The optimization unit 20 presents the user with several calculated scheduling cases (cases A to C in the example shown in Figure 5) (step S3).

[0046] The optimization unit 20 passes the case selected by the user from among the multiple cases presented to the branch job scheduler 3 at each branch (step S4).

[0047] The optimization unit 20 executes jobs at each location and stores the execution results in the learning model 101 (step S5). Then the inference optimization architecture is completed.

[0048] In the learning optimization architecture, the optimization unit 20 acquires user request parameters, user job analysis information, software information, hardware information, and site information (step S11). The user job analysis information may include execution commands, applications, number of tasks, and data size.

[0049] The optimization unit 20 repeatedly performs calculations based on multiple parameters on each piece of hardware 10 at each site (step S12).

[0050] The optimization unit 20 stores the calculation results from each site in the learning model 101 used in the inference optimization architecture and updates the learning model 101 (step S13). Then the learning optimization architecture is completed.

[0051] Figure 6 is a table showing a first example of user input information in the embodiment. Figure 7 is a table showing a first example of user job analysis information in the embodiment. Figure 8 is a table showing a first example of job scheduling presentation information in the embodiment.

[0052] In the user input information shown in Figure 6, a cost of 50,000 yen is entered, the desired job completion date (in other words, the execution time) is 8 hours (28,800 seconds), and a series of execution commands to perform Molecular Dynamics (MD) calculations using the molecular dynamics software GROMACS are entered.

[0053] In the user job analysis information shown in Figure 7, the execution command is broken down into multiple tasks A to E, and the execution time and cost (in yen) for each task are calculated for each piece of hardware 10 at each location (hardware A at location A, hardware B at location B, and hardware C at location C).

[0054] The job scheduling information shown in Figure 8 displays the total cost (yen) and total time (sec) for each task A to E, when each task is executed on hardware 10 at any of the locations.

[0055] In the example shown in Figure 8, in case A, where cost is the priority, the cost is 40,076 yen and the time is 28,835 seconds (8 hours, 0 minutes, 35 seconds). In case B, which is an AND condition between cost and execution time, the cost is 40,944 yen and the time is 28,710 seconds (7 hours, 58 minutes, 30 seconds). In case C, where job execution time is the priority, the cost is 118,750 yen and the time is 14,330 seconds (3 hours, 58 minutes, 50 seconds).

[0056] The optimization unit 20 may present Case B, in which both cost and time meet the user input information, as the first candidate, and Case A, in which the cost meets the user input information but the time slightly exceeds the user input information, as the second candidate.

[0057] In other words, the optimization unit 20 may present a combination of assignments that satisfies at least one of a predetermined cost condition and a predetermined processing time condition.

[0058] Figure 9 is a table showing a second example of user input information in the embodiment. Figure 10 is a table showing a second example of user job analysis information in the embodiment. Figure 11 is a table showing a second example of job scheduling presentation information in the embodiment.

[0059] In the user input information shown in Figure 9, 10 kg is entered as the carbon dioxide emission amount, 24 hours is entered as the desired job completion date (in other words, execution time), and a series of execution commands are entered to perform MD calculations using the molecular dynamics software GROMACS.

[0060] In the user job analysis information shown in Figure 10, the execution command is broken down into multiple tasks A to E, and the execution time and cost (yen) for each task are calculated for each piece of hardware 10 at each location (hardware A at location A, hardware B at location B, and hardware C at location C).

[0061] In the example shown in Figure 10, site C utilizes natural energy sources such as solar and wind power, and since it can use electricity generated and stored during the day at night, the amount of carbon dioxide emitted at night is low. Therefore, the optimization unit 20 may calculate the carbon dioxide emissions for each task separately for site C, separating them into daytime and nighttime.

[0062] The job scheduling information shown in Figure 11 displays the total carbon dioxide emissions (kg), total cost (yen), and total time (sec) for each task A to E, when executed on hardware 10 at any of the locations.

[0063] In the example shown in Figure 11, in case A, which prioritizes carbon dioxide emissions, carbon dioxide emissions are 4.0 kg, the cost is 119,500 yen, and the time is 24 hours (actually 3 hours 54 minutes 40 seconds, as the job is waiting to run until night). In case B, which prioritizes cost, carbon dioxide emissions are 40.0 kg, the cost is 40,076 yen, and the time is 28,835 seconds. In case C, which prioritizes job execution time, carbon dioxide emissions are 11.9 kg, the cost is 118,750 yen, and the time is 14,330 seconds.

[0064] The optimization unit 20 may present Case A as the first candidate, in which both carbon dioxide emissions and time meet the user input information, and Case C as the second candidate, in which time meets the user input information but carbon dioxide emissions slightly exceed the user input information.

[0065] In other words, the optimization unit 20 may present a combination of assignments that satisfies the indicator conditions related to environmental protection.

[0066] Furthermore, the optimization unit 20 may suggest assignment combinations such that the number of locations to which multiple tasks are assigned is below a threshold. The optimization unit 20 may also suggest assignment combinations such that the locations to which multiple tasks are assigned are within a predetermined region (for example, within Japan or a specific country).

[0067] The optimization unit 20 may present assignment combinations such that hardware 10 with the same configuration is used fairly among multiple hardware units to be assigned to multiple tasks. Various methods such as round-robin or random methods may be used for selecting hardware 10 with the same configuration.

[0068] The scheduling information shown in Figures 8 and 11 may be displayed on the display device 231 of the multi-site job scheduler 2, which will be described later using Figure 12, or on a display device (not shown) at the user site 5 shown in Figure 4.

[0069] In Figures 6 to 11, Japanese yen was used as the unit of cost, but various other currency units such as US dollars or euros may be used as the unit of cost. The unit of cost may also be the legal tender unit or virtual currency unit of the country or region where the information processing system 100 is provided.

[0070] Figure 12 is a schematic block diagram showing an example of the hardware configuration of the multi-site job scheduler 2 in the embodiment.

[0071] The multi-site job scheduler 2 shown in Figure 4 comprises a CPU 21, a memory unit 22, a display control unit 23, a storage device 24, an input IF 25, an external recording medium processing unit 26, and a communication IF 27.

[0072] The memory section 22 is an example of a storage unit, and is exemplified by Read Only Memory (ROM) and Random Access Memory (RAM). The ROM of the memory section 22 may contain programs such as a Basic Input / Output System (BIOS). The software program in the memory section 22 may be read and executed by the CPU 21 as appropriate. The RAM of the memory section 22 may be used as temporary storage memory or working memory.

[0073] The display control unit 23 is connected to the display device 231 and controls the display device 231. The display device 231 is a liquid crystal display, an organic light-emitting diode (OLED) display, a cathode ray tube (CRT), an electronic paper display, etc., and displays various information to the operator, etc. The display device 231 may be combined with an input device, for example, a touch panel.

[0074] The storage device 24 is a storage device with high I / O performance, and may include, for example, Dynamic Random Access Memory (DRAM), SSD, Storage Class Memory (SCM), or HDD.

[0075] Input IF25 is connected to an input device such as a mouse 251 or a keyboard 252, and may control such an input device. The mouse 251 and keyboard 252 are examples of input devices, and the operator performs various input operations through these input devices.

[0076] The external recording medium processing unit 26 is configured to accommodate a recording medium 260. When the recording medium 260 is mounted, the external recording medium processing unit 26 is configured to read the information recorded on the recording medium 260. In this example, the recording medium 260 is portable. For example, the recording medium 260 may be a flexible disk, optical disk, magnetic disk, magneto-optical disk, or semiconductor memory.

[0077] Communication IF27 is an interface that enables communication with external devices.

[0078] The CPU 21 is an example of a processor, a processing unit that performs various control and calculations. The CPU 21 realizes various functions by executing the OS and programs loaded into the memory unit 22. The CPU 21 functions as the optimization unit 20 shown in Figure 4.

[0079] The device for controlling the overall operation of the multi-site job scheduler 2 is not limited to the CPU 21, but may be, for example, one of the following: MPU, DSP, ASIC, PLD, or FPGA. Furthermore, the device for controlling the overall operation of the multi-site job scheduler 2 may be a combination of two or more types of CPU, MPU, DSP, ASIC, PLD, and FPGA. Note that MPU is an abbreviation for Micro Processing Unit, DSP is an abbreviation for Digital Signal Processor, ASIC is an abbreviation for Application Specific Integrated Circuit, and PLD is an abbreviation for Programmable Logic Device.

[0080] [B] effect According to the control program, control device, and control method in the above-described embodiment, the following effects can be achieved, for example.

[0081] The optimization unit 20 acquires software information about multiple tasks included in the job, hardware information about multiple hardware devices 10, and site information about multiple locations. Using the learning results based on the acquired software information, hardware information, and site information, the optimization unit 20 determines which task from the submitted job should be assigned to which hardware device 10.

[0082] This enables the provision of optimal job scheduling that takes into account the different environments at each location. Specifically, by learning software information, hardware information, and location information of supercomputers across multiple locations, it is possible to provide a job scheduler that plans and executes jobs while meeting user requirements. In particular, the ability to utilize multiple locations for job execution improves the efficiency of job execution.

[0083] The optimization unit 20 presents a combination of assignments that satisfies at least one of the predetermined cost conditions and predetermined processing time conditions. This allows the user to make a selection that meets their requirements, such as cost and execution time.

[0084] The optimization unit 20 presents combinations of allocations that meet environmental protection indicator conditions. This allows users to make choices that meet their requirements, such as carbon dioxide emissions, and contribute to SDGs initiatives.

[0085] The optimization unit 20 presents assignment combinations such that the number of locations to which multiple tasks are assigned falls below a threshold. This allows users to limit the number of times data is moved between locations related to job execution, thereby reducing the risk of data leakage and other issues.

[0086] The optimization unit 20 presents assignment combinations such that the locations to which multiple tasks are assigned are within a predetermined region. This allows users to restrict the movement of data related to job execution to within their own country, thereby reducing the risk of data leakage and other issues.

[0087] The optimization unit 20 presents assignment combinations so that hardware 10 with the same configuration are used fairly among the multiple hardware 10 to which multiple tasks are assigned. This allows the system provider to avoid load concentration on specific locations or hardware 10, and to effectively utilize computer resources across multiple locations.

[0088] [C] Others The disclosed technology is not limited to the embodiments described above and can be implemented in various modified forms without departing from the spirit of this embodiment. Each configuration and process of this embodiment can be selected or combined as needed.

[0089] [D] Note The following additional information is disclosed regarding the embodiments described above.

[0090] (Note 1) A computer that performs job scheduling across multiple hardware devices located at multiple sites, The software information relating to the multiple tasks included in the job, the hardware information relating to the multiple hardware components, and the location information relating to the multiple locations are acquired. Based on the acquired software information, hardware information, and site information, the system determines which tasks from the submitted jobs should be assigned to which hardware. A control program that executes a process.

[0091] (Note 2) The presenter proposes a combination of the aforementioned assignments that satisfies at least one of the predetermined cost conditions and predetermined processing time conditions. A control program as described in Appendix 1, which causes the computer to perform the processing.

[0092] (Note 3) The following combinations of allocations that satisfy the indicator conditions related to environmental protection are presented. A control program as described in Appendix 1 or 2, which causes the computer to perform the processing.

[0093] (Note 4) The combination of assignments is presented such that the number of locations to which the aforementioned multiple tasks are assigned is below a threshold. A control program described in any one of the appendices 1 to 3, which causes the computer to perform the processing.

[0094] (Note 5) The system presents combinations of assignments such that the locations to which the aforementioned multiple tasks are assigned fall within a predetermined region. A control program described in any one of the appendices 1 to 4, which causes the computer to perform the processing.

[0095] (Note 6) To ensure that hardware with the same configuration among the multiple hardware units to be assigned to the multiple tasks is used fairly, the following combinations of assignments are presented: A control program described in any one of the appendices 1 to 5, which causes the computer to perform the processing.

[0096] (Note 7) A control device that performs job scheduling between multiple hardware devices located at multiple sites, The software information relating to the multiple tasks included in the job, the hardware information relating to the multiple hardware components, and the location information relating to the multiple locations are acquired. Based on the acquired software information, hardware information, and site information, the system determines which tasks from the submitted jobs should be assigned to which hardware. A control device equipped with a processor.

[0097] (Note 8) The processor presents a combination of the assignments that satisfies at least one of the predetermined cost conditions and predetermined processing time conditions. The control device described in Appendix 7.

[0098] (Note 9) The processor presents the combination of the assignments that satisfies the indicator conditions related to environmental protection. The control device described in Appendix 7 or 8.

[0099] (Note 10) The processor presents combinations of assignments such that the number of locations to which the multiple tasks are assigned is less than or equal to a threshold. A control device as described in any one of the appendices 7 to 9.

[0100] (Note 11) The processor presents combinations of assignments such that the locations to which the multiple tasks are assigned are located within a predetermined region. A control device as described in any one of the appendices 7 to 10.

[0101] (Note 12) The processor presents combinations of assignments such that hardware with the same configuration among the multiple hardware units to which the multiple tasks are assigned is used fairly. A control device as described in any one of the appendices 7 to 11.

[0102] (Note 13) A computer that performs job scheduling across multiple hardware devices located at multiple sites, The software information relating to the multiple tasks included in the job, the hardware information relating to the multiple hardware components, and the location information relating to the multiple locations are acquired. Based on the acquired software information, hardware information, and site information, the system determines which tasks from the submitted jobs should be assigned to which hardware. A control method for executing a process.

[0103] (Note 14) The presenter proposes a combination of the aforementioned assignments that satisfies at least one of the predetermined cost conditions and predetermined processing time conditions. The control method described in Appendix 13, wherein the computer performs the processing.

[0104] (Note 15) The following combinations of allocations that satisfy the indicator conditions related to environmental protection are presented. The control method described in Appendix 13 or 14, wherein the computer performs the processing.

[0105] (Note 16) The combination of assignments is presented such that the number of locations to which the aforementioned multiple tasks are assigned is below a threshold. A control method according to any one of the appendices 13 to 15, wherein the computer performs the processing.

[0106] (Note 17) The system presents combinations of assignments such that the locations to which the aforementioned multiple tasks are assigned fall within a predetermined region. A control method according to any one of the appendices 13 to 16, wherein the computer performs the processing.

[0107] (Note 18) To ensure that hardware with the same configuration among the multiple hardware units to be assigned to the multiple tasks is used fairly, the following combinations of assignments are presented: A control method according to any one of the appendices 13 to 17, wherein the computer performs the processing. [Explanation of symbols]

[0108] 100: Information Processing Systems 101: Learning Model 102: Inference Models 103: User Benefits 104: Business profit 10: Hardware 11: CPU 11a: GPGPU 11b: FPGA 12: Memory 13: Storage 2: Multi-site job scheduler 20: Optimization Unit 21: CPU 22: Memory section 23: Display Control Unit 231:Display device 24:Storage device 25: Input IF 251: Mouse 252: Keyboard 26: External recording medium processing unit 260: Recording media 27: Communication Interface 3: Base Job Scheduler 4: Cooling device 5: User sites

Claims

1. A computer that performs job scheduling across multiple hardware devices located at multiple sites, The software information relating to the multiple tasks included in the job, the hardware information relating to the multiple hardware components, and the location information relating to the multiple locations are acquired. Based on the acquired software information, hardware information, and location information, the calculation results at each of the multiple locations are stored in the learning model, and the learning model is updated to determine which task of the submitted job should be assigned to which hardware. A control program that executes a process.

2. The presenter proposes a combination of the aforementioned assignments that satisfies at least one of the predetermined cost conditions and predetermined processing time conditions. The control program according to claim 1, which causes the computer to perform the processing.

3. The following combinations of allocations that satisfy the indicator conditions related to environmental protection are presented. A control program according to claim 1 or 2, which causes the computer to perform the processing.

4. The combination of assignments is presented such that the number of locations to which the aforementioned multiple tasks are assigned is below a threshold. A control program according to any one of claims 1 to 3, which causes the computer to perform the processing.

5. The system presents combinations of assignments such that the locations to which the aforementioned multiple tasks are assigned fall within a predetermined region. A control program according to any one of claims 1 to 4, which causes the computer to perform the processing.

6. To ensure that hardware with the same configuration among the multiple hardware units to be assigned to the multiple tasks is used fairly, the following combinations of assignments are presented: A control program according to any one of claims 1 to 5, which causes the computer to perform the processing.

7. A control device that performs job scheduling between multiple hardware devices located at multiple sites, The software information relating to the multiple tasks included in the job, the hardware information relating to the multiple hardware components, and the location information relating to the multiple locations are acquired. Based on the acquired software information, hardware information, and location information, the calculation results at each of the multiple locations are stored in the learning model, and the learning model is updated to determine which task of the submitted job should be assigned to which hardware. A control device equipped with a processor.

8. A computer that performs job scheduling across multiple hardware devices located at multiple sites, The software information relating to the multiple tasks included in the job, the hardware information relating to the multiple hardware components, and the location information relating to the multiple locations are acquired. Based on the acquired software information, hardware information, and location information, the calculation results at each of the multiple locations are stored in the learning model, and the learning model is updated to determine which task of the submitted job should be assigned to which hardware. A control method for executing a process.