JP7350694B2 - 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
JP7350694B2
JP7350694B2 JP2020109486A JP2020109486A JP7350694B2 JP 7350694 B2 JP7350694 B2 JP 7350694B2 JP 2020109486 A JP2020109486 A JP 2020109486A JP 2020109486 A JP2020109486 A JP 2020109486A JP 7350694 B2 JP7350694 B2 JP 7350694B2
Authority
JP
Japan
Prior art keywords
group
application
job
delay requirements
intra
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.)
Active
Application number
JP2020109486A
Other languages
Japanese (ja)
Other versions
JP2022006909A (en
Inventor
雄太 森澤
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

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」とを備える分散ストリーム処理システムが記載されている。
2. Description of the Related Art Stream processing is conventionally known in which data processing is sequentially executed by a predetermined application when data is generated. According to stream processing, processing such as aggregation and analysis can be performed on sequentially generated data in real time. As information processing techniques for executing stream processing, for example, the techniques described in Patent Document 1 and Non-Patent Document 1 are known. In the conventional technology described in Patent Document 1, a switch executes primary processing of data and transfers the execution result to a 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 that includes a "Worker Node" that executes stream processing by an application, a "Driver Program" that schedules application jobs, and a "Cluster Manager" that manages resources. has been done.

特許第5802215号公報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 conventional technology described in Patent Document 1 mentioned above, it is not possible to perform stream processing in consideration of delay requirements requested by an application. In the conventional technology described in Non-Patent Document 2, resources are fixedly allocated to "Worker Node", so if the amount of data to be stream processed per unit time varies depending on the time period, It is necessary to allocate a fixed amount of resources according to the maximum amount of generation. Therefore, surplus resources are generated during a time period when the amount of data to be stream processed is generated in a small amount per unit time, and resource utilization efficiency is reduced.

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

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

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

)本発明の一態様は、グループ内スケジューラが、一又は複数のアプリケーションから構成されるグループ毎に、各アプリケーションの遅延要件に基づいて各アプリケーションのジョブをスケジューリングするグループ内スケジューリングステップと、グループ間スケジューラが、各前記グループにおけるアプリケーションの遅延要件を満たしているか否かを示す度合いであるアプリケーションの遅延要件の遵守度に基づいて、ジョブの実行に使用可能な各前記グループのリソース量を制御するグループ間スケジューリングステップと、
を含み、
前記グループ内スケジューラは、各アプリケーションの遅延要件に基づいた各ジョブについてのジョブが予定通り進んでいるか否かを示す度合いである進捗予定達成度及び所要リソース量を算出し、算出した各ジョブの進捗予定達成度及び所要リソース量に基づいて各ジョブの優先度を決定し、
前記グループ内スケジューラは、ジョブの進捗予定達成度に対する重み付けとジョブの所要リソース量に対する重み付けとを行ってジョブの優先度を決定する、
情報処理制御方法である。
(6)本発明の一態様は、グループ内スケジューラが、一又は複数のアプリケーションから構成されるグループ毎に、各アプリケーションの遅延要件に基づいて各アプリケーションのジョブをスケジューリングするグループ内スケジューリングステップと、グループ間スケジューラが、各前記グループにおけるアプリケーションの遅延要件を満たしているか否かを示す度合いであるアプリケーションの遅延要件の遵守度に基づいて、ジョブの実行に使用可能な各前記グループのリソース量を制御するグループ間スケジューリングステップと、を含み、前記アプリケーションの遅延要件の遵守度は、アプリケーションのジョブ実行時間にレコード読み込み遅延時間を加算した和とアプリケーションが要求する処理遅延時間との差に基づいて算出される、情報処理制御方法である。
( 5 ) One aspect of the present invention includes 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; an interval scheduler controls the amount of resources of each of the groups that can be used to execute the job based on the degree of compliance with application delay requirements, which is the degree of compliance with application delay requirements in each of the groups; an inter-group scheduling step;
including;
The intra-group scheduler calculates the progress schedule achievement level and required resource amount, which are degrees of progress indicating whether the job is progressing as planned, for each job based on the delay requirements of each application, and calculates the calculated progress of each job. Determine the priority of each job based on the degree of target achievement and the amount of required resources,
The intra-group scheduler determines the priority of the job by weighting the progress plan achievement level of the job and weighting the required resource amount of the job.
This is an information processing control method.
(6) One aspect of the present invention includes 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; an interval scheduler controls the amount of resources of each of the groups that can be used to execute the job based on the degree of compliance with application delay requirements, which is the degree of compliance with application delay requirements in each of the groups; an inter-group scheduling step, wherein 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 plus the record loading delay time and the processing delay time requested by the application. , an information processing control method.

)本発明の一態様は、コンピュータに、一又は複数のアプリケーションから構成されるグループ毎に、各アプリケーションの遅延要件に基づいて各アプリケーションのジョブをスケジューリングするグループ内スケジューリングステップと、各前記グループにおけるアプリケーションの遅延要件を満たしているか否かを示す度合いであるアプリケーションの遅延要件の遵守度に基づいて、ジョブの実行に使用可能な各前記グループのリソース量を制御するグループ間スケジューリングステップと、を実行させ、前記グループ内スケジューリングステップは、各アプリケーションの遅延要件に基づいた各ジョブについてのジョブが予定通り進んでいるか否かを示す度合いである進捗予定達成度及び所要リソース量を算出し、算出した各ジョブの進捗予定達成度及び所要リソース量に基づいて各ジョブの優先度を決定し、前記グループ内スケジューリングステップは、ジョブの進捗予定達成度に対する重み付けとジョブの所要リソース量に対する重み付けとを行ってジョブの優先度を決定する、コンピュータプログラムである。
(8)本発明の一態様は、コンピュータに、一又は複数のアプリケーションから構成されるグループ毎に、各アプリケーションの遅延要件に基づいて各アプリケーションのジョブをスケジューリングするグループ内スケジューリングステップと、各前記グループにおけるアプリケーションの遅延要件を満たしているか否かを示す度合いであるアプリケーションの遅延要件の遵守度に基づいて、ジョブの実行に使用可能な各前記グループのリソース量を制御するグループ間スケジューリングステップと、を実行させ、前記アプリケーションの遅延要件の遵守度は、アプリケーションのジョブ実行時間にレコード読み込み遅延時間を加算した和とアプリケーションが要求する処理遅延時間との差に基づいて算出される、コンピュータプログラムである。
( 7 ) One aspect of the present invention is to provide a computer with an intra-group scheduling step of scheduling jobs for each application based on the delay requirements of each application for each group consisting of one or more applications; an inter-group scheduling step of controlling the amount of resources of each of said groups available for execution of the job based on the degree of compliance with application delay requirements, which is the degree of compliance with application delay requirements; The intra-group scheduling step calculates and calculates the progress schedule achievement level and the required resource amount, which is a degree indicating whether the job is progressing as planned or not, for each job based on the delay requirements of each application. The priority of each job is determined based on the progress schedule achievement level and required resource amount of each job, and the intra-group scheduling step weights the progress schedule achievement level of the job and the required resource amount of the job. A computer program that determines job priorities .
(8) One aspect of the present invention is to provide a computer with an intra-group scheduling step of scheduling jobs for each application based on the delay requirements of each application for each group consisting of one or more applications; an inter-group scheduling step of controlling the amount of resources of each of said groups available for execution of the job based on the degree of compliance with application delay requirements, which is the degree of compliance with application delay requirements; The computer program is executed, and the degree of compliance with the delay requirements of the application is calculated based on the difference between the sum of the job execution time of the application plus the record read delay time and the processing delay time requested by the application.

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

