Scheduling device, method, and program

The scheduling device optimizes hybrid computing systems by creating a schedule that prioritizes the first system's processing, addressing resource underutilization and inefficiencies, thereby reducing waiting times and costs.

JP2025171183APending Publication Date: 2025-11-20NEC CORP
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2024076254
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-05-09
Publication Date
2025-11-20

AI Technical Summary

Technical Problem

Existing methods for using quantum computers in hybrid systems often result in underutilization of resources and inefficient job scheduling, particularly when prioritizing one system over another, leading to increased costs and user dissatisfaction.

Method used

A scheduling device and method that creates a schedule to prioritize processing by a first system, such as a quantum computer, by setting up a set of jobs that can be processed without waiting, and selecting one job from this set for execution by the first system, considering processing times and idle times of both systems.

Benefits of technology

This approach effectively reduces waiting times and optimizes resource utilization in hybrid computing systems, balancing server and user perspectives by prioritizing the first system's operation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025171183000001_ABST
    Figure 2025171183000001_ABST
Patent Text Reader

Abstract

To provide an evaluation system capable of evaluating a place suitable for appreciation of an object.SOLUTION: A scheduling device comprises an input unit that receives input of processing times required for a first process and a second process for each job for each of the plurality of jobs in which the first process by a first system and the second process by a second system are executed in a mutually repeated manner one or more times, and a schedule creation control unit that controls processing for creating a schedule on the basis of the processing times. The schedule creation control unit includes a set creation part that creates a set of jobs for which processing by the first system can be performed without waiting time, from among the plurality of jobs, and a selection part that selects one job to be executed by the first system from among the set of jobs.SELECTED DRAWING: Figure 10
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present disclosure relates to a scheduling device, a scheduling method, and a scheduling program for scheduling jobs executed in multiple systems. [Background technology]

[0002] A hybrid approach that solves combinatorial optimization problems by combining multiple methods is attracting attention. A hybrid approach combines heterogeneous platforms, such as quantum computers or quantum annealers, with classical computers to solve problems.

[0003] For example, Patent Document 1 describes a method for performing a computational task using a quantum real-time service and a classical service. In the method described in Patent Document 1, a computational task is decomposed, and the decomposed computational task is distributed to the quantum real-time service and the classical service for execution. [Prior art documents] [Patent documents]

[0004] [Patent Document 1] Special Publication No. 2019-521431 Summary of the Invention [Problem to be solved by the invention]

[0005] While quantum computer processing is fast, the use of quantum computer resources is generally expensive. For example, simply breaking down and executing a computational task, as in the method described in Patent Document 1, makes it difficult to operate a quantum real-time service sufficiently, and there is a possibility that resources will not be fully utilized. As such, when jobs are executed on multiple systems and there is a system among those systems that should be operated with priority, it is preferable to schedule jobs so that that system is operated with priority.

[0006] Therefore, an object of the present disclosure is to provide a scheduling device, a scheduling method, and a scheduling program that are capable of scheduling jobs so that one of a plurality of systems can be operated with priority. [Means for solving the problem]

[0007] The scheduling device according to the present disclosure includes an input unit that accepts input of the processing time required for the first processing and the second processing for each of a plurality of jobs that are executed by repeating a first processing by a first system and a second processing by a second system one or more times, and a schedule creation control unit that controls the process of creating a schedule based on the processing time, and is characterized in that the schedule creation control unit includes a set creation unit that creates a set of jobs from the plurality of jobs that can be processed by the first system without waiting time, and a selection unit that selects one job from the set of jobs to be executed by the first system.

[0008] The scheduling method disclosed herein is characterized in that it accepts input of the processing time required for the first processing and the second processing for each of a plurality of jobs that are executed by repeating a first processing by a first system and a second processing by a second system one or more times, creates a set of jobs from the plurality of jobs that can be processed by the first system without waiting time based on the processing time, and selects one job from the set of jobs to be executed by the first system.

[0009] The scheduling program according to the present disclosure causes a computer to execute an input process that accepts input of the processing time required for the first processing and the second processing for each job for multiple jobs that are executed by repeating a first processing by a first system and a second processing by a second system one or more times, and a schedule creation control process that controls the process of creating a schedule based on the processing time, and the schedule creation control process executes a set creation process that creates a set of jobs from the multiple jobs that can be processed by the first system without waiting time, and a selection process that selects one job from the set of jobs to be executed by the first system. [Effects of the Invention]

