JP2022006909A - Control device, information processing device, information processing control method, and computer program - Google Patents

Control device, information processing device, information processing control method, and computer program Download PDF

Info

Publication number
JP2022006909A
JP2022006909A JP2020109486A JP2020109486A JP2022006909A JP 2022006909 A JP2022006909 A JP 2022006909A JP 2020109486 A JP2020109486 A JP 2020109486A JP 2020109486 A JP2020109486 A JP 2020109486A JP 2022006909 A JP2022006909 A JP 2022006909A
Authority
JP
Japan
Prior art keywords
group
application
job
degree
scheduler
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.)
Granted
Application number
JP2020109486A
Other languages
Japanese (ja)
Other versions
JP7350694B2 (en
Inventor
雄太 森澤
Yuta Morisawa
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.)
KDDI Corp
Original Assignee
KDDI Corp
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 KDDI Corp filed Critical KDDI Corp
Priority to JP2020109486A priority Critical patent/JP7350694B2/en
Publication of JP2022006909A publication Critical patent/JP2022006909A/en
Application granted granted Critical
Publication of JP7350694B2 publication Critical patent/JP7350694B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Computer And Data Communications (AREA)

Abstract

To allow a stream process to be conducted in considering a delay factor and to achieve improvement of resource usage efficiency.SOLUTION: A control device includes an intra-group scheduler which schedules a job of each application on the basis of a delay requirement of each application for each group constituted with one or a plurality of applications, and an inter-group scheduler which controls a resource quantity to be used for execution of the job for each of the groups on the basis of observance of the delay requirement being a level indicating whether the delay requirement of the application is satisfied in the group.SELECTED DRAWING: Figure 1

Description

本発明は、制御装置、情報処理装置、情報処理制御方法及びコンピュータプログラムに関する。 The present invention relates to a control device, an information processing device, an information processing control method, and a computer program.

従来、データが発生した時に所定のアプリケーションにより逐次にデータ処理を実行するストリーム処理が知られている。ストリーム処理によれば、逐次に発生するデータに対してリアルタイムに集計や分析等の処理を行うことができる。ストリーム処理を実行する情報処理技術として例えば特許文献1や非特許文献1に記載の技術が知られている。特許文献1に記載の従来技術では、スイッチがデータの一次処理を実行し、その実行結果をストリームクラスタへ転送している。スイッチはサーバから受領した記述子に基づいてストリームの処理を実行する。
非特許文献1には、アプリケーションによるストリーム処理を実行する「Worker Node」と、アプリケーションのジョブのスケジューリングを行う「Driver Program」と、リソースを管理する「Cluster Manager」とを備える分散ストリーム処理システムが記載されている。
Conventionally, stream processing is known in which data processing is sequentially executed by a predetermined application when data is generated. According to the stream processing, it is possible to perform processing such as aggregation and analysis in real time on the sequentially generated data. As an information processing technique for executing stream processing, for example, the techniques described in Patent Document 1 and Non-Patent Document 1 are known. In the prior art described in Patent Document 1, the switch executes the primary processing of data and transfers the execution result to the stream cluster. The switch performs stream processing based on the descriptor received from the server.
Non-Patent Document 1 describes a distributed stream processing system including a "Worker Node" that executes stream processing by an application, a "Driver Program" that schedules jobs of an application, and a "Cluster Manager" that manages resources. Has been done.

特許第5802215号公報Japanese Patent No. 5802215

Apache Spark、“Cluster Mode Overview”、インターネット<URL:https://spark.apache.org/docs/latest/cluster-overview.html>Apache Spark, “Cluster Mode Overview”, Internet <URL: https://spark.apache.org/docs/latest/cluster-overview.html>

しかし、上述した特許文献1に記載の従来技術では、アプリケーションが要求する遅延要件を考慮してストリーム処理を実行することができない。非特許文献2に記載の従来技術では、「Worker Node」に対して固定的にリソースが割り当てられるので、ストリーム処理対象のデータの単位時間当たり発生量が時間帯によって変動する場合には単位時間当たり最大発生量に合わせたリソース量を固定的に割り当てる必要がある。このため、ストリーム処理対象のデータの単位時間当たり発生量が少ない時間帯では余剰リソースが発生し、リソースの利用効率が低下する。 However, in the prior art described in Patent Document 1 described above, stream processing cannot be executed in consideration of the delay requirement required by the application. In the prior art described in Non-Patent Document 2, resources are fixedly allocated to the "Worker Node". Therefore, when the amount of data to be streamed per unit time fluctuates depending on the time zone, per unit time. It is necessary to fixedly allocate the amount of resources according to the maximum amount of generation. Therefore, surplus resources are generated in the time zone when the amount of data to be streamed per unit time is small, and the resource utilization efficiency is lowered.

本発明は、このような事情を考慮してなされたものであり、その目的は、ストリーム処理に対する遅延要件を考慮してストリーム処理を実行させると共にリソースの利用効率の向上を図ることにある。 The present invention has been made in consideration of such circumstances, and an object of the present invention is to execute stream processing in consideration of a delay requirement for stream processing and to improve resource utilization efficiency.

(1)本発明の一態様は、一又は複数のアプリケーションから構成されるグループ毎に、各アプリケーションの遅延要件に基づいて各アプリケーションのジョブをスケジューリングするグループ内スケジューラと、各前記グループにおけるアプリケーションの遅延要件を満たしているか否かを示す度合いであるアプリケーションの遅延要件の遵守度に基づいて、ジョブの実行に使用可能な各前記グループのリソース量を制御するグループ間スケジューラと、を備える制御装置である。
(2)本発明の一態様は、前記グループ内スケジューラは、各アプリケーションの遅延要件に基づいた各ジョブについてのジョブが予定通り進んでいるか否かを示す度合いである進捗予定達成度及び所要リソース量を算出し、算出した各ジョブの進捗予定達成度及び所要リソース量に基づいて各ジョブの優先度を決定する、上記(1)の制御装置である。
(3)本発明の一態様は、前記グループ内スケジューラは、ジョブの進捗予定達成度に対する重み付けとジョブの所要リソース量に対する重み付けとを行ってジョブの優先度を決定する、上記(2)の制御装置である。
(4)本発明の一態様は、前記グループ内スケジューラは、アプリケーションの遅延要件の遵守度が改善するように、当該アプリケーションのジョブの進捗予定達成度及び所要リソース量に対する各重み付け係数を制御する、上記(3)の制御装置である。
(5)本発明の一態様は、前記アプリケーションの遅延要件の遵守度は、アプリケーションのジョブ実行時間にレコード読み込み遅延時間を加算した和とアプリケーションが要求する処理遅延時間との差に基づいて算出される、上記(1)から(4)のいずれかの制御装置である。
(1) One aspect of the present invention is an in-group scheduler that schedules a job of each application based on the delay requirement of each application for each group composed of one or a plurality of applications, and an application delay in each of the above groups. It is a control device including an intergroup scheduler that controls the amount of resources of each of the above groups that can be used to execute a job based on the degree of compliance with the delay requirement of the application, which is a degree indicating whether or not the requirement is satisfied. ..
(2) In one aspect of the present invention, the scheduler in the group indicates whether or not the job for each job is proceeding as planned based on the delay requirement of each application. Is the control device of the above (1), which calculates the priority of each job based on the calculated progress schedule achievement degree and the required resource amount of each job.
(3) In one aspect of the present invention, the scheduler in the group determines the priority of the job by weighting the achievement level of the progress schedule of the job and the required resource amount of the job. It is a device.
(4) In one aspect of the present invention, the in-group scheduler controls each weighting coefficient for the degree of progress schedule achievement of the application and the required resource amount so that the degree of compliance with the delay requirement of the application is improved. This is the control device of (3) above.
(5) In one aspect of the present invention, the degree of compliance with the delay requirement of the application is calculated based on the difference between the sum of the job execution time of the application and the record read delay time and the processing delay time required by the application. The control device according to any one of (1) to (4) above.

(6)本発明の一態様は、一又は複数のアプリケーションから構成されるグループ毎に設けられてジョブを実行する実行部と、上記(1)から(5)のいずれかの制御装置と、を備え、前記実行部は、前記制御装置によるスケジューリングに従って自己のグループのアプリケーションのジョブを実行する、情報処理装置である。 (6) One aspect of the present invention comprises an execution unit provided for each group composed of one or a plurality of applications to execute a job, and a control device according to any one of (1) to (5) above. The execution unit is an information processing device that executes a job of an application of its own group according to a schedule by the control device.

(7)本発明の一態様は、グループ内スケジューラが、一又は複数のアプリケーションから構成されるグループ毎に、各アプリケーションの遅延要件に基づいて各アプリケーションのジョブをスケジューリングするグループ内スケジューリングステップと、グループ間スケジューラが、各前記グループにおけるアプリケーションの遅延要件を満たしているか否かを示す度合いであるアプリケーションの遅延要件の遵守度に基づいて、ジョブの実行に使用可能な各前記グループのリソース量を制御するグループ間スケジューリングステップと、を含む情報処理制御方法である。 (7) One aspect of the present invention is an intra-group scheduling step in which an intra-group scheduler schedules jobs for each application based on the delay requirements of each application for each group composed of one or a plurality of applications, and a group. The inter-scheduler controls the amount of resources in each of the groups available to run the job, based on the degree of compliance with the application's delay requirements, which is the degree to which the application's delay requirements are met in each of the groups. It is an information processing control method including an intergroup scheduling step.