一実施形態に係る情報処理装置の構成例を示す図である。FIG. 1 is a diagram illustrating a configuration example of an information processing device according to an embodiment. 一実施形態に係る情報処理制御方法の全体手順の例を示すフローチャートである。1 is a flowchart illustrating an example of the overall procedure of an information processing control method according to an embodiment. 一実施形態に係るグループ内スケジューリングの手順の例を示すフローチャートである。3 is a flowchart illustrating an example of a procedure for intra-group scheduling according to an embodiment. 一実施形態に係るグループ間スケジューリングの手順の例を示すフローチャートである。3 is a flowchart illustrating an example of a procedure for inter-group scheduling according to an embodiment.

以下、図面を参照し、本発明の実施形態について説明する。
図1は、一実施形態に係る情報処理装置の構成例を示す図である。図1において、情報処理装置1は、制御装置10と、処理ノードwnd1,wnd2と、を備える。制御装置10は、アプリケーションによるストリーム処理を実行する処理ノードwnd1,wnd2に対して、情報処理の制御を行う。
Embodiments of the present invention will be described below with reference to the drawings.
FIG. 1 is a diagram illustrating 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 processing nodes wnd1 and wnd2 that execute stream processing by applications.

処理ノード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 exc1 and exc2 that execute jobs issued by applications. Each execution unit exc1, exc2 is provided for each application group. An application group is composed of one or more applications. The execution unit exc1 executes jobs issued by applications app1, app2, and app3 belonging to group A. The execution unit exc2 executes a job issued by an application app4 belonging to group B. The upper limit of information processing resources that can be used by each of the execution units exc1 and exc2 is controlled by the control device 10 for each processing node wnd1 and wnd2. The execution units exc1 and exc2 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. Furthermore, when the processing nodes wnd1 and wnd2 are not particularly distinguished, they are referred to as processing nodes wnd. Furthermore, when the execution units exc1 and exc2 are not particularly distinguished, they are referred to as execution units exc. Furthermore, when groups A and B are not particularly distinguished, they are referred to as groups. Moreover, when the applications app1, app2, app3, and app4 are not particularly distinguished, they are referred to as applications app.

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

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