[0010] According to the present disclosure, jobs can be scheduled so that one of a plurality of systems can be operated with priority. [Brief explanation of the drawings]

[0011] [Figure 1] 1 is a block diagram illustrating a configuration example of an embodiment of a scheduling device according to the present disclosure. [Figure 2] FIG. 1 is an explanatory diagram illustrating an example of processing performed by a hybrid computing system. [Figure 3] 10 is a flowchart illustrating an example of the operation of the scheduling device. [Figure 4] FIG. 10 is an explanatory diagram showing a specific example of the operation of the scheduling device; [Figure 5] FIG. 10 is an explanatory diagram showing a simulation result of a user-side evaluation index. [Figure 6] FIG. 10 is an explanatory diagram showing simulation results for server-side evaluation indexes. [Figure 7] FIG. 10 is an explanatory diagram showing a simulation result of a user-side evaluation index. [Figure 8] FIG. 10 is an explanatory diagram showing simulation results for server-side evaluation indexes. [Figure 9]FIG. 10 is an explanatory diagram showing a simulation result of a user-side evaluation index. [Figure 10] 1 is a block diagram illustrating an overview of a scheduling device according to the present disclosure. [Figure 11] FIG. 1 is a schematic block diagram illustrating the configuration of a computer according to at least one embodiment. DETAILED DESCRIPTION OF THE INVENTION

[0012] First, the situation assumed in this disclosure will be described. The scheduling device of this disclosure is a device that schedules jobs to be executed on multiple systems. Here, as a specific situation, a hybrid computing system is assumed in which two types of computer systems, computer system Q and computer system C, alternately execute multiple processes for a job.

[0013] The scheduling device of the present disclosure then schedules jobs so that computer system Q can be operated with priority between computer system Q and computer system C. An example of computer system Q is a quantum computer system, and an example of computer system C is a classical computer system.

[0014] First, we will explain a situation where one job is executed on computer system Q and computer system C. In this case, computer system Q is in an idle state while computer system C is running, and computer system C is in an idle state while computer system Q is running.

[0015] For example, suppose that computer system Q is a scarce computer resource, while computer system C is a relatively inexpensive computer resource. In this case, from the perspective of the provider (server side) of this hybrid computing system, the idle state of computer system Q can be said to be a waste of resources.

[0016] In this situation, let us consider the case where, from the server's perspective, charges are made according to the use of the hybrid computing system. The unit price of computer system Q is expected to be considerably higher than the unit price of computer system C. If the necessary costs, such as power consumption, do not change significantly even when the computer system is idle, it is reasonable from the server's perspective to charge for the time during which computer system C is calculating, i.e., the waiting time (idle time) of computer system Q, at the unit price of computer system Q. On the other hand, from the perspective of the resource demander (user), if the calculation time of computer system C is charged at the unit price of computer system Q, it is expected that the user will feel dissatisfied and feel that it is too expensive.

[0017] In this disclosure, as a method for efficiently using a hybrid computing system, a situation is assumed in which multiple jobs are processed by the hybrid computing system. That is, in this hybrid computing system, the computer system Q processes other jobs during the waiting time that may occur for a single job, so that the computer system Q does not become idle.

[0018] Furthermore, when multiple jobs are being executed, from the user's perspective, if one focuses only on the efficiency of computer system Q, there is a concern that the processing time will be significantly longer than if computer system Q were exclusively used to execute a single job.

[0019] In other words, from the server's point of view, it is advantageous to execute multiple jobs in order to reduce the waiting time of the computer system Q. On the other hand, from the user's point of view, the process of selecting one job from multiple jobs may worsen the elapsed time. In other words, there is a trade-off between the two.

[0020] This problem is also a kind of multi-objective optimization problem, so there is no clear answer and it can be said to be a problem that requires compromise between the server side and the user side. Therefore, this disclosure proposes a method for easily creating a schedule that suppresses the deterioration of elapsed time as a method for avoiding the multi-objective optimization problem and prioritizing the reduction of waiting time of computer system Q.

[0021] Hereinafter, embodiments of the present disclosure will be described with reference to the drawings.

[0022] 1 is a block diagram showing an example of the configuration of an embodiment of a scheduling device according to the present disclosure. The scheduling device 100 includes a storage unit 10, an input unit 20, a schedule creation control unit 30, and an output unit 40.

[0023] 1, the scheduling device 100 is connected to a first system 200 and a second system 300 that execute the created schedule. However, the first system 200 and the second system 300 do not necessarily have to be connected to the scheduling device 100.