(8)本発明の一態様は、コンピュータに、一又は複数のアプリケーションから構成されるグループ毎に、各アプリケーションの遅延要件に基づいて各アプリケーションのジョブをスケジューリングするグループ内スケジューリングステップと、各前記グループにおけるアプリケーションの遅延要件を満たしているか否かを示す度合いであるアプリケーションの遅延要件の遵守度に基づいて、ジョブの実行に使用可能な各前記グループのリソース量を制御するグループ間スケジューリングステップと、を実行させるためのコンピュータプログラムである。 (8) One aspect of the present invention includes an intra-group scheduling step for scheduling a job of each application based on the delay requirement of each application for each group composed of one or a plurality of applications on a computer, and each of the above-mentioned groups. An intergroup scheduling step that controls the amount of resources available to each said group to execute a job, based on the degree of compliance with the application's delay requirements, which is the degree to which the application's delay requirements are met. It is a computer program to be executed.

本発明によれば、ストリーム処理に対する遅延要件を考慮してストリーム処理を実行させると共にリソースの利用効率の向上を図ることができるという効果が得られる。 According to the present invention, it is possible to obtain the effect that the stream processing can be executed in consideration of the delay requirement for the stream processing and the resource utilization efficiency can be improved.

一実施形態に係る情報処理装置の構成例を示す図である。It is a figure which shows the structural example of the information processing apparatus which concerns on one Embodiment. 一実施形態に係る情報処理制御方法の全体手順の例を示すフローチャートである。It is a flowchart which shows the example of the whole procedure of the information processing control method which concerns on one Embodiment. 一実施形態に係るグループ内スケジューリングの手順の例を示すフローチャートである。It is a flowchart which shows the example of the procedure of the group scheduling which concerns on one Embodiment. 一実施形態に係るグループ間スケジューリングの手順の例を示すフローチャートである。It is a flowchart which shows the example of the procedure of the inter-group scheduling which concerns on one Embodiment.

以下、図面を参照し、本発明の実施形態について説明する。
図1は、一実施形態に係る情報処理装置の構成例を示す図である。図1において、情報処理装置1は、制御装置10と、処理ノードwnd1,wnd2と、を備える。制御装置10は、アプリケーションによるストリーム処理を実行する処理ノードwnd1,wnd2に対して、情報処理の制御を行う。
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
FIG. 1 is a diagram showing a configuration example of an information processing apparatus according to an embodiment. In FIG. 1, the information processing device 1 includes a control device 10 and processing nodes wnd1 and wnd2. The control device 10 controls information processing for the processing nodes wnd1 and wnd2 that execute stream processing by the application.

処理ノードwnd1,wnd2は、アプリケーションが発行するジョブを実行する実行部exc1,exc2を備える。各実行部exc1,exc2は、アプリケーションのグループ毎に設けられる。アプリケーションのグループは、一又は複数のアプリケーションから構成される。実行部exc1は、グループAに所属するアプリケーションapp1,app2,app3が発行するジョブを実行する。実行部exc2は、グループBに所属するアプリケーションapp4が発行するジョブを実行する。各実行部exc1,exc2が使用可能な情報処理のリソースの上限は、処理ノードwnd1,wnd2毎に、制御装置10によって制御される。実行部exc1,exc2は、例えばコンテナ型の仮想実行環境を利用して構築される。 The processing nodes wnd1 and wnd2 include execution units excc1 and excc2 that execute jobs issued by the application. Each execution unit excc1 and excc2 are provided for each group of applications. A group of applications consists of one or more applications. The execution unit exc1 executes a job issued by the applications ap1, ap2, and app3 belonging to the group A. The execution unit exc2 executes a job issued by the application application 4 belonging to the group B. The upper limit of the information processing resource that can be used by each execution unit excc1 and exc2 is controlled by the control device 10 for each processing node wnd1 and wnd2. The execution units excc1 and excc2 are constructed using, for example, a container-type virtual execution environment.

以下、情報処理のリソースを単にリソースと称する場合がある。また、処理ノードwnd1,wnd2を特に区別しないときは処理ノードwndと称する。また、実行部exc1,exc2を特に区別しないときは実行部excと称する。また、グループA,Bを特に区別しないときはグループと称する。また、アプリケーションapp1,app2,app3,app4を特に区別しないときはアプリケーションappと称する。 Hereinafter, information processing resources may be simply referred to as resources. Further, when the processing nodes wnd1 and wnd2 are not particularly distinguished, they are referred to as processing nodes wnd. Further, when the execution units exc1 and exc2 are not particularly distinguished, they are referred to as an execution unit exc. Further, when groups A and B are not particularly distinguished, they are referred to as groups. Further, when the applications app1, app2, app3, and app4 are not particularly distinguished, they are referred to as application app.

本実施形態において、各アプリケーションappは、同時に1個のジョブのみが実行されるようにジョブを発行する。このため、各アプリケーションappにおいて、次のジョブは前のジョブが終了するまで発行されない。これにより、実行部excは、一のアプリケーションappについて同時に1個のジョブのみを実行する。 In this embodiment, each application application issues a job so that only one job is executed at a time. Therefore, in each application application, the next job is not issued until the previous job is completed. As a result, the execution unit exc executes only one job at a time for one application application.

制御装置10は、グループ内スケジューラ(Intra-group Scheduler)11と、グループ間スケジューラ(Inter-group Scheduler)12と、アプリケーション管理部(Application Manager)13と、メトリック収集部(Metrics Collector)14とを備える。 The control device 10 includes an intra-group scheduler (Intra-group Scheduler) 11, an inter-group scheduler (Inter-group Scheduler) 12, an application management unit (Application Manager) 13, and a metric collection unit (Metrics Collector) 14. ..

制御装置10の機能は、制御装置10がCPU(Central Processing Unit:中央演算処理装置)及びメモリ等のコンピュータハードウェアを備え、CPUがメモリに格納されたコンピュータプログラムを実行することにより実現される。なお、制御装置10として、汎用のコンピュータ装置を使用して構成してもよく、又は、専用のハードウェア装置として構成してもよい。例えば、制御装置10は、インターネット等の通信ネットワークに接続されるサーバコンピュータを使用して構成されてもよい。また、制御装置10の各機能はクラウドコンピューティングにより実現されてもよい。 The function of the control device 10 is realized by the control device 10 including a computer hardware such as a CPU (Central Processing Unit) and a memory, and the CPU executes a computer program stored in the memory. The control device 10 may be configured by using a general-purpose computer device, or may be configured as a dedicated hardware device. For example, the control device 10 may be configured by using a server computer connected to a communication network such as the Internet. Further, each function of the control device 10 may be realized by cloud computing.

グループ内スケジューラ11は、処理ノードwnd毎に、グループ内の各アプリケーションappのジョブのスケジューリングを行う。グループ内スケジューラ11は、グループ毎に、各アプリケーションappの遅延要件に基づいて各アプリケーションappのジョブをスケジューリングする。実行部excは、グループ内スケジューラ11のスケジューリングに従って、各アプリケーションappのジョブを実行する。各アプリケーションappの遅延要件(Service Level Objective:SLO)は、予め、制御装置10に設定される。 The in-group scheduler 11 schedules jobs for each application application in the group for each processing node wnd. The in-group scheduler 11 schedules a job for each application application for each group based on the delay requirement of each application application. The execution unit exc executes the job of each application application according to the scheduling of the scheduler 11 in the group. The delay requirement (Service Level Objective: SLO) of each application application is set in the control device 10 in advance.

グループ間スケジューラ12は、処理ノードwnd毎に、グループ間のリソースの配分を行う。リソースとして、処理ノードwndが使用するCPUやメモリやストレージやネットワークなどがある。グループ間スケジューラ12は、各グループにおけるアプリケーションappの遅延要件の遵守度に基づいて、ジョブの実行に使用可能な各グループのリソース量を制御する。遵守度は、アプリケーションappの遅延要件を満たしているか否かを示す度合いである。 The inter-group scheduler 12 allocates resources between groups for each processing node wnd. As resources, there are CPU, memory, storage, network, etc. used by the processing node wnd. The inter-group scheduler 12 controls the amount of resources in each group that can be used to execute the job, based on the degree of compliance with the delay requirement of the application application in each group. The degree of compliance is a degree indicating whether or not the delay requirement of the application application is satisfied.

グループ間スケジューラ12は、各グループにおいてアプリケーションappの遅延要件がどの程度満たされているか否かを常時監視する。グループ間スケジューラ12は、当該監視結果に基づいて、アプリケーションappの遅延要件が十分満たされているグループが使用可能なリソース量を減らす一方、アプリケーションappの遅延要件が満たされていないグループが使用可能なリソース量を増やす制御を定期的に実行する。 The inter-group scheduler 12 constantly monitors whether or not the delay requirement of the application application is satisfied in each group. Based on the monitoring result, the inter-group scheduler 12 reduces the amount of resources that can be used by a group that sufficiently meets the delay requirement of the application application, while it can be used by a group that does not meet the delay requirement of the application application. Periodically execute control to increase the amount of resources.

アプリケーション管理部13は、アプリケーションappが発行するジョブの実行や停止やステータスの確認を行うためのインタフェース機能を有する。 The application management unit 13 has an interface function for executing or stopping a job issued by an application application and checking the status.

メトリック収集部14は、アプリケーションappの状態を監視する。メトリック収集部14は、各アプリケーションappの遅延要件を満たしているか否かを判断するための情報を、各処理ノードwndから収集する。 The metric collection unit 14 monitors the status of the application application. The metric collection unit 14 collects information from each processing node wnd for determining whether or not the delay requirement of each application application is satisfied.

