JP2021190001A - Job scheduling program, information processing apparatus, and job scheduling method - Google Patents

Job scheduling program, information processing apparatus, and job scheduling method Download PDF

Info

Publication number
JP2021190001A
JP2021190001A JP2020097647A JP2020097647A JP2021190001A JP 2021190001 A JP2021190001 A JP 2021190001A JP 2020097647 A JP2020097647 A JP 2020097647A JP 2020097647 A JP2020097647 A JP 2020097647A JP 2021190001 A JP2021190001 A JP 2021190001A
Authority
JP
Japan
Prior art keywords
job
jobs
execution time
parameter
value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2020097647A
Other languages
Japanese (ja)
Inventor
成人 鈴木
Shigeto Suzuki
龍一 関澤
Ryuichi Sekizawa
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2020097647A priority Critical patent/JP2021190001A/en
Publication of JP2021190001A publication Critical patent/JP2021190001A/en
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

To improve utilization efficiency of a system.SOLUTION: An information processing apparatus 10 determines whether a value of a first parameter of a first job 2 to be newly submitted is coincident with a value of a second parameter which is the same kind as first parameters of second jobs 3a, 3b, ... which have been already executed. When the second jobs 3a, 3b, ... do not include a job of which the value of the second parameter coincides with the value of the first parameter, the information processing apparatus 10 determines the time to terminate execution of the first job 2 as an estimated execution time for the case of scheduling the first job 2. When the second jobs 3a, 3b, ... include third jobs 4a, 4b, ... of which the value of the second parameter coincides with the value of the first parameter, the information processing apparatus 10 determines the estimated execution time on the basis of past execution time of the third jobs 4a, 4b, ....SELECTED DRAWING: Figure 1

Description

本発明は、ジョブスケジューリングプログラム、情報処理装置およびジョブスケジューリング方法に関する。 The present invention relates to a job scheduling program, an information processing apparatus, and a job scheduling method.

HPC(High Performance Computing)システムなどの大規模なコンピュータシステム(以下、単にシステムと呼ぶこともある)は、大量の計算ノードを用いてジョブを実行する。そのため各計算ノードへのジョブの割当を管理するためのジョブスケジューリングが重要となる。 A large-scale computer system (hereinafter, also referred to simply as a system) such as an HPC (High Performance Computing) system executes a job using a large number of computing nodes. Therefore, job scheduling for managing job allocation to each compute node is important.

ジョブスケジューリングでは、例えば各ジョブの実行のために使用される計算ノードおよび各ジョブの実行のために計算ノードが使用される時間を示すスケジュールが決定される。そしてシステムは、スケジュールに従ってジョブを実行する。 Job scheduling determines, for example, a schedule that indicates the compute node used to execute each job and the time the compute node is used to execute each job. The system then executes the job according to the schedule.

ジョブスケジューリングに関する技術としては、例えば推定処理時間に基づいた手動操作により、自動スケジューリングの結果を適切に変更することを可能とするジョブスケジューリングシステムが提案されている。また例えば、時間軸方向をいくつかのスケジュール区間に分割し、個々のジョブをそのスケジュール区間単位に切り上げてスケジューリングする技術が提案されている。 As a technique related to job scheduling, a job scheduling system has been proposed that makes it possible to appropriately change the result of automatic scheduling by, for example, a manual operation based on an estimated processing time. Further, for example, a technique has been proposed in which the time axis direction is divided into several schedule sections, and individual jobs are rounded up to the schedule section for scheduling.

特開2005−148901号公報Japanese Unexamined Patent Publication No. 2005-148901

山本啓二 他、「区間スケジューリングを用いたジョブスケジューリングの性能評価」、情報処理学会研究報告、Vol.2014−HPC−146 No.3Keiji Yamamoto et al., "Performance Evaluation of Job Scheduling Using Interval Scheduling", IPSJ Research Report, Vol. 2014-HPC-146 No. 3

ジョブの実行のために計算ノードが使用される実際の時間(つまり、ジョブの実行時間)は、事前に分からない。そこで、ユーザが計算ノードの使用を希望する時間として指定した時間を用いて、ジョブスケジューリングすることが考えられる。システムでは、ユーザが指定した時間はジョブの打ち切り時間として使用される。すなわち、実行開始からユーザが指定した時間内に完了できないジョブの実行は、その時間が経過した時点で打ち切りとなり、ジョブの実行時間が指定された時間を超過することはない。そのため、ユーザが指定した時間に基づいてジョブスケジューリングを行えば、ユーザが指定した時間とジョブの実行時間とに差があっても、スケジュール通りに各ジョブの実行を開始することができる。しかしながら、ジョブの実際の実行時間がユーザの指定した時間より短い場合、その時間の差が大きいとシステムの使用効率が低下する。 The actual time the compute node is used to run the job (that is, the job run time) is not known in advance. Therefore, it is conceivable to schedule the job using the time specified by the user as the desired time to use the compute node. In the system, the time specified by the user is used as the job termination time. That is, the execution of a job that cannot be completed within the time specified by the user from the start of execution is terminated when that time elapses, and the execution time of the job does not exceed the specified time. Therefore, if job scheduling is performed based on the time specified by the user, the execution of each job can be started according to the schedule even if there is a difference between the time specified by the user and the execution time of the job. However, if the actual execution time of the job is shorter than the time specified by the user, the system usage efficiency will decrease if the time difference is large.

ここで、ジョブの実行時間を高精度に予測できれば、予測した実行時間に基づいてジョブスケジューリングを行うことで、システムの使用効率を向上させることが可能となる。ただし、実行されたジョブが予測した実行時間までに完了できなかった場合、そのジョブが予定の時間を超過して実行され、それ以降の他のジョブの実行スケジュールが崩れてしまう。ジョブの実行スケジュールが崩れると、システムの使用効率が却って悪化する可能性がある。 Here, if the job execution time can be predicted with high accuracy, it is possible to improve the system usage efficiency by performing job scheduling based on the predicted execution time. However, if the executed job cannot be completed by the expected execution time, the job will be executed beyond the scheduled time, and the execution schedule of other jobs after that will be disrupted. If the job execution schedule is broken, the system usage efficiency may worsen.

1つの側面では、本件は、システムの使用効率を向上させることを目的とする。 In one aspect, the present case aims to improve the efficiency of use of the system.

1つの案では、コンピュータに以下の処理を実行させるジョブスケジューリングプログラムが提供される
コンピュータは、新規に投入される第1ジョブおよび実行が終了した複数の第2ジョブそれぞれのパラメータを含む、第1ジョブおよび複数の第2ジョブそれぞれのジョブ情報に基づいて、第1ジョブの第1パラメータの値と複数の第2ジョブそれぞれの第1パラメータと同種の第2パラメータの値とが一致するか否かを判定する。そしてコンピュータは、複数の第2ジョブに、第2パラメータの値が第1パラメータの値と一致するジョブが含まれていない場合、第1ジョブが開始してから実行が打ち切られるまでの時間を第1ジョブがスケジューリングされる際の推定実行時間に決定する。またコンピュータは、複数の第2ジョブに、第2パラメータの値が第1パラメータの値と一致する一以上の第3ジョブが含まれる場合、一以上の第3ジョブそれぞれの過去に実行された際の実行時間に基づいて、推定実行時間を決定する。
In one proposal, the computer to which the job scheduling program for causing the computer to execute the following processing includes the parameters of the newly submitted first job and the plurality of second jobs whose execution has been completed, respectively, as the first job. And whether or not the value of the first parameter of the first job matches the value of the first parameter of each of the plurality of second jobs and the value of the second parameter of the same type based on the job information of each of the plurality of second jobs. judge. Then, when the plurality of second jobs do not include a job whose value of the second parameter matches the value of the first parameter, the computer sets the time from the start of the first job to the termination of execution. 1 Determines the estimated execution time when a job is scheduled. Further, when the computer includes one or more third jobs whose values of the second parameter match the values of the first parameter, when the plurality of second jobs are executed in the past of each of the one or more third jobs. Determine the estimated execution time based on the execution time of.

1態様によれば、システムの使用効率を向上させることができる。 According to one aspect, the efficiency of use of the system can be improved.

第1の実施の形態に係るジョブスケジューリング方法の一例を示す図である。It is a figure which shows an example of the job scheduling method which concerns on 1st Embodiment. 第2の実施の形態のシステム構成例を示す図である。It is a figure which shows the system configuration example of the 2nd Embodiment. 管理サーバのハードウェアの一構成例を示す図である。It is a figure which shows one configuration example of the hardware of a management server. スケジュールの一例を示す図である。It is a figure which shows an example of a schedule. 推定実行時間と実際の実行時間との差の第1の影響の例を示す図である。It is a figure which shows the example of the 1st influence of the difference between the estimated execution time and the actual execution time. 推定実行時間と実際の実行時間との差の第2の影響の例を示す図である。It is a figure which shows the example of the 2nd influence of the difference between the estimated execution time and the actual execution time. シミュレーション結果の一例を示す図である。It is a figure which shows an example of the simulation result. ジョブ作成過程の一例を示す図である。It is a figure which shows an example of a job creation process. ジョブスケジューリングのための各装置の機能を示すブロック図である。It is a block diagram which shows the function of each apparatus for job scheduling. 管理サーバのDBに格納される情報の一例を示す図である。It is a figure which shows an example of the information stored in the DB of a management server. ジョブ情報の一例を示す図である。It is a figure which shows an example of a job information. 学習結果情報の一例を示す図である。It is a figure which shows an example of learning result information. 類似ジョブ情報の一例を示す図である。It is a figure which shows an example of the similar job information. 実行時間推定処理の手順の一例を示すフローチャートである。It is a flowchart which shows an example of the procedure of execution time estimation processing. 類似ジョブ抽出処理の手順の一例を示すフローチャートである。It is a flowchart which shows an example of the procedure of the similar job extraction process. ジョブスケジューリング処理の手順の一例を示すフローチャートである。It is a flowchart which shows an example of the procedure of job scheduling processing.

以下、本実施の形態について図面を参照して説明する。なお各実施の形態は、矛盾のない範囲で複数の実施の形態を組み合わせて実施することができる。
〔第1の実施の形態〕
まず第1の実施の形態について説明する。
Hereinafter, the present embodiment will be described with reference to the drawings. It should be noted that each embodiment can be implemented by combining a plurality of embodiments within a consistent range.
[First Embodiment]
First, the first embodiment will be described.

図1は、第1の実施の形態に係るジョブスケジューリング方法の一例を示す図である。図1には、ジョブスケジューリング方法を実施する情報処理装置10が示されている。情報処理装置10は、例えばジョブスケジューリング方法の処理手順が記述されたジョブスケジューリングプログラムを実行することにより、ジョブスケジューリング方法を実施することができる。 FIG. 1 is a diagram showing an example of a job scheduling method according to the first embodiment. FIG. 1 shows an information processing apparatus 10 that implements a job scheduling method. The information processing apparatus 10 can implement the job scheduling method by, for example, executing a job scheduling program in which the processing procedure of the job scheduling method is described.

情報処理装置10は、例えばHPCシステム1に接続されており、HPCシステム1に新規に投入される第1ジョブ2のスケジューリングに用いられる実行時間を推定する。情報処理装置10は、ジョブスケジューリング方法を実現するために、記憶部11と処理部12とを有する。記憶部11は、例えば情報処理装置10が有するメモリ、またはストレージ装置である。処理部12は、例えば情報処理装置10が有するプロセッサ、または演算回路である。 The information processing apparatus 10 is connected to, for example, the HPC system 1 and estimates the execution time used for scheduling the first job 2 newly submitted to the HPC system 1. The information processing apparatus 10 has a storage unit 11 and a processing unit 12 in order to realize a job scheduling method. The storage unit 11 is, for example, a memory or a storage device included in the information processing device 10. The processing unit 12 is, for example, a processor or an arithmetic circuit included in the information processing apparatus 10.

記憶部11は、ジョブ情報11a,11b,・・・を記憶する。ジョブ情報11a,11b,・・・は、対応するジョブのパラメータを含む。ジョブのパラメータとしては、例えばジョブの名称を示すパラメータ(ジョブ名)、ジョブを投入したユーザの名称を示すパラメータ(ユーザ名)およびユーザが所属するグループを示すパラメータ(グループ名)等がある。また実行が終了したジョブのパラメータとしては、ジョブの実行時間がある。ジョブ情報11a,11b,・・・には、第1ジョブ2および実行が終了した複数の第4ジョブそれぞれのジョブ情報が含まれる。 The storage unit 11 stores job information 11a, 11b, .... The job information 11a, 11b, ... Includes the parameters of the corresponding job. The parameters of the job include, for example, a parameter indicating the name of the job (job name), a parameter indicating the name of the user who submitted the job (user name), and a parameter indicating the group to which the user belongs (group name). Also, as a parameter of the job whose execution has been completed, there is the job execution time. The job information 11a, 11b, ... Includes job information for each of the first job 2 and the plurality of fourth jobs whose execution has been completed.

まず処理部12は、第1ジョブ2と類似する、実行が終了した第2ジョブ3a,3b,・・・を特定する。例えば処理部12は、第1ジョブ2および実行が終了した複数の第4ジョブそれぞれのジョブ情報と所定の計算式を用いて、第1ジョブ2と複数の第4ジョブそれぞれとの類似度を計算する。処理部12は、2つのジョブの類似度を、例えば2つのジョブのトピック分布の類似度を計算するための計算式を用いて計算する。処理部12は、第1ジョブ2と複数の第4ジョブそれぞれとの類似度に基づいて、複数の第4ジョブの中から第1ジョブ2とジョブ情報が類似する第2ジョブ3a,3b,・・・を特定する。例えば処理部12は、複数の第4ジョブのうち、第1ジョブ2との類似度が高い順に所定数のジョブを、第2ジョブ3a,3b,・・・として特定する。 First, the processing unit 12 identifies the second jobs 3a, 3b, ... Which are similar to the first job 2 and whose execution has been completed. For example, the processing unit 12 calculates the degree of similarity between the first job 2 and each of the plurality of fourth jobs by using the job information of the first job 2 and the plurality of fourth jobs whose execution has been completed and a predetermined calculation formula. do. The processing unit 12 calculates the similarity between the two jobs using, for example, a formula for calculating the similarity of the topic distributions of the two jobs. Based on the degree of similarity between the first job 2 and each of the plurality of fourth jobs, the processing unit 12 has the second jobs 3a, 3b, ...・ ・ Identify. For example, the processing unit 12 specifies a predetermined number of jobs as second jobs 3a, 3b, ... In descending order of similarity with the first job 2 among the plurality of fourth jobs.

次に処理部12は、第1ジョブ2および第2ジョブ3a,3b,・・・それぞれのジョブ情報に基づいて、第1ジョブ2の第1パラメータの値と第2ジョブ3a,3b,・・・それぞれの第1パラメータと同種の第2パラメータの値とが一致するか否かを判定する。例えば第1パラメータは複数であり、複数の第1パラメータには、ジョブ名、ユーザ名およびグループ名が含まれる。 Next, the processing unit 12 sets the values of the first parameters of the first job 2 and the second jobs 3a, 3b, ..., Based on the respective job information of the first job 2 and the second jobs 3a, 3b, ... -It is determined whether or not the value of each first parameter and the value of the second parameter of the same type match. For example, the first parameter is plural, and the plurality of first parameters include a job name, a user name, and a group name.