[0024] The storage unit 10 stores various types of information used in the processing by the scheduling device 100. The storage unit 10 is realized by, for example, a magnetic disk or the like.

[0025] The input unit 20 receives input of the processing time for each process for each of a plurality of jobs. The job assumed in this embodiment is executed by repeating a process by the first system 200 (hereinafter referred to as a first process) and a process by the second system 300 (hereinafter referred to as a second process) alternately one or more times.

[0026] In the above example, the first system 200 corresponds to the computer system Q, and the second system 300 corresponds to the computer system C. In the following explanation, for each job i, the processing time of the first process is T Q (i), and the processing time of the second process is T C Marked as (i).

[0027] In order to simplify the processing, the first process and the second process may all require the same processing time. In this case, the input unit 20 inputs, for each job, the processing time (T Q (i),T C(i)), and the total number of iterations N cyc In the following description, it is assumed that the first process and the second process require the same processing time.

[0028] FIG. 2 is an explanatory diagram showing an example of processing performed by a hybrid computing system. The hybrid computing system shown in FIG. 2 is a system that processes jobs by alternately executing processing on two types of computer systems, Q and C. In the following description, processing by computer system Q (i.e., first processing) may be simply referred to as Q, and processing by computer system C (i.e., second processing) may be simply referred to as C. In addition, initially, a job is loaded onto computer system Q at start time T start (=0) and they will be entered simultaneously.

[0029] In the example shown in Figure 2, the process starts from computer system Q, and the iterative process of "C → Q" continues until N cyc Assume a job that is executed N times. cyc If N = 1, the processing sequence is "Q → C → Q". cyc If =3, the processing sequence is "Q→C→Q→C→Q→C→Q".

[0030] The computation time for Q and C in each iteration is T Q and T C (constant regardless of iteration), the total calculation time T tot is T tot =(N cyc +1)T Q +N cyc T C It is expressed as follows. tot corresponds to the computation time when the job is processed in the exclusive mode in the hybrid computing system.

[0031] Figure 2(a) shows an example of the operation when a job is executed in exclusive mode in a hybrid computing system. cyc = 2 and the number of jobs n J = 3 (J S={J1, J2, J3}) is an example of the operation of the computer system Q. As shown in Fig. 2(a), while the computer system C is performing a calculation, the computer system Q is in an idle state, which means that the computer system Q is in a wasteful state.

[0032] On the other hand, FIG. 2(b) shows an example of the operation when a job is executed in a hybrid computing system based on a schedule created by the method of the present disclosure.

[0033] In this disclosure, we focus on the waiting time in computer system Q, so we assume that each job has its own computing resources in computer system C. That is, we assume that once processing in computer system Q is completed, each job can immediately start computing in computer system C. In other words, computer system Q has n J Since each job is processed by one system, a queue occurs. On the other hand, computer system C processes each job using its own computing resources, so no queue occurs.

[0034] The example shown in Figure 2(b) shows an example of operation when another job is executed during the idle time of computer system Q shown in Figure 2(a). Note that when "C → Q" is repeated, there may be cases where a wait time occurs in computer system Q because none of the jobs have completed processing in computer system C. The processing in this case will be described later.

[0035] The schedule creation control unit 30 controls the process of creating a schedule based on the received processing time. The schedule creation control unit 30 includes a set creation unit 31, a selection unit 32, and a schedule creation unit 33.

[0036] The set creation unit 31 creates a set J of jobs that can be processed by the first system without waiting time from among the plurality of jobs based on the accepted processing time. F In addition, the set of jobs J F is not limited to a plurality of numbers, and may be one.

[0037] Specifically, the set creation unit 31 extracts jobs that have been processed by the computer system C but have not been processed by the computer system Q from among the plurality of jobs, and creates a set J. F In this embodiment, the job is generated on the computer system Q at a start time T start Therefore, in the initial state, the set creation unit 31 creates a set J that includes all jobs scheduled for execution. F Create a.

[0038] As described above, it is also possible that there are no jobs that can be processed by the first system without waiting time. That is, it is also possible that, during the "C→Q" iteration, the processing by the computer system C is not completed and the computer system Q becomes idle. In this case, the set creation unit 31 creates a set J of jobs whose processing is not completed by the first system. F In the following explanation, we will use the set of jobs J F ' may also be written as a set of provisionally executable jobs.