図2を参照して、本実施形態に係る情報処理制御方法の全体的な手順を説明する。図2は、本実施形態に係る情報処理制御方法の全体手順の例を示すフローチャートである。ここでは、一の処理ノードwndに着目して情報処理制御方法の全体手順を説明するが、複数の処理ノードwndに対してそれぞれに同様の手順が行われる。 The overall procedure of the information processing control method according to the present embodiment will be described with reference to FIG. FIG. 2 is a flowchart showing an example of the overall procedure of the information processing control method according to the present embodiment. Here, the overall procedure of the information processing control method will be described focusing on one processing node wnd, but the same procedure is performed for each of a plurality of processing nodes wnd.

(ステップS1) グループ間スケジューラ12は、初回のグループ間スケジュールを行う。初回のグループ間スケジュールでは、各グループに対して、初期設定によるグループ間のリソースの配分を行う。この初期設定には、デフォルト値やユーザによる任意の設定値が使用されてもよく、又は過去のグループ間のリソースの配分の実績に基づいた値が使用されてもよい。初回のグループ間スケジュールによって、各グループに対応する実行部excに対して、使用可能なリソース量の上限の初期値が設定される。 (Step S1) The inter-group scheduler 12 performs the first inter-group schedule. In the initial inter-group schedule, resources are allocated to each group by default. For this initial setting, a default value or an arbitrary setting value by the user may be used, or a value based on the actual allocation of resources between past groups may be used. The initial inter-group schedule sets the initial value of the upper limit of the amount of resources that can be used for the execution unit exc corresponding to each group.

(ステップS2) グループ内スケジューラ11は、グループ内スケジューリングを行う。グループ内スケジューリングでは、グループ内スケジューラ11は、グループ毎に、各アプリケーションappの遅延要件に基づいて各アプリケーションappのジョブをスケジューリングする。グループ内スケジューリングの詳細については後述する。 (Step S2) The intra-group scheduler 11 performs intra-group scheduling. In intra-group scheduling, the intra-group scheduler 11 schedules jobs for each application application for each group based on the delay requirements of each application application. The details of intra-group scheduling will be described later.

(ステップS3) グループ間スケジューラ12は、各グループにおけるアプリケーションappの遅延要件の遵守度を算出する。遵守度の算出方法については後述する。 (Step S3) The inter-group scheduler 12 calculates the degree of compliance with the delay requirement of the application application in each group. The method of calculating the degree of compliance will be described later.

(ステップS4) グループ間スケジューラ12は、各グループにおけるアプリケーションappの遅延要件の遵守度に基づいて、グループ間の再スケジュールが必要か否かを判断する。この判断の結果、グループ間の再スケジュールが必要である場合(ステップS4、YES)にはステップS5に進み、そうではない場合(ステップS4、NO)にはステップS2に戻る。 (Step S4) The inter-group scheduler 12 determines whether or not rescheduling between groups is necessary based on the degree of compliance with the delay requirement of the application application in each group. As a result of this determination, if reschedule between groups is necessary (step S4, YES), the process proceeds to step S5, and if not (step S4, NO), the process returns to step S2.

(ステップS5) グループ間スケジューラ12は、グループ間スケジューリングを行う。このグループ間スケジューリングでは、グループ間スケジューラ12は、各グループにおけるアプリケーションappの遅延要件の遵守度に基づいて、グループ間のリソースの再配分を行う。グループ間スケジューリングの詳細については後述する。 (Step S5) The inter-group scheduler 12 performs inter-group scheduling. In this intergroup scheduling, the intergroup scheduler 12 redistributes resources between groups based on the degree of compliance with the delay requirements of the application application in each group. The details of inter-group scheduling will be described later.

(ステップS6) 処理ノードwndにおけるストリーム処理の実行終了である場合(ステップS6、YES)には図2の処理を終了する。一方、処理ノードwndにおけるストリーム処理の実行継続である場合(ステップS6、NO)にはステップS2に戻る。 (Step S6) When the execution of the stream processing at the processing node wnd is completed (step S6, YES), the processing of FIG. 2 is terminated. On the other hand, when the execution of the stream processing in the processing node wnd is continued (step S6, NO), the process returns to step S2.

次に図3を参照して本実施形態に係るグループ内スケジューリングの手順を説明する。図3は、本実施形態に係るグループ内スケジューリングの手順の例を示すフローチャートである。 Next, the procedure of intra-group scheduling according to the present embodiment will be described with reference to FIG. FIG. 3 is a flowchart showing an example of the in-group scheduling procedure according to the present embodiment.

(ステップS11) グループ内スケジューラ11は、グループ毎に、各アプリケーションappのジョブの所要リソース量rJを算出する。所要リソース量rJは、アプリケーションapp毎に且つジョブ毎に算出される。 (Step S11) The in-group scheduler 11 calculates the required resource amount rJ of the job of each application application for each group. The required resource amount rJ is calculated for each application application and for each job.

なお、グループ内スケジューリング(図2のステップS2)は周期的に実行されるが、ジョブの所要リソース量rJは、最初に算出された値が当該ジョブが終了するまで使用される。このため、グループ内スケジューラ11は、ジョブ毎に最初に算出した所要リソース量rJを保持し、ジョブが終了するまで、当該保持した所要リソース量rJを変えずに使用する。 Although the intra-group scheduling (step S2 in FIG. 2) is executed periodically, the required resource amount rJ of the job is used until the initially calculated value is completed. Therefore, the in-group scheduler 11 holds the required resource amount rJ initially calculated for each job, and uses the held required resource amount rJ without changing until the job is completed.

(所要リソース量算出方法)
ここで、本実施形態に係る所要リソース量算出方法を説明する。アプリケーションappの遅延要件(SLO)を満足するためには次式を満たすことが必要である。
SLO ≧ J+Rd
但し、SLOはアプリケーションappが要求する処理遅延時間である。Jはジョブの実行に要する時間(ジョブ実行時間)である。Rdはジョブに必要なレコードの読み込みに要する時間(レコード読み込み遅延時間)である。
(Calculation method for required resource amount)
Here, a method for calculating the required resource amount according to the present embodiment will be described. In order to satisfy the delay requirement (SLO) of the application application, it is necessary to satisfy the following equation.
SLO ≧ J + Rd
However, SLO is the processing delay time required by the application application. J is the time required to execute the job (job execution time). Rd is the time required to read the record required for the job (record read delay time).

レコード読み込み遅延時間Rdの計測方法の一例として、レコードが書き込まれているストレージシステムのタイムスタンプを使用し、レコードが書き込まれた時刻と当該レコードが読み込み時刻との差を算出し、当該差をレコード読み込み遅延時間Rdに使用する。レコード読み込み遅延時間Rdの計測方法の他の例として、レコードが書き込まれるストレージシステムにプローブ(ダミーデータ)を書き込み、当該プローブが読み出されるまでの時間を計測し、当該計測結果の時間をレコード読み込み遅延時間Rdに使用する。グループ内スケジューラ11は、レコード読み込み遅延時間Rdの計測方法により計測されたレコード読み込み遅延時間Rdを使用する。 As an example of the record read delay time Rd measurement method, the time stamp of the storage system in which the record is written is used, the difference between the time when the record is written and the time when the record is read is calculated, and the difference is recorded. Used for read delay time Rd. As another example of the record read delay time Rd measurement method, a probe (dummy data) is written to the storage system in which the record is written, the time until the probe is read is measured, and the time of the measurement result is the record read delay. Used for time Rd. The in-group scheduler 11 uses the record read delay time Rd measured by the method for measuring the record read delay time Rd.

グループ内スケジューラ11は、既知のレコード読み込み遅延時間Rdを使用し、「SLO-Rd ≧ J」を満たすように、ジョブの所要リソース量rJを決定する。ここで、所要リソース量rJは、グループのリソース全体量(実行部excが使用可能なリソースの上限)に対する割合(次式)で示される。
rJ=(ジョブが使用するリソース量)÷(グループのリソース全体量)
The in-group scheduler 11 uses the known record read delay time Rd, and determines the required resource amount rJ of the job so as to satisfy "SLO-Rd ≧ J". Here, the required resource amount rJ is represented by a ratio (the following equation) to the total resource amount of the group (the upper limit of the resources that can be used by the execution unit exc).
rJ = (Amount of resources used by the job) ÷ (Amount of resources in the group)

なお、リソースとして、複数の種類(CPUやメモリやストレージやネットワークなど)が存在する場合、所要リソース量rJはリソースの種類(N個の種類)に対応するN次元ベクトルで表される。なお、以下の説明では、所要リソース量rJが1次元の値である場合について説明する。 When a plurality of types (CPU, memory, storage, network, etc.) exist as resources, the required resource amount rJ is represented by an N-dimensional vector corresponding to the resource types (N types). In the following description, a case where the required resource amount rJ is a one-dimensional value will be described.

ジョブ実行時間Jと所要リソース量rJとジョブ入力データ量IJとの間には次式の関係式で表される関係が存在する。
rJ=f(J,IJ)
但し、ジョブ入力データ量IJは、ジョブが使用するデータの量である。
There is a relationship expressed by the following relational expression between the job execution time J, the required resource amount rJ, and the job input data amount IJ.
rJ = f (J, IJ)
However, the job input data amount IJ is the amount of data used by the job.