そして処理部12は、第1ジョブ2がスケジューリングされる際の推定実行時間を決定する。処理部12は、第2ジョブ3a,3b,・・・に、第2パラメータの値が第1パラメータの値と一致するジョブが含まれていない場合、第1ジョブ2が開始してから実行が打ち切られるまでの時間を第1ジョブ2がスケジューリングされる際の推定実行時間に決定する。例えば処理部12は、第1ジョブ2のジョブ情報に含まれる、第1ジョブ2が開始してから実行が打ち切られるまでの時間を示すパラメータ(例えば、要求実行時間)を参照する。そして処理部12は、第1ジョブ2の要求実行時間を第1ジョブ2がスケジューリングされる際の推定実行時間に決定する。 Then, the processing unit 12 determines the estimated execution time when the first job 2 is scheduled. If the second jobs 3a, 3b, ... Do not include a job whose value of the second parameter matches the value of the first parameter, the processing unit 12 executes the job after the first job 2 starts. The time until the termination is determined as the estimated execution time when the first job 2 is scheduled. For example, the processing unit 12 refers to a parameter (for example, request execution time) included in the job information of the first job 2 indicating the time from the start of the first job 2 to the termination of execution. Then, the processing unit 12 determines the request execution time of the first job 2 as the estimated execution time when the first job 2 is scheduled.

処理部12は、第2ジョブ3a,3b,・・・に、第2パラメータの値が第1パラメータの値と一致する第3ジョブ4a,4b,・・・が含まれる場合、第3ジョブ4a,4b,・・・それぞれの過去に実行された際の実行時間に基づいて、推定実行時間を決定する。例えば処理部12は、第3ジョブ4a,4b,・・・それぞれの過去に実行された際の実行時間のうちの最大実行時間に基づいて、推定実行時間を決定する。処理部12は、推定実行時間を、第3ジョブ4a,4b,・・・それぞれの実行時間のうちの最大実行時間に決定してもよいし、第3ジョブ4a,4b,・・・それぞれの実行時間のうちの最大実行時間を所定の割合だけ増減したものに決定してもよい。 When the second job 3a, 3b, ... Includes the third job 4a, 4b, ... The value of the second parameter matches the value of the first parameter, the processing unit 12 includes the third job 4a, ... , 4b, ... The estimated execution time is determined based on the execution time when each was executed in the past. For example, the processing unit 12 determines the estimated execution time based on the maximum execution time of the execution times of the third jobs 4a, 4b, ..., Each of which has been executed in the past. The processing unit 12 may determine the estimated execution time to be the maximum execution time of the third jobs 4a, 4b, ..., Each of the third jobs 4a, 4b, .... The maximum execution time of the execution time may be increased or decreased by a predetermined ratio.

第1ジョブ2は、決定された推定実行時間に基づいてスケジューリングされる。第1ジョブ2は、処理部12によってスケジューリングされてもよいし、他の情報処理装置によってスケジューリングされてもよい。例えば処理部12は、第1ジョブ2を含む、HPCシステム1に投入された複数のジョブのスケジューリングを行う。処理部12は、第1ジョブ2の実行のためにHPCシステム1の計算ノードが推定実行時間だけ使用されるものとしてスケジューリングを行う。 The first job 2 is scheduled based on the determined estimated execution time. The first job 2 may be scheduled by the processing unit 12 or may be scheduled by another information processing device. For example, the processing unit 12 schedules a plurality of jobs submitted to the HPC system 1 including the first job 2. The processing unit 12 schedules the calculation node of the HPC system 1 to be used for the estimated execution time for the execution of the first job 2.

このような情報処理装置10によれば、処理部12は、第2パラメータの値が第1パラメータの値と一致するジョブがなければ、第1ジョブ2が開始してから実行が打ち切られるまでの時間を第1ジョブ2がスケジューリングされる際の推定実行時間に決定する。また処理部12は、第2パラメータの値が第1パラメータの値と一致する第3ジョブ4a,4b,・・・があれば、第3ジョブ4a,4b,・・・それぞれの過去に実行された際の実行時間に基づいて、推定実行時間を決定する。 According to such an information processing apparatus 10, if there is no job whose value of the second parameter matches the value of the first parameter, the processing unit 12 starts the first job 2 until the execution is terminated. The time is determined as the estimated execution time when the first job 2 is scheduled. Further, if there is a third job 4a, 4b, ... The value of the second parameter matches the value of the first parameter, the processing unit 12 is executed in the past of each of the third jobs 4a, 4b, ... The estimated execution time is determined based on the execution time at the time.

ここで第1ジョブ2の推定実行時間より第1ジョブ2の実際の実行時間が長いと、第1ジョブ2を実行していた計算ノードは、第1ジョブ2の後に実行を予定していたジョブを開始予定時刻に開始できない。また第1ジョブ2の推定実行時間より第1ジョブ2の実際の実行時間が短いと、第1ジョブ2を実行していた計算ノードは、次のジョブの実行予定時刻まで待機することとなる。なお次のジョブの実行予定時刻まで待機することよりも、次のジョブを開始予定時刻に開始できないことのほうがHPCシステム1の使用効率を低下させる。 Here, if the actual execution time of the first job 2 is longer than the estimated execution time of the first job 2, the calculation node executing the first job 2 is the job scheduled to be executed after the first job 2. Cannot start at the scheduled start time. If the actual execution time of the first job 2 is shorter than the estimated execution time of the first job 2, the calculation node that has executed the first job 2 will wait until the scheduled execution time of the next job. It should be noted that the inability to start the next job at the scheduled start time lowers the usage efficiency of the HPC system 1 rather than waiting until the scheduled execution time of the next job.

そこで情報処理装置10は、第2パラメータの値が第1パラメータの値と一致する第3ジョブ4a,4b,・・・に基づいて、第1ジョブ2の実行時間を予測する。情報処理装置10は、第2パラメータの値が第1パラメータの値と一致するジョブがない(つまり、第1ジョブ2の実行時間を予測できない)場合、実行が打ち切られるまでの時間を推定実行時間に決定し、推定実行時間が実際の実行時間より長くなるようにする。また情報処理装置10は、第2パラメータの値が第1パラメータの値と一致する第3ジョブ4a,4b,・・・がある場合、第1ジョブ2の予測の実行時間を推定実行時間に決定し、計算ノードがジョブを実行していない時間が短くなるようにする。これにより、情報処理装置10は、HPCシステム1の使用効率を向上させることができる。 Therefore, the information processing apparatus 10 predicts the execution time of the first job 2 based on the third jobs 4a, 4b, ..., Where the value of the second parameter matches the value of the first parameter. The information processing apparatus 10 estimates the execution time until the execution is terminated when there is no job whose value of the second parameter matches the value of the first parameter (that is, the execution time of the first job 2 cannot be predicted). To make the estimated execution time longer than the actual execution time. Further, when there are third jobs 4a, 4b, ..., Where the value of the second parameter matches the value of the first parameter, the information processing apparatus 10 determines the predicted execution time of the first job 2 as the estimated execution time. And make sure that the compute node spends less time running jobs. Thereby, the information processing apparatus 10 can improve the usage efficiency of the HPC system 1.

また処理部12は、第3ジョブ4a,4b,・・・がある場合、第3ジョブ4a,4b,・・・それぞれの過去に実行された際の実行時間のうちの最大実行時間に基づいて、推定実行時間を決定する。これにより情報処理装置10は、推定実行時間が実際の実行時間より長くなるようにできる。 Further, when there are third jobs 4a, 4b, ..., The processing unit 12 is based on the maximum execution time of the execution times when the third jobs 4a, 4b, ... Are executed in the past. , Determine the estimated execution time. As a result, the information processing apparatus 10 can make the estimated execution time longer than the actual execution time.

また第1パラメータにはジョブ名、ユーザ名およびグループ名が含まれる。これにより情報処理装置10は、第1ジョブと同じような内容で、実行が終了したジョブの実行時間に基づいて、第1ジョブの推定実行時間を精度良く決定できる。 Further, the first parameter includes a job name, a user name and a group name. As a result, the information processing apparatus 10 can accurately determine the estimated execution time of the first job based on the execution time of the job whose execution has been completed, with the same contents as the first job.

また処理部12は、複数の第4ジョブの中から第1ジョブ2とジョブ情報が類似する第2ジョブ3a,3b,・・・を特定し、第2ジョブ3a,3b,・・・に第3ジョブ4a,4b,・・・が含まれるか否かに応じて上記の処理を実行する。これにより情報処理装置10は、第1ジョブとジョブ情報が類似する、実行が終了したジョブの実行時間に基づいて、第1ジョブの推定実行時間を精度良く決定できる。 Further, the processing unit 12 identifies the second jobs 3a, 3b, ... The job information is similar to that of the first job 2 from the plurality of fourth jobs, and the second job 3a, 3b, ... 3 The above processing is executed depending on whether or not jobs 4a, 4b, ... Are included. As a result, the information processing apparatus 10 can accurately determine the estimated execution time of the first job based on the execution time of the job whose execution has been completed and whose job information is similar to that of the first job.

なお処理部12は、第2ジョブ3a,3b,・・・に、第3ジョブ4a,4b,・・・が含まれる場合の、推定実行時間の決定では、第1パラメータと別種の第3パラメータに応じて、次のように推定実行時間を決定してもよい。 When the second jobs 3a, 3b, ... Include the third jobs 4a, 4b, ..., The processing unit 12 determines the estimated execution time with the third parameter of a different type from the first parameter. Depending on the situation, the estimated execution time may be determined as follows.

処理部12は、第3ジョブ4a,4b,・・・それぞれのジョブ情報に示される、第3ジョブ4a,4b,・・・それぞれの第3パラメータを参照する。そして処理部12は、第3ジョブ4a,4b,・・・すべての第3パラメータの値が同じである場合、第3ジョブ4a,4b,・・・それぞれの過去に実行された際の実行時間に基づいて、推定実行時間を決定する。また処理部12は、第3ジョブ4a,4b,・・・すべての第3パラメータの値が同じでない場合、第1ジョブ2が開始してから実行が打ち切られるまでの時間を推定実行時間に決定する。これにより情報処理装置10は、推定実行時間が実際の実行時間より短くなることをさらに抑止できる。 The processing unit 12 refers to the third parameters of the third jobs 4a, 4b, ... Shown in the job information of the third jobs 4a, 4b, .... Then, when the values of the third jobs 4a, 4b, ..., All the third parameters are the same, the processing unit 12 has the execution time when the third jobs 4a, 4b, ... The estimated execution time is determined based on. Further, the processing unit 12 determines the time from the start of the first job 2 to the termination of execution as the estimated execution time when the values of all the third parameters of the third jobs 4a, 4b, ... Are not the same. do. As a result, the information processing apparatus 10 can further prevent the estimated execution time from becoming shorter than the actual execution time.

〔第2の実施の形態〕
次に第2の実施の形態について説明する。第2の実施の形態は、HPCシステムに投入するジョブの実行時間を推定し、推定した実行時間に基づいてジョブスケジューリングをするものである。
[Second Embodiment]
Next, the second embodiment will be described. In the second embodiment, the execution time of the job to be input to the HPC system is estimated, and the job scheduling is performed based on the estimated execution time.

図2は、第2の実施の形態のシステム構成例を示す図である。HPCシステム30は、複数の計算ノード31,32,・・・を有している。計算ノード31,32,・・・は、投入されたジョブを実行するコンピュータである。 FIG. 2 is a diagram showing a system configuration example of the second embodiment. The HPC system 30 has a plurality of calculation nodes 31, 32, .... The calculation nodes 31, 32, ... Are computers that execute the submitted jobs.

HPCシステム30内の計算ノード31,32,・・・は、HPC運用管理サーバ200に接続されている。HPC運用管理サーバ200は、HPCシステム30の運用管理を行うコンピュータである。例えばHPC運用管理サーバ200は、実行待ちのジョブについて、管理サーバ100が推定したジョブの実行時間に基づいてジョブスケジューリングを行う。そしてHPC運用管理サーバ200は、作成したジョブの実行スケジュールに従って、計算ノード31,32,・・・にジョブの実行を指示する。 The calculation nodes 31, 32, ... In the HPC system 30 are connected to the HPC operation management server 200. The HPC operation management server 200 is a computer that manages the operation of the HPC system 30. For example, the HPC operation management server 200 performs job scheduling for jobs waiting to be executed based on the job execution time estimated by the management server 100. Then, the HPC operation management server 200 instructs the calculation nodes 31, 32, ... To execute the job according to the execution schedule of the created job.

HPC運用管理サーバ200は、ネットワーク20を介して端末装置41,42,・・・および管理サーバ100に接続されている。端末装置41,42,・・・は、HPCシステム30によるジョブの実行を希望するユーザが使用するコンピュータである。端末装置41,42,・・・は、ユーザの入力に基づいてHPCシステム30に実行させるジョブの内容を示すジョブ情報を生成し、生成したジョブ情報を含むジョブ投入要求を、HPC運用管理サーバ200に送信する。 The HPC operation management server 200 is connected to the terminal devices 41, 42, ... And the management server 100 via the network 20. The terminal devices 41, 42, ... Are computers used by a user who wishes to execute a job by the HPC system 30. The terminal devices 41, 42, ... Generate job information indicating the content of the job to be executed by the HPC system 30 based on the input of the user, and send a job input request including the generated job information to the HPC operation management server 200. Send to.

管理サーバ100は、HPC運用管理サーバ200によるHPCシステム30のジョブスケジューリングを支援するコンピュータである。管理サーバ100は、HPC運用管理サーバ200から、実行するジョブおよび実行が終了したジョブのジョブ情報を取得する。なお、実行が終了したジョブのジョブ情報には、ジョブの実行時間を示す情報が含まれる。管理サーバ100は、実行が終了したジョブのジョブ情報と実行時間とに基づいて、新規に投入されたジョブ(新規投入ジョブ)の実行時間を推定する。そして管理サーバ100は、HPC運用管理サーバ200に、新規投入ジョブの推定実行時間を送信する。 The management server 100 is a computer that supports job scheduling of the HPC system 30 by the HPC operation management server 200. The management server 100 acquires job information of a job to be executed and a job whose execution has been completed from the HPC operation management server 200. Note that the job information of the job whose execution has been completed includes information indicating the execution time of the job. The management server 100 estimates the execution time of a newly submitted job (newly submitted job) based on the job information and the execution time of the job whose execution has been completed. Then, the management server 100 transmits the estimated execution time of the newly submitted job to the HPC operation management server 200.

図3は、管理サーバのハードウェアの一構成例を示す図である。管理サーバ100は、プロセッサ101によって装置全体が制御されている。プロセッサ101には、バス109を介してメモリ102と複数の周辺機器が接続されている。プロセッサ101は、マルチプロセッサであってもよい。プロセッサ101は、例えばCPU(Central Processing Unit)、MPU(Micro Processing Unit)、またはDSP(Digital Signal Processor)である。プロセッサ101がプログラムを実行することで実現する機能の少なくとも一部を、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)などの電子回路で実現してもよい。 FIG. 3 is a diagram showing a configuration example of the hardware of the management server. The entire device of the management server 100 is controlled by the processor 101. A memory 102 and a plurality of peripheral devices are connected to the processor 101 via a bus 109. The processor 101 may be a multiprocessor. The processor 101 is, for example, a CPU (Central Processing Unit), an MPU (Micro Processing Unit), or a DSP (Digital Signal Processor). At least a part of the functions realized by the processor 101 executing a program may be realized by an electronic circuit such as an ASIC (Application Specific Integrated Circuit) or a PLD (Programmable Logic Device).