[0039] The selection unit 32 selects a set of jobs J F The selection unit 32 selects one job to be executed by the first system from the set of jobs. The method by which the selection unit 32 selects one job from the set of jobs is arbitrary. The selection unit 32 may randomly select one job from the set of jobs, or may select one job that performs processing in the shortest time in the computer system Q. Furthermore, the method by which the selection unit 32 selects one job may be determined in advance, or the input unit 20 may receive an instruction on the method from the user.

[0040] The schedule creation control unit 30 determines the job processing order by repeatedly controlling the processes of the set creation unit 31 and the selection unit 32. Specifically, the schedule creation control unit 30 repeatedly controls the set creation unit 31 to remove one job from a set of jobs and create a new set of jobs, and controls the selection unit 32 to select one job from the new set of jobs.

[0041] Specifically, the set creation unit 31 creates a job set J at the time when the preceding process in the first system (computer system Q) is completed and the first system becomes available. S Among the jobs, the set creation unit 31 creates a new set of jobs that can be processed by the first system. In other words, the set creation unit 31 creates a new set of jobs that have been processed by the preceding computer system C and do not require a waiting time. Then, the selection unit 32 selects one job from the new set of jobs.

[0042] The schedule creation unit 33 creates a schedule in the order in which the selected jobs are processed. The schedule creation unit 33 may also calculate the total processing time and waiting time in the computer system Q from the created schedule.

[0043] Furthermore, the schedule creation control unit 30 may execute the process of creating a schedule multiple times. For example, when the selection unit 32 randomly selects one job from a set of jobs, the schedule creation control unit 30 may select the schedule with the smallest total waiting time from the multiple created schedules.

[0044] The output unit 40 outputs the created schedule. The output unit 40 may output the schedule in any manner. For example, the output unit 40 may display the created schedule on a display device (not shown) or output it in a file format.

[0045] In addition, the output unit 40 may not only output the created results, but also control each system (e.g., the first system 200 and the second system 300) to actually execute jobs in accordance with the created schedule.

[0046] The input unit 20, the schedule creation control unit 30 (more specifically, the set creation unit 31, the selection unit 32, and the schedule creation unit 33), and the output unit 40 are realized by a computer processor (e.g., a CPU (Central Processing Unit), a GPU (Graphics Processing Unit)) that operates according to a program (scheduling program).

[0047] For example, the program may be stored in the storage unit 10 of the scheduling device 100, and the processor may read the program and operate, in accordance with the program, as the input unit 20, the schedule creation control unit 30 (more specifically, the set creation unit 31, the selection unit 32, and the schedule creation unit 33), and the output unit 40. Furthermore, the functions of the scheduling device 100 may be provided in the form of SaaS (Software as a Service).

[0048] Furthermore, the input unit 20, the schedule creation control unit 30 (more specifically, the set creation unit 31, the selection unit 32, and the schedule creation unit 33), and the output unit 40 may each be realized by dedicated hardware. Furthermore, some or all of the components of each device may be realized by general-purpose or dedicated circuits, processors, etc., or a combination of these. These may be configured by a single chip, or may be configured by multiple chips connected via a bus. Some or all of the components of each device may be realized by a combination of the above-mentioned circuits, etc., and programs.

[0049] Furthermore, when some or all of the components of the scheduling device 100 are realized by multiple information processing devices, circuits, etc., the multiple information processing devices, circuits, etc. may be centrally or decentralized. For example, the information processing devices, circuits, etc. may be realized as a client-server system, a cloud computing system, or the like, in a form in which each is connected via a communication network.

[0050] Next, the operation of the scheduling device 100 of this embodiment will be described. FIG. 3 is a flowchart showing an example of the operation of the scheduling device 100 of this embodiment. The input unit 20 accepts input of the processing times required for the first process and the second process for each job (step S11). The set creation unit 31 creates a set of jobs that can be processed by the first system without waiting time from among the multiple jobs, based on the processing times (step S12). Then, the selection unit 32 selects one job from the set of jobs to be executed by the first system (step S13).

[0051] 4 is an explanatory diagram showing a specific example of the operation of the scheduling device 100 of this embodiment. Here, the input unit 20 inputs the calculation time T Q (i) and T C (i) and the total number of iterations N cyc (Step S21). In this specific example, the input unit 20 also accepts input of a job selection method (m1 or m2). In the example shown in Fig. 4, m1 indicates a random selection method, and m2 indicates a method of selecting a job with the shortest processing time.