ジョブ入力データ量IJの取得方法は、ジョブ入力データ量IJが計測可能である場合、グループ内スケジューラ11はジョブ入力データ量IJの計測値を使用する。一方、ジョブ入力データ量IJの計測が困難である場合、グループ内スケジューラ11は、ジョブが使用するデータについて過去の直近のデータ量からジョブ入力データ量IJを推測する。グループ内スケジューラ11は、ジョブ入力データ量IJの取得方法により取得されたジョブ入力データ量IJ(計測値又は推測値)を使用する。 As for the method of acquiring the job input data amount IJ, when the job input data amount IJ can be measured, the scheduler 11 in the group uses the measured value of the job input data amount IJ. On the other hand, when it is difficult to measure the job input data amount IJ, the in-group scheduler 11 estimates the job input data amount IJ from the latest data amount in the past for the data used by the job. The in-group scheduler 11 uses the job input data amount IJ (measured value or estimated value) acquired by the method for acquiring the job input data amount IJ.

f(J,IJ)の導出方法は、メトリック収集部14が収集したジョブ実行時間J、所要リソース量rJ及びジョブ入力データ量IJの情報に基づいて、例えば線形回帰分析によりf(J,IJ)を求める。一般に、ジョブ入力データ量IJとジョブ実行時間Jとの間には比例関係が存在する。また、ジョブ実行時間Jと所要リソース量rJとの間には反比例関係が存在する。このことからf(J,IJ)の導出方法として線形回帰分析が挙げられる。なお、サポートベクターマシン(Support Vector Machine:SVM)やディープラーニング(Deep Learning)等の機械学習アルゴリズムを用いてf(J,IJ)を求めてもよい。グループ内スケジューラ11は、f(J,IJ)の導出方法により求められたf(J,IJ)を使用する。 The derivation method of f (J, IJ) is based on the information of the job execution time J, the required resource amount rJ, and the job input data amount IJ collected by the metric collection unit 14, for example, by linear regression analysis f (J, IJ). Ask for. Generally, there is a proportional relationship between the job input data amount IJ and the job execution time J. Further, there is an inverse proportional relationship between the job execution time J and the required resource amount rJ. From this, linear regression analysis can be mentioned as a method for deriving f (J, IJ). In addition, f (J, IJ) may be obtained by using a machine learning algorithm such as Support Vector Machine (SVM) or Deep Learning. The in-group scheduler 11 uses f (J, IJ) obtained by the method of deriving f (J, IJ).

グループ内スケジューラ11は、既知のレコード読み込み遅延時間Rd、ジョブ入力データ量IJ及び関係式「rJ=f(J,IJ)」を使用して、「SLO-Rd ≧ J」を満たすように、ジョブの所要リソース量rJを決定する。 The in-group scheduler 11 uses the known record read delay time Rd, job input data amount IJ, and the relational expression “rJ = f (J, IJ)” to satisfy “SLO-Rd ≧ J”. The required resource amount rJ of is determined.

(ステップS12) グループ内スケジューラ11は、グループ毎に、各アプリケーションappのジョブの進捗予定達成度「Pr/Ptr」を算出する。進捗予定達成度「Pr/Ptr」は、ジョブが予定通り進んでいるか否かを示す度合いである。進捗予定達成度「Pr/Ptr」は、次式で算出される。
「Pr/Ptr」=「ジョブの進捗度Pr」÷「経過時間割合Ptr」
経過時間割合Ptr=(t-Ts)÷(Tdj-Ts)
但し、tは現在時刻である。Tsはジョブが発行された時刻である。Tdjはジョブの終了予定時刻(デッドライン)である。
(Step S12) The in-group scheduler 11 calculates the progress schedule achievement degree “Pr / Ptr” of each application application job for each group. Progress Schedule Achievement degree "Pr / Ptr" is a degree indicating whether or not the job is proceeding as planned. The progress schedule achievement degree "Pr / Ptr" is calculated by the following equation.
"Pr / Ptr" = "Job progress Pr" ÷ "Elapsed time ratio Ptr"
Elapsed time ratio Ptr = (t-Ts) ÷ (Tdj-Ts)
However, t is the current time. Ts is the time when the job was issued. Tdj is the scheduled end time (deadline) of the job.

ジョブの進捗度Prは、アプリケーション管理部13によって計測される。「0≦Pr≦1」である。ジョブが発行された時刻Tsは、アプリケーション管理部13によって取得される。ジョブの終了予定時刻Tdjは、ジョブが発行された時刻Tsとアプリケーションappが要求する処理遅延時間SLOとレコード読み込み遅延時間Rdとに基づいて次式により算出される。
Tdj=Ts+SLO-Rd
The job progress Pr is measured by the application management unit 13. “0 ≦ Pr ≦ 1”. The time Ts when the job is issued is acquired by the application management unit 13. The scheduled end time Tdj of the job is calculated by the following equation based on the time Ts at which the job was issued, the processing delay time SLO requested by the application application, and the record read delay time Rd.
Tdj = Ts + SLO-Rd

進捗予定達成度「Pr/Ptr」が1以上であるときは、ジョブが予定通り又は予定よりも早く進んでいる。一方、進捗予定達成度「Pr/Ptr」が1未満であるときは、ジョブが予定よりも遅れている。 When the progress schedule achievement level "Pr / Ptr" is 1 or more, the job is proceeding as scheduled or faster than planned. On the other hand, when the progress schedule achievement degree "Pr / Ptr" is less than 1, the job is behind schedule.

(ステップS13) グループ内スケジューラ11は、グループ毎に、各アプリケーションappのジョブの優先度Pを算出する。優先度Pは、次式で算出される。
P=α(1÷(Pr/Ptr))+(1-α)×rJ
但し、αは重み付け係数である。「0≦α≦1」である。各グループの重み付け係数αは、任意に設定可能である。
(Step S13) The in-group scheduler 11 calculates the job priority P of each application application for each group. The priority P is calculated by the following equation.
P = α (1 ÷ (Pr / Ptr)) + (1-α) × rJ
However, α is a weighting coefficient. “0 ≦ α ≦ 1”. The weighting coefficient α of each group can be arbitrarily set.

優先度Pは、ジョブの進捗予定達成度「Pr/Ptr」及び所要リソース量rJに基づいて算出される(0<α<1の場合)。優先度Pは、ジョブの進捗予定達成度「Pr/Ptr」が小さいほど高くなる(0<αの場合)。優先度Pは、所要リソース量rJが大きいほど高くなる(α<1の場合)。 The priority P is calculated based on the job progress schedule achievement degree "Pr / Ptr" and the required resource amount rJ (when 0 <α <1). The priority P becomes higher as the job progress schedule achievement degree "Pr / Ptr" is smaller (when 0 <α). The priority P becomes higher as the required resource amount rJ is larger (when α <1).

(重み付け係数αの決定方法)
重み付け係数αの決定方法について、静的決定手法と動的決定手法とを説明する。
(Method of determining the weighting coefficient α)
A static determination method and a dynamic determination method will be described for determining the weighting coefficient α.

(1)静的決定手法
各グループの重み付け係数αは任意に設定可能であるが、以下に示す例1-1や例1-2の静的決定手法により各グループの重み付け係数αが静的に決定されてもよい。
(1) Static determination method The weighting coefficient α of each group can be set arbitrarily, but the weighting coefficient α of each group is statically set by the static determination method of Example 1-1 and Example 1-2 shown below. It may be decided.

(例1-1)グループ内の全てのアプリケーションappの所要リソース量rJがほぼ同一の値になることがわかっている場合、進捗予定達成度「Pr/Ptr」の重み(α)を大きくする。 (Example 1-1) When it is known that the required resource amount rJ of all application applications in the group has almost the same value, the weight (α) of the progress schedule achievement degree “Pr / Ptr” is increased.

(例1-2)進捗予定達成度「Pr/Ptr」及び所要リソース量rJのうち一方が不正確である場合、もう一方の重みを大きくする。
例えば、ジョブ実行時間Jが数分を越えるような長時間になる場合、所要リソース量rJが正しくない可能性が高いので、進捗予定達成度「Pr/Ptr」の重み(α)を大きくする。
例えば、グループ内のアプリケーションappのジョブの中に複数のタスクセット(TaskSet)から構成されるジョブが存在する場合(例えば、第1タスクセットによる計算結果を第2タスクセットで使用する多段構成の場合)、ジョブの進捗度Prは経過時間割合Ptrに比例しないので、進捗予定達成度「Pr/Ptr」が的確ではない。この場合には、所要リソース量rJの重み(1-α)を大きくする。
(Example 1-2) If one of the progress schedule achievement degree "Pr / Ptr" and the required resource amount rJ is inaccurate, the weight of the other is increased.
For example, when the job execution time J is a long time exceeding several minutes, there is a high possibility that the required resource amount rJ is incorrect, so the weight (α) of the progress schedule achievement degree “Pr / Ptr” is increased.
For example, when there is a job composed of a plurality of task sets (TaskSet) in the jobs of the application application in the group (for example, in the case of a multi-stage configuration in which the calculation result by the first task set is used in the second task set). ), Since the progress degree Pr of the job is not proportional to the elapsed time ratio Ptr, the progress schedule achievement degree "Pr / Ptr" is not accurate. In this case, the weight (1-α) of the required resource amount rJ is increased.

(2)動的決定手法
各グループの重み付け係数αは任意に設定可能であるが、以下に示す動的決定手法により各グループの重み付け係数αが動的に決定されてもよい。
(2) Dynamic determination method The weighting coefficient α of each group can be arbitrarily set, but the weighting coefficient α of each group may be dynamically determined by the dynamic determination method shown below.