制御装置10の機能は、制御装置10がCPU(Central Processing Unit:中央演算処理装置)及びメモリ等のコンピュータハードウェアを備え、CPUがメモリに格納されたコンピュータプログラムを実行することにより実現される。なお、制御装置10として、汎用のコンピュータ装置を使用して構成してもよく、又は、専用のハードウェア装置として構成してもよい。例えば、制御装置10は、インターネット等の通信ネットワークに接続されるサーバコンピュータを使用して構成されてもよい。また、制御装置10の各機能はクラウドコンピューティングにより実現されてもよい。 The functions of the control device 10 are realized when the control device 10 includes computer hardware such as a CPU (Central Processing Unit) and a memory, and the CPU executes a computer program stored in the memory. Note that the control device 10 may be configured using a general-purpose computer device, or may be configured as a dedicated hardware device. For example, the control device 10 may be configured using a server computer connected to a communication network such as the Internet. Moreover, 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 intra-group scheduler 11 schedules jobs for each application within the group for each processing node wnd. The intra-group scheduler 11 schedules the jobs of each application app for each group based on the delay requirements of each application app. The execution unit exc executes the job of each application according to the scheduling of the intra-group scheduler 11. The delay requirements (Service Level Objective: SLO) of each application app are set in advance in the control device 10.

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

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

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

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

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

(ステップS1) グループ間スケジューラ12は、初回のグループ間スケジュールを行う。初回のグループ間スケジュールでは、各グループに対して、初期設定によるグループ間のリソースの配分を行う。この初期設定には、デフォルト値やユーザによる任意の設定値が使用されてもよく、又は過去のグループ間のリソースの配分の実績に基づいた値が使用されてもよい。初回のグループ間スケジュールによって、各グループに対応する実行部excに対して、使用可能なリソース量の上限の初期値が設定される。 (Step S1) The inter-group scheduler 12 performs the first inter-group schedule. In the first inter-group schedule, resources are distributed between groups according to initial settings for each group. For this initial setting, a default value or an arbitrary setting value set by the user may be used, or a value based on past results of resource allocation between groups may be used. According to the first inter-group schedule, an initial value of the upper limit of usable resource amount is set 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 the jobs of each application app for each group based on the delay requirements of each application app. 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 requirements of the application in each group. The method for 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 rescheduling between groups is necessary based on the degree of compliance with the delay requirements of the applications in each group. As a result of this determination, if rescheduling between groups is necessary (step S4, YES), the process advances 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 inter-group scheduling, the inter-group scheduler 12 reallocates resources between groups based on the degree of compliance with delay requirements of applications in each group. Details of inter-group scheduling will be described later.

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

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

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

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

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

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

グループ内スケジューラ11は、既知のレコード読み込み遅延時間Rdを使用し、「SLO-Rd ≧ J」を満たすように、ジョブの所要リソース量rJを決定する。ここで、所要リソース量rJは、グループのリソース全体量(実行部excが使用可能なリソースの上限)に対する割合(次式)で示される。
rJ=(ジョブが使用するリソース量)÷(グループのリソース全体量)
The intra-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 expressed as a ratio (the following equation) to the total resource amount of the group (the upper limit of resources that can be used by the execution unit exc).
rJ = (amount of resources used by the job) ÷ (total amount of resources in the group)

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