メモリ102は、管理サーバ100の主記憶装置として使用される。メモリ102には、プロセッサ101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、メモリ102には、プロセッサ101による処理に利用する各種データが格納される。メモリ102としては、例えばRAM(Random Access Memory)などの揮発性の半導体記憶装置が使用される。 The memory 102 is used as the main storage device of the management server 100. At least a part of an OS (Operating System) program or an application program to be executed by the processor 101 is temporarily stored in the memory 102. Further, various data used for processing by the processor 101 are stored in the memory 102. As the memory 102, a volatile semiconductor storage device such as a RAM (Random Access Memory) is used.

バス109に接続されている周辺機器としては、ストレージ装置103、グラフィック処理装置104、入力インタフェース105、光学ドライブ装置106、機器接続インタフェース107およびネットワークインタフェース108がある。 Peripheral devices connected to the bus 109 include a storage device 103, a graphic processing device 104, an input interface 105, an optical drive device 106, a device connection interface 107, and a network interface 108.

ストレージ装置103は、内蔵した記録媒体に対して、電気的または磁気的にデータの書き込みおよび読み出しを行う。ストレージ装置103は、コンピュータの補助記憶装置として使用される。ストレージ装置103には、OSのプログラム、アプリケーションプログラム、および各種データが格納される。なお、ストレージ装置103としては、例えばHDD(Hard Disk Drive)やSSD(Solid State Drive)を使用することができる。 The storage device 103 electrically or magnetically writes and reads data to and from the built-in recording medium. The storage device 103 is used as an auxiliary storage device for a computer. The storage device 103 stores an OS program, an application program, and various data. As the storage device 103, for example, an HDD (Hard Disk Drive) or an SSD (Solid State Drive) can be used.

グラフィック処理装置104には、モニタ21が接続されている。グラフィック処理装置104は、プロセッサ101からの命令に従って、画像をモニタ21の画面に表示させる。モニタ21としては、有機EL(Electro Luminescence)を用いた表示装置や液晶表示装置などがある。 A monitor 21 is connected to the graphic processing device 104. The graphic processing device 104 causes the image to be displayed on the screen of the monitor 21 according to the instruction from the processor 101. The monitor 21 includes a display device using an organic EL (Electro Luminescence), a liquid crystal display device, and the like.

入力インタフェース105には、キーボード22とマウス23とが接続されている。入力インタフェース105は、キーボード22やマウス23から送られてくる信号をプロセッサ101に送信する。なお、マウス23は、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。 A keyboard 22 and a mouse 23 are connected to the input interface 105. The input interface 105 transmits signals sent from the keyboard 22 and the mouse 23 to the processor 101. The mouse 23 is an example of a pointing device, and other pointing devices can also be used. Other pointing devices include touch panels, tablets, touchpads, trackballs and the like.

光学ドライブ装置106は、レーザ光などを利用して、光ディスク24に記録されたデータの読み取りを行う。光ディスク24は、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク24には、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。 The optical drive device 106 reads the data recorded on the optical disk 24 by using a laser beam or the like. The optical disk 24 is a portable recording medium on which data is recorded so that it can be read by reflection of light. The optical disk 24 includes a DVD (Digital Versatile Disc), a DVD-RAM, a CD-ROM (Compact Disc Read Only Memory), a CD-R (Recordable) / RW (ReWritable), and the like.

機器接続インタフェース107は、管理サーバ100に周辺機器を接続するための通信インタフェースである。例えば機器接続インタフェース107には、メモリ装置25やメモリリーダライタ26を接続することができる。メモリ装置25は、機器接続インタフェース107との通信機能を搭載した記録媒体である。メモリリーダライタ26は、メモリカード27へのデータの書き込み、またはメモリカード27からのデータの読み出しを行う装置である。メモリカード27は、カード型の記録媒体である。 The device connection interface 107 is a communication interface for connecting peripheral devices to the management server 100. For example, a memory device 25 or a memory reader / writer 26 can be connected to the device connection interface 107. The memory device 25 is a recording medium equipped with a communication function with the device connection interface 107. The memory reader / writer 26 is a device that writes data to the memory card 27 or reads data from the memory card 27. The memory card 27 is a card-type recording medium.

ネットワークインタフェース108は、ネットワーク20に接続されている。ネットワークインタフェース108は、ネットワーク20を介して、他のコンピュータまたは通信機器との間でデータの送受信を行う。 The network interface 108 is connected to the network 20. The network interface 108 transmits / receives data to / from another computer or communication device via the network 20.

管理サーバ100は、以上のようなハードウェア構成によって、第2の実施の形態の処理機能を実現することができる。計算ノード31,32,・・・、HPC運用管理サーバ200、および端末装置41,42,・・・も、管理サーバ100と同様のハードウェアで実現できる。なお計算ノード31,32,・・・は、計算ノード31,32,・・・同士で高速通信を行うためのインターコネクト用インタフェースをさらに有している。図1に示した第1の実施の形態の情報処理装置10も、図3に示した管理サーバ100と同様のハードウェアにより実現することができる。 The management server 100 can realize the processing function of the second embodiment by the hardware configuration as described above. The calculation nodes 31, 32, ..., HPC operation management server 200, and terminal devices 41, 42, ... Can also be realized by the same hardware as the management server 100. The calculation nodes 31, 32, ... Further have an interconnect interface for high-speed communication between the calculation nodes 31, 32, .... The information processing apparatus 10 of the first embodiment shown in FIG. 1 can also be realized by the same hardware as the management server 100 shown in FIG.

管理サーバ100は、例えばコンピュータ読み取り可能な記録媒体に記録されたプログラムを実行することにより、第2の実施の形態の処理機能を実現する。管理サーバ100に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。例えば、管理サーバ100に実行させるプログラムをストレージ装置103に格納しておくことができる。プロセッサ101は、ストレージ装置103内のプログラムの少なくとも一部をメモリ102にロードし、プログラムを実行する。また管理サーバ100に実行させるプログラムを、光ディスク24、メモリ装置25、メモリカード27などの可搬型記録媒体に記録しておくこともできる。可搬型記録媒体に格納されたプログラムは、例えばプロセッサ101からの制御により、ストレージ装置103にインストールされた後、実行可能となる。またプロセッサ101が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。 The management server 100 realizes the processing function of the second embodiment, for example, by executing a program recorded on a computer-readable recording medium. The program that describes the processing content to be executed by the management server 100 can be recorded on various recording media. For example, a program to be executed by the management server 100 can be stored in the storage device 103. The processor 101 loads at least a part of the program in the storage device 103 into the memory 102 and executes the program. Further, the program to be executed by the management server 100 can be recorded on a portable recording medium such as an optical disk 24, a memory device 25, and a memory card 27. The program stored in the portable recording medium can be executed after being installed in the storage device 103 by control from the processor 101, for example. The processor 101 can also read and execute the program directly from the portable recording medium.

図2に示すシステムにおいて、HPC運用管理サーバ200と管理サーバ100とが連係動作し、HPCシステム30で実行されるジョブのスケジューリングが行われる。例えば管理サーバ100が、新規投入ジョブがHPCシステム30で実行される場合の実行時間を推定する。HPC運用管理サーバ200は、新規投入ジョブの推定実行時間に基づいて、計算ノード31,32,・・・それぞれが実行するジョブのスケジュールを生成するためのジョブスケジューリングを行う。 In the system shown in FIG. 2, the HPC operation management server 200 and the management server 100 operate in cooperation with each other, and the job executed by the HPC system 30 is scheduled. For example, the management server 100 estimates the execution time when a newly submitted job is executed in the HPC system 30. The HPC operation management server 200 performs job scheduling for generating a schedule of jobs to be executed by each of the calculation nodes 31, 32, ..., Based on the estimated execution time of the newly submitted job.

図4は、スケジュールの一例を示す図である。スケジュール50は、HPC運用管理サーバ200が複数の新規投入ジョブを推定実行時間に基づいてスケジューリングしたスケジュールの一例である。スケジュール50の縦軸は、計算ノード数を示す。なお図4の水平な点線は、計算ノード31,32,・・・の総数を示す。スケジュール50の横軸は、時間を示す。第2の実施の形態では、現在から所定時間経過後までのスケジューリング期間が複数の区間に分割されている。なお、スケジューリング期間における最初の区間を0番目の区間ということがある。また各区間は等間隔でもよいし、それぞれ異なる間隔でもよい。図4ではジョブは、縦の長さがジョブの実行に用いられる計算ノード数、横の長さがジョブの推定実行時間を示す長方形で示される。長方形内の数字は、ジョブの優先度を示す。HPC運用管理サーバ200は、以下のようにスケジュール50を生成する。 FIG. 4 is a diagram showing an example of a schedule. Schedule 50 is an example of a schedule in which the HPC operation management server 200 schedules a plurality of newly submitted jobs based on the estimated execution time. The vertical axis of the schedule 50 indicates the number of calculation nodes. The horizontal dotted line in FIG. 4 indicates the total number of calculation nodes 31, 32, .... The horizontal axis of the schedule 50 indicates the time. In the second embodiment, the scheduling period from the present to the lapse of a predetermined time is divided into a plurality of sections. The first section in the scheduling period may be referred to as the 0th section. Further, each section may be at equal intervals or may be at different intervals. In FIG. 4, a job is represented by a rectangle whose vertical length indicates the number of calculation nodes used to execute the job and whose horizontal length indicates the estimated execution time of the job. The numbers in the rectangle indicate the priority of the job. The HPC operation management server 200 generates the schedule 50 as follows.

HPC運用管理サーバ200は、0番目の区間から2番目の区間までの期間に、優先度が1のジョブを割り当てる。またHPC運用管理サーバ200は、0番目の区間から1番目の区間までの期間に、優先度が2のジョブを割り当てる。またHPC運用管理サーバ200は、0番目の区間から4番目の区間までの期間に、優先度が3のジョブを割り当てる。またHPC運用管理サーバ200は、0番目の区間から3番目の区間までの期間に、優先度が4のジョブを割り当てる。 The HPC operation management server 200 allocates a job having a priority of 1 to the period from the 0th section to the 2nd section. Further, the HPC operation management server 200 allocates a job having a priority of 2 to the period from the 0th section to the 1st section. Further, the HPC operation management server 200 allocates a job having a priority of 3 to the period from the 0th section to the 4th section. Further, the HPC operation management server 200 allocates a job having a priority of 4 to the period from the 0th section to the 3rd section.

ここで優先度が1〜5のジョブそれぞれの実行に用いられる計算ノード数の合計は、計算ノード31,32,・・・の総数を超える。よってHPC運用管理サーバ200は、すでに優先度が1〜4のジョブがスケジューリングされている0番目の区間には、優先度が5のジョブをスケジューリングできない。また同様に、HPC運用管理サーバ200は、優先度が5のジョブを1〜2番目の区間にスケジューリングできない。よってHPC運用管理サーバ200は、3番目の区間から6番目の区間までの期間に、優先度が5のジョブを割り当てる。またHPC運用管理サーバ200は、優先度が6のジョブを0〜4番目の区間にスケジューリングできないため、5番目の区間から8番目の区間までの期間に、優先度が6のジョブを割り当てる。 Here, the total number of calculation nodes used to execute each job having priority 1 to 5 exceeds the total number of calculation nodes 31, 32, .... Therefore, the HPC operation management server 200 cannot schedule a job having a priority of 5 in the 0th section in which a job having a priority of 1 to 4 is already scheduled. Similarly, the HPC operation management server 200 cannot schedule a job having a priority of 5 in the first or second section. Therefore, the HPC operation management server 200 allocates a job having a priority of 5 to the period from the third section to the sixth section. Further, since the HPC operation management server 200 cannot schedule a job having a priority of 6 to the 0th to 4th sections, the HPC operation management server 200 allocates a job having a priority of 6 to the period from the 5th section to the 8th section.

上記のようにして、ジョブの推定実行時間に基づいたスケジューリングが行われる。なお、ジョブの実際の実行時間は実行前に分からないため、推定実行時間に基づいたスケジューリング通りにジョブが実行されないことがある。そこで次に、推定実行時間が実際の実行時間より長い場合および推定実行時間が実際の実行時間より短い場合の、ジョブの実行に与える影響について説明する。 As described above, scheduling is performed based on the estimated execution time of the job. Since the actual execution time of the job is not known before execution, the job may not be executed according to the scheduling based on the estimated execution time. Therefore, next, the influence on the job execution when the estimated execution time is longer than the actual execution time and when the estimated execution time is shorter than the actual execution time will be described.

図5は、推定実行時間と実際の実行時間との差の第1の影響の例を示す図である。実行結果61は、ジョブの実際の実行時間が実行前から分かっていると仮定して(つまり、推定実行時間=実際の実行時間として)スケジューリングされたスケジュールに従って、優先度が1〜4のジョブがHPCシステム30で実行された結果である。実行結果61では、優先度が1のジョブおよび優先度が2のジョブは、0番目の区間で実行されている。また実行結果61では、優先度が3のジョブは、1番目の区間で実行されている。また実行結果61では、優先度が4のジョブは、2番目の区間から3番目の区間までの期間で実行されている。 FIG. 5 is a diagram showing an example of the first effect of the difference between the estimated execution time and the actual execution time. In the execution result 61, jobs having a priority of 1 to 4 are assigned according to a scheduled schedule assuming that the actual execution time of the job is known before the execution (that is, estimated execution time = actual execution time). It is the result of execution in HPC system 30. In the execution result 61, the job having the priority 1 and the job having the priority 2 are executed in the 0th section. Further, in the execution result 61, the job having the priority 3 is executed in the first section. Further, in the execution result 61, the job having the priority of 4 is executed in the period from the second section to the third section.

スケジュール62は、優先度が2のジョブの実行時間が実際の実行時間より長めに推定された場合に、実行結果61に示す優先度が1〜4のジョブがスケジューリングされたスケジュールである。スケジュール62では、優先度が1のジョブは、0番目の区間にスケジューリングされている。またスケジュール62では、優先度が2のジョブは、0番目の区間から1番目の区間の期間にスケジューリングされている。 The schedule 62 is a schedule in which the jobs having the priority 1 to 4 shown in the execution result 61 are scheduled when the execution time of the job having the priority 2 is estimated to be longer than the actual execution time. In the schedule 62, the job having the priority 1 is scheduled in the 0th interval. Further, in the schedule 62, the job having the priority 2 is scheduled in the period from the 0th section to the 1st section.

ここで、優先度が1のジョブ、優先度が2のジョブおよび優先度が3のジョブそれぞれの実行に用いられる計算ノード数の合計は、計算ノード31,32,・・・の総数を超える。そのため優先度が3のジョブは2番目の区間にスケジューリングされている。一方優先度が1のジョブ、優先度が2のジョブおよび優先度が4のジョブそれぞれの実行に用いられる計算ノード数の合計は、計算ノード31,32,・・・の総数以下である。そのため優先度が4のジョブは、0番目の区間から1番目の区間の期間に、優先度が3のジョブを追い越してスケジューリングされている(バックフィルされている)。 Here, the total number of calculated nodes used to execute the job having the priority 1, the job having the priority 2 and the job having the priority 3 exceeds the total number of the calculated nodes 31, 32, .... Therefore, the job with priority 3 is scheduled in the second section. On the other hand, the total number of calculation nodes used to execute each of the job having priority 1, the job having priority 2, and the job having priority 4 is not more than the total number of calculation nodes 31, 32, .... Therefore, the job having the priority of 4 is scheduled (backfilled) overtaking the job having the priority of 3 in the period from the 0th section to the 1st section.