動的決定手法は、グループ毎に、グループに適した重み付け係数αを動的に決定する。動的決定手法の例を説明する。予め、重み付け係数αを離散値として例えば「α∈[0.0,0.1,0.2,・・・,0.9,1.0]」と定義する。次いで、実際のグループ内のスケジューリングにおいて、各重み付け係数αを使用したときに、グループ内のアプリケーションappの遅延要件の遵守度Gaを算出する。これにより、グループ毎に、各重み付け係数αにおける遵守度Gaが得られる。なお、各グループの重み付け係数αの初期値は、デフォルト値や上記した静的決定手法により予め設定される。 In the dynamic determination method, the weighting coefficient α suitable for each group is dynamically determined for each group. An example of a dynamic determination method will be described. In advance, the weighting coefficient α is defined as a discrete value, for example, “α ∈ [0.0, 0.1, 0.2, ..., 0.9, 1.0]”. Next, in the actual scheduling in the group, when each weighting coefficient α is used, the degree of compliance Ga of the delay requirement of the application application in the group is calculated. As a result, the degree of compliance Ga at each weighting coefficient α can be obtained for each group. The initial value of the weighting coefficient α of each group is preset by the default value or the static determination method described above.

グループ内のアプリケーションappの遅延要件の遵守度Gaの算出方法は、スライディングウィンドウを用いてアプリケーションapp毎に「J+Rd-SLO」の平均値を算出し、算出した各アプリケーションappの「J+Rd-SLO」の平均値をさらにグループ内で平均した平均値を遵守度Gaにする。この遵守度の例では、遵守度Gaの値が正の大きい値であるほどアプリケーションの遅延要件をより満たせていない状態である。上記した図2のステップS3においては、本遵守度Gaの算出方法により、グループ毎に、アプリケーションappの遅延要件の遵守度Gaが算出される。 The method of calculating the degree of compliance Ga of the delay requirement of the application application in the group is to calculate the average value of "J + Rd-SLO" for each application application using the sliding window, and calculate the "J + Rd-SLO" of each application application. The average value obtained by averaging the average value within the group is set as the degree of compliance Ga. In this compliance example, the larger the positive value of the compliance Ga, the less the application delay requirement is satisfied. In step S3 of FIG. 2 described above, the compliance degree Ga of the delay requirement of the application application is calculated for each group by the calculation method of the compliance degree Ga.

ある重み付け係数αについて、グループの遵守度Gaが正の値である場合、当該グループは当該重み付け係数αではアプリケーションの遅延要件を満たせていない状態である。そこで、グループの遵守度Gaの値が小さくなりやすい(遵守度が改善しやすい)重み付け係数αを探索することにより、当該グループに最も適した重み付け係数αを探す。この最適な重み付け係数αの決定アルゴリズムには、例えばマルコフ決定過程を利用することができる。 When the compliance degree Ga of the group is a positive value for a certain weighting coefficient α, the group is in a state where the delay requirement of the application cannot be satisfied by the weighting coefficient α. Therefore, by searching for the weighting coefficient α in which the value of the compliance degree Ga of the group tends to be small (the degree of compliance is likely to be improved), the weighting coefficient α most suitable for the group is searched for. For example, a Markov decision process can be used for the algorithm for determining the optimum weighting coefficient α.

(ステップS14) グループ内スケジューラ11は、グループ毎に、各アプリケーションappのジョブの優先度Pに基づいて各ジョブのスケジューリングを行う。このジョブのスケジューリングでは、グループ内スケジューラ11は、グループ毎に、各スケジューリング対象ジョブのスケジューリング重みWを算出する。スケジューリング対象ジョブは、実行待ちキューに登録されている実行待ちのジョブである。スケジューリング重みWは、次式により算出される。
W=P_w÷(ΣP)
但し、P_wは、スケジューリング重み算出対象のスケジューリング対象ジョブの優先度Pである。ΣPは、実行待ちキューに登録されている全ての実行待ちのジョブの優先度Pの総和である。
(Step S14) The in-group scheduler 11 schedules each job based on the job priority P of each application application for each group. In this job scheduling, the group scheduler 11 calculates the scheduling weight W of each scheduling target job for each group. The scheduled job is a job waiting to be executed that is registered in the execution waiting queue. The scheduling weight W is calculated by the following equation.
W = P_w ÷ (ΣP)
However, P_w is the priority P of the scheduling target job for which the scheduling weight is calculated. ΣP is the sum of the priority Ps of all the pending jobs registered in the pending queue.

グループ内スケジューラ11は、グループ毎に、各スケジューリング対象ジョブのスケジューリング重みWに基づいて、スケジューリング重みWが大きいスケジューリング対象ジョブから順番に実行対象のジョブに選択する。これにより、グループ内の全ての実行待ちのジョブのうち、スケジューリング重みWが大きい方のジョブから順番に実行される。 The in-group scheduler 11 selects jobs to be executed in order from the scheduling target job having the largest scheduling weight W based on the scheduling weight W of each scheduling target job for each group. As a result, among all the jobs waiting to be executed in the group, the jobs having the larger scheduling weight W are executed in order.

本実施形態では、グループ内スケジューリング(図2のステップS2)は、周期的に実行される。このため、グループ内の実行待ちのジョブのスケジューリング重みWは、グループ内スケジューリング(図2のステップS2)が実行される毎に更新される。これにより、グループ内の最新のジョブ実行状況に応じたジョブのスケジューリングを行うことができる。例えば、ジョブの所要リソース量rJは当該ジョブが終了するまで固定されるものであるが、ジョブの所要リソース量rJが適正に算出されていてもジョブ入力データ量IJが突発的に過剰になることによって、アプリケーションappの遅延要件を満たすことができなくなる可能性がある。本実施形態によれば、グループ内スケジューリングが周期的に実行されることにより、そのようなジョブ実行環境の想定外の変化に対しても、アプリケーションappの遅延要件を満たすように、ジョブのスケジューリングを行うことができる。 In the present embodiment, the intra-group scheduling (step S2 in FIG. 2) is periodically executed. Therefore, the scheduling weight W of the job waiting to be executed in the group is updated every time the scheduling in the group (step S2 in FIG. 2) is executed. This makes it possible to schedule jobs according to the latest job execution status in the group. For example, the required resource amount rJ of a job is fixed until the job is completed, but even if the required resource amount rJ of the job is properly calculated, the job input data amount IJ suddenly becomes excessive. May make it impossible to meet the delay requirements of the application application. According to the present embodiment, by periodically executing the scheduling within the group, the job scheduling is performed so as to satisfy the delay requirement of the application application even for such an unexpected change in the job execution environment. It can be carried out.

なお、上述したグループ内スケジューリングの手順では、グループ内スケジューリングがジョブ単位で行われるが、アプリケーションappのジョブが複数のタスク(Task)に分かれて処理される場合、グループ内スケジューリングが、同じ処理のタスクをまとめたタスクセット(TaskSet)単位で行われてもよい。 In the above-mentioned procedure of intra-group scheduling, intra-group scheduling is performed for each job, but when the application application job is divided into multiple tasks (Tasks) and processed, intra-group scheduling is the task of the same processing. It may be performed in units of a task set (TaskSet) that summarizes the above.

また、上述においては所要リソース量rJの対象リソースが1種類であって所要リソース量rJが1次元の値である場合について説明したが、所要リソース量rJの対象リソースが複数種類である場合について以下に説明する。ここでは、複数種類のリソース量を多次元量として扱う方法1と、複数種類のリソース量を各々独立に扱う方法2とを説明する。 Further, in the above description, the case where the target resource of the required resource amount rJ is one type and the required resource amount rJ is a one-dimensional value has been described, but the case where the target resource of the required resource amount rJ is a plurality of types is described below. Explain to. Here, a method 1 of treating a plurality of types of resource amounts as a multidimensional amount and a method 2 of treating a plurality of types of resource amounts independently will be described.

(方法1:複数種類のリソース量を多次元量として扱う方法)
方法1では、所要リソース量rJをN次元ベクトル(Nは2以上の整数)で表す。所要リソース量rJ(N次元ベクトルrJ)が持つベクトルのN個の各要素は、N種類の各対象リソースの所要リソース量である。例えば、所要リソース量rJの対象リソースがCPU及びメモリの2種類である場合、所要リソース量rJは2次元ベクトル「rJ=(CPU_rJ,Memory_rJ)」と表される。CPU_rJはCPUの所要リソース量である。Memory_rJはメモリの所要リソース量である。また、各対象リソースの所要リソース量は、グループの各対象リソース全体量に対する割合で示される。例えば、CPUの所要リソース量CPU_rJは次式で示される。
CPU_rJ=(ジョブが使用するCPUリソース量)÷(グループのCPUリソース全体量)
(Method 1: A method of treating multiple types of resource quantities as multidimensional quantities)
In method 1, the required resource amount rJ is represented by an N-dimensional vector (N is an integer of 2 or more). Required resource amount Each of the N elements of the vector possessed by the required resource amount rJ (N-dimensional vector rJ) is the required resource amount of each target resource of N types. For example, when the target resource of the required resource amount rJ is two types of CPU and memory, the required resource amount rJ is expressed as a two-dimensional vector “rJ = (CPU_rJ, Memory_rJ)”. CPU_rJ is the required resource amount of the CPU. Memory_rJ is the required resource amount of the memory. In addition, the required resource amount of each target resource is shown as a ratio to the total amount of each target resource of the group. For example, the required resource amount CPU_rJ of the CPU is expressed by the following equation.
CPU_rJ = (Amount of CPU resources used by the job) ÷ (Amount of CPU resources in the group)