ジョブ実行時間Jと所要リソース量rJとジョブ入力データ量IJとの間には次式の関係式で表される関係が存在する。
rJ=f(J,IJ)
但し、ジョブ入力データ量IJは、ジョブが使用するデータの量である。
There exists 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 for obtaining the job input data amount IJ, if the job input data amount IJ can be measured, the intra-group scheduler 11 uses the measured value of the job input data amount IJ. On the other hand, if it is difficult to measure the job input data amount IJ, the intra-group scheduler 11 estimates the job input data amount IJ from the most recent past data amount of data used by the job. The intra-group scheduler 11 uses the job input data amount IJ (measured value or estimated value) acquired by the job input data amount IJ acquisition method.

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 method for deriving f(J, IJ) is, for example, by linear regression analysis to derive f(J, IJ) based on the information of job execution time J, required resource amount rJ, and job input data amount IJ collected by the metric collection unit 14. seek. Generally, there is a proportional relationship between the job input data amount IJ and the job execution time J. Further, there is an inversely proportional relationship between the job execution time J and the required resource amount rJ. From this, linear regression analysis can be cited as a method for deriving f(J, IJ). Note that f(J, IJ) may be obtained using a machine learning algorithm such as a support vector machine (SVM) or deep learning. The intra-group scheduler 11 uses f(J, IJ) obtained by the f(J, IJ) derivation method.

グループ内スケジューラ11は、既知のレコード読み込み遅延時間Rd、ジョブ入力データ量IJ及び関係式「rJ=f(J,IJ)」を使用して、「SLO-Rd ≧ J」を満たすように、ジョブの所要リソース量rJを決定する。 The intra-group scheduler 11 uses the known record read delay time Rd, the job input data amount IJ, and the relational expression "rJ=f(J,IJ)" to schedule the job so that "SLO-Rd ≧ J" is satisfied. The required resource amount rJ 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 intra-group scheduler 11 calculates the scheduled progress achievement level "Pr/Ptr" of the job of each application app for each group. The progress schedule achievement level "Pr/Ptr" is a degree indicating whether or not the job is progressing as planned. The progress plan achievement level "Pr/Ptr" is calculated by the following formula.
"Pr/Ptr" = "Job progress Pr" ÷ "elapsed time percentage 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 at which the job was 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 when the job was issued, the processing delay time SLO requested by the application, and the record reading delay time Rd.
Tdj=Ts+SLO-Rd

進捗予定達成度「Pr/Ptr」が1以上であるときは、ジョブが予定通り又は予定よりも早く進んでいる。一方、進捗予定達成度「Pr/Ptr」が1未満であるときは、ジョブが予定よりも遅れている。 When the progress plan achievement level "Pr/Ptr" is 1 or more, the job is progressing as planned or ahead of schedule. On the other hand, when the progress schedule achievement level "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 intra-group scheduler 11 calculates the priority P of the job of each application app for each group. The priority P is calculated using the following formula.
P=α(1÷(Pr/Ptr))+(1-α)×rJ
However, α is a weighting coefficient. "0≦α≦1". The weighting coefficient α of each group can be set arbitrarily.

優先度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 level "Pr/Ptr" and the required resource amount rJ (in the case of 0<α<1). The priority level P becomes higher as the job progress schedule achievement level "Pr/Ptr" is smaller (in the case of 0<α). The priority P becomes higher as the required resource amount rJ becomes larger (in the case of α<1).

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

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

(例1-1)グループ内の全てのアプリケーションappの所要リソース量rJがほぼ同一の値になることがわかっている場合、進捗予定達成度「Pr/Ptr」の重み(α)を大きくする。 (Example 1-1) If it is known that the required resource amount rJ of all applications in the group will be approximately the same value, the weight (α) of the planned progress achievement rate "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 level "Pr/Ptr" and the required resource amount rJ is inaccurate, the weight of the other is increased.
For example, if 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 scheduled progress achievement rate "Pr/Ptr" is increased.
For example, if there is a job composed of multiple task sets (TaskSets) among the jobs of the application app in the group (for example, in the case of a multi-stage configuration where the calculation result of the first task set is used in the second task set) ), the progress rate Pr of the job is not proportional to the elapsed time ratio Ptr, so the scheduled progress achievement rate "Pr/Ptr" is not accurate. In this case, the weight (1-α) of the required resource amount rJ is increased.

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

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

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

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

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

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

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

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