実行結果63は、スケジュール62に従って優先度が1〜4のジョブがHPCシステム30で実行された結果である。実行結果63では、優先度が1のジョブおよび優先度が2のジョブは、0番目の区間で実行されている。また実行結果63では、優先度が3のジョブは、2番目の区間で実行されている。また実行結果63では、優先度が4のジョブは、0番目の区間から1番目の区間までの期間で実行されている。 The execution result 63 is a result of the jobs having priorities 1 to 4 being executed in the HPC system 30 according to the schedule 62. In the execution result 63, the job having the priority 1 and the job having the priority 2 are executed in the 0th section. Further, in the execution result 63, the job having the priority 3 is executed in the second section. Further, in the execution result 63, the job having the priority of 4 is executed in the period from the 0th section to the 1st section.

このように実行結果63では、実行結果61よりも1番目の区間でHPCシステム30の使用効率が低下する。なお実行結果61では、2番目の区間から3番目の区間までの期間で優先度が4のジョブのみが実行されている。しかし実行結果63では、2番目の区間から3番目の区間までの期間で、新しく投入されたジョブを空いている計算ノードにスケジューリングできるため、HPCシステム30の使用効率は低下しない。よって推定実行時間が実際の実行時間より長い場合、HPCシステム30の使用効率が低下する。 As described above, in the execution result 63, the usage efficiency of the HPC system 30 is lowered in the first section from the execution result 61. In the execution result 61, only the job having the priority of 4 is executed in the period from the second section to the third section. However, in the execution result 63, since the newly submitted job can be scheduled to the vacant calculation node in the period from the second section to the third section, the usage efficiency of the HPC system 30 does not decrease. Therefore, if the estimated execution time is longer than the actual execution time, the usage efficiency of the HPC system 30 will decrease.

図6は、推定実行時間と実際の実行時間との差の第2の影響の例を示す図である。実行結果71は、ジョブの実際の実行時間が実行前から分かっていると仮定して、図5に示した例とは別の優先度が1〜4のジョブがHPCシステム30で実行された結果である。実行結果71では、優先度が1のジョブは、0番目の区間で実行されている。また実行結果71では、優先度が2のジョブおよび優先度が4のジョブは、0番目の区間から1番目の区間までの期間で実行されている。また実行結果71では、優先度が3のジョブは、2番目の区間で実行されている。 FIG. 6 is a diagram showing an example of the second effect of the difference between the estimated execution time and the actual execution time. The execution result 71 is the result of executing a job having a priority of 1 to 4 in the HPC system 30, which is different from the example shown in FIG. 5, assuming that the actual execution time of the job is known before the execution. Is. In the execution result 71, the job having the priority 1 is executed in the 0th interval. Further, in the execution result 71, the job having the priority 2 and the job having the priority 4 are executed in the period from the 0th section to the 1st section. Further, in the execution result 71, the job having the priority 3 is executed in the second section.

スケジュール72は、優先度が2のジョブの実行時間が実際の実行時間より短めに推定された場合に、実行結果71に示す優先度が1〜4のジョブがスケジューリングされたスケジュールである。スケジュール72では、優先度が1のジョブおよび優先度が2のジョブは、0番目の区間にスケジューリングされている。またスケジュール72では、優先度が3のジョブは、1番目の区間にスケジューリングされている。またスケジュール72では、優先度が4のジョブは、2番目の区間から3番目の区間の期間にスケジューリングされている。 The schedule 72 is a schedule in which jobs with priorities 1 to 4 shown in the execution result 71 are scheduled when the execution time of the job with priority 2 is estimated to be shorter than the actual execution time. In the schedule 72, the job having the priority 1 and the job having the priority 2 are scheduled in the 0th interval. Further, in the schedule 72, the job having the priority 3 is scheduled in the first section. Further, in the schedule 72, the job having the priority of 4 is scheduled in the period from the second section to the third section.

実行結果73は、スケジュール72に従って優先度が1〜4のジョブがHPCシステム30で実行された結果である。実行結果73では、優先度が1のジョブは、0番目の区間で実行されている。また実行結果73では、優先度が2のジョブは、0番目の区間から1番目の区間までの期間で実行されている。 The execution result 73 is a result of the jobs having priorities 1 to 4 being executed in the HPC system 30 according to the schedule 72. In the execution result 73, the job having the priority 1 is executed in the 0th interval. Further, in the execution result 73, the job having the priority 2 is executed in the period from the 0th section to the 1st section.

ここで、優先度が2のジョブおよび優先度が3のジョブそれぞれの実行に用いられる計算ノード数の合計は、計算ノード31,32,・・・の総数を超える。そのため実行結果73では、優先度が3のジョブは、スケジューリングされている1番目の区間で実行されず、2番目の区間で実行されている。また実行結果73では、優先度が4のジョブは、3番目の区間から4番目の区間までの期間で実行されている。 Here, the total number of calculated nodes used to execute the job having the priority 2 and the job having the priority 3 exceeds the total number of the calculated nodes 31, 32, .... Therefore, in the execution result 73, the job having the priority 3 is not executed in the first scheduled section, but is executed in the second section. Further, in the execution result 73, the job having the priority of 4 is executed in the period from the third section to the fourth section.

このように実行結果71では0番目の区間から1番目の区間までの期間で実行されている優先度4のジョブは、実行結果73では3番目の区間から4番目の区間までの期間で実行されている。これにより、実行結果73では、実行結果71よりも0番目の区間および1番目の区間でHPCシステム30の使用効率が低下する。よって推定実行時間が実際の実行時間より短い場合、HPCシステム30の使用効率が低下する。 In this way, the job of priority 4 executed in the period from the 0th section to the 1st section in the execution result 71 is executed in the period from the 3rd section to the 4th section in the execution result 73. ing. As a result, in the execution result 73, the usage efficiency of the HPC system 30 is lowered in the 0th section and the 1st section than the execution result 71. Therefore, if the estimated execution time is shorter than the actual execution time, the usage efficiency of the HPC system 30 will decrease.

上記のように、推定実行時間が実際の実行時間より長い場合も短い場合も、HPCシステム30の使用効率が低下することがある。図5に示すように推定実行時間が実際の実行時間より長い場合、各ジョブはスケジュール62に示される開始時間通りに開始される。一方図6に示すように推定実行時間が実際の実行時間より短い場合、スケジュール72に示されるジョブの開始時間が遅れることがある。よって推定実行時間が実際の実行時間より長い場合よりも短い場合のほうが、HPCシステム30の使用効率が低下する。また以下では、推定実行時間に対するシステムの使用効率のシミュレーション結果について説明する。 As described above, the efficiency of use of the HPC system 30 may decrease when the estimated execution time is longer or shorter than the actual execution time. If the estimated execution time is longer than the actual execution time as shown in FIG. 5, each job is started according to the start time shown in the schedule 62. On the other hand, when the estimated execution time is shorter than the actual execution time as shown in FIG. 6, the start time of the job shown in the schedule 72 may be delayed. Therefore, the usage efficiency of the HPC system 30 is lower when the estimated execution time is shorter than when it is longer than the actual execution time. In the following, the simulation results of system usage efficiency with respect to the estimated execution time will be described.

図7は、シミュレーション結果の一例を示す図である。シミュレーション結果81は、推定実行時間の条件を変えてシミュレーションした際のシステムの使用効率を示す。シミュレーション結果81には、推定実行時間をジョブが開始してから実行が打ち切られるまでの時間(要求実行時間)に設定した場合の、システムの使用効率が示される。またシミュレーション結果81には、推定実行時間が実際の実行時間(実測)より長い場合と短い場合とを含む場合のシステムの使用効率が示される。またシミュレーション結果81には、推定実行時間が実際の実行時間より長い場合のみを含む場合のシステムの使用効率が示される。またシミュレーション結果81には、推定実行時間が実際の実行時間より短い場合のみを含む場合のシステムの使用効率が示される。またシミュレーション結果81には、推定実行時間が実際の実行時間と等しくなる場合のシステムの使用効率が示される。 FIG. 7 is a diagram showing an example of simulation results. The simulation result 81 shows the usage efficiency of the system when the simulation is performed by changing the conditions of the estimated execution time. The simulation result 81 shows the efficiency of use of the system when the estimated execution time is set to the time from the start of the job to the termination of execution (request execution time). Further, the simulation result 81 shows the usage efficiency of the system when the estimated execution time is longer than the actual execution time (actual measurement) and when it is shorter than the actual execution time. Further, the simulation result 81 shows the efficiency of use of the system when the estimated execution time is longer than the actual execution time. Further, the simulation result 81 shows the efficiency of use of the system when the estimated execution time is shorter than the actual execution time. Further, the simulation result 81 shows the efficiency of use of the system when the estimated execution time is equal to the actual execution time.

シミュレーション結果81では、システムの使用効率の一例として充填率および計算ノード数ごとの平均待ち時間が示されている。充填率R(%)は、以下の式で表される。
R=100×(P+Q)/(82944×DAY×24×3600) (1)
Pは、シミュレーション期間中に実行が終了したジョブが使用した計算ノードと使用時間との積の合計である。Qは、シミュレーション期間中に実行が終了しなかったジョブが使用した計算ノードと使用時間との積の合計である。DAYは、シミュレーション期間(日)であり、例えば12.9である。なおPは、以下の式で表される。
P=Σ((node_num)×(elapse)) (2)
式(2)のΣは、シミュレーション期間中に実行が終了したジョブについて、かっこ内の値を合計することを示す。node_numは、ジョブが使用した計算ノード数である。elapseは、ジョブが計算ノードを使用した秒単位の時間(実行時間)である。またQは、以下の式で表される。
Q=Σ((node_num)×(start+DAY−job_start))
(3)
式(3)のΣは、シミュレーション期間中に実行が終了しなかったジョブについて、かっこ内の値を合計することを示す。startは、シミュレーションが開始した時刻である。job_startは、ジョブの実行が開始した時刻である。つまり、start+DAY−job_startは、シミュレーション期間中にジョブが計算ノードを使用した秒単位の時間である。
In the simulation result 81, the filling rate and the average waiting time for each number of calculation nodes are shown as an example of the utilization efficiency of the system. The filling factor R (%) is expressed by the following formula.
R = 100 × (P + Q) / (82944 × DAY × 24 × 3600) (1)
P is the total product of the calculated node used by the job whose execution is completed during the simulation period and the usage time. Q is the sum of the products of the calculated nodes used by the jobs whose execution did not finish during the simulation period and the usage time. DAY is a simulation period (day), for example 12.9. Note that P is expressed by the following equation.
P = Σ ((node_num) × (elapse)) (2)
Σ in the equation (2) indicates that the values in parentheses are summed for the jobs whose execution has been completed during the simulation period. node_num is the number of compute nodes used by the job. elapse is the time (execution time) in seconds that the job used the compute node. Further, Q is expressed by the following equation.
Q = Σ ((node_num) × (start + DAY-job_start))
(3)
Σ in the equation (3) indicates that the values in parentheses are summed for the jobs whose execution has not been completed during the simulation period. start is the time when the simulation started. job_start is the time when the job execution started. That is, start + DAY-job_start is the time in seconds that the job used the compute node during the simulation period.

また待ち時間W(h)は、以下の式で表される。
W=(job_start−job_sub)/3600 (4)
job_subは、ジョブの投入時刻である。つまりjob_start−job_subは、ジョブが投入されてから実行されるまでの秒単位の時間である。
The waiting time W (h) is expressed by the following equation.
W = (job_start-job_sub) / 3600 (4)
job_sub is the job submission time. That is, job_start-job_sub is the time in seconds from the submission of the job to the execution.

なお図7の下線は、各システムの使用効率の指標について、推定実行時間が実際の実行時間と等しくなる場合以外の条件のうち、最も好適なものを示す。このようなシミュレーション結果81にも示されるように、推定実行時間が実際の実行時間より長い場合よりも短い場合のほうが、HPCシステム30の使用効率が低下する。 The underline in FIG. 7 shows the most suitable condition for the index of the utilization efficiency of each system, except for the case where the estimated execution time is equal to the actual execution time. As shown in such a simulation result 81, the usage efficiency of the HPC system 30 is lower when the estimated execution time is shorter than when it is longer than the actual execution time.

そこで第2の実施の形態の管理サーバ100は、新規投入ジョブの実行時間が予測できる可能性が低ければ、要求実行時間をジョブの推定実行時間に決定する。また管理サーバ100は、新規投入ジョブの実行時間が予測できる可能性が高ければ、予測した実行時間に基づいてジョブの推定実行時間に決定する。 Therefore, if it is unlikely that the execution time of the newly submitted job can be predicted, the management server 100 of the second embodiment determines the requested execution time as the estimated execution time of the job. Further, if there is a high possibility that the execution time of the newly submitted job can be predicted, the management server 100 determines the estimated execution time of the job based on the predicted execution time.

管理サーバ100は、実行済みのジョブのうち、新規投入ジョブに類似し、所定のパラメータの値が一致するジョブの実行時間に基づいて、新規投入ジョブの実行時間を予測する。所定のパラメータは、例えばジョブの名称を示すジョブ名、ジョブを投入したユーザの名称を示すユーザ名およびユーザが所属するグループを示すグループ名である。そのために、管理サーバ100は、まず例えば新規投入ジョブに類似するジョブ(類似ジョブ)を特定する。ジョブ間の類似度は、ジョブの実行要求を入力したユーザのユーザID、ジョブの種別、ジョブ実行時の並列度(何台の計算ノードで並列実行させるか)などの、ジョブのステイタスを示すパラメータを含む情報(以下、ジョブステイタス情報)の類似度で表される。ジョブステイタス情報は、第1の実施の形態で説明したジョブ情報の一例である。 The management server 100 predicts the execution time of the newly submitted job based on the execution time of the jobs that are similar to the newly submitted job and match the values of the predetermined parameters among the executed jobs. The predetermined parameters are, for example, a job name indicating the name of the job, a user name indicating the name of the user who submitted the job, and a group name indicating the group to which the user belongs. Therefore, the management server 100 first identifies, for example, a job (similar job) similar to a newly submitted job. The similarity between jobs is a parameter that indicates the status of the job, such as the user ID of the user who entered the job execution request, the type of job, and the degree of parallelism at the time of job execution (how many calculation nodes should be executed in parallel). It is represented by the degree of similarity of information including (hereinafter, job status information). The job status information is an example of the job information described in the first embodiment.

各ジョブのジョブステイタス情報は、ジョブのステイタスに関する項目の項目名とその項目の値との組を複数含む文書である。文書間の類似度の算出に利用可能な技術として、潜在的ディリクレ配分法(LDA:Latent Dirichlet Allocation)推定モデルがある。例えば管理サーバ100は、LDA推定モデルを用いて、各ジョブのジョブステイタス情報に表されるトピック分布を算出し、ジョブ間のトピック分布の類似度をジョブの類似度とする。 The job status information of each job is a document including a plurality of sets of item names of items related to job status and values of the items. As a technique that can be used to calculate the similarity between documents, there is a latent Dirichlet Allocation (LDA) estimation model. For example, the management server 100 calculates the topic distribution represented in the job status information of each job by using the LDA estimation model, and sets the similarity of the topic distribution between jobs as the job similarity.

LDA推定モデルは、トピックモデルの一種である。トピックモデルは、文書が複数の潜在的なトピックから確率的に生成される(文書内の各単語はあるトピックが持つ確率分布に従って出現する)と仮定したモデルである。LDA推定モデルを用いると、分析対象となる文書データの集合から、各文書に表されているトピックの混合比率を推定することができる。 The LDA estimation model is a kind of topic model. The topic model is a model that assumes that a document is probabilistically generated from multiple potential topics (each word in the document appears according to the probability distribution of a topic). Using the LDA estimation model, it is possible to estimate the mixing ratio of the topics represented in each document from the set of document data to be analyzed.