そして、優先度Pを算出する際に、所要リソース量rJ(N次元ベクトルrJ)を1次元に写像する。この写像では、写像した結果を「rJ1」とすると、「rJ1=|rJ|とする。|rJ|はN次元ベクトルrJの大きさである。ここで、「rJ1」がN次元ベクトルrJの大きさでよい理由は、所要リソース量rJ(N次元ベクトルrJ)が持つベクトルのN個の各要素(N種類の各対象リソースの所要リソース量)は、グループの各対象リソース全体量に対する割合で示されているので、対象リソースの種類によらずに等しい尺度を持っているからである。 Then, when calculating the priority P, the required resource amount rJ (N-dimensional vector rJ) is mapped to one dimension. In this mapping, if the mapping result is "rJ1", then "rJ1 = | rJ |. | RJ | is the magnitude of the N-dimensional vector rJ. Here," rJ1 "is the magnitude of the N-dimensional vector rJ. The reason is that the required resource amount rJ (N-dimensional vector rJ) has N elements of the vector (required resource amount of each target resource of N types) is shown as a ratio to the total amount of each target resource of the group. This is because they have the same scale regardless of the type of target resource.

なお、所要リソース量rJ(N次元ベクトルrJ)を1次元に写像する他の方法として、N種類の対象リソース毎に重み付けして写像してもよい。例えば、「rJ=(a,b,c)」である場合、「rJ1=√(2a+3b+1c)^2」を結果として返す関数を使用してもよい。 As another method of mapping the required resource amount rJ (N-dimensional vector rJ) to one dimension, the mapping may be weighted for each of N types of target resources. For example, when "rJ = (a, b, c)", a function that returns "rJ1 = √ (2a + 3b + 1c) ^ 2" may be used.

優先度Pは、所要リソース量rJ(N次元ベクトルrJ)を1次元に写像した結果「rJ1」を上述の優先度Pの算出式で「rJ」に適用した次式で算出される。
P=α(1÷(Pr/Ptr))+(1-α)×rJ1
また、スケジューリング重みWは上述と同じ算出式で算出される。
The priority P is calculated by applying the result "rJ1" obtained by mapping the required resource amount rJ (N-dimensional vector rJ) to "rJ" in the above-mentioned calculation formula of the priority P.
P = α (1 ÷ (Pr / Ptr)) + (1-α) × rJ1
Further, the scheduling weight W is calculated by the same formula as described above.

(方法2:複数種類のリソース量を各々独立に扱う方法)
方法2では、所要リソース量rJを、N種類の対象リソース毎に別個に算出する。そして、N種類の対象リソース毎に、各対象リソースの所要リソース量を使用して優先度P及びスケジューリング重みWを算出する。
(Method 2: A method of handling multiple types of resources independently)
In the method 2, the required resource amount rJ is calculated separately for each of N types of target resources. Then, for each of the N types of target resources, the priority P and the scheduling weight W are calculated using the required resource amount of each target resource.

例えば、所要リソース量rJの対象リソースがCPU及びメモリの2種類である場合、CPUの所要リソース量CPU_rJと、メモリの所要リソース量Memory_rJとをそれぞれ次式で別個に算出する。
CPU_rJ=(ジョブが使用するCPUリソース量)÷(グループのCPUリソース全体量)
Memory_rJ=(ジョブが使用するメモリリソース量)÷(グループのメモリリソース全体量)
そして、CPUの優先度P_CPUと、メモリの優先度P_Memoryとをそれぞれ次式で別個に算出する。
P_CPU=α(1÷(Pr/Ptr))+(1-α)×CPU_rJ
P_Memory=α(1÷(Pr/Ptr))+(1-α)×Memory_rJ
For example, when the target resources of the required resource amount rJ are two types, the CPU and the memory, the CPU required resource amount CPU_rJ and the memory required resource amount Memory_rJ are calculated separately by the following equations, respectively.
CPU_rJ = (Amount of CPU resources used by the job) ÷ (Amount of CPU resources in the group)
Memory_rJ = (Amount of memory resources used by the job) ÷ (Amount of memory resources in the group)
Then, the priority P_CPU of the CPU and the priority P_Memory of the memory are calculated separately by the following equations.
P_CPU = α (1 ÷ (Pr / Ptr)) + (1-α) × CPU_rJ
P_Memory = α (1 ÷ (Pr / Ptr)) + (1-α) × Memory_rJ

そして、CPUとメモリとで別個にスケジューリング重みWを上述と同じ算出式で算出する。これにより、CPUのリソース量をスケジューリングする際のスケジューリング重みW_CPUと、メモリのリソース量をスケジューリングする際のスケジューリング重みW_Memoryとが得られる。CPUのリソース量は、スケジューリング重みW_CPUに基づいて各ジョブに割り当てられる。メモリのリソース量は、スケジューリング重みW_Memoryに基づいて各ジョブに割り当てられる。 Then, the scheduling weight W is calculated separately for the CPU and the memory by the same calculation formula as described above. As a result, the scheduling weight W_CPU when scheduling the resource amount of the CPU and the scheduling weight W_Memory when scheduling the resource amount of the memory can be obtained. The amount of CPU resources is allocated to each job based on the scheduling weight W_CPU. The amount of memory resources is allocated to each job based on the scheduling weight W_Memory.

次に図4を参照して本実施形態に係るグループ間スケジューリングの手順を説明する。図4は、本実施形態に係るグループ間スケジューリングの手順の例を示すフローチャートである。 Next, the procedure of intergroup scheduling according to the present embodiment will be described with reference to FIG. FIG. 4 is a flowchart showing an example of the procedure of intergroup scheduling according to the present embodiment.

グループ間スケジューラ12は、上記した図2のステップS3において、各グループにおけるアプリケーションappの遅延要件の遵守度Gaを算出する。これにより、グループ毎に遵守度Gaが得られる。あるグループの遵守度Gaは、当該グループがアプリケーションappの遅延要件を満たしているか否かを示す度合いである。 The inter-group scheduler 12 calculates the degree of compliance Ga of the delay requirement of the application application in each group in step S3 of FIG. 2 described above. As a result, the degree of compliance Ga can be obtained for each group. The degree of compliance Ga of a group is a degree indicating whether or not the group meets the delay requirement of the application application.

(ステップS21) グループ間スケジューラ12は、各グループの遵守度Gaに基づいて、グループ毎に遵守度Gaの良否を判定する。 (Step S21) The inter-group scheduler 12 determines whether or not the compliance level Ga is good or bad for each group based on the compliance level Ga of each group.

グループの遵守度Gaが正の値である場合(「Ga>0」である場合)、当該グループはアプリケーションの遅延要件を満たせていない状態である。このため、グループ間スケジューラ12は、遵守度Gaが正の値であるグループをリソース割当対象グループに設定する。 When the compliance degree Ga of the group is a positive value (“Ga> 0”), the group does not meet the delay requirement of the application. Therefore, the inter-group scheduler 12 sets the group in which the compliance degree Ga is a positive value as the resource allocation target group.

一方、グループの遵守度Gaが「Ga<r(rは所定の負の値)」である場合、当該グループは、アプリケーションの遅延要件が十分満たされており、既に十分なリソース量が割り当てられていると考えられる。このため、グループ間スケジューラ12は、遵守度Gaが「Ga<r(rは所定の負の値)」であるグループを、リソース解放対象グループに設定する。 On the other hand, when the compliance degree Ga of the group is "Ga <r (r is a predetermined negative value)", the delay requirement of the application is sufficiently satisfied and a sufficient amount of resources has already been allocated to the group. It is thought that there is. Therefore, the inter-group scheduler 12 sets a group in which the compliance degree Ga is "Ga <r (r is a predetermined negative value)" as the resource release target group.

(ステップS22) グループ間スケジューラ12は、各グループのリソース再配分を行う。このリソース再配分では、リソース解放対象グループは一定量のリソースを解放する。そして、リソース割当対象グループに対して、リソース解放対象グループが解放したリソースを配分する。このリソース配分方法は、リソース割当対象グループの「遵守度Ga×配分優先度Pg」の比で配分する。配分優先度Pgは、グループ毎に予め設定される。 (Step S22) The inter-group scheduler 12 redistributes resources for each group. In this resource reallocation, the resource release target group releases a certain amount of resources. Then, the resources released by the resource release target group are distributed to the resource allocation target group. This resource allocation method allocates by the ratio of "compliance degree Ga x allocation priority Pg" of the resource allocation target group. The allocation priority Pg is preset for each group.

なお、アプリケーションの遅延要件を満たせていない状態のグループ(遵守度Gaが正の値であるグループ)が存在しない場合は、上記したステップS22は実行されない。この場合は、グループ間の再スケジュールが不要であり、上記した図2のステップS4の判断結果「NO」に該当する。一方、アプリケーションの遅延要件を満たせていない状態のグループ(遵守度Gaが正の値であるグループ)が存在する場合は、グループ間の再スケジュールが必要であり、上記した図2のステップS4の判断結果「YES」に該当する。 If there is no group in a state where the delay requirement of the application is not satisfied (a group in which the degree of compliance Ga is a positive value), the above-mentioned step S22 is not executed. In this case, there is no need to reschedule between the groups, which corresponds to the above-mentioned determination result “NO” in step S4 of FIG. On the other hand, if there is a group in a state where the delay requirement of the application is not satisfied (a group in which the degree of compliance Ga is a positive value), reschedule between the groups is necessary, and the determination in step S4 of FIG. 2 described above is performed. The result corresponds to "YES".