[0052] The schedule creation control unit 30 also sets a processing counter c(i). In the initial state, c(i)=0. The set creation unit 31 also creates a job set J to be executed. F (Step S22)

[0053] The selection unit 32 selects the executable job set J F When the method m1 is input, the selection unit 32 selects the job to be executed next in the computer system Q from the method m1 (step S23). F When method m2 is entered, the first job is selected from J1 to J nj Select one of the jobs, and except for the first time, F Among them, T Q Select the job with the smallest

[0054] The schedule creation control unit 30 updates the processing counter c(i) with the number of times each job has been executed in the computer system Q (step S24). cyc A set of jobs that have not yet been completed is collected and temporarily executed. F ' is created (step S25).

[0055] Then, the set creation unit 31 creates a set J of provisionally executable jobs. F ', the next job set J that can be executed without waiting time on computer system Q is F On the other hand, if such a job does not exist, the set creation unit 31 creates J F J F ' (step S26). After that, the process from step S23 onwards is repeated, and J F When there are no more jobs of type ', the schedule creating unit 33 creates a schedule, and the output unit 40 outputs the created schedule (step S27).

[0056] As described above, in this embodiment, the input unit 20 accepts input of the processing times required for the first process and the second process for each job, and the set creation unit 31 creates a set of jobs from among the multiple jobs that can be processed by the first system without waiting time, based on the processing times. Then, the selection unit 32 selects one job from the set of jobs to be executed by the first system. Thus, jobs can be scheduled so that one system (the first system) among the multiple systems can be operated with priority.

[0057] Next, the efficiency of a hybrid computing system when using the scheduling device 100 of the present disclosure will be described. The efficiency of a hybrid computing system can be evaluated from two perspectives: the server side and the user side. First, the server side evaluation index E s As the equation, the following formula 1 was used.

[0058]

number

[0059] In Equation 1, T end is the start (T start =0) to n J The time it takes to complete all jobs, T Q (i) represents the processing time of job i in computer system Q in each iteration. (N cyc +1)Σ i=1 nj T Q (i) is the time from the start when the waiting time is 0 J This is the time it takes for all jobs to be processed. S represents the percentage of waiting time in the actual total processing time.

[0060] On the other hand, the user evaluation index E U We considered two types of values ​​for the parameter. One is the ratio of the elapsed time of job i in the multi-job situation to the elapsed time in the exclusive mode (R e (i)) average value (R e M ) The other reason is that the more jobs there are, the longer the elapsed time is expected to be, which may cause some users to wait for a very long time. J The worst value of the elapsed time of the jobs (R e W ) is R e (i) is represented by the following formula 2.

[0061]

number