また、上述においては所要リソース量rJの対象リソースが1種類であって所要リソース量rJが1次元の値である場合について説明したが、所要リソース量rJの対象リソースが複数種類である場合について以下に説明する。ここでは、複数種類のリソース量を多次元量として扱う方法1と、複数種類のリソース量を各々独立に扱う方法2とを説明する。 Furthermore, 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 explained, but the following describes the case where the target resource of the required resource amount rJ is multiple types. Explain. Here, method 1 in which multiple types of resource amounts are handled as multidimensional amounts, and method 2 in which multiple types of resource amounts are handled independently.

(方法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: 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). Each of the N elements of the vector of the required resource amount rJ (N-dimensional vector rJ) is the required resource amount of each of the N types of target resources. For example, if the target resources of the required resource amount rJ are two types, 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 memory. Further, the required resource amount of each target resource is expressed as a percentage of the total amount of each target resource in 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) ÷ (Total amount of CPU resources for 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 into one dimension. In this mapping, if the mapping result is "rJ1", then "rJ1=|rJ|. |rJ| is the size of the N-dimensional vector rJ. Here, "rJ1" is the size of the N-dimensional vector rJ. The reason for this is that each of the N elements (required resource amount of each target resource of N types) of the vector of the required resource amount rJ (N-dimensional vector rJ) is expressed as a percentage of the total amount of each target resource in the group. This is because it has the same scale regardless of the type of target resource.

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

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

(方法2:複数種類のリソース量を各々独立に扱う方法)
方法2では、所要リソース量rJを、N種類の対象リソース毎に別個に算出する。そして、N種類の対象リソース毎に、各対象リソースの所要リソース量を使用して優先度P及びスケジューリング重みWを算出する。
(Method 2: Method of handling multiple types of resource quantities independently)
In method 2, the required resource amount rJ is calculated separately for each of the N types of target resources. Then, for each of the N types of target resources, the priority P and 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, if the target resources for the required resource amount rJ are two types, CPU and memory, the required resource amount CPU_rJ for the CPU and the required resource amount Memory_rJ for the memory are calculated separately using the following equations.
CPU_rJ = (Amount of CPU resources used by the job) ÷ (Total amount of CPU resources for the group)
Memory_rJ = (amount of memory resources used by the job) ÷ (total amount of memory resources for the group)
Then, the CPU priority P_CPU and the memory priority P_Memory are calculated separately using 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 CPU and the memory calculate the scheduling weight W separately using the same calculation formula as described above. As a result, a scheduling weight W_CPU for scheduling the CPU resource amount and a scheduling weight W_Memory for scheduling the memory resource amount are 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, a procedure for inter-group scheduling according to this embodiment will be described with reference to FIG. 4. FIG. 4 is a flowchart illustrating an example of a procedure for inter-group scheduling according to this embodiment.

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

(ステップS21) グループ間スケジューラ12は、各グループの遵守度Gaに基づいて、グループ毎に遵守度Gaの良否を判定する。 (Step S21) The inter-group scheduler 12 determines whether 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 level Ga of a group is a positive value (“Ga>0”), the group is in a state where it cannot satisfy the delay requirements of the application. Therefore, the inter-group scheduler 12 sets groups whose compliance level Ga has a positive value as resource allocation target groups.

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

(ステップS22) グループ間スケジューラ12は、各グループのリソース再配分を行う。このリソース再配分では、リソース解放対象グループは一定量のリソースを解放する。そして、リソース割当対象グループに対して、リソース解放対象グループが解放したリソースを配分する。このリソース配分方法は、リソース割当対象グループの「遵守度Ga×配分優先度Pg」の比で配分する。配分優先度Pgは、グループ毎に予め設定される。 (Step S22) The inter-group scheduler 12 redistributes resources to 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 groups. In this resource allocation method, resources are allocated based on the ratio of "compliance level Ga x allocation priority level Pg" of the resource allocation target group. The distribution priority Pg is set in advance for each group.

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

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

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

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

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

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

(2)パフォーマンスを考慮したグループ分け方法
グループ間スケジューリングの実行周期がグループ内スケジューリングの実行周期よりも十分に長い場合、ジョブ入力データ量IJが突発的に増加してグループ内のリソース量が不足しても、次のグループ間スケジューリングによりリソースが補充されるまでに時間がかかる。これは、アプリケーションappの遅延要件の観点からは好ましくない。
(2) Grouping method considering performance If 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 within the group becomes insufficient. However, it takes time for resources to be replenished by the next inter-group scheduling. This is undesirable from the perspective of the delay requirements of the application.

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

また、各グループに所属するアプリケーションの個数ができる限り等しくなるようにグループを作ることも好ましい。これは、グループに所属するアプリケーションの個数が少ないと、一般にグループ内スケジューリングにおいてジョブ間のスケジュール調整上の余裕が少なくなるので、アプリケーション数が少ないグループが特にジョブ入力データ量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, there is generally less margin for scheduling adjustments between jobs in intra-group scheduling, so groups with a small number of applications are particularly vulnerable to fluctuations in the amount of job input data IJ. This is because

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

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

さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(例えばDRAM(Dynamic Random Access Memory))のように、一定時間プログラムを保持しているものも含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
Furthermore, "computer-readable recording medium" refers to volatile memory (for example, DRAM (Dynamic It also includes those that retain programs for a certain period of time, such as Random Access Memory).
Further, the program may be transmitted from a computer system storing the program in a storage device or the like to another computer system via a transmission medium or by a transmission wave in a transmission medium. Here, the "transmission medium" that transmits the program refers to a medium that has 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.
Moreover, the above-mentioned program may be for realizing a part of the above-mentioned functions. Furthermore, it may be a so-called difference file (difference program) that can realize the above-described functions 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…処理ノード DESCRIPTION OF SYMBOLS 1... Information processing device, 10... Control device, 11... Intra-group scheduler, 12... Inter-group scheduler, 13... Application management unit, 14... Metric collection unit, app1, app2, app3, app4... Application, exc1, exc2... Execution part, wnd1, wnd2...processing node

Claims (8)

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

Similar Documents

Publication Publication Date Title
JP5068099B2 (en) Method and system for performing fair share scheduling based on resource usage of individual users and tracking of the usage
Gu et al. Tiresias: A {GPU} cluster manager for distributed deep learning
US10089144B1 (en) Scheduling computing jobs over forecasted demands for computing resources
US9703285B2 (en) Fair share scheduling for mixed clusters with multiple resources
Grandl et al. Multi-resource packing for cluster schedulers
US11720408B2 (en) Method and system for assigning a virtual machine in virtual GPU enabled systems
US10831387B1 (en) Snapshot reservations in a distributed storage system
WO2011155233A1 (en) Cluster configuration management method, management device, and storage medium wherein program is stored
US20140019987A1 (en) Scheduling map and reduce tasks for jobs execution according to performance goals
US20110154353A1 (en) Demand-Driven Workload Scheduling Optimization on Shared Computing Resources
TW201629759A (en) Apparatus, device and method for allocating cpu resources
US20120144008A1 (en) System and Method for Analyzing Computing System Resources
WO2012154177A1 (en) Varying a characteristic of a job profile relating to map and reduce tasks according to a data size
Iorgulescu et al. Don't cry over spilled records: Memory elasticity of data-parallel applications and its application to cluster scheduling
Xu et al. A heterogeneity-aware task scheduler for spark
JP6885193B2 (en) Parallel processing device, job management method, and job management program
US20240078013A1 (en) Optimized I/O Performance Regulation for Non-Volatile Storage
JP7350694B2 (en) Control device, information processing device, information processing control method, and computer program
Kambatla et al. UBIS: Utilization-aware cluster scheduling
US9021499B2 (en) Moving a logical device between processor modules in response to identifying a varying load pattern
Kambatla et al. Optimistic scheduling with service guarantees
Cheng et al. Improving fair scheduling performance on hadoop
CN115357368A (en) MapReduce job scheduling method based on heterogeneous environment perception
JP2009252050A (en) System, method and program for server load management
CN116932156A (en) Task processing method, device and system

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