また、アプリケーションの遅延要件を満たせていない状態のグループ(遵守度Gaが正の値であるグループ)が存在する場合において、アプリケーションの遅延要件が十分満たされているグループ(遵守度Gaが「Ga<r(rは所定の負の値)」であるグループ)が存在しないときは、グループ間の再スケジュールが必要であるが、上記したステップS22において、リソース解放対象グループが存在しないために、リソース割当対象グループに割り当てるためのリソースが解放されないので、リソース割当対象グループに対するリソース再配分が行われない。 Further, when there is a group in which the application delay requirement is not satisfied (a group in which the compliance degree Ga is a positive value), a group in which the application delay requirement is sufficiently satisfied (compliance degree Ga is "Ga <". When r (a group in which r is a predetermined negative value) ”does not exist, rescheduling between the groups is required. However, in step S22 described above, since the resource release target group does not exist, resource allocation is required. Since the resources for allocating to the target group are not released, resource reallocation to the resource allocation target group is not performed.

上述した実施形態によれば、グループ内スケジューラ11がグループ毎に各アプリケーションappの遅延要件に基づいて各アプリケーションappのジョブをスケジューリングすることにより、アプリケーションappによるストリーム処理に対する遅延要件を考慮してストリーム処理を実行させることができる。さらに、グループ間スケジューラ12が各グループにおけるアプリケーションappの遅延要件の遵守度Gaに基づいてジョブの実行に使用可能な各グループのリソース量を制御することにより、リソースの利用効率の向上を図ることができる。 According to the above-described embodiment, the scheduler 11 in the group schedules the job of each application application based on the delay requirement of each application application for each group, so that the stream processing in consideration of the delay requirement for the stream processing by the application application is taken into consideration. Can be executed. Further, the inter-group scheduler 12 can improve the resource utilization efficiency by controlling the amount of resources of each group that can be used for job execution based on the degree of compliance Ga of the delay requirement of the application application in each group. can.

また、アプリケーションappのグループ化によって、アプリケーションappの実行の独立化と効率化のトレードオフを調整することができる。アプリケーションappのグループ化によって、例えば、もしあるグループの実行部excに障害が発生してアプリケーションappの実行不能な状態に陥ったとしても、それが他のグループのアプリケーションappの実行には影響せず、グループ間のアプリケーションappの実行の独立性が得られる。また、複数のグループに分けてグループ毎にスケジューリングすることにより、あるグループのアプリケーション数が増えても当該グループ内のスケジューリングで効率的に対処することができる。また、複数のグループに分けて一グループ内のアプリケーション数を少なくすることにより、グループ内のアプリケーションapp間の干渉を抑制して効率的なスケジューリングを行うことができる。 In addition, grouping of application applications can adjust the trade-off between independence and efficiency of execution of application applications. By grouping application applications, for example, even if the execution part exc of one group fails and the application application becomes infeasible, it does not affect the execution of the application application of other groups. , Independence of execution of application application between groups is obtained. Further, by dividing into a plurality of groups and scheduling for each group, even if the number of applications in a certain group increases, it is possible to efficiently deal with the scheduling in the group. Further, by dividing into a plurality of groups and reducing the number of applications in one group, it is possible to suppress interference between application applications in the group and perform efficient scheduling.

アプリケーションのグループ分け方法について説明する。アプリケーションのグループ分けは任意に設定可能であるが、以下に示すグループ分け方法によりアプリケーションのグループ分けが決定されてもよい。 This section describes how to group applications. The grouping of applications can be arbitrarily set, but the grouping of applications may be determined by the grouping method shown below.

(1)障害を考慮したグループ分け方法
同じグループに所属するアプリケーションは、当該グループの実行部に障害が発生した場合、全て同時に実行不能になる可能性がある。ここで、複数のアプリケーションを利用して価値を提供するサービスを実施することを考える。もし、互いに無関係の複数のサービスを提供するための複数のアプリケーションから同じグループを構成すると、当該グループの実行部に障害が発生した場合、同時に複数のサービスがダウンする事態になりかねない。このため、同一サービスを提供するためのアプリケーション同士をグループ化する。これにより、実行部の障害が及ぼすサービスへの影響を特定のサービスに限定することができる。同一サービスを提供するためのアプリケーション同士をグループ化する場合、グループ数はサービス数に等しくなる。
(1) Grouping method considering failures All applications belonging to the same group may become unexecutable at the same time if a failure occurs in the execution part of the group. Here, consider implementing a service that provides value by using multiple applications. If the same group is configured from multiple applications for providing multiple services unrelated to each other, if the execution part of the group fails, the multiple services may go down at the same time. Therefore, applications for providing the same service are grouped together. As a result, the influence of the failure of the execution unit on the service can be limited to a specific service. When grouping applications for providing the same service, the number of groups is equal to the number of services.

(2)パフォーマンスを考慮したグループ分け方法
グループ間スケジューリングの実行周期がグループ内スケジューリングの実行周期よりも十分に長い場合、ジョブ入力データ量IJが突発的に増加してグループ内のリソース量が不足しても、次のグループ間スケジューリングによりリソースが補充されるまでに時間がかかる。これは、アプリケーションappの遅延要件の観点からは好ましくない。
(2) Grouping method considering performance When the execution cycle of inter-group scheduling is sufficiently longer than the execution cycle of intra-group scheduling, the amount of job input data IJ suddenly increases and the amount of resources in the group becomes insufficient. However, it takes time for resources to be replenished by the next intergroup scheduling. This is not desirable from the point of view of the delay requirements of the application application.

この問題点に対処するために、ジョブ入力データ量IJが短い周期で増減を繰り返し、且つジョブ入力データ量IJの増減のタイミングの傾向が等しいアプリケーション同士を、同一のグループに入れないようにする。これにより、たとえ高頻度でジョブ入力データ量IJが増減を繰り返すアプリケーション同士が同一のグループに存在しても、ジョブ入力データ量IJの増減のタイミングが異なるので、グループ全体としてはリソース不足が抑制される。 In order to deal with this problem, applications whose job input data amount IJ repeatedly increases and decreases in a short cycle and whose timing tendency of increase and decrease of job input data amount IJ is the same are not included in the same group. As a result, even if applications whose job input data amount IJ repeatedly increases and decreases exist in the same group, the timing of increase and decrease of the job input data amount IJ is different, so that resource shortage is suppressed for the group as a whole. To.

また、各グループに所属するアプリケーションの個数ができる限り等しくなるようにグループを作ることも好ましい。これは、グループに所属するアプリケーションの個数が少ないと、一般にグループ内スケジューリングにおいてジョブ間のスケジュール調整上の余裕が少なくなるので、アプリケーション数が少ないグループが特にジョブ入力データ量IJの変動に脆弱となってしまうからである。 It is also preferable to create groups so that the number of applications belonging to each group is as equal as possible. This is because when the number of applications belonging to a group is small, the margin for schedule adjustment between jobs generally decreases in scheduling within the group, so a group with a small number of applications is particularly vulnerable to fluctuations in the amount of job input data IJ. Because it will end up.

以上、本発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。 Although the embodiments of the present invention have been described in detail with reference to the drawings, the specific configuration is not limited to this embodiment, and includes design changes and the like within a range that does not deviate from the gist of the present invention.

また、上述した各装置の機能を実現するためのコンピュータプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行するようにしてもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものであってもよい。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、フラッシュメモリ等の書き込み可能な不揮発性メモリ、DVD(Digital Versatile Disc)等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
Further, a computer program for realizing the functions of the above-mentioned devices may be recorded on a computer-readable recording medium, and the program recorded on the recording medium may be read by the computer system and executed. The "computer system" here may include hardware such as an OS and peripheral devices.
The "computer-readable recording medium" is a flexible disk, a magneto-optical disk, a ROM, a writable non-volatile memory such as a flash memory, a portable medium such as a DVD (Digital Versatile Disc), and a built-in computer system. A storage device such as a hard disk.

さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(例えばDRAM(Dynamic Random Access Memory))のように、一定時間プログラムを保持しているものも含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
Further, the "computer-readable recording medium" is a volatile memory inside a computer system that serves as a server or client when a program is transmitted via a network such as the Internet or a communication line such as a telephone line (for example, DRAM (Dynamic)). It also includes those that hold the program for a certain period of time, such as Random Access Memory)).
Further, the program may be transmitted from a computer system in which this program is stored in a storage device or the like to another computer system via a transmission medium or by a transmission wave in the transmission medium. Here, the "transmission medium" for transmitting a program refers to a medium having a function of transmitting information, such as a network (communication network) such as the Internet or a communication line (communication line) such as a telephone line.
Further, the above program may be for realizing a part of the above-mentioned functions. Further, it may be a so-called difference file (difference program) that can realize the above-mentioned function in combination with a program already recorded in the computer system.

1…情報処理装置、10…制御装置、11…グループ内スケジューラ、12…グループ間スケジューラ、13…アプリケーション管理部、14…メトリック収集部、app1,app2,app3,app4…アプリケーション、exc1,exc2…実行部、wnd1,wnd2…処理ノード 1 ... Information processing device, 10 ... Control device, 11 ... In-group scheduler, 12 ... Intergroup scheduler, 13 ... Application management unit, 14 ... Metric collection unit, app1, app2, app3, app4 ... Application, excc1, excc2 ... Execution Part, wnd1, wnd2 ... Processing node

Claims (8)