[0062] where T E (i) and T S (i) are the completion time and submission time of job i, respectively. However, in this example, it is assumed that all jobs are submitted at the same time at time 0, so T S (i)=0. Also, T Q (i) and T C(i) is the computation time of computer system Q and computer system C for job i in each iteration (where T Q (i) and T C (i) is assumed to be constant for each job, independent of the number of iterations. e M and R e W are given by the following equation 3.

[0063]

number

[0064] An example using these indices will be described below. [Example]

[0065] The present disclosure will be described below using specific examples, but the scope of the present disclosure is not limited to the contents described below. <Example 1>: User evaluation index E U Determining good selection criteria In computer system Q, there are four possible criteria for selecting the next job to be processed from the set of executable jobs. Q (i) is the smallest (Q min ) to select T Q (i) is the largest (Q max ) to select T C (i) is the smallest (C min ) to select T C (i) is the largest (C max ) is selected.

[0066] This is a kind of greedy algorithm, but the results are easily affected by the first job selection. j Each job was examined in a brute force fashion, and from the second time onwards, jobs were selected based on the four criteria mentioned above.

[0067] To perform a specific numerical simulation, it is necessary to set several parameter values. First, n j and N cyc About n j =5 and N cyc = 3. As will be described later, these values ​​are combinations that can obtain typical results in this simulation.

[0068] Furthermore, T Q (i) and T C (i) is set as a uniform random number in the interval [0,1]. However, there is a possibility that extremely biased results may be obtained by only one sampling. Therefore, we set the job set (T Q (i) and T C Ten sets of (i)) were prepared.

[0069] Figure 5 shows the user-side evaluation index E U 5 is an explanatory diagram showing the simulation results for the above-mentioned user-perspective evaluation index E U For a set of 10 jobs, n j The average job elapsed time (R e M ) (Fig. 5(a)) and the worst value (R e W ) (Fig. 5(b)) shows the simulation results. Q min In the case of R e M and R e W Both of these values ​​were consistent and low, and did not depend strongly on the job set.

[0070] As will be discussed later, E S C, who had good results in max is the average value (R e M ) is more than five times that of the occupied mode, and the worst value (R e W ) requires more than 15 times the elapsed time, U Therefore, the user's evaluation index E U is a good way tomin In this case, the server-side evaluation index E S The average values ​​for the 10 sets were calculated as follows: C max (0.033) min (0.083) max (0.100) <C min (0.112) In these four criteria, Q min is E S It was also judged to be the second best (shortest waiting time).

[0071] Example 2: Server-side evaluation index E S Determining good selection criteria In Example 2, n j E S and E U Figure 6 shows the dependency of the server-side evaluation index E S Specifically, the graph shown in FIG. j E when changing from 2 to 7 S This shows the behavior of

[0072] In Figure 6, m1 is the case where the next job is randomly selected from the set of jobs that can be executed in each processing in the computer system Q. However, for the sake of comparison with the method m2 that investigated the first selection by brute force, n j The best result was selected from the trials performed. min This is a method of selecting the next job to be processed from a set of executable jobs.

[0073] Furthermore, as a benchmark for these methods, we show the case where the processing sequence is determined randomly at first without considering the waiting time as RS. j The y-axis in Figure 6 represents the E S The values ​​are average values ​​for the same 10 job sets as in Figure 5.​​ n j Up to 5, RS, m1, m2(Q min ) suddenly E S The value of decreases, but the change thereafter is relatively slow. j It is thought that the effect of increasing the number of jobs is not large compared to n = 5. j It can be seen that when m = 5, the waiting time can be reduced to almost zero (1.8%). S was the best m2(C max ) (3.3%). Therefore, the server-side evaluation index E S However, we have decided to select a good method for randomly selecting the next job from the set of executable jobs in each processing of m1 on computer system Q.

[0074] where m1 is the user's evaluation index E U Figure 7 shows the user-side evaluation index E U 7 is an explanatory diagram showing the simulation results for n j E when changing from 2 to 7 U As in Figure 6, the average value of 10 job sets is shown. That is, Figure 7(a) shows the behavior of n j The average job elapsed time (R e M ), and Figure 7(b) shows n j The worst value of the job elapsed time (R e W ) is shown.

[0075] m2(Q min ), then n j Even if n is increased, the increase (deterioration) of the elapsed time is relatively gradual, but in the case of RS and m1, the increase in the elapsed time is remarkable. j If it exceeds 5, it will deteriorate rapidly.

[0076] <Example 3>: Stability of the proposed method To investigate the stability of the proposed method, Ncyc E S and E U Figure 8 shows the server-side evaluation index E S 8 is an explanatory diagram showing the simulation results for N cyc = E when changed to 1, 3, 5, 7, 9 S The behavior of RS,m1,m2(Q min ) are all N cyc As the number of passengers increases, waiting times also tend to increase, although the rate of increase is decreasing.

[0077] Figure 9 shows the user-side evaluation index E U 9 is an explanatory diagram showing the simulation results for N cyc = E when changed to 1, 3, 5, 7, 9 U The average value of the elapsed time shown in FIG. 9(a) and the worst value shown in FIG. 9(b) show the general tendency of N cyc As increases, R S shows an increasing trend. cyc As increases, m1 shows a slight decreasing tendency.

[0078] For these, m2(Q min ) is N cyc It shows no strong dependency on m1 and takes a nearly constant value. In this case, even the worst case value is about three times, so it is considered to be a desirable scheduling. Also, m1, which shows a behavior of about three times on average and about five times in the worst case, is also considered to be a desirable scheduling from the user's point of view.

[0079] Next, an overview of the present disclosure will be described. Fig. 10 is a block diagram showing an overview of a scheduling device according to the present disclosure. A scheduling device 80 (e.g., scheduling device 100) according to the present disclosure includes an input unit 81 (e.g., input unit 20) that accepts input of processing times required for a first process and a second process for each job for a plurality of jobs that are executed by alternately repeating a first process by a first system (e.g., computer system Q) and a second process by a second system (e.g., computer system C) one or more times, and a schedule creation control unit 82 (e.g., schedule creation control unit 30) that controls processing to create a schedule based on the processing times.

[0080] The schedule creation control unit 82 includes a set creation unit 83 (e.g., set creation unit 31) that creates a set of jobs from among multiple jobs that can be processed by the first system without waiting time, and a selection unit 84 (e.g., selection unit 32) that selects one job from the set of jobs to be executed by the first system.

[0081] With such a configuration, jobs can be scheduled so that one of the multiple systems can be operated with priority.

[0082] Specifically, the selection unit 84 may randomly select one job from a set of jobs.

[0083] At this time, the schedule creation control unit 82 may execute the process of creating a schedule multiple times and select the schedule with the smallest total waiting time.

[0084] On the other hand, the selection unit 84 may select one job that performs the first processing in the shortest processing time in the first system from the set of jobs.

[0085] In addition, if there are no jobs that can be processed by the first system without waiting time, the set creation unit 83 may create a set of jobs whose processing in the first system has not been completed, and the selection unit 84 may select one job from the set of jobs.

[0086] In addition, the schedule creation control unit 82 may repeatedly control the set creation unit 83 to create a new set of jobs by excluding one job from the set of jobs, and control the selection unit 84 to select one job from the new set of jobs.

[0087] The schedule creation control unit 82 may also include a schedule creation unit (for example, the schedule creation unit 33) that creates a schedule in the order in which the selected jobs are to be processed.

[0088] The input unit 81 may also accept input of the processing times required for the first process and the second process for each job and the total number of repetitions for each job.

[0089] 11 is a schematic block diagram showing the configuration of a computer according to at least one embodiment. The computer 1000 includes a processor 1001, a main memory device 1002, an auxiliary memory device 1003, and an interface 1004. The computer 1000 may also be connected to a computer that executes a mathematical programming solver, an annealing machine, a simulator, or the like.

[0090] The scheduling device 80 described above is implemented in a computer 1000. The operations of the above-described processing units are stored in the form of a program (scheduling program) in an auxiliary storage device 1003. The processor 1001 reads the program from the auxiliary storage device 1003, loads it into the main storage device 1002, and executes the above-described processing in accordance with the program.

[0091] In at least one embodiment, the auxiliary storage device 1003 is an example of a non-transitory tangible medium. Other examples of non-transitory tangible media include a magnetic disk, a magneto-optical disk, a CD-ROM (Compact Disc Read-only memory), a DVD-ROM (Read-only memory), and a semiconductor memory connected via the interface 1004. In addition, when this program is distributed to the computer 1000 via a communication line, the computer 1000 that receives the program may load the program into the main storage device 1002 and execute the above processing.

[0092] The program may also be a program for realizing part of the above-described functions. Furthermore, the program may be a so-called differential file (differential program) that realizes the above-described functions in combination with another program already stored in the auxiliary storage device 1003.

[0093] Some or all of the above-described embodiments can be described as, but are not limited to, the following supplementary notes.

[0094] (Supplementary Note 1) An input unit that accepts input of processing times required for a first process by a first system and a second process by a second system for each of a plurality of jobs that are executed by repeating the first process and the second process alternately one or more times; a schedule creation control unit that controls a process of creating a schedule based on the processing time, The schedule creation control unit a set creation unit that creates a set of jobs that can be processed by the first system without waiting time from among the plurality of jobs; a selection unit that selects one job to be executed by the first system from the set of jobs. A scheduling device characterized by:

[0095] (Note 2) The selection unit randomly selects one job from a set of jobs. 2. The scheduling device of claim 1.

[0096] (Note 3) The schedule creation control unit executes the process of creating a schedule multiple times and selects the schedule with the smallest total waiting time. 3. The scheduling device of claim 2.

[0097] (Note 4) The selection unit selects one job that performs the first processing in the shortest processing time in the first system from the set of jobs. 2. The scheduling device of claim 1.

[0098] (Appendix 5) The set creation unit creates a set of jobs whose processing has not been completed in the first system when there is no job that can be processed by the first system without waiting time, The selection unit selects one job from the set of jobs. 5. A scheduling device according to any one of claims 1 to 4.

[0099] (Appendix 6) The schedule creation control section Controlling the set creation unit to create a new set of jobs by excluding one job from the set of jobs; and Control for causing the selection unit to select one job from the set of new jobs. Repeatedly execute 6. A scheduling device according to any one of Supplementary Note 1 to Supplementary Note 5.

[0100] (Note 7) The schedule creation control unit includes a schedule creation unit that creates a schedule in the order in which the selected jobs are processed. 7. A scheduling device according to any one of Supplementary Note 1 to Supplementary Note 6.

[0101] (Appendix 8) The input unit receives input of the processing time required for the first process and the second process for each job and the total number of repetitions for each job. 8. The scheduling device according to claim 1, wherein the scheduling device is a

[0102] (Appendix 9) Equipped with an output unit that outputs the created schedule 9. A scheduling device according to any one of Supplementary Note 1 to Supplementary Note 8.

[0103] (Supplementary Note 10) For a plurality of jobs in which a first process by a first system and a second process by a second system are alternately executed one or more times, an input of processing times required for the first process and the second process for each of the jobs is received; creating a set of jobs that can be processed by the first system without waiting time from among the plurality of jobs based on the processing times; Selecting one job to be executed by the first system from the set of jobs A scheduling method comprising:

[0104] (Appendix 11) To the computer, an input process for receiving an input of processing times required for a first process by a first system and a second process by a second system for each of a plurality of jobs that are executed by repeating the first process and the second process alternately one or more times; and Execute a schedule creation control process that controls a process for creating a schedule based on the processing time; In the schedule creation control process, a set creation process for creating a set of jobs that can be processed by the first system without waiting time from among the plurality of jobs; and A selection process for selecting one job to be executed by the first system from the set of jobs. A scheduling program for executing the above.

[0105] Although the present invention has been described above with reference to the embodiments and examples, the present invention is not limited to the above-described embodiments and examples. Various modifications that can be understood by those skilled in the art can be made to the configuration and details of the present invention within the scope of the present invention. [Explanation of symbols]

[0106] 10 Storage section 20 Input section 30 Schedule creation control section 31 Set Creation Department 32 Selection section 33 Schedule Creation Department 40 Output section 100 Scheduling device 200 First System 300 Second System

Claims

1. an input unit that receives an input of a processing time required for a first process by a first system and a second process by a second system for each of a plurality of jobs that are executed by repeating the first process and the second process alternately one or more times; a schedule creation control unit that controls a process of creating a schedule based on the processing time, The schedule creation control unit a set creation unit that creates a set of jobs that can be processed by the first system without waiting time from among the plurality of jobs; a selection unit that selects one job to be executed by the first system from the set of jobs. A scheduling device characterized by:

2. The selection unit randomly selects one job from the set of jobs. The scheduling device according to claim 1 .

3. The schedule creation control unit executes the process of creating a schedule multiple times and selects the schedule with the smallest total waiting time. The scheduling device according to claim 2.

4. The selection unit selects one job that performs the first processing and that takes the shortest processing time in the first system from the set of jobs. The scheduling device according to claim 1 .

5. the set creation unit creates a set of jobs whose processing has not been completed in the first system when there is no job that can be processed by the first system without waiting time; The selection unit selects one job from the set of jobs. The scheduling device according to any one of claims 1 to 4.

6. The schedule creation control unit Controlling the set creation unit to create a new set of jobs by excluding one job from the set of jobs; and Control for causing the selection unit to select one job from the set of new jobs. Repeatedly execute The scheduling device according to any one of claims 1 to 4.

7. The schedule creation control unit includes a schedule creation unit that creates a schedule in the order in which the selected jobs are processed. The scheduling device according to any one of claims 1 to 4.

8. The input unit receives input of the processing times required for the first process and the second process for each job and the total number of repetitions for each job. The scheduling device according to any one of claims 1 to 4.

9. accepts input of processing times required for a first process by a first system and a second process by a second system for each of a plurality of jobs that are executed by repeating the first process and the second process alternately one or more times; creating a set of jobs that can be processed by the first system without waiting time from among the plurality of jobs based on the processing times; Selecting one job to be executed by the first system from the set of jobs A scheduling method comprising:

10. On the computer, an input process for receiving an input of processing times required for a first process by a first system and a second process by a second system for each of a plurality of jobs that are executed by repeating the first process and the second process alternately one or more times; and Execute a schedule creation control process that controls a process for creating a schedule based on the processing time; In the schedule creation control process, a set creation process for creating a set of jobs that can be processed by the first system without waiting time from among the plurality of jobs; and A selection process for selecting one job to be executed by the first system from the set of jobs. A scheduling program for executing the above.

Citation Information

Patent Citations

  • Methods and systems for quantum-immediate or quantum-enabled computers

    JP2019521431A