各文書のトピック分布の生成には、多項分布の共役事前分布であるディリクレ分布(dirichlet distribution)が利用される。なお、ディリクレ分布は、以下の式で表される。 The Dirichlet distribution, which is a conjugate prior of the multinomial distribution, is used to generate the topic distribution for each document. The Dirichlet distribution is expressed by the following equation.

Figure 2021190001
Figure 2021190001

式(5)は、ハイパーパラメータであるベクトルαの元で、ベクトルxが生じる確率を示している。Γはガンマ関数である。ベクトルxは、確率変数を示す実数ベクトルである。Kはトピック数である。kはトピックのインデックスである。 Equation (5) shows the probability that the vector x is generated under the hyperparameter vector α. Γ is a gamma function. The vector x is a real vector indicating a random variable. K is the number of topics. k is a topic index.

管理サーバ100は、トレーニングデータセットであるジョブステイタス情報群から、各文章(ジョブステイタス情報)にどんな単語が出現するかをそれぞれ調べる。そして管理サーバ100は、同じ文章内にどの単語が多く出現するかカウントすることで、同じ文章内に出現する確率が高い単語をグルーピングし、これをトピックとする。 The management server 100 examines what kind of word appears in each sentence (job status information) from the job status information group which is a training data set. Then, the management server 100 counts which words frequently appear in the same sentence, groups words that have a high probability of appearing in the same sentence, and sets this as a topic.

具体的には、管理サーバ100は、各文書および各単語について以下の式(6)により、確率を計算する。 Specifically, the management server 100 calculates the probabilities for each document and each word by the following equation (6).

Figure 2021190001
Figure 2021190001

Nは文書集合の全単語数である。Vは全語彙数(全文書集合に含まれる単語の種類数)である。dは文書のインデックスである。nは単語のインデックスである。vは語彙のインデックスである。wはある1つの単語である。zはある1つのトピックである。バックスラッシュは、集合からの差を示す。βは、単語分布のハイパーパラメータである。式(6)は、文書dにおける単語wd,nについてのトピックzd,nのサンプリング式である。 N is the total number of words in the document set. V is the total number of vocabularies (the number of types of words contained in the entire document set). d is the index of the document. n is a word index. v is a vocabulary index. w is a word. z is a topic. The backslash indicates the difference from the set. β is a hyperparameter of word distribution. Equation (6) is a sampling equation for topics z d, n for words w d, n in document d.

管理サーバ100は、式(6)で得られる確率が高い(例えば所定値以上の)単語の組み合わせをトピックとする。すなわち管理サーバ100は、LDA推定モデルを用いた学習の結果、トピックに属する単語の集合を得る。 The management server 100 uses a combination of words with a high probability (for example, a predetermined value or more) obtained by the equation (6) as a topic. That is, the management server 100 obtains a set of words belonging to the topic as a result of learning using the LDA estimation model.

管理サーバ100は、各ジョブのジョブステイタス情報に含まれる単語が属するトピックに基づいて、ジョブステイタス情報のトピック分布を計算する。管理サーバ100は、各ジョブのジョブステイタス情報に基づいて生成されたトピック分布をジョブ間で比較して、ジョブ間の類似度を算出することができる。 The management server 100 calculates the topic distribution of the job status information based on the topic to which the word included in the job status information of each job belongs. The management server 100 can compare the topic distributions generated based on the job status information of each job among the jobs and calculate the similarity between the jobs.

例えば管理サーバ100は、類似ジョブを、トピック分布の類似度によって推定する。例えば管理サーバ100は、トピック分布間のコサイン類似度を計算することで、ジョブの類似度を算出する。 For example, the management server 100 estimates similar jobs based on the similarity of the topic distribution. For example, the management server 100 calculates the job similarity by calculating the cosine similarity between the topic distributions.

管理サーバ100は、ジョブごとにトピック分布を算出する。トピック分布は、トピックのインデックスを要素番号とし、文書(ジョブステイタス情報)内での該当トピックの出現頻度の値を要素とするベクトルで表すことができる。管理サーバ100は、新規投入ジョブのトピック分布を示すベクトルと、実行が終了しているジョブのトピック分布を示すベクトルとのコサイン類似度を算出し、ジョブ間の類似度とする。これにより、比較対象のジョブそれぞれのトピック分布に共通のトピックが多く含まれるほど、類似度が高くなる。 The management server 100 calculates the topic distribution for each job. The topic distribution can be represented by a vector whose element number is the index of the topic and whose element is the value of the frequency of appearance of the corresponding topic in the document (job status information). The management server 100 calculates the cosine similarity between the vector showing the topic distribution of the newly submitted job and the vector showing the topic distribution of the job whose execution has been completed, and uses this as the similarity between the jobs. As a result, the more common topics are included in the topic distribution of each job to be compared, the higher the similarity.

なお管理サーバ100は、新規投入ジョブのトピック分布に含まれる各トピックと、実行が終了しているジョブのトピック分布に含まれる各トピックとの類似度を算出し、トピック間の類似度に基づいて、ジョブ分布間の類似度を算出してもよい。例えば管理サーバ100は、比較対象のトピック分布それぞれに含まれるトピック間の類似度の合計を、トピック分布の類似度とする。 The management server 100 calculates the similarity between each topic included in the topic distribution of the newly submitted job and each topic included in the topic distribution of the job whose execution has been completed, and based on the similarity between the topics. , The degree of similarity between job distributions may be calculated. For example, the management server 100 uses the total degree of similarity between topics included in each of the topic distributions to be compared as the degree of similarity of the topic distribution.

管理サーバ100は、トピック間の類似度Skk'を、例えばベクトル空間法で計測することができる。ベクトル空間法は、語彙空間Vにおけるトピックごとの語彙の出現頻度ベクトルの余弦で定義される。k番目のトピックとk’番目のトピック間の類似度を式で表すと、以下の式で表される。 The management server 100 can measure the similarity S kk'between topics, for example, by the vector space method. The vector space method is defined by the cosine of the frequency of occurrence vector of the vocabulary for each topic in the vocabulary space V. The similarity between the k-th topic and the k'th topic is expressed by the following formula.

Figure 2021190001
Figure 2021190001

kは、k番目のトピックの出現頻度ベクトルである。nk'は、k’番目のトピックの出現頻度ベクトルnkである。
このように、LDA推定モデルを用いて各ジョブのトピック分布を計算し、トピック分布間の類似度によって、ジョブの類似度を算出することができる。管理サーバ100は、すでに実行が終了しているジョブのうち、新規投入ジョブとの類似度に基づいて所定数の類似ジョブを特定する。そして管理サーバ100は、所定数の類似ジョブのうち、新規投入ジョブとジョブ名、ユーザ名およびグループ名が一致する類似ジョブの実行時間に基づいて、新規投入ジョブの実行時間が予測できる可能性が高いか否かを判定する。ここで、ジョブ名、ユーザ名およびグループ名が同じジョブには、様々な作成段階のジョブが含まれることがある。
n k is the frequency vector of the kth topic. n k 'is, k' is the appearance frequency vector n k of th topic.
In this way, the topic distribution of each job can be calculated using the LDA estimation model, and the job similarity can be calculated by the similarity between the topic distributions. The management server 100 identifies a predetermined number of similar jobs based on the degree of similarity with the newly submitted job among the jobs whose execution has already been completed. Then, the management server 100 may be able to predict the execution time of the newly submitted job based on the execution time of the newly submitted job and the similar job whose job name, user name, and group name match among a predetermined number of similar jobs. Determine if it is high or not. Here, a job having the same job name, user name, and group name may include jobs at various creation stages.

図8は、ジョブ作成過程の一例を示す図である。ジョブ91,92,93は、それぞれジョブ名、ユーザ名およびグループ名が同一のジョブである。ジョブ91は、例えばスクリプトが動作するか否かを確認するためのジョブである。ジョブ91は、使用する計算ノード数が1つであると設定されている。またジョブ91は、使用するデータが極めて小さい。またジョブ91は、要求実行時間が極めて短く設定されている。ジョブ92は、例えば複数の計算ノードを使った動作ができるか否かを確認するためのジョブである。ジョブ92は、使用する計算ノード数が複数であると設定されている。またジョブ92は、使用するデータが小さい。またジョブ92は、要求実行時間が短く設定されている。ジョブ93は、例えば完成したスクリプトを実行するためのジョブである。ジョブ93は、使用する計算ノード数が多量であると設定されている。またジョブ93は、使用するデータが大きい。またジョブ93は、要求実行時間が長く設定されている。 FIG. 8 is a diagram showing an example of a job creation process. Jobs 91, 92, and 93 are jobs having the same job name, user name, and group name, respectively. The job 91 is, for example, a job for confirming whether or not the script operates. Job 91 is set to use one compute node. Further, the data used by the job 91 is extremely small. Further, the job 91 is set to have an extremely short request execution time. The job 92 is, for example, a job for confirming whether or not an operation using a plurality of calculation nodes can be performed. The job 92 is set to use a plurality of calculation nodes. Further, the data used by the job 92 is small. Further, the job 92 is set to have a short request execution time. Job 93 is, for example, a job for executing a completed script. Job 93 is set to use a large number of calculation nodes. Further, the job 93 uses a large amount of data. Further, the job 93 has a long request execution time.

このようにジョブ名、ユーザ名およびグループ名が同一のジョブであっても作成段階によって実行するスクリプトの規模が異なることがある。ここで新規投入ジョブで実行されるスクリプトと規模が異なるスクリプトを実行するジョブは、新規投入ジョブの実行時間の予測に役立たないことがある。例えば完成したスクリプトを実行する新規投入ジョブの実行時間の予測に、一部の処理をテストするためのスクリプトを実行するジョブの実行時間を使用することは有効ではない。 In this way, even if the job has the same job name, user name, and group name, the scale of the script to be executed may differ depending on the creation stage. Here, a job that executes a script whose scale is different from the script executed by the newly submitted job may not be useful for predicting the execution time of the newly submitted job. For example, it is not effective to use the execution time of the job that executes the script to test some processing to predict the execution time of the newly submitted job that executes the completed script.

そこで管理サーバ100は、新規投入ジョブとジョブ名、ユーザ名およびグループ名が一致する類似ジョブに、ジョブの規模を示すパラメータの値が異なるジョブが含まれていなければ、新規投入ジョブの実行時間を予測できる可能性が高いと判定する。また管理サーバ100は、新規投入ジョブとジョブ名、ユーザ名およびグループ名が一致する類似ジョブに、ジョブの規模を示すパラメータが異なるジョブが含まれていれば、新規投入ジョブの実行時間を予測できる可能性が高くないと判定する。 Therefore, the management server 100 determines the execution time of the newly submitted job unless the newly submitted job and the similar job having the same job name, user name, and group name include a job having a different value of the parameter indicating the scale of the job. Judge that it is highly likely to be predictable. Further, the management server 100 can predict the execution time of the newly submitted job if the newly submitted job and the similar job having the same job name, user name, and group name include a job having a different parameter indicating the scale of the job. Judge that the possibility is not high.

なおジョブの規模を示すパラメータとしては、例えば要求実行時間や使用計算ノード数が含まれる。またジョブの規模を示すパラメータとしては、例えば要求実行時間や使用する計算ノード数に応じたジョブの区分を示すキューが含まれる。第2の実施の形態では、ジョブの規模を示すパラメータは、ジョブステイタス情報に示されたジョブ名、ユーザ名、グループ名および実際の実行時間を除くすべてのパラメータとする。 The parameters indicating the scale of the job include, for example, the request execution time and the number of calculation nodes used. Further, the parameter indicating the scale of the job includes, for example, a queue indicating the classification of the job according to the request execution time and the number of calculation nodes to be used. In the second embodiment, the parameters indicating the scale of the job are all parameters except the job name, the user name, the group name, and the actual execution time shown in the job status information.

以下、推定実行時間によるジョブスケジューリング方法について詳細に説明する。
図9は、ジョブスケジューリングのための各装置の機能を示すブロック図である。HPC運用管理サーバ200は、DB210、タイマ部220、情報取得部230、ジョブスケジューリング部240、および制御指示部250を有する。
Hereinafter, the job scheduling method based on the estimated execution time will be described in detail.
FIG. 9 is a block diagram showing the functions of each device for job scheduling. The HPC operation management server 200 includes a DB 210, a timer unit 220, an information acquisition unit 230, a job scheduling unit 240, and a control instruction unit 250.

DB210は、実行するジョブのステイタスを示すジョブステイタス情報を記憶する。タイマ部220は、HPCシステム30からジョブごとのジョブステイタス情報を収集するタイミングを管理する。例えばタイマ部220は、一定の時間間隔で、ジョブステイタス情報の収集を情報取得部230に指示する。 The DB 210 stores job status information indicating the status of the job to be executed. The timer unit 220 manages the timing of collecting job status information for each job from the HPC system 30. For example, the timer unit 220 instructs the information acquisition unit 230 to collect job status information at regular time intervals.

情報取得部230は、タイマ部220からの指示に応じて、HPCシステム30から、ジョブステイタス情報を取得する。情報取得部230は、取得したジョブステイタス情報を、DB210に格納する。 The information acquisition unit 230 acquires job status information from the HPC system 30 in response to an instruction from the timer unit 220. The information acquisition unit 230 stores the acquired job status information in the DB 210.

ジョブスケジューリング部240は、新規投入ジョブの推定実行時間と使用計算ノード数に基づいて、新規投入ジョブが実行される所定の期間を決定することで(新規投入ジョブを所定の期間に割り当てて)実行スケジュールを作成する。例えばジョブスケジューリング部240は、割当候補期間において、他のジョブの合計使用計算ノード数に新規投入ジョブの使用計算ノード数を足しても計算ノード31,32,・・・の総数以下の場合、新規投入ジョブを割当候補期間に割り当てる。制御指示部250は、ジョブスケジューリング部240によって作成された実行スケジュールに従って、HPCシステム30にジョブの実行を指示する。 The job scheduling unit 240 executes by determining a predetermined period during which the newly submitted job is executed (assigning the newly submitted job to the predetermined period) based on the estimated execution time of the newly submitted job and the number of calculation nodes used. Create a schedule. For example, in the allocation candidate period, the job scheduling unit 240 is new if the total number of calculation nodes 31, 32, ... Allocate the submitted job to the allocation candidate period. The control instruction unit 250 instructs the HPC system 30 to execute the job according to the execution schedule created by the job scheduling unit 240.

管理サーバ100は、DB110、タイマ部120、メトリクス収集部130、LDA学習部140、類似ジョブ特定部150、過去運用分析部160および予測結果送信部170を有する。 The management server 100 has a DB 110, a timer unit 120, a metric collection unit 130, an LDA learning unit 140, a similar job identification unit 150, a past operation analysis unit 160, and a prediction result transmission unit 170.

DB110は、新規投入ジョブごとの推定実行時間の決定に使用する情報を記憶する。タイマ部120は、一定の時間間隔で、HPC運用管理サーバ200からの情報収集を、メトリクス収集部130に指示する。 The DB 110 stores information used for determining the estimated execution time for each newly submitted job. The timer unit 120 instructs the metric collection unit 130 to collect information from the HPC operation management server 200 at regular time intervals.

メトリクス収集部130は、タイマ部120の指示に応じて、HPC運用管理サーバ200からジョブステイタス情報を取得する。メトリクス収集部130は、取得したジョブステイタス情報をDB110に格納する。 The metric collection unit 130 acquires job status information from the HPC operation management server 200 in response to an instruction from the timer unit 120. The metric collection unit 130 stores the acquired job status information in the DB 110.

