JPWO2018198745A1 - 計算資源管理装置、計算資源管理方法、及びプログラム - Google Patents

計算資源管理装置、計算資源管理方法、及びプログラム Download PDF

Info

Publication number
JPWO2018198745A1
JPWO2018198745A1 JP2019514354A JP2019514354A JPWO2018198745A1 JP WO2018198745 A1 JPWO2018198745 A1 JP WO2018198745A1 JP 2019514354 A JP2019514354 A JP 2019514354A JP 2019514354 A JP2019514354 A JP 2019514354A JP WO2018198745 A1 JPWO2018198745 A1 JP WO2018198745A1
Authority
JP
Japan
Prior art keywords
tasks
execution
calculation
task
cluster system
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
JP2019514354A
Other languages
English (en)
Other versions
JP6753521B2 (ja
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Publication of JPWO2018198745A1 publication Critical patent/JPWO2018198745A1/ja
Application granted granted Critical
Publication of JP6753521B2 publication Critical patent/JP6753521B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • G06F9/4887Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration

Abstract

計算資源管理装置10は、複数のタスクを実行するクラスタシステム20を管理するための装置である。計算資源管理装置10は、クラスタシステム20の計算資源と計算時間との関係、タスク間の依存関係、及び各タスクの実行期限を特定する、条件特定部11と、特定された計算資源と計算時間との関係、存関係に基づいて、タスク毎に、実行期限が守られるように、実行順序、及びクラスタシステム20の計算資源のうちの割当てるべき計算資源を決定する、スケジューリング部12と、を備えている。

Description

本発明は、複数のタスクを実行するクラスタリングシステムにおいて、各タスクへの計算資源の割当を最適化するための、計算資源管理装置、及び計算資源管理方法に関し、更には、これらを実現するためのコンピュータ読み取り可能な記録媒体に関する。
近年、大量のデータを分析して、所定の条件における最適解、例えば、プラントにおける材料の投入量、操作機器における操作量、又は商品の設定価格等を利用者に提供する分析システムが提案されている。また、このような分析システムは、利用者が、最終的な選択を行うための情報、例えば、判断指標等を提供することもできる。
そして、分析対象となるデータ量は年々著しく増加していることから、分析システムとしては、クラスタシステムが用いられている。クラスタシステムは、タスクを、分散して、且つ並列に実行する。
ここで、例えば、プラントにおける材料の投入量、操作機器における操作量、又は商品の設定価格等を、過去のデータをもとに最適化をするというタスクを考える。通常、こういった最適化処理は、毎日又は毎週という単位で実行する必要がある。これは、元になるデータが日々更新されるからである。また、最適化処理は、事業者による意思決定の前までに実行されて、最適解が導出されている必要がある。例えば、事業者が商品の価格を設定する前に、最適化された設定価格が決まっていなければ、事業は商品を販売できないことになる。従って、分析システムにおいては、タスクを締切りまでに完了させることは重要である。
そして、タスクを締め切りまでに完了させるためには、分析システムが備える計算資源を効率良く使用する必要がある。このため、例えば、特許文献1は、効率良くタスクを実行するためのコア数を求めることができるシステムを開示している。特許文献1に開示されたシステムは、並列して実行されるタスク毎に、並列処理を実行可能なコア数の範囲内で、タスクの実行時間を最小化するコア数を計算し、計算したコア数で各タスクを実行する。
特開2015−022574号公報
ところで、例えば、上述した商品の設定価格を最適化するタスクは、実際は、過去データからの特徴量の抽出タスク、需要の予測タスク、設定価格の最適化タスクといった、依存関係のある複数のタスクによって構成されている。また、これらのタスクは、別の種類のデータに対して別個に実行される場合もある。典型的には、入力データが異なる2つの特徴量抽出タスクが別々に行なわれる。
そして、このような場合、2つの特徴量抽出タスクは並列に実行できるが、需要の予測タスクと設定価格の最適化タスクとは、その後に実行される必要がある。つまり、通常、タスクには、依存関係がワークフローとして与えられているため、このような依存関係を考慮して、タスクに割当てる計算資源を最適化する必要がある。
しかしながら、上記特許文献1に開示されたシステムでは、タスク間の依存関係は考慮されておらず、単にタスク毎に実行時間を最小化するコア数が計算されているだけである。このため、上記特許文献1に開示されたシステムでは、依存関係がある複数のタスクに対して最適な計算資源を割当てることは困難である。
本発明の目的の一例は、上記問題を解消し、依存関係のある複数のタスクを実行する場合に、依存関係を踏まえて各タスクに割当てる計算資源を最適化し得る、計算資源管理装置、計算資源管理方法、及びコンピュータ読み取り可能な記録媒体を提供することにある。
上記目的を達成するため、本発明の一側面における計算資源管理装置は、複数のタスクを実行するクラスタシステムを管理するための装置であって、
前記クラスタシステムの計算資源と計算時間との関係、前記複数のタスクそれぞれ間の依存関係、及び前記複数のタスクそれぞれの実行期限を特定する、条件特定部と、
特定された前記関係、前記依存関係に基づいて、前記複数のタスクそれぞれ毎に、前記実行期限が守られるように、実行順序、及び前記クラスタシステムの計算資源のうちの割当てるべき計算資源を決定する、スケジューリング部と、
を備えている、ことを特徴とする。
また、上記目的を達成するため、本発明の一側面における計算資源管理方法は、複数のタスクを実行するクラスタシステムを管理するための方法であって、
(a)前記クラスタシステムの計算資源と計算時間との関係、前記複数のタスクそれぞれ間の依存関係、及び前記複数のタスクそれぞれの実行期限を特定する、ステップと、
(b)前記(a)のステップで特定された前記関係、前記依存関係に基づいて、前記複数のタスクそれぞれ毎に、前記実行期限が守られるように、実行順序、及び前記クラスタシステムの計算資源のうちの割当てるべき計算資源を決定する、ステップと、
を有する、
ことを特徴とする。
更に、上記目的を達成するため、本発明の一側面におけるコンピュータ読み取り可能な記録媒体は、コンピュータによって、複数のタスクを実行するクラスタシステムを管理するためのプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
前記コンピュータに、
(a)前記クラスタシステムの計算資源と計算時間との関係、前記複数のタスクそれぞれ間の依存関係、及び前記複数のタスクそれぞれの実行期限を特定する、ステップと、
(b)前記(a)のステップで特定された前記関係、前記依存関係に基づいて、前記複数のタスクそれぞれ毎に、前記実行期限が守られるように、実行順序、及び前記クラスタシステムの計算資源のうちの割当てるべき計算資源を決定する、ステップと、
を実行させる命令を含む、プログラムを記録していることを特徴とする。
以上のように本発明によれば、依存関係のある複数のタスクを実行する場合に、依存関係を踏まえて各タスクに割当てる計算資源を最適化することができる。
図1は、依存関係のある複数のタスクの一例を示す図である。 図2は、計算資源と計算時間との関係の一例を示す図である。 図3は、コアの割当ての第1の例を示す図である。 図4は、コアの割当ての第2の例を示す図である。 図5は、コアの割当ての第3の例を示す図である。 図6は、コアの割当ての第4の例を示す図である。 図7は、本発明の実施の形態における計算資源管理装置の概略構成を示すブロック図である。 図8は、本発明の実施の形態における計算資源管理装置の具体的構成を示すブロック図である。 図9は、本発明の実施の形態における計算資源管理装置の動作を示すフロー図である。 図10は、本発明の実施の形態における具体例で用いられる計算資源と計算時間との関係を示す図である。 図11は、本発明の実施の形態における計算資源管理装置を実現するコンピュータの一例を示すブロック図である。
(発明の概要)
一般に、タスクの実行にかかる時間とそれに割当てられる計算資源との間には、一定の関係があり、1つのタスクに計算資源を多く割り当てたからといって、処理が速く終わるわけではない。つまり、計算資源としてコア数を想定すると、タスクにコア数を多く割り当てた場合、計算が並列化されることにより、並列化可能なタスクの計算時間は短くなるが、並列化不可能なタスクの計算時間はコア数を増やしても短くなることはない。これは、並列化により、コア間で通信の必要が発生し、その分計算時間がかかる、という現象が起こったことによる。このことは、単位コアあたりの計算効率は、割り当てるコア数を増やすごとに減少することを意味している。
一方で、タスク間に依存関係があり、あるタスクの実行終了時刻が全体のボトルネックとなる場合、あるタスクの実行期限が迫っているため、多少の計算効率を犠牲にしても、そのタスクの実行を終了させたい場合等がある。このような場合においては、計算効率を犠牲にしても、ネックとなるタスクに多くのコア数を割り当てる必要がある。但し、計算効率を軽視すると、全体のワークフローの終了が遅れ、全体の締切りに間に合わないということが起こりうる。
従って、複数のタスクを効率良く分散して実行するためには、計算効率と一部のタスクの早期終了とのトレードオフを取りながら、各タスクに適切な計算資源を割り当てる必要がある。つまり、依存関係のある複数のタスクがワークフローとして与えられたときは、タスクに割当てるコア数が少ない方が計算効率は高く、タスクに割当てるコア数が多い方が実行終了時刻は早くなることを鑑みつつ、各タスクへ計算資源を割り当て、その実行順序を決定する必要がある。
ここで、具体例を挙げて説明する。図1は、依存関係のある複数のタスクの一例を示す図である。図1に示すように、複数のタスクとタスク間の依存関係が、ワークフローの形で与えられている。ワークフローは、タスクの集合W={1,2,・・・,n}と、集合Wの各要素wとに対する、タスク間の依存関係を表すWの部分集合Pによって表現される。
図1の例では、集合W={1,2,3,4}であり、部分集合P1={}、P2={1}、P3={1}、P4={2}である。これは、タスク2はタスク1が終わるまで計算を開始できず、タスク4はタスク2の計算が終了するまで計算が開始できない、ということを表している。
例えば、需要予測のワークフローにおいて、タスクw1は予測に用いる特徴量抽出タスク、タスクw2は翌日の需要予測タスク、タスクw3は本日の需要予測タスク、タスクw4は翌日の需要予測に基づく価格戦略最適化タスクに相当するとする。
そして、各タスクwに対して、デッドライン時刻(実行期限)dwが与えられているとする。なお、実行期限が指定されていない場合には、dwとしては、十分に大きな数∞が与えられる。図1の例において、タスク3と4の実行期限が10[min]、15[min]と与えられているとすると、d1=d2=∞、d3=10、d4=15というように定められる。
各タスクに対して、計算資源x_wを与えられたときの計算時間f(x_w)が与えられているとする。なお、以下においては、説明のため、計算資源x_wはCPU(Central Processing Unit)のコア数のみとするが、本発明において、計算資源はコア数のみに限定されることはない。
また、コア数と計算時間との関係は、例えば図2に示す通りとなる。図2は、計算資源と計算時間との関係の一例を示す図である。図2の例では、あるタスクの計算時間は、コア数の違いにより、f(4)=50、f(8)=48となる。これは、このタスクに4コアを用いた場合の計算時間が50秒で、8コアを用いた場合の計算時間が48秒であることを意味している。また、図2に示された計算時間は、過去のデータに基づいて推定される。この計算時間の推定について、更に説明する。
例えば、クラスタシステムが毎週同じ計算を実行しているが、計算の中身が違うという場合には、過去にかかった計算時間に基づいて、最新の計算時間を推定することができる。また、機械学習エンジンを用いて、毎週、異なるデータに基づいて推定処理が行なわれる場合を想定する。通常、機械学習エンジンが用いられる場合は、データの詳細な内容ではなく、データ量に依存して計算時間が決定される。よって、データ量とコア数との様々な組合せを想定して、機械学習エンジンを予め動かしておくことで、コア数に応じた計算時間を推定することができる。なお、このような推定には、十分な時間が使える状況にあることが必要となる。
ここで、図3〜図6を用いて、図1に示した各タスクへの最適なコアの割当てと最適な各タスクの実行開始時刻について説明する。また、図3〜図6の例において、使用可能なコア数の合計は4コアであるとする。図3は、コアの割当ての第1の例を示す図である。図4は、コアの割当ての第2の例を示す図である。図5は、コアの割当ての第3の例を示す図である。図6は、コアの割当ての第4の例を示す図である。なお、各図において、上段には、タスクの実行順序を示すグラフが表示されている。
図3の例では、タスクw、w、w、wの順に、各タスクに4コア全てが用いられて計算が行なわれている。これに対して、図4の例では、まずタスクwが4コアで計算され、次に、タスクw及びwをそれぞれが2コアで計算され、タスクwの計算の終了後に、タスクwが2コアで計算されている。
図3及び図4から分かるよう、一般に、コア数が1の時に比べて、コア数をxとした時に、計算時間が1/xのオーダーで短縮されるわけではない。これは、複数のコアでタスクを実行する場合には、並列化できない逐次処理及びデータ通信等を行なう必要があるからである。従って、1コア当りの計算効率は、一般に少ないコア数でタスクを計算した方が良い結果となる。このことから、図5に示すように、1コアを最小単位とした場合は、1コア当りの計算効率は最も良くなり、逆に図3の例では、1コア当りの計算効率は最も悪くなる。
一方で、既に確保されている計算資源を余らせるのは無駄である。更に、図5の例では、タスクに設定されている実行期限が満たされない事態となっている。従って、計算効率と実行期限の遵守との両方の点からは、図4又は図6に示すように各タスクにコアを割当てるのが理想的である。図4の例では、最終終了時刻(タスク4の終了時刻)が最速であり、図6の例では、最終終了時刻は最速とはならないが、高い計算効率を維持しつつ、最終終了時刻までのマージンを十分に確保できる。本発明においては、このようなスケジュールを求めることができる。
(実施の形態)
以下、本発明の実施の形態における、計算資源管理装置、計算資源管理方法及びコンピュータ読み取り可能な記録媒体について、図7〜図11を参照しながら説明する。
[装置構成]
最初に、本実施の形態における計算資源管理装置の構成について図7を用いて説明する。図7は、本発明の実施の形態における計算資源管理装置の概略構成を示すブロック図である。
図7に示す本実施の形態における計算資源管理装置10は、複数のタスクを実行するクラスタシステム20を管理するための装置である。図1に示すように、計算資源管理装置10は、条件特定部11と、スケジューリング部12とを備えている。
条件特定部11は、クラスタシステム20の計算資源と計算時間との関係、複数のタスクそれぞれ間の依存関係、及び複数のタスクそれぞれの実行期限を特定する。スケジューリング部12は、特定された計算資源と計算時間との関係、タスク間の依存関係に基づいて、タスク毎に、実行期限が守られるように、実行順序、及びクラスタシステム20の計算資源のうちの割当てるべき計算資源を決定する。
このように、計算資源管理装置10は、計算資源と計算時間との関係、タスク間の依存関係、及び各タスクの実行期限に基づいて、タスクのスケジューリングを行なう。このため、本実施の形態では、依存関係のある複数のタスクを実行する場合に、依存関係を踏まえて各タスクに割当てる計算資源を最適化することができる。
続いて、図8を用いて、計算資源管理装置10の構成を更に具体的に説明する。図8は、本発明の実施の形態における計算資源管理装置の具体的構成を示すブロック図である。
図8に示すように、本実施の形態において、条件特定部11は、外部から、クラスタシステム20の計算資源と計算時間との関係、タスク間の依存関係、及び各タスクの実行期限を取得する。具体的には、これらの情報が、外部の端末装置から送信されてくる場合は、条件特定部11は、送信されてきた情報を取得する。また、これらの情報が、キーボード等の入力機器によって入力される場合は、入力された情報を取得する。また、条件特定部11は、取得した情報をスケジューリング部12に渡す。
スケジューリング部12は、本実施の形態では、実行順序決定部13と、割当部14と、判定部15とを備えている。
実行順序決定部13は、タスク間の依存関係及びタスク毎の実行期限に基づいて、各タスクの実行順序を決定する。割当部14は、実行順序決定部13が決定した実行順序の元で、各タスクへの任意の計算資源の割当てを実行する。
また、スケジューリング部12において、実行順序決定部13による決定処理と、割当部14による割当て処理とは、一連の処理として複数回行なわれる。その後、判定部15は、一連の処理の結果に基づき、タスク毎に、実行順序、及び割当てるべき計算資源を決定する。
具体的には、スケジューリング部12において、実行順序決定部13が、まず、各タスクについて初期の実行順序を決定し、その上で、割当部14が、各タスクにコアを割当てる。続いて、実行順序決定部13は、各タスクの実行順序を変更する。また、割当部14は、変更後の実行順序を踏まえて、コア数を変更する。つまり、スケジューリング部12において、複数回、スケジューリングが実行される。
判定部15は、一連の処理が実行されると、その度に、各タスクが実行期限内に完了するかどうかを判定し、この判定結果に基づいて、最終的な各タスクの実行順序と割当てるコア数とを決定する。更に、判定部15は、各タスクが実行期限内に完了していると判定された一連の処理のうち、各タスクの実行終了時刻が設定条件を満たす一連の処理を選択することができる。
また、本実施の形態では、計算資源管理装置10は、上述した条件特定部11とスケジューリング部12とに加えて、出力部16も備えている。出力部16は、スケジューリングの結果を可視化するためのデータを作成し、作成したデータを、外部の端末装置に送信する。また、出力部16は、スケジューリングの結果を、表示装置の画面上で可視化することもできる。
また、本実施の形態では、クラスタシステム20の計算資源と計算時間との関係としては、例えば、タスク毎のコア数と計算時間との関係が挙げられる。コア数と計算時間との関係の具体例については図10を用いて後述する。
[装置動作]
次に、本発明の実施の形態における計算資源管理装置10の動作について図9を用いて説明する。図9は、本発明の実施の形態における計算資源管理装置の動作を示すフロー図である。以下の説明においては、適宜図7及び図8を参酌する。また、本実施の形態では、計算資源管理装置を動作させることによって、計算資源管理方法が実施される。よって、本実施の形態における計算資源管理方法の説明は、以下の計算資源管理装置10の動作説明に代える。
図9に示すように、最初に、条件特定部11が、外部から、クラスタシステム20の計算資源と計算時間との関係、タスク間の依存関係、及び各タスクの実行期限を取得し、これらを特定する(ステップA1)。具体的には、条件特定部11は、図2に示した計算資源と計算時間との関係、図1に示したタスク間の依存関係、図1に示した実行期限(d1=d2=∞、d3=10、d4=15)を特定する。
ここで、計算資源としてコア数が用いられ、総コア数をCとし、xをタスクwに割り当てるコア数とする。また、タスクwが終了する計算時間をtwとする。σを置換とし、σ(w)がwの計算が終わる順序を表し、このとき、σの定義から下記の数1が成立するとする。置換とは、1,2、、、、nの並び替えをあらわす。とくに、ここでは、σ(w)=iだった場合に、タスクwはi番目に計算が終了することを意味する。
Figure 2018198745
但し、上記数1において、tは便宜上の、計算開始時刻である。また、π(w)によって、タスクwを計算し始める直前のタスクを表す。このとき、下記の数2が定義から成立する。これは、タスクwの計算終了順序σ(w)は、直前のタスクπ(w)の計算終了順序σ(π(w))より大きいことを意味する。
Figure 2018198745
また、タスクの依存関係に関する制約から、すべてのタスクwとPwの要素pに対して、下記の数3が成立する。
Figure 2018198745
上記数3は、タスクwの計算が実行される直前のタスクπ(w)の計算終了順序は、いかなる先行タスクpの計算終了の順序以上でなくてはならないという性質を示している。
次に、スケジューリング部12において、実行順序決定部13が、まず、各タスクについて実行順序を決定する(ステップA2)。
具体的には、ステップA2では、スケジューリング部12は、既に処理が行なわれている場合は、初期の実行順序として、前回の処理で決定されたσとπとを用いる。一方、未だ処理が何も行なわれていない状態においては、スケジューリング部12は、以下のように、初期の実行順序としてσとπを計算する。
まず、実行順序決定部13は、最も実行期限が早いタスクw1(図1参照)を選び、wの実行開始時刻より前に計算が終了していなければならないタスクを、依存関係を満たすようにw11、w12、、、、w1n1、wとして並べる。
同様に、実行順序決定部13は、まだ選ばれていないタスクの中でもっとも実行期限が早いタスクをwとして、それよりも前に計算が終了していなければならないタスクを、依存関係を満たすように、w21、、、、w2n2、w、として並べる。
以上の結果、実行順序決定部13は、タスクの優先順位の列w11、、、、w1n1、w、w21、、、、w、w31、、、、w、、、、を得る。そして、実行順序決定部13は、この順に、優先順位を割り振り、σ(w11)=1、σ(w12)=2、、、、と設定する。また、実行順序決定部13は、πを一つ前のタスクに割り当てる。これにより、σとπの初期値が得られる。
次に、スケジューリング部12において、割当部14が、ステップA2で決定された実行順序に基づいて、各タスクにコアを割当てる(ステップA3)。次に、スケジューリング部12は、繰り返し処理の終了条件が満たされているかどうかを判定し、満たされていない場合は、再度ステップA2を実行し、満たされている場合は、ステップA5を実行する。なお、終了条件としては、ステップA2及びA3が予め設定された回数行なわれたこと、全てのタスクが実行期限内に完了したこと、等が挙げられる。
ここで、ステップA3について具体的に説明する。まず、実行順序が決定されると、コア数とタスク間の依存関係とには、以下の数4の線形不等式によって表される制約が存在する。
Figure 2018198745
上記数4において、W(w,σ、π)は同時に計算されるワークフローの集合であり、swは各タスクwに対応する新たな変数である。これらの制約の元では、下記の数5に示す最終終了時間、及び後述するマージンsを最適化する問題は、線形整数計画問題として定式化される。
Figure 2018198745
そして、割当部14は、ステップA2で決定された実行順序と、上記数4に示した制約の下で、タスク毎に、割当てるコア数と、計算時間とを算出する。このとき、ワークフローWにおいて、タスクwの終了時刻と、タスクπ(w)の終了時刻が一致するとする。つまり、下記の数6又は数7が成立するとする。
Figure 2018198745
Figure 2018198745
この場合においては、i番目に終了するタスクとi+1番目に終了するタスクとは終了時刻が等しく、本当は、i+1番目のタスクの計算は最早くに終了できるが、順序の制約を満たすために、i+1番目のタスクの計算を待機させている、ということが成立する。
従って、このようなワークフローWにおいて、タスクπ(w)を、このタスクπ(w)より終了時刻が早いタスクに入れ替える、つまりσ−1(σ(π(w))−1)にする、またはσ−1(i)とσ−1(i+1)とを入れ替えることで、解が改善されることが期待される。このため、次のステップA2では、実行順序決定部13は、タスクの入れ替えを行って、各タスクの実行順序を決定する。
また、再度のステップA2において、入れ替え対象となるタスクの選び方は、特に限定されるものではない。例えば、実行順序決定部13は、コア効率、つまりf(x)/f(1)が、最も低いタスクwを選択し、選択したタスクwのσ又はπを上述した方法で変更する。
ステップA5では、判定部15は、最終的な各タスクの実行順序と割当てるコア数とを決定する。具体的には、判定部15は、ステップA2及びA3が実行される度に、各タスクが実行期限内に完了するかどうかを判定する。そして、判定部15は、得られた各判定結果に基づいて、最終的な各タスクの実行順序と割当てるコア数とを決定する。
その後、出力部16が、ステップA1〜A5までの処理で得られたスケジューリングの結果を外部に出力する(ステップA6)。以上により、計算資源管理装置10における処理は終了する。
[具体例]
続いて、本実施の形態における具体例について説明する。まず、図9に示したステップA1において、図1に示したタスク間の依存関係と、図1に示した実行期限(d1=d2=∞、d3=10、d4=13)とが与えられているとする。
また、クラスタシステムの全コア数は4コアであり、タスク毎の計算資源(コア)と計算時間との関係として、図10に示すテーブルが与えられているとする。図10は、本発明の実施の形態における具体例で用いられる計算資源と計算時間との関係を示す図である。図10の例では、各タスクに割当てられたコア数が、1、2、3、4である場合の計算時間が示されている。
次に、ステップA2において、実行順序決定部13が、例えば、タスク1、3、2、4の順に、各タスクの初期の実行順序を決定する。この場合、σ(1)=1、σ(3)=2、σ(2)=3、σ(4)=4となる。これに対し、π(1)=0、π(3)=1、π(2)=3、π(4)=2となる。これらの初期値は、図5の上段のグラフに対応する。
また、この場合において、コア数を最終の終了時刻に対して最適化すると、全てのタスクに4コアを割り当てるのが最適となることから、割当部14は、図5の下段に示すように各タスクにコアを割当てる。各タスクの開始時をゼロとした終了時間を、t1、t2、t3、t4とすると、t=4秒、t=11秒、t=9秒、t=14秒となる。なお、この場合、タスク4の実行期限が満たされていない結果となる。
ここで、タスク1、3、4に関しては、σ及びπの値を、制約を崩すことなく変更することはできないため、タスク2について検討する。すると、タスク2のπの値のみ変更可能であることから、実行順序決定部13は、π(2)=1、つまり、タスク2の直前のタスクを3から1に変更する。この変更により、各タスクの実行順序は、図6の上段に示した通りとなる。
この変更の後に、割当部14が、各タスクに割当てるコアの数を最適化すると、図6の下段に示す通りとなる。この場合、t=4秒、t=9秒、t=9秒、t=12秒となる。
この場合、タスク2とタスク3についてt=tが成立する。但し、タスク2の実際の計算時間(f(1))は4秒(図10参照)であるのに対して、図6において、タスク2の計算時間は5秒となっている。これは、各タスクの実行順序による制約(図6の上段)から、タスク2はタスク3より後に終了する必要があるからである。従って、実行順序決定部13は、この制約を排除し、σ(2)とσ(3)とを入れ替える。
この入れ替えの後、各タスクの実行順序は、図4の上段に示した通りとなる。また、各タスクに割当てるコアの数を最適化すると、図4の下段に示した通りとなる。図4の下段の例では、最終の終了時刻が最短となり、t=4秒、t=7秒、t=10秒、t=11秒となる。
また、判定部15は、各タスクが実行期限内に完了していると判定された一連の処理のうち、各タスクの実行終了時刻が設定条件を満たす一連の処理を選択する。例えば、最終の終了時刻からのマージンを最大化したい場合は、図6の下段の例が最適解となるので、判定部15は、図6の下段の例に示された実行順序及び計算資源に決定する。
以上のように、本実施の形態では、計算資源管理装置10は、最適化の目的変数を変更し、そして、反復処理の中から最良の結果を選択する。このため、依存関係のある複数のタスクを実行する場合に、依存関係を踏まえて各タスクに割当てる計算資源を最適化することができる。
[プログラム]
本実施の形態におけるプログラムは、コンピュータに、図9に示すステップA1〜A6を実行させるプログラムであれば良い。このプログラムをコンピュータにインストールし、実行することによって、本実施の形態における計算資源管理装置10と計算資源管理方法とを実現することができる。この場合、コンピュータのCPU(Central Processing Unit)は、条件特定部11、スケジューリング部12、及び出力部16として機能し、処理を行なう。
また、本実施の形態におけるプログラムは、複数のコンピュータによって構築されたコンピュータシステムによって実行されても良い。この場合は、例えば、各コンピュータが、それぞれ、条件特定部11、スケジューリング部12、及び出力部16のいずれかとして機能しても良い。
ここで、本実施の形態におけるプログラムを実行することによって、計算資源管理装置10を実現するコンピュータについて図11を用いて説明する。図11は、本発明の実施の形態における計算資源管理装置を実現するコンピュータの一例を示すブロック図である。
図11に示すように、コンピュータ110は、CPU111と、メインメモリ112と、記憶装置113と、入力インターフェイス114と、表示コントローラ115と、データリーダ/ライタ116と、通信インターフェイス117とを備える。これらの各部は、バス121を介して、互いにデータ通信可能に接続される。
CPU111は、記憶装置113に格納された、本実施の形態におけるプログラム(コード)をメインメモリ112に展開し、これらを所定順序で実行することにより、各種の演算を実施する。メインメモリ112は、典型的には、DRAM(Dynamic Random Access Memory)等の揮発性の記憶装置である。また、本実施の形態におけるプログラムは、コンピュータ読み取り可能な記録媒体120に格納された状態で提供される。なお、本実施の形態におけるプログラムは、通信インターフェイス117を介して接続されたインターネット上で流通するものであっても良い。
また、記憶装置113の具体例としては、ハードディスクドライブの他、フラッシュメモリ等の半導体記憶装置が挙げられる。入力インターフェイス114は、CPU111と、キーボード及びマウスといった入力機器118との間のデータ伝送を仲介する。表示コントローラ115は、ディスプレイ装置119と接続され、ディスプレイ装置119での表示を制御する。
データリーダ/ライタ116は、CPU111と記録媒体120との間のデータ伝送を仲介し、記録媒体120からのプログラムの読み出し、及びコンピュータ110における処理結果の記録媒体120への書き込みを実行する。通信インターフェイス117は、CPU111と、他のコンピュータとの間のデータ伝送を仲介する。
また、記録媒体120の具体例としては、CF(Compact Flash(登録商標))及びSD(Secure Digital)等の汎用的な半導体記憶デバイス、フレキシブルディスク(Flexible Disk)等の磁気記録媒体、又はCD−ROM(Compact Disk Read Only Memory)などの光学記録媒体が挙げられる。
なお、本実施の形態における計算資源管理装置10は、プログラムがインストールされたコンピュータではなく、各部に対応したハードウェアを用いることによっても実現可能である。更に、計算資源管理装置10は、一部がプログラムで実現され、残りの部分がハードウェアで実現されていてもよい。
上述した実施の形態の一部又は全部は、以下に記載する(付記1)〜(付記12)によって表現することができるが、以下の記載に限定されるものではない。
(付記1)
複数のタスクを実行するクラスタシステムを管理するための装置であって、
前記クラスタシステムの計算資源と計算時間との関係、前記複数のタスクそれぞれ間の依存関係、及び前記複数のタスクそれぞれの実行期限を特定する、条件特定部と、
特定された前記関係、前記依存関係に基づいて、前記複数のタスクそれぞれ毎に、前記実行期限が守られるように、実行順序、及び前記クラスタシステムの計算資源のうちの割当てるべき計算資源を決定する、スケジューリング部と、
を備えている、
ことを特徴とする計算資源管理装置。
(付記2)
前記スケジューリング部が、
前記依存関係及び前記実行期限に基づいた、前記複数のタスクそれぞれの実行順序の決定処理と、決定された前記実行順序の元での、前記複数のタスクそれぞれへの任意の計算資源の割当て処理とを、一連の処理として複数回行なって、
前記複数のタスクそれぞれ毎に、実行順序、及び前記クラスタシステムの計算資源のうちの割当てるべき計算資源を決定する、
付記1に記載の計算資源管理装置。
(付記3)
前記スケジューリング部が、
前記複数のタスクそれぞれが前記実行期限内に完了している前記一連の処理のうち、前記複数のタスクそれぞれの実行終了時刻が設定条件を満たす一連の処理を選択し、
選択した一連の処理における前記決定処理及び前記割当て処理の結果を用いて、前記複数のタスクそれぞれ毎に、実行順序、及び前記クラスタシステムの計算資源のうちの割当てるべき計算資源を決定する、
付記2に記載の計算資源管理装置。
(付記4)
前記関係が、前記複数のタスクそれぞれ毎のコア数と計算時間との関係である、
付記1〜3のいずれかに記載の計算資源管理装置。
(付記5)
複数のタスクを実行するクラスタシステムを管理するための方法であって、
(a)前記クラスタシステムの計算資源と計算時間との関係、前記複数のタスクそれぞれ間の依存関係、及び前記複数のタスクそれぞれの実行期限を特定する、ステップと、
(b)前記(a)のステップで特定された前記関係、前記依存関係に基づいて、前記複数のタスクそれぞれ毎に、前記実行期限が守られるように、実行順序、及び前記クラスタシステムの計算資源のうちの割当てるべき計算資源を決定する、ステップと、
を有する、
ことを特徴とする計算資源管理方法。
(付記6)
前記(b)のステップにおいて、
前記依存関係及び前記実行期限に基づいた、前記複数のタスクそれぞれの実行順序の決定処理と、決定された前記実行順序の元での、前記複数のタスクそれぞれへの任意の計算資源の割当て処理とを、一連の処理として複数回行なって、
前記複数のタスクそれぞれ毎に、実行順序、及び前記クラスタシステムの計算資源のうちの割当てるべき計算資源を決定する、
付記5に記載の計算資源管理方法。
(付記7)
前記(b)のステップにおいて、
前記複数のタスクそれぞれが前記実行期限内に完了している前記一連の処理のうち、前記複数のタスクそれぞれの実行終了時刻が設定条件を満たす一連の処理を選択し、
選択した一連の処理における前記決定処理及び前記割当て処理の結果を用いて、前記複数のタスクそれぞれ毎に、実行順序、及び前記クラスタシステムの計算資源のうちの割当てるべき計算資源を決定する、
付記6に記載の計算資源管理方法。
(付記8)
前記関係が、前記複数のタスクそれぞれ毎のコア数と計算時間との関係である、
付記5〜7のいずれかに記載の計算資源管理方法。
(付記9)
コンピュータによって、複数のタスクを実行するクラスタシステムを管理するためのプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
前記コンピュータに、
(a)前記クラスタシステムの計算資源と計算時間との関係、前記複数のタスクそれぞれ間の依存関係、及び前記複数のタスクそれぞれの実行期限を特定する、ステップと、
(b)前記(a)のステップで特定された前記関係、前記依存関係に基づいて、前記複数のタスクそれぞれ毎に、前記実行期限が守られるように、実行順序、及び前記クラスタシステムの計算資源のうちの割当てるべき計算資源を決定する、ステップと、
を実行させる命令を含む、プログラムを記録しているコンピュータ読み取り可能な記録媒体。
(付記10)
前記(b)のステップにおいて、
前記依存関係及び前記実行期限に基づいた、前記複数のタスクそれぞれの実行順序の決定処理と、決定された前記実行順序の元での、前記複数のタスクそれぞれへの任意の計算資源の割当て処理とを、一連の処理として複数回行なって、
前記複数のタスクそれぞれ毎に、実行順序、及び前記クラスタシステムの計算資源のうちの割当てるべき計算資源を決定する、
付記9に記載のコンピュータ読み取り可能な記録媒体。
(付記11)
前記(b)のステップにおいて、
前記複数のタスクそれぞれが前記実行期限内に完了している前記一連の処理のうち、前記複数のタスクそれぞれの実行終了時刻が設定条件を満たす一連の処理を選択し、
選択した一連の処理における前記決定処理及び前記割当て処理の結果を用いて、前記複数のタスクそれぞれ毎に、実行順序、及び前記クラスタシステムの計算資源のうちの割当てるべき計算資源を決定する、
付記10に記載のコンピュータ読み取り可能な記録媒体。
(付記12)
前記関係が、前記複数のタスクそれぞれ毎のコア数と計算時間との関係である、
付記9〜11のいずれかに記載のコンピュータ読み取り可能な記録媒体。
以上、実施の形態を参照して本願発明を説明したが、本願発明は上記実施の形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
この出願は、2017年4月27日に出願された米国出願62/490895を基礎とする優先権を主張し、その開示の全てをここに取り込む。
以上のように本発明によれば、依存関係のある複数のタスクを実行する場合に、依存関係を踏まえて各タスクに割当てる計算資源を最適化することができる。本発明は、例えば、クラスタシステムに有用である。
10 計算資源管理装置
11 条件特定部
12 スケジューリング部
13 実行順序決定部
14 割当部
15 判定部
16 出力部
20 クラスタシステム
110 コンピュータ
111 CPU
112 メインメモリ
113 記憶装置
114 入力インターフェイス
115 表示コントローラ
116 データリーダ/ライタ
117 通信インターフェイス
118 入力機器
119 ディスプレイ装置
120 記録媒体
121 バス
本発明は、複数のタスクを実行するクラスタリングシステムにおいて、各タスクへの計算資源の割当を最適化するための、計算資源管理装置、及び計算資源管理方法に関し、更には、これらを実現するためのプログラムに関する。
本発明の目的の一例は、上記問題を解消し、依存関係のある複数のタスクを実行する場合に、依存関係を踏まえて各タスクに割当てる計算資源を最適化し得る、計算資源管理装置、計算資源管理方法、及びプログラムを提供することにある。
更に、上記目的を達成するため、本発明の一側面におけるコンピュータ読み取り可能な記録媒体は、コンピュータによって、複数のタスクを実行するクラスタシステムを管理するためのプログラムであって、
前記コンピュータに、
(a)前記クラスタシステムの計算資源と計算時間との関係、前記複数のタスクそれぞれ間の依存関係、及び前記複数のタスクそれぞれの実行期限を特定する、ステップと、
(b)前記(a)のステップで特定された前記関係、前記依存関係に基づいて、前記複数のタスクそれぞれ毎に、前記実行期限が守られるように、実行順序、及び前記クラスタシステムの計算資源のうちの割当てるべき計算資源を決定する、ステップと、
を実行させることを特徴とする。
そして、各タスクwに対して、デッドライン時刻(実行期限)dwが与えられているとする。なお、実行期限が指定されていない場合には、dwとしては、十分に大きな数∞が与えられる。図1の例において、タスク3と4の実行期限が10[min]、13[min]と与えられているとすると、d1=d2=∞、d3=10、d4=13というように定められる。
まず、実行順序決定部13は、最も実行期限が早いタスク (図1参照)を選び、wの実行開始時刻より前に計算が終了していなければならないタスクを、依存関係を満たすようにw11、w12、、、、 1n1 、wとして並べる。
(付記9)
コンピュータによって、複数のタスクを実行するクラスタシステムを管理するためのプログラムであって、
前記コンピュータに、
(a)前記クラスタシステムの計算資源と計算時間との関係、前記複数のタスクそれぞれ間の依存関係、及び前記複数のタスクそれぞれの実行期限を特定する、ステップと、
(b)前記(a)のステップで特定された前記関係、前記依存関係に基づいて、前記複数のタスクそれぞれ毎に、前記実行期限が守られるように、実行順序、及び前記クラスタシステムの計算資源のうちの割当てるべき計算資源を決定する、ステップと、
を実行させる命令を含むプログラム。
(付記10)
前記(b)のステップにおいて、
前記依存関係及び前記実行期限に基づいた、前記複数のタスクそれぞれの実行順序の決定処理と、決定された前記実行順序の元での、前記複数のタスクそれぞれへの任意の計算資源の割当て処理とを、一連の処理として複数回行なって、
前記複数のタスクそれぞれ毎に、実行順序、及び前記クラスタシステムの計算資源のうちの割当てるべき計算資源を決定する、
付記9に記載のプログラム
(付記11)
前記(b)のステップにおいて、
前記複数のタスクそれぞれが前記実行期限内に完了している前記一連の処理のうち、前記複数のタスクそれぞれの実行終了時刻が設定条件を満たす一連の処理を選択し、
選択した一連の処理における前記決定処理及び前記割当て処理の結果を用いて、前記複数のタスクそれぞれ毎に、実行順序、及び前記クラスタシステムの計算資源のうちの割当てるべき計算資源を決定する、
付記10に記載のプログラム
(付記12)
前記関係が、前記複数のタスクそれぞれ毎のコア数と計算時間との関係である、
付記9〜11のいずれかに記載のプログラム

Claims (12)

  1. 複数のタスクを実行するクラスタシステムを管理するための装置であって、
    前記クラスタシステムの計算資源と計算時間との関係、前記複数のタスクそれぞれ間の依存関係、及び前記複数のタスクそれぞれの実行期限を特定する、条件特定部と、
    特定された前記関係、前記依存関係に基づいて、前記複数のタスクそれぞれ毎に、前記実行期限が守られるように、実行順序、及び前記クラスタシステムの計算資源のうちの割当てるべき計算資源を決定する、スケジューリング部と、
    を備えている、
    ことを特徴とする計算資源管理装置。
  2. 前記スケジューリング部が、
    前記依存関係及び前記実行期限に基づいた、前記複数のタスクそれぞれの実行順序の決定処理と、決定された前記実行順序の元での、前記複数のタスクそれぞれへの任意の計算資源の割当て処理とを、一連の処理として複数回行なって、
    前記複数のタスクそれぞれ毎に、実行順序、及び前記クラスタシステムの計算資源のうちの割当てるべき計算資源を決定する、
    請求項1に記載の計算資源管理装置。
  3. 前記スケジューリング部が、
    前記複数のタスクそれぞれが前記実行期限内に完了している前記一連の処理のうち、前記複数のタスクそれぞれの実行終了時刻が設定条件を満たす一連の処理を選択し、
    選択した一連の処理における前記決定処理及び前記割当て処理の結果を用いて、前記複数のタスクそれぞれ毎に、実行順序、及び前記クラスタシステムの計算資源のうちの割当てるべき計算資源を決定する、
    請求項2に記載の計算資源管理装置。
  4. 前記関係が、前記複数のタスクそれぞれ毎のコア数と計算時間との関係である、
    請求項1〜3のいずれかに記載の計算資源管理装置。
  5. 複数のタスクを実行するクラスタシステムを管理するための方法であって、
    (a)前記クラスタシステムの計算資源と計算時間との関係、前記複数のタスクそれぞれ間の依存関係、及び前記複数のタスクそれぞれの実行期限を特定する、ステップと、
    (b)前記(a)のステップで特定された前記関係、前記依存関係に基づいて、前記複数のタスクそれぞれ毎に、前記実行期限が守られるように、実行順序、及び前記クラスタシステムの計算資源のうちの割当てるべき計算資源を決定する、ステップと、
    を有する、
    ことを特徴とする計算資源管理方法。
  6. 前記(b)のステップにおいて、
    前記依存関係及び前記実行期限に基づいた、前記複数のタスクそれぞれの実行順序の決定処理と、決定された前記実行順序の元での、前記複数のタスクそれぞれへの任意の計算資源の割当て処理とを、一連の処理として複数回行なって、
    前記複数のタスクそれぞれ毎に、実行順序、及び前記クラスタシステムの計算資源のうちの割当てるべき計算資源を決定する、
    請求項5に記載の計算資源管理方法。
  7. 前記(b)のステップにおいて、
    前記複数のタスクそれぞれが前記実行期限内に完了している前記一連の処理のうち、前記複数のタスクそれぞれの実行終了時刻が設定条件を満たす一連の処理を選択し、
    選択した一連の処理における前記決定処理及び前記割当て処理の結果を用いて、前記複数のタスクそれぞれ毎に、実行順序、及び前記クラスタシステムの計算資源のうちの割当てるべき計算資源を決定する、
    請求項6に記載の計算資源管理方法。
  8. 前記関係が、前記複数のタスクそれぞれ毎のコア数と計算時間との関係である、
    請求項5〜7のいずれかに記載の計算資源管理方法。
  9. コンピュータによって、複数のタスクを実行するクラスタシステムを管理するためのプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
    前記コンピュータに、
    (a)前記クラスタシステムの計算資源と計算時間との関係、前記複数のタスクそれぞれ間の依存関係、及び前記複数のタスクそれぞれの実行期限を特定する、ステップと、
    (b)前記(a)のステップで特定された前記関係、前記依存関係に基づいて、前記複数のタスクそれぞれ毎に、前記実行期限が守られるように、実行順序、及び前記クラスタシステムの計算資源のうちの割当てるべき計算資源を決定する、ステップと、
    を実行させる命令を含む、プログラムを記録しているコンピュータ読み取り可能な記録媒体。
  10. 前記(b)のステップにおいて、
    前記依存関係及び前記実行期限に基づいた、前記複数のタスクそれぞれの実行順序の決定処理と、決定された前記実行順序の元での、前記複数のタスクそれぞれへの任意の計算資源の割当て処理とを、一連の処理として複数回行なって、
    前記複数のタスクそれぞれ毎に、実行順序、及び前記クラスタシステムの計算資源のうちの割当てるべき計算資源を決定する、
    請求項9に記載のコンピュータ読み取り可能な記録媒体。
  11. 前記(b)のステップにおいて、
    前記複数のタスクそれぞれが前記実行期限内に完了している前記一連の処理のうち、前記複数のタスクそれぞれの実行終了時刻が設定条件を満たす一連の処理を選択し、
    選択した一連の処理における前記決定処理及び前記割当て処理の結果を用いて、前記複数のタスクそれぞれ毎に、実行順序、及び前記クラスタシステムの計算資源のうちの割当てるべき計算資源を決定する、
    請求項10に記載のコンピュータ読み取り可能な記録媒体。
  12. 前記関係が、前記複数のタスクそれぞれ毎のコア数と計算時間との関係である、
    請求項9〜11のいずれかに記載のコンピュータ読み取り可能な記録媒体。
JP2019514354A 2017-04-27 2018-04-09 計算資源管理装置、計算資源管理方法、及びプログラム Active JP6753521B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201762490895P 2017-04-27 2017-04-27
US62/490,895 2017-04-27
PCT/JP2018/014959 WO2018198745A1 (ja) 2017-04-27 2018-04-09 計算資源管理装置、計算資源管理方法、及びコンピュータ読み取り可能な記録媒体

Publications (2)

Publication Number Publication Date
JPWO2018198745A1 true JPWO2018198745A1 (ja) 2020-03-05
JP6753521B2 JP6753521B2 (ja) 2020-09-09

Family

ID=63919062

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019514354A Active JP6753521B2 (ja) 2017-04-27 2018-04-09 計算資源管理装置、計算資源管理方法、及びプログラム

Country Status (3)

Country Link
US (1) US11204805B2 (ja)
JP (1) JP6753521B2 (ja)
WO (1) WO2018198745A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111694675B (zh) * 2019-03-15 2022-03-08 上海商汤智能科技有限公司 任务调度方法及装置、存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004502235A (ja) * 2000-06-27 2004-01-22 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ スケジュール決定方法、スケジューラ及びシステム
JP2013164750A (ja) * 2012-02-10 2013-08-22 Nomura Research Institute Ltd ジョブ実行管理システム
JP2013182502A (ja) * 2012-03-02 2013-09-12 Nec Corp リソース配分システム、リソース配分方法、及びリソース配分プログラム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9262216B2 (en) * 2012-02-14 2016-02-16 Microsoft Technologies Licensing, LLC Computing cluster with latency control
US9367357B2 (en) * 2013-01-18 2016-06-14 Nec Corporation Simultaneous scheduling of processes and offloading computation on many-core coprocessors
US10552774B2 (en) * 2013-02-11 2020-02-04 Amazon Technologies, Inc. Cost-minimizing task scheduler
JP6171658B2 (ja) 2013-07-19 2017-08-02 富士通株式会社 並列処理最適化プログラム、並列処理最適化方法および情報処理装置
US9513967B2 (en) * 2014-09-18 2016-12-06 International Business Machines Corporation Data-aware workload scheduling and execution in heterogeneous environments
US9720738B2 (en) * 2015-04-09 2017-08-01 International Business Machines Corporation Datacenter scheduling of applications using machine learning techniques

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004502235A (ja) * 2000-06-27 2004-01-22 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ スケジュール決定方法、スケジューラ及びシステム
JP2013164750A (ja) * 2012-02-10 2013-08-22 Nomura Research Institute Ltd ジョブ実行管理システム
JP2013182502A (ja) * 2012-03-02 2013-09-12 Nec Corp リソース配分システム、リソース配分方法、及びリソース配分プログラム

Also Published As

Publication number Publication date
US11204805B2 (en) 2021-12-21
WO2018198745A1 (ja) 2018-11-01
US20210103472A1 (en) 2021-04-08
JP6753521B2 (ja) 2020-09-09

Similar Documents

Publication Publication Date Title
CA2657878C (en) Optimized multi-component co-allocation scheduling with advanced reservations for data transfers and distributed jobs
JP6447120B2 (ja) ジョブスケジューリング方法、データアナライザ、データ解析装置、コンピュータシステム及びコンピュータ可読媒体
US7979864B2 (en) Apparatus for setting used license of executing job into unused license state and allocating the set unused license to a to be executed job based on priority
EP2176751B1 (en) Scheduling by growing and shrinking resource allocation
JP4185103B2 (ja) 実行可能プログラムをスケジューリングするためのシステム及び方法
KR20110075297A (ko) 병렬도를 고려한 병렬 처리 장치 및 방법
CN111190712A (zh) 一种任务调度方法、装置、设备及介质
US20090158294A1 (en) Dynamic critical-path recalculation facility
Delgoshaei et al. An applicable method for modifying over-allocated multi-mode resource constraint schedules in the presence of preemptive resources
JP2007188523A (ja) タスク実行方法およびマルチプロセッサシステム
CN110389817B (zh) 多云系统的调度方法、装置和计算机可读介质
JP6753521B2 (ja) 計算資源管理装置、計算資源管理方法、及びプログラム
CN114385325A (zh) 深度学习自动调优任务优化
JP6156379B2 (ja) スケジューリング装置、及び、スケジューリング方法
CN108268316A (zh) 作业调度的方法及装置
JP6349837B2 (ja) スケジューラ装置及びそのスケジューリング方法、演算処理システム、並びにコンピュータ・プログラム
JP2009070264A (ja) 階層スケジューリング装置、階層スケジューリング方法及びプログラム
WO2021044810A1 (ja) コア割当装置及びコア割当方法
JP2009048358A (ja) 情報処理装置及びスケジューリング方法
JP2020190867A (ja) 構成変更型集積回路の割当システム、構成変更型集積回路の割当方法およびコンピュータプログラム
JP7237245B2 (ja) スケジューリング方法、および、スケジューリングシステム
AU2021106510A4 (en) A method of cpu scheduling performance analysis using markov chain modeling.
JP2008159019A (ja) プログラムの実行処理装置
JP6369257B2 (ja) 情報処理システム、情報処理システムの制御方法、管理装置、及び制御プログラム
JP3931883B2 (ja) ジョブスケジューリング方法、計算機システムおよびジョブスケジューリングプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191024

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191024

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200512

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200707

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: 20200721

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200803

R150 Certificate of patent or registration of utility model

Ref document number: 6753521

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150