一又は複数のアプリケーションから構成されるグループ毎に、各アプリケーションの遅延要件に基づいて各アプリケーションのジョブをスケジューリングするグループ内スケジューラと、
各前記グループにおけるアプリケーションの遅延要件を満たしているか否かを示す度合いであるアプリケーションの遅延要件の遵守度に基づいて、ジョブの実行に使用可能な各前記グループのリソース量を制御するグループ間スケジューラと、
を備える制御装置。
An in-group scheduler that schedules jobs for each application based on the delay requirements of each application for each group consisting of one or more applications.
With an intergroup scheduler that controls the amount of resources available to each said group to run jobs based on the degree of compliance with the application's delay requirements, which is the degree to which each said group meets the application's delay requirements. ,
A control device equipped with.
前記グループ内スケジューラは、各アプリケーションの遅延要件に基づいた各ジョブについてのジョブが予定通り進んでいるか否かを示す度合いである進捗予定達成度及び所要リソース量を算出し、算出した各ジョブの進捗予定達成度及び所要リソース量に基づいて各ジョブの優先度を決定する、
請求項1に記載の制御装置。
The in-group scheduler calculates the progress schedule achievement level and the required resource amount, which are the degrees indicating whether or not the job for each job is progressing as planned based on the delay requirement of each application, and the calculated progress of each job. Priority is given to each job based on the degree of achievement of the schedule and the amount of required resources.
The control device according to claim 1.
前記グループ内スケジューラは、ジョブの進捗予定達成度に対する重み付けとジョブの所要リソース量に対する重み付けとを行ってジョブの優先度を決定する、
請求項2に記載の制御装置。
The in-group scheduler determines the priority of a job by weighting the achievement level of the progress schedule of the job and weighting the required resource amount of the job.
The control device according to claim 2.
前記グループ内スケジューラは、アプリケーションの遅延要件の遵守度が改善するように、当該アプリケーションのジョブの進捗予定達成度及び所要リソース量に対する各重み付け係数を制御する、
請求項3に記載の制御装置。
The in-group scheduler controls each weighting factor for the job progress schedule achievement and required resource amount of the application so as to improve the compliance with the delay requirement of the application.
The control device according to claim 3.
前記アプリケーションの遅延要件の遵守度は、アプリケーションのジョブ実行時間にレコード読み込み遅延時間を加算した和とアプリケーションが要求する処理遅延時間との差に基づいて算出される、
請求項1から4のいずれか1項に記載の制御装置。
The degree of compliance with the delay requirement of the application is calculated based on the difference between the sum of the job execution time of the application and the record read delay time and the processing delay time required by the application.
The control device according to any one of claims 1 to 4.
一又は複数のアプリケーションから構成されるグループ毎に設けられてジョブを実行する実行部と、
請求項1から5のいずれか1項に記載の制御装置と、を備え、
前記実行部は、前記制御装置によるスケジューリングに従って自己のグループのアプリケーションのジョブを実行する、
情報処理装置。
An execution unit that is provided for each group consisting of one or more applications and executes a job,
The control device according to any one of claims 1 to 5 is provided.
The execution unit executes the job of the application of its own group according to the scheduling by the control device.
Information processing equipment.
グループ内スケジューラが、一又は複数のアプリケーションから構成されるグループ毎に、各アプリケーションの遅延要件に基づいて各アプリケーションのジョブをスケジューリングするグループ内スケジューリングステップと、
グループ間スケジューラが、各前記グループにおけるアプリケーションの遅延要件を満たしているか否かを示す度合いであるアプリケーションの遅延要件の遵守度に基づいて、ジョブの実行に使用可能な各前記グループのリソース量を制御するグループ間スケジューリングステップと、
を含む情報処理制御方法。
An intra-group scheduling step in which the intra-group scheduler schedules jobs for each application based on the delay requirements of each application for each group consisting of one or more applications.
The intergroup scheduler controls the amount of resources in each of the groups available to run the job, based on the degree to which the application's delay requirements are met, which is the degree to which the intergroup scheduler meets the application's delay requirements in each of the groups. Intergroup scheduling steps and
Information processing control method including.
コンピュータに、
一又は複数のアプリケーションから構成されるグループ毎に、各アプリケーションの遅延要件に基づいて各アプリケーションのジョブをスケジューリングするグループ内スケジューリングステップと、
各前記グループにおけるアプリケーションの遅延要件を満たしているか否かを示す度合いであるアプリケーションの遅延要件の遵守度に基づいて、ジョブの実行に使用可能な各前記グループのリソース量を制御するグループ間スケジューリングステップと、
を実行させるためのコンピュータプログラム。
On the computer
In-group scheduling steps that schedule jobs for each application based on the delay requirements of each application for each group consisting of one or more applications.
An intergroup scheduling step that controls the amount of resources available to each said group to run jobs based on the degree of compliance with the application's delay requirements, which is the degree to which each said group meets the application's delay requirements. When,
A computer program to run.
JP2020109486A 2020-06-25 2020-06-25 Control device, information processing device, information processing control method, and computer program Active JP7350694B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020109486A JP7350694B2 (en) 2020-06-25 2020-06-25 Control device, information processing device, information processing control method, and computer program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020109486A JP7350694B2 (en) 2020-06-25 2020-06-25 Control device, information processing device, information processing control method, and computer program

Publications (2)

Publication Number Publication Date
JP2022006909A true JP2022006909A (en) 2022-01-13
JP7350694B2 JP7350694B2 (en) 2023-09-26

Family

ID=80110268

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020109486A Active JP7350694B2 (en) 2020-06-25 2020-06-25 Control device, information processing device, information processing control method, and computer program

Country Status (1)

Country Link
JP (1) JP7350694B2 (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001147824A (en) * 1999-09-28 2001-05-29 Internatl Business Mach Corp <Ibm> Method and system for managing logical processor of computer environment and program product
JP2010087597A (en) * 2008-09-29 2010-04-15 Sony Corp Image processor, image processing method and program
JP2010140145A (en) * 2008-12-10 2010-06-24 Hitachi Ltd Project management support device
JP2011514577A (en) * 2008-01-29 2011-05-06 ヒューレット−パッカード デベロップメント カンパニー エル.ピー. Query deployment plan for distributed shared stream processing system
WO2013145199A1 (en) * 2012-03-29 2013-10-03 株式会社日立製作所 Virtual computer schedule method
JP2017017666A (en) * 2015-06-30 2017-01-19 パナソニックIpマネジメント株式会社 Radio base station apparatus, server, radio communication system, and radio communication method

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001147824A (en) * 1999-09-28 2001-05-29 Internatl Business Mach Corp <Ibm> Method and system for managing logical processor of computer environment and program product
JP2011514577A (en) * 2008-01-29 2011-05-06 ヒューレット−パッカード デベロップメント カンパニー エル.ピー. Query deployment plan for distributed shared stream processing system
JP2010087597A (en) * 2008-09-29 2010-04-15 Sony Corp Image processor, image processing method and program
JP2010140145A (en) * 2008-12-10 2010-06-24 Hitachi Ltd Project management support device
WO2013145199A1 (en) * 2012-03-29 2013-10-03 株式会社日立製作所 Virtual computer schedule method
JP2017017666A (en) * 2015-06-30 2017-01-19 パナソニックIpマネジメント株式会社 Radio base station apparatus, server, radio communication system, and radio communication method

Also Published As

Publication number Publication date
JP7350694B2 (en) 2023-09-26

Similar Documents

Publication Publication Date Title
Bao et al. Online job scheduling in distributed machine learning clusters
JP5068099B2 (en) Method and system for performing fair share scheduling based on resource usage of individual users and tracking of the usage
US9703285B2 (en) Fair share scheduling for mixed clusters with multiple resources
US10289183B2 (en) Methods and apparatus to manage jobs that can and cannot be suspended when there is a change in power allocation to a distributed computer system
US10089144B1 (en) Scheduling computing jobs over forecasted demands for computing resources
US11720408B2 (en) Method and system for assigning a virtual machine in virtual GPU enabled systems
US9921866B2 (en) CPU overprovisioning and cloud compute workload scheduling mechanism
WO2021179462A1 (en) Improved quantum ant colony algorithm-based spark platform task scheduling method
US9400682B2 (en) Ranking and scheduling of monitoring tasks
US10616370B2 (en) Adjusting cloud-based execution environment by neural network
US9043787B2 (en) System and method for automated assignment of virtual machines and physical machines to hosts
Zhang et al. Online resource scheduling under concave pricing for cloud computing
US20170046192A1 (en) Capacity risk management for virtual machines
EP3468121B1 (en) Adaptive resource allocation method and apparatus
Genez et al. Estimation of the available bandwidth in inter-cloud links for task scheduling in hybrid clouds
WO2011155233A1 (en) Cluster configuration management method, management device, and storage medium wherein program is stored
Zhu et al. A cost-effective scheduling algorithm for scientific workflows in clouds
JP2016042284A (en) Parallel computer system, management device, method for controlling parallel computer system, and management device control program
JP5445739B2 (en) Resource allocation apparatus, resource allocation method, and program
Khan Optimized hybrid service brokering for multi-cloud architectures
Kumar et al. Load balancing algorithm to minimize the makespan time in cloud environment
Kambatla et al. UBIS: Utilization-aware cluster scheduling
JP2022006909A (en) Control device, information processing device, information processing control method, and computer program
CN115357368A (en) MapReduce job scheduling method based on heterogeneous environment perception
Kambatla et al. Optimistic scheduling with service guarantees

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220622

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230613

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230614

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230810

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230829

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230913

R150 Certificate of patent or registration of utility model

Ref document number: 7350694

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150