LDA学習部140は、ジョブステイタス情報に基づいて、LDA推定モデルを生成する。例えばLDA学習部140は、複数のジョブのジョブ情報に含まれる単語を解析し、トピックごとのグループに単語を分類する。LDA学習部140は、学習結果をDB110に格納する。 The LDA learning unit 140 generates an LDA estimation model based on the job status information. For example, the LDA learning unit 140 analyzes words included in job information of a plurality of jobs and classifies the words into groups for each topic. The LDA learning unit 140 stores the learning result in the DB 110.

類似ジョブ特定部150は、LDA推定モデルに基づいて、新規投入ジョブとジョブステイタス情報が類似する、すでに実行が終了したジョブ(類似ジョブ)を特定する。類似ジョブ特定部150は、例えば類似ジョブを登録したリストをDB110に格納する。 The similar job identification unit 150 identifies a job (similar job) whose execution has already been completed and whose job status information is similar to that of the newly input job based on the LDA estimation model. The similar job identification unit 150 stores, for example, a list in which similar jobs are registered in the DB 110.

過去運用分析部160は、新規投入ジョブの推定実行時間を決定する。例えば過去運用分析部160は、ジョブ名、ユーザ名およびグループ名(ジョブ名等)が新規投入ジョブと一致する類似ジョブがあるか否かを判定する。過去運用分析部160は、ジョブ名等が新規投入ジョブと一致する類似ジョブがある場合、ジョブ名等が新規投入ジョブと一致する類似ジョブそれぞれの、実際の実行時間を除くすべてのパラメータが一致するか否かを判定する。 The past operation analysis unit 160 determines the estimated execution time of the newly submitted job. For example, the past operation analysis unit 160 determines whether or not there is a similar job whose job name, user name, and group name (job name, etc.) match the newly submitted job. When there is a similar job whose job name etc. matches the newly submitted job, the past operation analysis unit 160 matches all the parameters of each similar job whose job name etc. matches the newly submitted job except the actual execution time. Judge whether or not.

そして過去運用分析部160は、ジョブ名等が新規投入ジョブと一致する類似ジョブそれぞれの、実際の実行時間を除くすべてのパラメータが一致する場合、ジョブ名等が新規投入ジョブと一致する類似ジョブの実際の実行時間に基づいて推定実行時間を決定する。例えば過去運用分析部160は、ジョブ名等が新規投入ジョブと一致する類似ジョブの最大実行時間を新規投入ジョブの推定実行時間に決定する。また例えば過去運用分析部160は、ジョブ名等が新規投入ジョブと一致する類似ジョブの実行時間の範囲が所定の範囲内の場合、ジョブ名等が新規投入ジョブと一致する類似ジョブの実行時間の平均を新規投入ジョブの推定実行時間に決定する。 Then, in the past operation analysis unit 160, when all the parameters other than the actual execution time of each similar job whose job name and the like match the newly submitted job match, the job name and the like of the similar job whose job name and the like match the newly submitted job. Determine the estimated execution time based on the actual execution time. For example, the past operation analysis unit 160 determines the maximum execution time of a similar job whose job name or the like matches the newly submitted job as the estimated execution time of the newly submitted job. Further, for example, in the past operation analysis unit 160, when the range of the execution time of a similar job whose job name or the like matches the newly submitted job is within a predetermined range, the execution time of the similar job whose job name or the like matches the newly submitted job Determine the average as the estimated execution time of the newly submitted job.

また過去運用分析部160は、ジョブ名等が新規投入ジョブと一致する類似ジョブがない場合または、ジョブ名等が新規投入ジョブと一致する類似ジョブの一部のパラメータが異なる場合、新規投入ジョブの要求実行時間を新規投入ジョブの推定実行時間に決定する。予測結果送信部170は、新規投入ジョブの推定実行時間を、HPC運用管理サーバ200に送信する。 If there is no similar job whose job name or the like matches the newly submitted job, or when some parameters of the similar job whose job name or the like matches the newly submitted job are different, the past operation analysis unit 160 determines the newly submitted job. Determine the request execution time as the estimated execution time of the newly submitted job. The prediction result transmission unit 170 transmits the estimated execution time of the newly submitted job to the HPC operation management server 200.

なお、図9に示した各要素間を接続する線は通信経路の一部を示すものであり、図示した通信経路以外の通信経路も設定可能である。また、図9に示した各要素の機能は、例えば、その要素に対応するプログラムモジュールをコンピュータに実行させることで実現することができる。 The line connecting each element shown in FIG. 9 indicates a part of the communication path, and a communication path other than the shown communication path can be set. Further, the function of each element shown in FIG. 9 can be realized, for example, by causing a computer to execute a program module corresponding to the element.

図10は、管理サーバのDBに格納される情報の一例を示す図である。図10の例では、DB110には、ジョブ情報111、学習結果情報112、および類似ジョブ情報113が格納されている。ジョブ情報111は、ジョブごとのジョブステイタス情報である。学習結果情報112は、LDAによる学習結果を示す情報である。類似ジョブ情報113は、新規投入ジョブに類似するジョブを示す情報である。 FIG. 10 is a diagram showing an example of information stored in the DB of the management server. In the example of FIG. 10, the job information 111, the learning result information 112, and the similar job information 113 are stored in the DB 110. The job information 111 is job status information for each job. The learning result information 112 is information indicating a learning result by LDA. The similar job information 113 is information indicating a job similar to a newly submitted job.

図11は、ジョブ情報の一例を示す図である。ジョブ情報111には、例えばジョブごとのジョブステイタス情報111a,111b,・・・が含まれている。ジョブステイタス情報111a,111b,・・・には、ジョブID、ジョブ名、ジョブの実行を要求しているユーザのユーザ名、該当ユーザが属するグループのグループ名など、ジョブの実行に関連するパラメータが含まれる。 FIG. 11 is a diagram showing an example of job information. The job information 111 includes, for example, job status information 111a, 111b, ... For each job. The job status information 111a, 111b, ... Contains parameters related to job execution, such as job ID, job name, user name of the user requesting job execution, and group name of the group to which the user belongs. included.

またジョブステイタス情報111a,111b,・・・のパラメータには、ジョブが開始してから実行が打ち切られるまでの要求実行時間やジョブの実行に対する使用計算ノード数が含まれる。またジョブステイタス情報111a,111b,・・・のパラメータには、要求実行時間や使用する計算ノード数に応じたジョブの区分を示すキューが含まれる。また実行済みのジョブのジョブステイタス情報のパラメータには、該当ジョブの実行時間が含まれる。 Further, the parameters of the job status information 111a, 111b, ... Include the request execution time from the start of the job to the termination of execution and the number of calculation nodes used for job execution. Further, the parameters of the job status information 111a, 111b, ... Include a queue indicating job classification according to the request execution time and the number of calculation nodes to be used. In addition, the execution time of the corresponding job is included in the parameter of the job status information of the executed job.

図12は、学習結果情報の一例を示す図である。学習結果情報112は、LDA推定モデルによる学習結果である。学習結果情報112には、トピックを示すトピック番号に対応付けて、そのトピックに属する単語が登録されている。 FIG. 12 is a diagram showing an example of learning result information. The learning result information 112 is a learning result by the LDA estimation model. In the learning result information 112, words belonging to the topic are registered in association with the topic number indicating the topic.

図13は、類似ジョブ情報の一例を示す図である。例えば類似ジョブ情報113には、学習結果情報112に基づいて判定された、新規投入ジョブそれぞれに対する類似ジョブリスト113a,113b,・・・が含まれる。類似ジョブリスト113a,113b,・・・には、LDA推定モデルの学習結果情報112に基づいて判定された、実行前のジョブに類似する所定数のジョブのジョブIDが示される。 FIG. 13 is a diagram showing an example of similar job information. For example, the similar job information 113 includes similar job lists 113a, 113b, ... For each newly input job determined based on the learning result information 112. The similar job lists 113a, 113b, ... Show job IDs of a predetermined number of jobs similar to the jobs before execution, which are determined based on the learning result information 112 of the LDA estimation model.

次に実行時間推定処理の手順について説明する。
図14は、実行時間推定処理の手順の一例を示すフローチャートである。以下、図14に示す処理をステップ番号に沿って説明する。
Next, the procedure of the execution time estimation process will be described.
FIG. 14 is a flowchart showing an example of the procedure of the execution time estimation process. Hereinafter, the process shown in FIG. 14 will be described along with the step numbers.

[ステップS101]タイマ部120は、前回の実行時間推定処理の実行からの経過時間を計測し、所定時間が経過した場合、ジョブステイタス情報の取得をメトリクス収集部130に指示する。メトリクス収集部130は、HPC運用管理サーバ200からジョブステイタス情報を収集する。メトリクス収集部130は、取得した情報をDB110に格納する。 [Step S101] The timer unit 120 measures the elapsed time from the execution of the previous execution time estimation process, and when the predetermined time has elapsed, instructs the metric collection unit 130 to acquire the job status information. The metric collection unit 130 collects job status information from the HPC operation management server 200. The metric collection unit 130 stores the acquired information in the DB 110.

[ステップS102]LDA学習部140と類似ジョブ特定部150が連携して、推定実行時間を決定する対象の新規投入ジョブ(以下では、単に新規投入ジョブという)に類似する所定数の(例えば、10個の)類似ジョブを抽出する。抽出されたジョブは、新規投入ジョブに対応する類似ジョブリスト(例えば、類似ジョブリスト113a)にジョブIDが登録される。類似ジョブ抽出処理の詳細については後述する(図15参照)。 [Step S102] The LDA learning unit 140 and the similar job identification unit 150 cooperate with each other to determine a predetermined number of newly input jobs (hereinafter, simply referred to as new input jobs) for determining the estimated execution time (for example, 10). Extract similar jobs (of). For the extracted job, the job ID is registered in the similar job list (for example, the similar job list 113a) corresponding to the newly submitted job. Details of the similar job extraction process will be described later (see FIG. 15).

[ステップS103]過去運用分析部160は、ジョブ名、ユーザ名およびグループ名(ジョブ名等)が新規投入ジョブと一致する類似ジョブがあるか否かを判定する。例えば過去運用分析部160は、ジョブステイタス情報111a,111b,・・・のうち、新規投入ジョブのジョブステイタス情報と類似ジョブリスト113aに登録された類似ジョブそれぞれのジョブステイタス情報とを参照する。そして過去運用分析部160は、新規投入ジョブのジョブステイタス情報に示されるジョブ名、ユーザ名およびグループ名と類似ジョブそれぞれのジョブステイタス情報に示されるジョブ名、ユーザ名およびグループ名とが一致するか否かを判定する。 [Step S103] The past operation analysis unit 160 determines whether or not there is a similar job whose job name, user name, and group name (job name, etc.) match the newly submitted job. For example, the past operation analysis unit 160 refers to the job status information of the newly input job and the job status information of each similar job registered in the similar job list 113a among the job status information 111a, 111b, .... Then, in the past operation analysis unit 160, does the job name, user name, and group name shown in the job status information of the newly submitted job match the job name, user name, and group name shown in the job status information of each similar job? Judge whether or not.

過去運用分析部160は、ジョブ名、ユーザ名およびグループ名が新規投入ジョブと一致する類似ジョブがあると判定した場合、処理をステップS104に進める。また過去運用分析部160は、ジョブ名、ユーザ名およびグループ名が新規投入ジョブと一致する類似ジョブがないと判定した場合、処理をステップS108に進める。 When the past operation analysis unit 160 determines that there is a similar job whose job name, user name, and group name match the newly submitted job, the process proceeds to step S104. If the past operation analysis unit 160 determines that there is no similar job whose job name, user name, and group name match the newly submitted job, the process proceeds to step S108.

[ステップS104]過去運用分析部160は、ジョブ名、ユーザ名およびグループ名が新規投入ジョブと一致するすべての類似ジョブで他のパラメータも一致するか否かを判定する。例えば過去運用分析部160は、新規投入ジョブのジョブステイタス情報と、ステップS103でジョブ名、ユーザ名およびグループ名が新規投入ジョブと一致すると判定された類似ジョブそれぞれのジョブステイタス情報とを参照する。そして過去運用分析部160は、参照したすべてのジョブステイタス情報で、実際の実行時間を除くすべてのパラメータが一致する場合、ジョブ名、ユーザ名およびグループ名が新規投入ジョブと一致する類似ジョブは、他のパラメータも一致すると判定する。 [Step S104] The past operation analysis unit 160 determines whether or not other parameters match in all similar jobs whose job name, user name, and group name match the newly submitted job. For example, the past operation analysis unit 160 refers to the job status information of the newly submitted job and the job status information of each similar job determined in step S103 that the job name, the user name, and the group name match the newly submitted job. Then, in the past operation analysis unit 160, if all the parameters except the actual execution time match in all the referenced job status information, the similar job whose job name, user name and group name match with the newly submitted job is It is determined that the other parameters also match.

過去運用分析部160は、ジョブ名、ユーザ名およびグループ名が新規投入ジョブと一致するすべての類似ジョブで他のパラメータも一致すると判定した場合、処理をステップS105に進める。また過去運用分析部160は、ジョブ名、ユーザ名およびグループ名が新規投入ジョブと一致する類似ジョブで他のパラメータが一致しないジョブがあると判定した場合、処理をステップS108に進める。 If the past operation analysis unit 160 determines that all similar jobs whose job name, user name, and group name match the newly submitted job also match other parameters, the process proceeds to step S105. If the past operation analysis unit 160 determines that there is a similar job whose job name, user name, and group name match the newly submitted job but the other parameters do not match, the process proceeds to step S108.

[ステップS105]過去運用分析部160は、ジョブ名、ユーザ名およびグループ名が新規投入ジョブと一致する類似ジョブの実行時間の範囲は10分以内であるか否かを判定する。例えば過去運用分析部160は、ステップS103でジョブ名、ユーザ名およびグループ名が新規投入ジョブと一致すると判定された類似ジョブそれぞれのジョブステイタス情報に示される実際の実行時間を参照する。そして過去運用分析部160は、参照した実際の実行時間のうちの最大の時間と最小の時間との差が10分以内であれば、ジョブ名、ユーザ名およびグループ名が新規投入ジョブと一致する類似ジョブの実行時間の範囲は10分以内であると判定する。 [Step S105] The past operation analysis unit 160 determines whether or not the execution time range of a similar job whose job name, user name, and group name match the newly submitted job is within 10 minutes. For example, the past operation analysis unit 160 refers to the actual execution time shown in the job status information of each similar job determined in step S103 that the job name, the user name, and the group name match the newly submitted job. Then, if the difference between the maximum time and the minimum time of the referenced actual execution time is within 10 minutes, the past operation analysis unit 160 matches the job name, user name, and group name with the newly submitted job. It is determined that the execution time range of similar jobs is within 10 minutes.

過去運用分析部160は、ジョブ名、ユーザ名およびグループ名が新規投入ジョブと一致する類似ジョブの実行時間の範囲は10分以内であると判定した場合、処理をステップS106に進める。過去運用分析部160は、ジョブ名、ユーザ名およびグループ名が新規投入ジョブと一致する類似ジョブの実行時間の範囲は10分以内ではないと判定した場合、処理をステップS107に進める。 When the past operation analysis unit 160 determines that the execution time range of a similar job whose job name, user name, and group name match the newly submitted job is within 10 minutes, the process proceeds to step S106. If the past operation analysis unit 160 determines that the execution time range of a similar job whose job name, user name, and group name match the newly submitted job is not within 10 minutes, the process proceeds to step S107.

[ステップS106]過去運用分析部160は、ジョブ名、ユーザ名およびグループ名が新規投入ジョブと一致する類似ジョブの平均実行時間を新規投入ジョブの推定実行時間に決定する。例えば過去運用分析部160は、ステップS103でジョブ名、ユーザ名およびグループ名が新規投入ジョブと一致すると判定された類似ジョブそれぞれのジョブステイタス情報に示される実際の実行時間の平均を新規投入ジョブの推定実行時間に決定する。そして、処理が終了する。 [Step S106] The past operation analysis unit 160 determines the average execution time of a similar job whose job name, user name, and group name match the newly submitted job as the estimated execution time of the newly submitted job. For example, the past operation analysis unit 160 calculates the average of the actual execution times shown in the job status information of each similar job determined in step S103 that the job name, user name, and group name match the newly submitted job for the newly submitted job. Determined by the estimated execution time. Then, the process ends.

[ステップS107]過去運用分析部160は、ジョブ名、ユーザ名およびグループ名が新規投入ジョブと一致する類似ジョブの最大実行時間を新規投入ジョブの推定実行時間に決定する。例えば過去運用分析部160は、ステップS103でジョブ名、ユーザ名およびグループ名が新規投入ジョブと一致すると判定された類似ジョブそれぞれのジョブステイタス情報に示される実際の実行時間を参照する。そして過去運用分析部160は、参照した実際の実行時間のうちの最大の時間を新規投入ジョブの推定実行時間に決定する。そして、処理が終了する。 [Step S107] The past operation analysis unit 160 determines the maximum execution time of a similar job whose job name, user name, and group name match the newly submitted job as the estimated execution time of the newly submitted job. For example, the past operation analysis unit 160 refers to the actual execution time shown in the job status information of each similar job determined in step S103 that the job name, the user name, and the group name match the newly submitted job. Then, the past operation analysis unit 160 determines the maximum time of the referenced actual execution time as the estimated execution time of the newly submitted job. Then, the process ends.

[ステップS108]過去運用分析部160は、要求実行時間を新規投入ジョブの推定実行時間に決定する。例えば過去運用分析部160は、新規投入ジョブのジョブステイタ
ス情報に示される要求実行時間を新規投入ジョブの推定実行時間に決定する。
[Step S108] The past operation analysis unit 160 determines the request execution time as the estimated execution time of the newly submitted job. For example, the past operation analysis unit 160 determines the request execution time shown in the job status information of the newly submitted job as the estimated execution time of the newly submitted job.

このように過去運用分析部160は、新規投入ジョブとジョブ名、ユーザ名およびグループ名(ジョブ名等)が一致する類似ジョブがあるか否かを判定する。新規投入ジョブとジョブ名等が一致する類似ジョブがなければ、新規投入ジョブの要求実行時間を新規投入ジョブの推定実行時間に決定する。これにより過去運用分析部160は、新規投入ジョブの実行時間を予測することが難しい場合、新規投入ジョブの推定実行時間を新規投入ジョブが実行された場合の実際の実行時間よりも長くする。 In this way, the past operation analysis unit 160 determines whether or not there is a similar job in which the newly submitted job and the job name, the user name, and the group name (job name, etc.) match. If there is no similar job whose job name matches the newly submitted job, the request execution time of the newly submitted job is determined as the estimated execution time of the newly submitted job. As a result, when it is difficult to predict the execution time of the newly submitted job, the past operation analysis unit 160 makes the estimated execution time of the newly submitted job longer than the actual execution time when the newly submitted job is executed.

なお新規投入ジョブの推定実行時間が実際の実行時間より短いと、HPCシステム30は新規投入ジョブの次に実行を予定していたジョブを予定していた時刻に実行できないことがある。すると予定時刻に実行できなかったジョブがスケジューリングされていたことで、本来実行できたジョブの実行が後回しにされることがある。過去運用分析部160は、新規投入ジョブの実行時間を予測することが難しい場合でも、新規投入ジョブの推定実行時間を実際の実行時間よりも長くすることで、推定実行時間が実際の実行時間より短いことによるHPCシステム30の使用効率の低下を抑止できる。 If the estimated execution time of the newly submitted job is shorter than the actual execution time, the HPC system 30 may not be able to execute the job scheduled to be executed next to the newly submitted job at the scheduled time. Then, because the job that could not be executed at the scheduled time was scheduled, the execution of the job that could be originally executed may be postponed. Even if it is difficult to predict the execution time of a newly submitted job, the past operation analysis unit 160 sets the estimated execution time of the newly submitted job longer than the actual execution time, so that the estimated execution time is longer than the actual execution time. It is possible to prevent a decrease in the usage efficiency of the HPC system 30 due to the short time.

また過去運用分析部160は、新規投入ジョブとジョブ名等が一致する類似ジョブがあれば、ジョブ名等が一致する類似ジョブの実際の実行時間に基づいて、新規投入ジョブの推定実行時間を決定する。これにより過去運用分析部160は、実際の実行時間と推定実行時間が近くなるようにし、計算ノードがジョブを実行していない時間が短くなるようにする。よって、HPCシステム30の使用効率を向上させることができる。 Further, if there is a similar job whose job name and the like match with the newly submitted job, the past operation analysis unit 160 determines the estimated execution time of the newly submitted job based on the actual execution time of the similar job whose job name and the like match. do. As a result, the past operation analysis unit 160 makes the actual execution time and the estimated execution time close to each other, and shortens the time when the calculation node does not execute the job. Therefore, the usage efficiency of the HPC system 30 can be improved.

また過去運用分析部160は、新規投入ジョブとジョブ名等が一致する類似ジョブすべてについて、実際の実行時間を除くすべてのパラメータが一致するか否かを判定する。そして、実際の実行時間を除くすべてのパラメータが一致する場合、過去運用分析部160は、ジョブ名等が一致する類似ジョブの実際の実行時間に基づいて、新規投入ジョブの推定実行時間を決定する。また、新規投入ジョブとジョブ名等が一致する類似ジョブの中で、実際の実行時間以外のパラメータが一致しないジョブがある場合、過去運用分析部160は、新規投入ジョブの要求実行時間を新規投入ジョブの推定実行時間に決定する。 Further, the past operation analysis unit 160 determines whether or not all the parameters other than the actual execution time match for all the similar jobs whose job names and the like match with the newly submitted job. Then, when all the parameters except the actual execution time match, the past operation analysis unit 160 determines the estimated execution time of the newly submitted job based on the actual execution time of similar jobs having the same job name and the like. .. In addition, if there is a similar job whose parameters other than the actual execution time do not match among similar jobs whose job names match the newly submitted job, the past operation analysis unit 160 newly inputs the requested execution time of the newly submitted job. Determined by the estimated execution time of the job.

つまり過去運用分析部160は、新規投入ジョブとジョブ名等が一致する類似ジョブに、新規投入ジョブと作成段階が異なるジョブが含まれている場合、新規投入ジョブの実行時間の予測が困難と判定する。これにより、推定実行時間が実際の実行時間より短くなることをさらに抑止できる。 That is, the past operation analysis unit 160 determines that it is difficult to predict the execution time of the newly input job when the newly input job and the similar job whose job name etc. match include a job whose creation stage is different from that of the newly input job. do. As a result, it is possible to further prevent the estimated execution time from becoming shorter than the actual execution time.

また過去運用分析部160は、新規投入ジョブとジョブ名等が一致する類似ジョブそれぞれの実際の実行時間のうちの最大実行時間に基づいて、新規投入ジョブの推定実行時間を決定する。これにより、新規投入ジョブとジョブ名等が一致する類似ジョブそれぞれの実際の実行時間に基づいて、推定実行時間が実際の実行時間より長くなるようにできる。 Further, the past operation analysis unit 160 determines the estimated execution time of the newly input job based on the maximum execution time of the actual execution times of the newly input job and the similar job whose job name and the like match. As a result, the estimated execution time can be made longer than the actual execution time based on the actual execution time of each of the newly submitted job and the similar job whose job name and the like match.

次に類似ジョブ抽出処理の手順について説明する。
図15は、類似ジョブ抽出処理の手順の一例を示すフローチャートである。以下、図15に示す処理をステップ番号に沿って説明する。
Next, the procedure for similar job extraction processing will be described.
FIG. 15 is a flowchart showing an example of the procedure of the similar job extraction process. Hereinafter, the process shown in FIG. 15 will be described along with the step numbers.

[ステップS111]LDA学習部140は、すべてのジョブのジョブステイタス情報内の出現単語を抽出する。
[ステップS112]LDA学習部140は、LDA推定モデルを用いて単語をトピックに分類する。すなわちLDA学習部140は、前述の式(6)を用いて、共通のジョブステイタス情報に出現する確率の高い単語同士を同じグループにグルーピングし、生成されたグループをトピックとする。LDA学習部140は、生成したトピックと、各トピックに属する単語のリストとを、学習結果情報112としてDB110に格納する。
[Step S111] The LDA learning unit 140 extracts the appearing words in the job status information of all jobs.
[Step S112] The LDA learning unit 140 classifies words into topics using the LDA estimation model. That is, the LDA learning unit 140 uses the above equation (6) to group words having a high probability of appearing in common job status information into the same group, and the generated group is used as a topic. The LDA learning unit 140 stores the generated topic and a list of words belonging to each topic in the DB 110 as learning result information 112.

[ステップS113]類似ジョブ特定部150は、LDA推定モデルによる学習結果に基づいて、すべてのジョブについて、該当ジョブのジョブステイタス情報に含まれるトピック分布を算出する。 [Step S113] The similar job identification unit 150 calculates the topic distribution included in the job status information of the corresponding job for all jobs based on the learning result by the LDA estimation model.

[ステップS114]類似ジョブ特定部150は、LDA推定モデルによる学習結果から得られたトピック分布に基づいて、新規投入ジョブのトピック分布と、既に実行が終了している他のジョブのトピック分布との類似度を計算する。 [Step S114] The similar job identification unit 150 has a topic distribution of a newly input job and a topic distribution of another job whose execution has already been completed, based on the topic distribution obtained from the learning result by the LDA estimation model. Calculate the similarity.

[ステップS115]類似ジョブ特定部150は、ステップS114で算出された類似度が上位10個のジョブのジョブIDを、類似ジョブリスト113aに登録する。そして類似ジョブ特定部150は、類似ジョブリスト113aをDB110に格納する。 [Step S115] The similar job identification unit 150 registers the job IDs of the jobs with the highest similarity calculated in step S114 in the similar job list 113a. Then, the similar job identification unit 150 stores the similar job list 113a in the DB 110.

このようにして新規投入ジョブとジョブステイタス情報が類似する類似ジョブを抽出できる。類似ジョブを用いることで、新規投入ジョブの実行時間が精度良く予測できる。
次にジョブスケジューリング処理の手順について説明する。
In this way, similar jobs with similar job status information can be extracted from newly submitted jobs. By using similar jobs, the execution time of newly submitted jobs can be predicted accurately.
Next, the procedure of job scheduling processing will be described.

図16は、ジョブスケジューリング処理の手順の一例を示すフローチャートである。以下、図16に示す処理をステップ番号に沿って説明する。
[ステップS121]ジョブスケジューリング部240は、ジョブの実行状況をロードする。例えばジョブスケジューリング部240は、DB110に記憶されたHPC30がHPCシステム30のスケジュール(例えばスケジュール50)に割当前のジョブのジョブステイタス情報を管理サーバ100から取得する。またジョブスケジューリング部240は、管理サーバ100からスケジュール50に割当前のジョブの推定実行時間を取得する。
FIG. 16 is a flowchart showing an example of the procedure of the job scheduling process. Hereinafter, the process shown in FIG. 16 will be described along with the step numbers.
[Step S121] The job scheduling unit 240 loads the job execution status. For example, the job scheduling unit 240 acquires the job status information of the job before the HPC 30 stored in the DB 110 is assigned to the schedule of the HPC system 30 (for example, the schedule 50) from the management server 100. Further, the job scheduling unit 240 acquires the estimated execution time of the job before allocation from the management server 100 to the schedule 50.

[ステップS122]ジョブスケジューリング部240は、スケジュール50に割当前のジョブの優先度を決定する。例えばジョブスケジューリング部240は、スケジュール50に割当前のジョブそれぞれについて、投入された時刻が早いほど優先度が高くなるように優先度を決定する。 [Step S122] The job scheduling unit 240 determines the priority of the job before being assigned to the schedule 50. For example, the job scheduling unit 240 determines the priority of each job before being assigned to the schedule 50 so that the earlier the input time is, the higher the priority is.

[ステップS123]ジョブスケジューリング部240は、変数Xに初期値「1」を設定する。
[ステップS124]ジョブスケジューリング部240は、変数Nに初期値「0」を設定する。
[Step S123] The job scheduling unit 240 sets the initial value "1" in the variable X.
[Step S124] The job scheduling unit 240 sets the initial value "0" in the variable N.

[ステップS125]ジョブスケジューリング部240は、優先度XのジョブをN番目の区間から割当可能であるか否かを判定する。例えばジョブスケジューリング部240は、N番目の区間の始めから優先度Xのジョブの推定実行時間経過した時点が含まれる区間を特定する。ジョブスケジューリング部240は、スケジュール50を参照し、N番目の区間から特定した区間までの期間(割当候補期間)に含まれる各区間それぞれで、合計使用計算ノード数を特定する。ジョブスケジューリング部240は、割当候補期間に含まれる各区間で、合計使用計算ノード数に優先度Xのジョブの使用計算ノード数を足した値が、計算ノード31,32,・・・の総数以下の場合、優先度XのジョブをN番目の区間から割当可能であると判定する。 [Step S125] The job scheduling unit 240 determines whether or not the job of priority X can be assigned from the Nth section. For example, the job scheduling unit 240 specifies a section including a time point when the estimated execution time of the job of priority X has elapsed from the beginning of the Nth section. The job scheduling unit 240 refers to the schedule 50 and specifies the total number of calculation nodes used in each section included in the period (allocation candidate period) from the Nth section to the specified section. In each section included in the allocation candidate period, the job scheduling unit 240 has a value obtained by adding the number of used calculation nodes of the job of priority X to the total number of used calculation nodes, which is equal to or less than the total number of calculation nodes 31, 32, ... In the case of, it is determined that the job of priority X can be assigned from the Nth interval.

ジョブスケジューリング部240は、優先度XのジョブをN番目の区間から割当可能であると判定した場合、処理をステップS128に進める。またジョブスケジューリング部240は、優先度XのジョブをN番目の区間から割当不可能であると判定した場合、処理をステップS126に進める。 When the job scheduling unit 240 determines that the job of priority X can be assigned from the Nth section, the process proceeds to step S128. Further, when the job scheduling unit 240 determines that the job of priority X cannot be assigned from the Nth section, the process proceeds to step S126.

[ステップS126]ジョブスケジューリング部240は、N番目の区間がスケジューリング期間の最後の区間であるか否かを判定する。ジョブスケジューリング部240は、N番目の区間がスケジューリング期間の最後の区間であると判定した場合、処理をステップS129に進める。またジョブスケジューリング部240は、N番目の区間がスケジューリング期間の最後の区間ではないと判定した場合、処理をステップS127に進める。 [Step S126] The job scheduling unit 240 determines whether or not the Nth section is the last section of the scheduling period. When the job scheduling unit 240 determines that the Nth section is the last section of the scheduling period, the job scheduling unit 240 advances the process to step S129. If the job scheduling unit 240 determines that the Nth section is not the last section of the scheduling period, the job scheduling unit 240 advances the process to step S127.

[ステップS127]ジョブスケジューリング部240は、変数Nに1を加算する(N=N+1)。そして処理がステップS125に進む。
[ステップS128]ジョブスケジューリング部240は、優先度XのジョブをN番目の区間から割り当てる。例えばジョブスケジューリング部240は、優先度XのジョブをステップS125で特定した割当候補期間に割り当てるようスケジュール50を更新する。
[Step S127] The job scheduling unit 240 adds 1 to the variable N (N = N + 1). Then, the process proceeds to step S125.
[Step S128] The job scheduling unit 240 allocates a job having priority X from the Nth interval. For example, the job scheduling unit 240 updates the schedule 50 so that the job of priority X is assigned to the allocation candidate period specified in step S125.

[ステップS129]ジョブスケジューリング部240は、優先度Xのジョブが最後のジョブであるか否かを判定する。ジョブスケジューリング部240は、優先度Xのジョブが最後のジョブであると判定した場合、処理を終了する。またジョブスケジューリング部240は、優先度Xのジョブが最後のジョブではないと判定した場合、処理をステップS130に進める。 [Step S129] The job scheduling unit 240 determines whether or not the job of priority X is the last job. When the job scheduling unit 240 determines that the job of priority X is the last job, the job scheduling unit 240 ends the process. If the job scheduling unit 240 determines that the job of priority X is not the last job, the job scheduling unit 240 advances the process to step S130.

[ステップS130]ジョブスケジューリング部240は、変数Xに1を加算する(X=X+1)。そして処理がステップS124に進む。
このようにして、推定実行時間を用いたジョブスケジューリングが行われる。そしてジョブスケジューリングの結果であるスケジュール50に従って、HPCシステム30は、効率よくジョブを実行することができる。
[Step S130] The job scheduling unit 240 adds 1 to the variable X (X = X + 1). Then, the process proceeds to step S124.
In this way, job scheduling using the estimated execution time is performed. Then, the HPC system 30 can efficiently execute the job according to the schedule 50 which is the result of the job scheduling.

〔その他の実施の形態〕
第2の実施の形態では、HPC運用管理サーバ200は、スケジュール期間を複数の区間に分割し、各ジョブの終了時刻をスケジュール区間単位に切り上げてスケジューリングしているが、ジョブの終了予定時刻の直後に次のジョブをスケジューリングしてもよい。つまりHPC運用管理サーバ200は、図4に示すジョブ間の間隔を詰めてスケジューリングしてもよい。
[Other embodiments]
In the second embodiment, the HPC operation management server 200 divides the schedule period into a plurality of sections and rounds up the end time of each job to each schedule section for scheduling, but immediately after the scheduled end time of the job. The next job may be scheduled to. That is, the HPC operation management server 200 may be scheduled with a close interval between jobs shown in FIG.

また第2の実施の形態では、新規投入ジョブとジョブ名、ユーザ名およびグループ名が一致する類似ジョブが特定されたが、管理サーバ100は、ジョブを実行するシステムで設定できるパラメータに応じた他のパラメータが一致する類似ジョブを特定してもよい。また第2の実施の形態では、ジョブの規模を示すパラメータは、ジョブ名、ユーザ名、グループ名および実行時間を除くすべてのパラメータであったが、ジョブを実行するシステムで設定できるパラメータに応じた他の所定のパラメータであってもよい。 Further, in the second embodiment, a similar job whose job name, user name, and group name match with the newly submitted job is specified, but the management server 100 is different from the parameters that can be set in the system that executes the job. You may identify similar jobs that match the parameters of. Further, in the second embodiment, the parameters indicating the scale of the job are all parameters except the job name, the user name, the group name and the execution time, but the parameters can be set in the system for executing the job. It may be another predetermined parameter.

以上、実施の形態を例示したが、実施の形態で示した各部の構成は同様の機能を有する他のものに置換することができる。また、他の任意の構成物や工程が付加されてもよい。さらに、前述した実施の形態のうちの任意の2以上の構成(特徴)を組み合わせたものであってもよい。 Although the embodiment has been illustrated above, the configuration of each part shown in the embodiment can be replaced with another having the same function. Further, any other components or processes may be added. Further, any two or more configurations (features) of the above-described embodiments may be combined.

1 HPCシステム
2 第1ジョブ
3a,3b,・・・ 第2ジョブ
4a,4b,・・・ 第3ジョブ
10 情報処理装置
11 記憶部
11a,11b,・・・ ジョブ情報
12 処理部
1 HPC system 2 1st job 3a, 3b, ... 2nd job 4a, 4b, ... 3rd job 10 Information processing device 11 Storage unit 11a, 11b, ... Job information 12 Processing unit

Claims (7)

コンピュータに、
新規に投入される第1ジョブおよび実行が終了した複数の第2ジョブそれぞれのパラメータを含む、前記第1ジョブおよび前記複数の第2ジョブそれぞれのジョブ情報に基づいて、前記第1ジョブの第1パラメータの値と前記複数の第2ジョブそれぞれの前記第1パラメータと同種の第2パラメータの値とが一致するか否かを判定し、
前記複数の第2ジョブに、前記第2パラメータの値が前記第1パラメータの値と一致するジョブが含まれていない場合、前記第1ジョブが開始してから実行が打ち切られるまでの時間を前記第1ジョブがスケジューリングされる際の推定実行時間に決定し、
前記複数の第2ジョブに、前記第2パラメータの値が前記第1パラメータの値と一致する一以上の第3ジョブが含まれる場合、前記一以上の第3ジョブそれぞれの過去に実行された際の実行時間に基づいて、前記推定実行時間を決定する、
処理を実行させるジョブスケジューリングプログラム。
On the computer
The first of the first jobs is based on the job information of each of the first job and the plurality of second jobs, including the parameters of the newly submitted first job and the plurality of second jobs whose execution has been completed. It is determined whether or not the value of the parameter matches the value of the first parameter of each of the plurality of second jobs and the value of the second parameter of the same type.
When the plurality of second jobs do not include a job whose value of the second parameter matches the value of the first parameter, the time from the start of the first job to the termination of execution is described above. Determined by the estimated execution time when the first job is scheduled,
When the plurality of second jobs include one or more third jobs whose values of the second parameter match the values of the first parameter, when each of the one or more third jobs has been executed in the past. Determines the estimated execution time based on the execution time of
A job scheduling program that executes processing.
前記複数の第2ジョブに、前記第2パラメータの値が前記第1パラメータの値と一致する前記一以上の第3ジョブが含まれる場合の、前記推定実行時間の決定では、前記一以上の第3ジョブそれぞれの過去に実行された際の実行時間のうちの最大実行時間に基づいて、前記推定実行時間を決定する、
請求項1記載のジョブスケジューリングプログラム。
In the determination of the estimated execution time when the plurality of second jobs include the one or more third jobs whose values of the second parameter match the values of the first parameter, the one or more first jobs are used. The estimated execution time is determined based on the maximum execution time of the execution times when each of the three jobs has been executed in the past.
The job scheduling program according to claim 1.
前記複数の第2ジョブに、前記第2パラメータの値が前記第1パラメータの値と一致する前記一以上の第3ジョブが含まれる場合の、前記推定実行時間の決定では、前記一以上の第3ジョブすべての前記第1パラメータと別種の第3パラメータの値が同じである場合、前記一以上の第3ジョブそれぞれの過去に実行された際の実行時間に基づいて、前記推定実行時間を決定し、
前記一以上の第3ジョブすべての前記第3パラメータの値が同じでない場合、前記第1ジョブが開始してから実行が打ち切られるまでの時間を前記推定実行時間に決定する、
請求項1または2記載のジョブスケジューリングプログラム。
In the determination of the estimated execution time when the plurality of second jobs include the one or more third jobs whose values of the second parameter match the values of the first parameter, the one or more first jobs are used. When the values of the first parameter of all three jobs and the third parameter of another type are the same, the estimated execution time is determined based on the execution time of each of the one or more third jobs in the past. death,
If the values of the third parameter are not the same for all of the one or more third jobs, the time from the start of the first job to the termination of execution is determined as the estimated execution time.
The job scheduling program according to claim 1 or 2.
前記第1パラメータは複数であり、複数の前記第1パラメータには、ジョブの名称を示すパラメータ、ジョブを投入したユーザの名称を示すパラメータおよび前記ユーザが所属するグループを示すパラメータが含まれる、
請求項1ないし3のいずれかに記載のジョブスケジューリングプログラム。
The first parameter is plural, and the plurality of first parameters include a parameter indicating the name of the job, a parameter indicating the name of the user who submitted the job, and a parameter indicating the group to which the user belongs.
The job scheduling program according to any one of claims 1 to 3.
前記コンピュータにさらに、前記第1ジョブおよび実行が終了した複数の第4ジョブそれぞれのジョブ情報と所定の計算式を用いて計算される前記第1ジョブと前記複数の第4ジョブそれぞれとの類似度に基づいて、前記複数の第4ジョブのなかから前記第1ジョブとジョブ情報が類似する前記複数の第2ジョブを特定させる、
請求項1ないし4のいずれかに記載のジョブスケジューリングプログラム。
The degree of similarity between the first job and each of the plurality of fourth jobs calculated by using the job information of each of the first job and the plurality of fourth jobs whose execution has been completed and a predetermined formula on the computer. Based on the above, the plurality of second jobs having similar job information to the first job are identified from the plurality of fourth jobs.
The job scheduling program according to any one of claims 1 to 4.
新規に投入される第1ジョブおよび実行が終了した複数の第2ジョブそれぞれのパラメータを含む、前記第1ジョブおよび前記複数の第2ジョブそれぞれのジョブ情報を記憶する記憶部と、
前記第1ジョブおよび前記複数の第2ジョブそれぞれのジョブ情報に基づいて、前記第1ジョブの第1パラメータの値と前記複数の第2ジョブそれぞれの前記第1パラメータと同種の第2パラメータの値とが一致するか否かを判定し、前記複数の第2ジョブに、前記第2パラメータの値が前記第1パラメータの値と一致するジョブが含まれていない場合、前記第1ジョブが開始してから実行が打ち切られるまでの時間を前記第1ジョブがスケジューリングされる際の推定実行時間に決定し、前記複数の第2ジョブに、前記第2パラメータの値が前記第1パラメータの値と一致する一以上の第3ジョブが含まれる場合、前記一以上の第3ジョブそれぞれの過去に実行された際の実行時間に基づいて、前記推定実行時間を決定する処理部と、
を有する情報処理装置。
A storage unit for storing job information of the first job and the plurality of second jobs, including parameters of the newly input first job and the plurality of second jobs whose execution has been completed.
Based on the job information of the first job and the plurality of second jobs, the value of the first parameter of the first job and the value of the second parameter of the same type as the first parameter of each of the plurality of second jobs. If the plurality of second jobs do not include a job whose value of the second parameter matches the value of the first parameter, the first job is started. The time from when the execution is terminated is determined as the estimated execution time when the first job is scheduled, and the value of the second parameter matches the value of the first parameter for the plurality of second jobs. When one or more third jobs are included, a processing unit that determines the estimated execution time based on the execution time of each of the one or more third jobs in the past, and a processing unit.
Information processing device with.
コンピュータが、
新規に投入される第1ジョブおよび実行が終了した複数の第2ジョブそれぞれのパラメータを含む、前記第1ジョブおよび前記複数の第2ジョブそれぞれのジョブ情報に基づいて、前記第1ジョブの第1パラメータの値と前記複数の第2ジョブそれぞれの前記第1パラメータと同種の第2パラメータの値とが一致するか否かを判定し、
前記複数の第2ジョブに、前記第2パラメータの値が前記第1パラメータの値と一致するジョブが含まれていない場合、前記第1ジョブが開始してから実行が打ち切られるまでの時間を前記第1ジョブがスケジューリングされる際の推定実行時間に決定し、
前記複数の第2ジョブに、前記第2パラメータの値が前記第1パラメータの値と一致する一以上の第3ジョブが含まれる場合、前記一以上の第3ジョブそれぞれの過去に実行された際の実行時間に基づいて、前記推定実行時間を決定する、
ジョブスケジューリング方法。
The computer
The first of the first jobs is based on the job information of each of the first job and the plurality of second jobs, including the parameters of the newly submitted first job and the plurality of second jobs whose execution has been completed. It is determined whether or not the value of the parameter matches the value of the first parameter of each of the plurality of second jobs and the value of the second parameter of the same type.
When the plurality of second jobs do not include a job whose value of the second parameter matches the value of the first parameter, the time from the start of the first job to the termination of execution is described above. Determined by the estimated execution time when the first job is scheduled,
When the plurality of second jobs include one or more third jobs whose values of the second parameter match the values of the first parameter, when each of the one or more third jobs has been executed in the past. Determines the estimated execution time based on the execution time of
Job scheduling method.
JP2020097647A 2020-06-04 2020-06-04 Job scheduling program, information processing apparatus, and job scheduling method Withdrawn JP2021190001A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020097647A JP2021190001A (en) 2020-06-04 2020-06-04 Job scheduling program, information processing apparatus, and job scheduling method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020097647A JP2021190001A (en) 2020-06-04 2020-06-04 Job scheduling program, information processing apparatus, and job scheduling method

Publications (1)

Publication Number Publication Date
JP2021190001A true JP2021190001A (en) 2021-12-13

Family

ID=78849654

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020097647A Withdrawn JP2021190001A (en) 2020-06-04 2020-06-04 Job scheduling program, information processing apparatus, and job scheduling method

Country Status (1)

Country Link
JP (1) JP2021190001A (en)

Similar Documents

Publication Publication Date Title
Witt et al. Predictive performance modeling for distributed batch processing using black box monitoring and machine learning
US11762918B2 (en) Search method and apparatus
EP3640799A1 (en) Determining an allocation of computing resources for a job
CN102667724B (en) For dynamically managing the method and system of accelerator resource
JP4550781B2 (en) Real-time soaring search word detection method and real-time soaring search word detection system
TWI433035B (en) Scaling instruction intervals to identify collection points for representative instruction traces
US20190245766A1 (en) Performance evaluation method, apparatus for performance evaluation, and non-transitory computer-readable storage medium for storing program
JP7040319B2 (en) Operation management device, destination recommended method and destination recommended program
US20210359514A1 (en) Information processing apparatus and job scheduling method
US20150033233A1 (en) Job delay detection method and information processing apparatus
US10887199B2 (en) Performance adjustment method, apparatus for performance adjustment, and non-transitory computer-readable storage medium for storing program
US20160352822A1 (en) Command process load balancing system
US11809505B2 (en) Method for pushing information, electronic device
JP2020129314A (en) Job power prediction program, job power prediction method, and job power prediction device
US20220391672A1 (en) Multi-task deployment method and electronic device
JP6658507B2 (en) Load estimation system, information processing device, load estimation method, and computer program
CN109471862A (en) Data processing method and device, electronic equipment, storage medium
Maroulis et al. A holistic energy-efficient real-time scheduler for mixed stream and batch processing workloads
US20130124817A1 (en) Information processing apparatus
US20220027758A1 (en) Information processing apparatus and information processing method
Park et al. Queue congestion prediction for large-scale high performance computing systems using a hidden Markov model
JP7235960B2 (en) Job power prediction program, job power prediction method, and job power prediction device
US11734063B2 (en) Job management based on generated execution time prediction model and prediction accuracy
CN114297478A (en) Page recommendation method, device, equipment and storage medium
US20160110117A1 (en) Computer system and method for controlling hierarchical storage therefor

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230309

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20231108

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20240129