JP2015148909A - 並列計算機システム、並列計算機システムの制御方法及び管理ノードの制御プログラム - Google Patents

並列計算機システム、並列計算機システムの制御方法及び管理ノードの制御プログラム Download PDF

Info

Publication number
JP2015148909A
JP2015148909A JP2014020807A JP2014020807A JP2015148909A JP 2015148909 A JP2015148909 A JP 2015148909A JP 2014020807 A JP2014020807 A JP 2014020807A JP 2014020807 A JP2014020807 A JP 2014020807A JP 2015148909 A JP2015148909 A JP 2015148909A
Authority
JP
Japan
Prior art keywords
job
allocation
emergency
execution
management table
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.)
Pending
Application number
JP2014020807A
Other languages
English (en)
Inventor
林 直樹
Naoki Hayashi
直樹 林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2014020807A priority Critical patent/JP2015148909A/ja
Priority to EP15152405.5A priority patent/EP2905703A1/en
Priority to US14/609,518 priority patent/US20150220361A1/en
Publication of JP2015148909A publication Critical patent/JP2015148909A/ja
Pending legal-status Critical Current

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/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/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/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/48Indexing scheme relating to G06F9/48
    • G06F2209/486Scheduler internals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5014Reservation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5021Priority

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Multi Processors (AREA)

Abstract

【課題】緊急ジョブの実行のために実行中ジョブをスワップアウトした際に生じる余剰資源を有効に利用すること。【解決手段】未来割り当てが行われた緊急ジョブを実行するためにスワップアウト処理を行う際に、資源割当部27が、緊急ジョブに計算機資源を仮割り当てし、ジョブ管理テーブル21及び割当管理テーブル22に仮割り当て情報を設定する。また、資源割当部27は、緊急ジョブ、スワップイン待ちジョブ、その他のジョブの順に仮割り当て情報に基づいてジョブのスケジューリングを行う。【選択図】図3

Description

本発明は、並列計算機システム、並列計算機システムの制御方法及び管理ノードの制御プログラムに関する。
複数の計算ノードでジョブを実行する並列計算機システムのジョブスケジューラは、実行の優先順位が高く、緊急に実行を行う必要がある緊急ジョブに割り当てる空き計算ノードの数が不十分な場合に、一般のジョブをスワップアウトすることにより緊急ジョブに優先的に計算ノードを割り当てる。
図14は、スワップアウトを説明するための図である。図14において、横軸は時間を示し、Nowは現時点を示す。縦軸は資源を示す。ここで、「資源」とは計算機資源であり、並列計算機の計算ノードである。図14に示すように、ジョブAとジョブBの実行中に緊急ジョブが投入されると、ジョブスケジューラは、緊急ジョブに資源を割り当てるため、ジョブAとジョブBをスワップアウトする。
また、緊急ジョブの要求する計算機資源の数よりスワップアウト対象の実行中ジョブの計算機資源の数が大きいと、スワップアウト時に余剰資源が生じる。ジョブスケジューラは、余剰資源を効率的に使用するため、後続のジョブへの余剰資源の割り当てを可能とする。ただし、無条件に割り当てを許可すると、割り当て対象のジョブの実行時間が長い場合に、スワップアウト済みのジョブのスワップインが遅延する可能性があるため、ジョブスケジューラは、遅延しない範囲で終了するジョブのみの割り当てを許可する。
特開平2−257337号公報 特開2009−75956号公報
しかしながら、ジョブスケジューラは余剰資源を有効に利用できないという問題がある。図15は、余剰資源の割り当てを説明するための図である。図15において、p1は、図14における現在時点すなわち緊急ジョブが投入された時点を示す。Nowは、緊急ジョブの実行を開始する時点を示す。p1からNowまでは、実行中のジョブのスワップアウトに要する時間である。t1は、スワップアウトされたジョブがスワップインされる時点を示す。矢印9は、余剰資源が使用可能な時間を示す。
図15に示すように、p1からNowまでは、余剰資源は利用されない。しかしながら、スワップアウトに要する時間は、ジョブが使用するメモリ量などに依存するため、ジョブによって異なる。したがって、ジョブBのスワップアウトに要する時間がジョブAのスワップアウトに要する時間より短く、Nowで示す時間よりも早く余剰資源が利用可能になっても、全部のジョブのスワップアウトが完了するまでは、余剰資源は利用されない。
本発明は、1つの側面では、スワップアウト時に生じる余剰資源を有効に利用する並列計算機システム、並列計算機システムの制御方法及び管理ノードの制御プログラムを提供することを目的とする。
本願の開示する並列計算機システムは、1つの態様において、複数の計算ノードと前記複数の計算ノードを制御する管理ノードとを有する。前記管理ノードは、実行スケジュール部と実行制御部とを有する。前記実行スケジュール部は、計算ノードの空き待ちの緊急ジョブに計算ノードを割り当てるために実行中のジョブをスワップアウトする際に、緊急ジョブに計算ノードを仮割り当てして他のジョブのスケジューリングを可能とする。そして、前記実行スケジュール部は、仮割り当て状態であることを示す仮割当情報を前記緊急ジョブ及び仮割り当てした計算ノードに設定する。また、前記実行スケジュール部は、ジョブのスケジューリングを行う際に、緊急ジョブ、スワップイン待ちジョブ、その他のジョブの順序で前記仮割当情報に基づいてスケジューリングを行う。また、実行制御部は、前記実行スケジュール部により行われたジョブのスケジューリングに基づいてジョブの実行を制御する。
1実施態様によれば、スワップアウト時に生じる余剰資源を有効に利用することができる。
図1は、実施例に係る並列計算機システムの構成を示す図である。 図2は、ジョブ管理ノードの機能構成を示す図である。 図3は、ジョブスケジューラの機能構成を示す図である。 図4は、管理テーブルの一例を示す図である。 図5は、仮割り当てが行われた時の管理テーブルの状態を示す図である。 図6は、ジョブBのスワップアウト完了時点の管理テーブルの状態を示す図である。 図7は、後続ジョブCが割り当てられた時点の管理テーブルの状態を示す図である。 図8は、ジョブAのスワップアウトが完了した時点の管理テーブルの状態を示す図である。 図9は、ジョブスケジューラによるスケジューリング処理のフローを示すフローチャートである。 図10は、管理テーブル初期化部による割当管理テーブル初期化処理のフローを示すフローチャートである。 図11は、資源割当部による資源割当処理のフローを示すフローチャートである。 図12は、割当結果設定部による割当結果設定処理のフローを示すフローチャートである。 図13は、実施例に係るジョブ管理プログラムを実行するコンピュータのハードウェア構成を示す図である。 図14は、スワップアウトを説明するための図である。 図15は、余剰資源の割り当てを説明するための図である。
以下に、本願の開示する並列計算機システム、並列計算機システムの制御方法及び管理ノードの制御プログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例は開示の技術を限定するものではない。
まず、実施例に係る並列計算機システムの構成について説明する。図1は、実施例に係る並列計算機システムの構成を示す図である。図1に示すように、並列計算機システム4は、ログインノード1と、ジョブ管理ノード2と、複数の計算ノード3とを有する。
ログインノード1は、ユーザからジョブ実行依頼を受け付ける端末装置である。ここでは、1台のログインノード1のみを示すが、並列計算機システム4は、負荷分散のために複数のログインノード1を有してもよい。ジョブ管理ノード2は、実行依頼を受けたジョブの実行時刻及び割り当て資源をスケジューリングする。ここで、割り当て資源は計算ノード3である。
計算ノード3は、CPU(Central Processing Unit)やメモリなどを有し、他の計算ノード3とともにジョブを並列で実行する。なお、図1では、計算ノード3が3次元ネットワークで接続される場合を示すが、一般に、計算ノード3は任意の次元のネットワークで接続される。
図2は、ジョブ管理ノード2の機能構成を示す図である。図2に示すように、ジョブ管理ノード2は、ジョブマネージャ10と、ジョブスケジューラ20と、資源管理部30とを有する。
ジョブマネージャ10は、ユーザから指定されたジョブを管理する。ジョブマネージャ10は、ログインノード1とネットワークを介して通信を行う。ジョブスケジューラ20は、計算機資源すなわち計算ノード3の空き状況を管理し、ジョブに割り当てる計算ノード3のスケジュールを決定する。資源管理部30は、ジョブの計算ノード3への割り当ての実行を制御する。
次に、ジョブスケジューラ20の機能構成について説明する。図3は、ジョブスケジューラ20の機能構成を示す図である。図3に示すように、ジョブスケジューラ20は、ジョブ管理テーブル21と、割当管理テーブル22と、割当前ジョブ管理テーブル23と、実行待ジョブ管理テーブル24と、実行中ジョブ管理テーブル25とを有する。また、ジョブスケジューラ20は、管理テーブル初期化部26と、資源割当部27と、割当結果設定部28とを有する。
ジョブ管理テーブル21は、ユーザから受け付けたジョブの情報を管理するためのテーブルであり、種別、優先度、要求資源、経過時間制限値、状態、仮割り当てフラグなどジョブについてスケジューリングに必要な情報を記憶する。
ここで、種別には、シリアルに実行されるジョブのうちの1つであることを示す「ステップジョブ」、ユーザと対話を行いながら実行されるジョブを示す「対話型ジョブ」、通常のジョブを示す「通常ジョブ」などがある。優先度は、ジョブの実行を優先的に行う程度を示す。緊急ジョブの優先度は最も高く設定される。
要求資源は、ジョブが要求する計算ノード3の次元及び数を示す。ジョブが要求する計算ノード3の次元が2である場合には、長方形を形成する計算ノード3が割り当てられ、ジョブが要求する計算ノード3の次元が3である場合には、直方体を形成する計算ノード3が割り当てられる。
経過時間制限値は、ジョブの実行時間の最大値を示す。実行時間が経過時間制限値を超えたジョブは、終了させられる。状態は、ジョブの実行状態を示す。状態には、計算ノード3が割り当てられる前の状態を示す「割当前」、計算ノード3が割り当てられて実行待ちの状態を示す「実行待」、実行中であることを示す「実行中」、スワップアウトされた状態であることを示す「スワップアウト中」などがある。仮割り当てフラグは、ジョブに計算ノード3が仮割り当てされた場合に設定される。なお、仮割り当てフラグの詳細については後述する。
割当管理テーブル22は、計算ノード3へのジョブの割り当て状況を記録するテーブルである。並列計算機システム4では、計算ノード3が3次元ネットワークで接続されているので、割当管理テーブル22も3次元となる。また、割当管理テーブル22は、計算ノード3がジョブに仮割り当てされたことを示す仮割り当てフラグを有する。なお、割当管理テーブル22が有する仮割り当てフラグの詳細についても後述する。
割当前ジョブ管理テーブル23は、計算ノード3が割り当てられる前のジョブを記憶するテーブルであり、実行待ジョブ管理テーブル24は、計算ノード3が割り当てられて実行待ちのジョブを記憶するテーブルである。実行中ジョブ管理テーブル25は、実行中のジョブを記憶するテーブルである。割当前ジョブ管理テーブル23と、実行待ジョブ管理テーブル24と、実行中ジョブ管理テーブル25は、ジョブの情報としてジョブ管理テーブル21へのポインタを記憶する。
管理テーブル初期化部26は、割当管理テーブル22を初期化する。管理テーブル初期化部26は、ジョブスケジューラ20によってスケジュールが開始されるときと、計算機資源に変更があったときに起動される。ここで、計算機資源に変更があったときとは、ジョブが完了したときやスワップアウトが完了したときなど再スケジューリングが必要になったときである。すなわち、割当管理テーブル22は、再スケジューリング時に初期化される。
資源割当部27は、割当管理テーブル22を検索してジョブに計算ノード3を割り当てる。資源割当部27は、ジョブの優先度に基づいて計算ノード3の割り当てを行う。また、資源割当部27は、緊急ジョブ、スワップイン待ちジョブ、その他の一般ジョブの順に計算ノード3を割り当てる。すなわち、スワップイン待ちジョブは、緊急ジョブがスケジュールされない限りスケジュールされない。また、一般ジョブは、緊急ジョブ及びスワップイン待ちジョブがスケジュールされない限りスケジュールされない。ただし、緊急ジョブに対して計算ノード3が仮割り当てされると、スワップイン待ちジョブや一般ジョブのスケジューリングが可能となる。
また、資源割当部27は、ジョブ管理テーブル21及び割当管理テーブル22が有する仮割り当てフラグに基づいてジョブスケジューリングを行うが、仮割り当てフラグに基づくジョブスケジューリングの詳細については後述する。
割当結果設定部28は、ジョブの割り当て結果に基づく設定処理を行う。具体的には、割当結果設定部28は、ジョブの割り当て結果に基づいて、実行待ジョブ管理テーブル24と実行中ジョブ管理テーブル25の設定を行う。
なお、ジョブスケジューラ20は、実行中ジョブ→未実行のジョブの順に計算ノード3の割り当てを行う。ジョブスケジューラ20は、実行中ジョブを実行中ジョブ管理テーブル25から取得し、未実行のジョブを割当前ジョブ管理テーブル23から取得する。割り当て後の実行待ちジョブは、割当前ジョブ管理テーブル23から実行待ジョブ管理テーブル24に移され、実行が開始されたジョブは実行中ジョブ管理テーブル25に移される。また、割当管理テーブル22に割り当てされた計算ノード3のうち、実行中ジョブに割り当てられた計算ノード3は変更されないが、実行中でないジョブについては割り当てられた計算ノード3の変更が可能である。
次に、ジョブスケジューラ20による計算ノード3の仮割り当てについて説明する。ジョブスケジューラ20は、緊急ジョブに計算ノード3を割り当てる場合に、他の実行中ジョブによって計算ノード3に空きがないときは、スワップアウトを行う。そして、ジョブスケジューラ20は、スワップアウトによって即時実行が可能となる緊急ジョブの割り当て予定計算ノード3をスワップアウト対象ジョブの決定時点で仮割り当てする。
ここで、ジョブスケジューラ20は、仮割り当てにともなって、割当管理テーブル22及びジョブ管理テーブル21の仮割り当てフラグを設定する。そして、ジョブスケジューラ20は、ジョブへの計算ノード3の割り当て処理において仮割り当てされている計算ノード3を以下のように扱う。
・仮割り当てを行ったジョブ以外に対しては、当該計算ノード3を割り当てない。
・仮割り当てを行ったジョブに対しては、仮割り当てされた計算ノード3を割り当てることができる。すなわち、ジョブスケジューラ20は、仮割り当てされた計算ノード3を仮割り当てを行ったジョブに対し「割り当て済み」の状態に遷移することができる。
ただし、ジョブスケジューラ20は、ある計算ノード3について仮割り当てを行ったジョブに対してその他の計算ノード3を割り当てることはできる。ジョブスケジューラ20は、仮割り当てされた計算ノード3の割り当てを行った場合、仮割り当てを解除する。
また、ジョブスケジューラ20は、仮割り当てで予約した計算ノード3については、まだスワップアウトされていない実行中ジョブの使用計算ノード3との重複割り当てを行うことができる。割り当てを行うためには既に割り当てが行われている計算ノード3が空かないといけないが、ジョブスケジューラ20は、空いていない計算ノード3に対して重複して仮割り当てを行う。
そして、ジョブスケジューラ20は、緊急ジョブのためにスワップアウトを行っている全てのジョブのスワップアウト処理が完了していなくてもスケジューリングを継続する。そして、ジョブスケジューラ20は、割り当て済みでなく、仮割り当てもされていない計算ノード3を空き資源として、後続のジョブに割り当てる。
以下、図4〜図8を用いて仮割り当て及び仮割り当てに基づくジョブスケジュールについて説明する。図4は、管理テーブルの一例を示す図である。ここで、管理テーブルとは、ジョブ管理テーブル21、割当管理テーブル22、割当前ジョブ管理テーブル23、実行待ジョブ管理テーブル24及び実行中ジョブ管理テーブル25の総称である。また、図4〜図8において、説明の便宜上計算ノード3は1次元に5個、計算機資源1〜計算機資源5として配置される。
図4に示すように、ジョブAとジョブBは、実行中であり、実行中ジョブ管理テーブル25に登録される。ジョブCは、割り当てされ実行待ちであり、実行待ジョブ管理テーブル24に登録される。ジョブDは、投入され割り当て処理待ちのジョブであり、割当前ジョブ管理テーブル23に登録される。
資源割当部27は、各計算ノード3について、ジョブの開始時刻とその実行経過時間制限値より算出された終了予定時刻までを使用中として割当管理テーブル22に記録する。割当管理テーブル22は、計算機資源量すなわち計算ノード3の数が変わる時点ごとに作成される。
なお、以下では、割当管理テーブル22の各時点での割り当て状況を、タイムマップと呼ぶこととする。タイムマップにおいて、16進数の「01」すなわち「0x01」は、計算ノード3にジョブが割り当てられていることを示し、16進数の「00」すなわち「0x00」は、計算ノード3にジョブが割り当てられていないことを示す。
開始時刻とその実行経過時間制限値よりジョブAが終了して計算機資源1及び計算機資源2を解放する予定時間はt2である。同様に、ジョブBが計算機資源3〜計算機資源5を解放する予定時間はt1である。ジョブCは、実行中ジョブによって現在は割り当てられないため、実行中ジョブが終了して計算機資源が解放される時刻以降で未来割り当て予約される。図4の例では、割り当てイメージに示すように、ジョブCはt1からt3で割り当てられる。
現在時刻NowにおいてはジョブAとジョブBは実行中であるため、Nowのタイムマップでは、いずれの計算機資源も割り当て中であると設定される。Nowの次の資源変更時刻はt1であり、t1のタイムマップでは、ジョブBが解放された状態が設定される。t1の次の資源変更予定時刻t2のタイムマップでは、ジョブAも解放された状態が設定される。ジョブCはその後の割り当てによってt1のタイムマップに追加され、t3のタイムマップでジョブCに割り当てられた資源が解放されるが、その間にt2のタイムマップが存在するため、t2にもジョブCに割り当てられた状態が設定される。
このように、計算機資源の空きはタイムマップで示される各時刻において「0x00」となっている部分で管理される。ジョブDに対する割り当ては、この空きを用いて行われる。
緊急ジョブが投入された場合、ジョブスケジューラ20は、再スケジューリングを行い、緊急ジョブを最も最優先で割り当てできるように処理を行う。割当管理テーブル22の現在時刻Nowのタイムマップの計算機資源の空きが十分でなく、緊急ジョブが未来の割り当てとなるような場合には、ジョブスケジューラ20は、緊急ジョブの要求計算機資源を確保するための処理を行う。すなわち、ジョブスケジューラ20は、スワップアウトによる停止対象とする実行中のジョブを検索して決定し、スワップアウトを行う。
ジョブスケジューラ20は、スワップアウトが完了して計算機資源が空いたという前提で緊急ジョブが割り当てされる予定の資源について仮割り当てを実施する。仮割り当ての資源確保は、現在時刻より緊急ジョブの実行経過時間制限値までの時刻にスワップアウト処理で必要とする所要時間を加算した時刻までである。図4で示す状況で緊急ジョブが投入された場合、割り当て予定となっていたジョブCは、緊急ジョブの割り当て後に再度スケジューリングされる。
図5は、緊急ジョブ投入によってスワップアウト対象ジョブが決定され、仮割り当てが行われた時の管理テーブルの状態を示す図である。ジョブスケジューラ20は、仮割り当てを実施した緊急ジョブについてジョブ管理テーブル21の仮割り当てフラグ31を「ON」に設定する。
仮割り当ては、他の割り当てとは異なり、スワップアウトが完了していない実行中ジョブとの重複した割り当てを可能とする。仮割り当ては現在時刻からの割り当てが前提であるため、ジョブスケジューラ20は、割当管理テーブル22の現在時刻Nowのタイムマップから割り当て中表示を設定するが、仮割り当てにおいては通常の割り当てと区別がつくように別表示を設定する。ここでは、ジョブスケジューラ20は、仮割り当て前の計算ノード3の割り当て状況と「0x10」で論理和をとる。これによって、重複した計算機資源の割り当て中表示は「0x11」となり、他の割り当てとの判別が可能となる。
ジョブスケジューラ20は、緊急ジョブの割り当て時に、仮割り当てフラグ31が設定されている場合には、当該ジョブへの計算機資源割り当て時に限り、自分自身の仮割り当てによって割り当てができないことのないように、仮割り当てした計算機資源を解除する。ジョブスケジューラ20は、仮割り当て解除のために割当管理テーブル22から「0x00」を取り外すことで重複した計算機資源の割り当て中表示は残すことができる。仮割り当ての解除は緊急ジョブ単位に実施することで、ジョブスケジューラ20は、複数の緊急ジョブの仮割り当てがある場合でも、他の緊急ジョブの仮割り当てを解除することはない。
ジョブスケジューラ20は、空き資源の検索においては通常の検索と同様に割当管理テーブル22の割り当て中表示が「0x00」であることを判定すればよい。検索の結果、現在割り当てができれば、ジョブスケジューラ20は、実行を開始するようにスケジューリングし、仮割り当てフラグ31の設定を解除して、仮割り当て情報を解放する。一方、現在割り当てができなかった場合(未来割り当てとなった場合)、ジョブスケジューラ20は、解除した仮割り当てを復元する。
ジョブスケジューラ20は、割り当ての結果、緊急ジョブを割当前管理テーブル23から実行待管理テーブル24に移動するが、仮割り当てフラグ31が設定されるジョブは実行を開始しないように制御する。これによって、ジョブスケジューラ20は、仮割り当てを現在時刻Nowから行っても、架空のジョブが実際の資源を使用して実行されることを防止する。この結果、計算機資源が仮割り当てされた緊急ジョブは、未実行であるため、実行待管理テーブル24に保持される。
なお、ジョブスケジューラ20は、仮割り当てされた緊急ジョブを再スケジューリングすることはないが、再スケジューリング処理が行われるたびに現在時刻Nowより緊急ジョブを割り当てし直してもよい。この場合には、ジョブスケジューラ20は、仮割り当ての資源確保に現在時刻より緊急ジョブの実行経過時間制限値までの時刻にスワップアウト処理で必要とする所要時間を加算する必要がない。しかし、ジョブスケジューラ20は、再スケジューリング毎の時間経過とともに図5に示す緊急ジョブ終了時刻t4を増やしていく必要がある。スワップアウト処理で必要とする所要時間を加算しt4の時刻を固定するほうが、スワップアウトによる余剰資源での実行可能時間をより大きくとることができ、後続のジョブのスケジューリングにおいて、割り当て可能な期間が増える。
仮割り当てが完了した後、ジョブスケジューラ20は、ジョブA及びジョブBのスワップアウトを開始する。ジョブスケジューラ20は、この時点で緊急ジョブの割り当てを完了していないが、後続のジョブのスケジューリングを継続する。ジョブスケジューラ20は、実行中ジョブを実行中管理テーブル25より取得し、割当前管理テーブル23及び実行待管理テーブル24より緊急ジョブ(仮割り当て)、スワップイン待ちジョブ、通常ジョブの順にジョブを取得し、割当管理テーブル22を再作成する。
図6は、ジョブBのスワップアウト完了時点の管理テーブルの状態を示す図である。複数のジョブのスワップアウト処理は並行して処理されるが、スワップアウト完了はジョブの規模やメモリによって異なるため、全てのジョブのスワップアウトが同時に完了するわけではない。ジョブスケジューラ20は、スワップアウト済みのジョブをスワップイン待ちジョブとして通常のジョブと同様に割り当てを行う。
ただし、スワップイン後に実行を再開したジョブが終了して計算機資源を解放する予定時刻は、スワップアウトまでに実行した時間を実行経過時間制限値から減算した値をもとに算出される。図6では、ジョブBは、t4に実行が再開され、t5に実行が終了する予定である。
ジョブスケジューラ20は、スワップイン待ちジョブに対しては、緊急ジョブ終了後に速やかにスワップインするために緊急ジョブの次に高い優先度で再割り当てを実施する。仮割り当てで緊急ジョブの実行資源が予約され、スワップイン待ちジョブの割り当て予定も設定されるため、その後、ジョブスケジューラ20は、通常ジョブについて割り当てを行う。
図7は、図6に示した状態の後、後続ジョブのスケジューリングによって、後続ジョブCが割り当てられた時点の管理テーブルの状態を示す図である。割り当てが完了したジョブCは、実行待管理テーブル24に設定されるが、現在時刻Nowより開始のため実行開始され、実行中管理テーブル25に移される。この後ジョブDの割り当て処理が行われる。
仮にジョブCの実行予定時間が(t4−Now)より大きい場合には、計算機資源5のNowからのジョブCの割り当ては行われず、t4以降の計算機資源で未来割り当てが行われる。スワップアウトによって発生している余剰計算機資源は、計算機資源5の現在時刻Nowよりt4までの間であり、実行予定時間が(t4−Now)より小さいジョブのみ割り当てが可能である。本資源の範囲で実行されるジョブは、スワップイン待ちのジョブを遅延させることはない。緊急ジョブが実行を開始した後に、キャンセルなどで予定より早く緊急ジョブが終了した場合には、ジョブCが実行中のためにジョブBはスワップインできないが、当初のスワップイン予定を遅延させるものではない。
図8は、ジョブAのスワップアウトが完了した時点の管理テーブルの状態を示す図である。ジョブAは、スワップアウトによって実行中でなくなるため、スワップイン待ちとして実行待管理テーブル23に設定される。
割当管理テーブル22の再設定では、まず実行中ジョブCと緊急ジョブEの仮割り当てが設定される。その後緊急ジョブEの割り当てのために、ジョブスケジューラ20は、緊急ジョブEの仮割り当てを解除する。解除の結果、計算機資源には緊急ジョブEを割り当てできる空きがあるため、現在時刻Nowより割り当てが行われ、仮割り当てフラグ31の設定が解除され、緊急ジョブEは実行待管理テーブル24に設定される。ジョブスケジューラ20は、当該緊急ジョブEの割り当て結果の設定処理によって実行待管理テーブル24から緊急ジョブEを取り出して実行を開始する。
仮割り当てが決定した時刻p1に対してジョブスワップ処理などにより緊急ジョブEの割り当てが完了する現在時刻Nowまでには時間を要することがある。従来処理においては、緊急ジョブEの割り当てが完了するまでスワップアウトによる余剰資源である計算機資源5については、Nowまでの間割り当てができないことになるが、本処理によってより早い時刻p2から余剰資源としての利用が可能となる。
次に、ジョブスケジューラ20によるスケジューリング処理のフローについて説明する。図9は、ジョブスケジューラ20によるスケジューリング処理のフローを示すフローチャートである。図9に示すように、ジョブスケジューラ20は、まず、ジョブ管理テーブル21、割当前ジョブ管理テーブル23、実行待ジョブ管理テーブル24及び実行中ジョブ管理テーブル25を初期化する(ステップS1)。
そして、ジョブスケジューラ20は、計算機資源状態の情報を資源管理部30からジョブマネージャ10を介して取得し(ステップS2)、割当管理テーブル22を初期化する割当管理テーブル初期化処理を行う(ステップS3)。
そして、ジョブスケジューラ20は、ジョブ投入や計算機資源変更の通知を待つ(ステップS4)。ここで、計算機資源変更は、ジョブの実行が完了したとき、スワップアウトが完了したとき、計算ノード3が故障したとき、計算ノード3が故障から復帰したときなどに通知される。
そして、ジョブが投入されると(ステップS5、Yes)、ジョブスケジューラ20は、投入されたジョブの情報をジョブ管理テーブル21に追加し(ステップS6)、投入されたジョブを割当前ジョブ管理テーブル23に追加する(ステップS7)。
また、計算機資源に変更があると(ステップS8、Yes)、ジョブスケジューラ20は、割当管理テーブル初期化処理を実行する(ステップS9)。
そして、ジョブスケジューラ20は、ジョブに資源割り当てを行う資源割当処理を実行し(ステップS10)、ステップS4に戻って、ジョブ投入や計算機資源変更の通知を待つ。
このように、ジョブスケジューラ20は、計算機資源に変更があると資源割当処理を実行することによって、計算機資源の状態に適したジョブスケジューリングを行うことができる。
次に、管理テーブル初期化部26による割当管理テーブル初期化処理のフローについて説明する。図10は、管理テーブル初期化部26による割当管理テーブル初期化処理のフローを示すフローチャートである。
図10に示すように、管理テーブル初期化部26は、割当管理テーブル22があれば解放し(ステップS21)、実行中ジョブがあるか否かを判定する(ステップS22)。その結果、実行中ジョブがある場合には、実行中ジョブを割当結果として割当管理テーブル22に設定し(ステップS23)、割当結果設定部28に通知する(ステップS24)。
そして、管理テーブル初期化部26は、緊急ジョブがあり、かつ仮割り当てフラグ31が設定されているか否かを判定し(ステップS25)、緊急ジョブがあり、かつ仮割り当てフラグ31が設定されている場合には、仮割当情報を割当管理テーブル22に設定する(ステップS26)。
そして、管理テーブル初期化部26は、未実行ジョブを割当前ジョブ管理テーブル23に設定する(ステップS27)。ここで、管理テーブル初期化部26は、スワップイン待ちジョブすなわちスワップアウトが完了したジョブも割当前ジョブ管理テーブル23に設定する。
このように、管理テーブル初期化部26は、仮割り当てされた緊急ジョブを割当管理テーブル22に設定して再スケジューリングを行うので、仮割り当てされた緊急ジョブを繰り返し再スケジューリングすることを防ぐことができる。
次に、資源割当部27による資源割当処理のフローについて説明する。図11は、資源割当部27による資源割当処理のフローを示すフローチャートである。図11に示すように、資源割当部27は、割当前ジョブ管理テーブル23と実行待ジョブ管理テーブル24を割当前ジョブ管理テーブル23にまとめ、優先度に従ってジョブをソートする(ステップS41)。ここで、緊急ジョブは最優先される。
そして、資源割当部27は、割当前ジョブ管理テーブル23の先頭から1つジョブを取り出し、取り出したジョブが緊急ジョブであり、かつ仮割り当てフラグが設定されているか否かを判定する(ステップS42)。その結果、取り出したジョブが緊急ジョブであり、かつ仮割り当てフラグが設定されている場合には、資源割当部27は、割当管理テーブル22から当該緊急ジョブの仮割り当てを解除する(ステップS43)。割当管理テーブル22から当該緊急ジョブの仮割り当てを解除することによって、資源割当部27は、緊急ジョブに仮割り当てされた計算機資源を当該緊急ジョブに割り当てることができる。
そして、資源割当部27は、割当管理テーブル22の空きを検索し(ステップS44)、割り当てようとするジョブが緊急ジョブであり、かつ未来割り当てであるか否かを判定する(ステップS45)。その結果、割り当てようとするジョブが緊急ジョブでないか、又は緊急ジョブの現在割り当てである場合には、資源割当部27は、仮割り当てフラグ31が設定されていればクリアする(ステップS46)。その理由は、緊急ジョブの現在割り当てである場合には、緊急ジョブの実行が開始されるので、仮割り当ては不要となるためである。
そして、資源割当部27は、検索結果に基づいて割当管理テーブル22に割当情報を設定し(ステップS47)、割当前ジョブ管理テーブル23から当該ジョブを抜く(ステップS48)。そして、資源割当部27は、割当結果設定処理に通知し(ステップS49)、未処理のジョブがあるか否かを判定する(ステップS50)。その結果、未処理のジョブがある場合には、資源割当部27は、次のジョブに計算機資源を割り当てるためステップS42に戻り、未処理のジョブがない場合には、処理を終了する。
一方、割り当てようとするジョブが緊急ジョブであり、かつ未来割り当てである場合には、資源割当部27は、仮割り当てフラグ31が設定されているか否かを判定する(ステップS51)。その結果、仮割り当てフラグ31が設定されていない場合には、仮割り当てを行う場合であるので、資源割当部27は、スワップアウト対象ジョブを検索する(ステップS52)。そして、資源割当部27は、スワップアウト対象ジョブがあるか否かを判定し(ステップS53)、スワップアウト対象ジョブがない場合には、仮割り当てを行うことなく、ステップS47へ移動する。
一方、スワップアウト対象ジョブがある場合には、仮割り当てを行う場合であるので、資源割当部27は、仮割り当てフラグ31を設定し(ステップS54)、スワップアウト対象ジョブに対して、スワップアウト処理を行う(ステップS55)。そして、資源割当部27は、割当管理テーブル22に仮割り当ての情報を設定し(ステップS56)、ステップS48へ移動する。
一方、仮割り当てフラグ31が設定されている場合(ステップS51、Yes)には、緊急ジョブに対して仮割り当てはすでに行われている場合であるので、ステップS56に進む。
このように、資源割当部27は、未来割り当ての緊急ジョブに対して仮割り当てを行うことによって、緊急ジョブが実行される前に、スワップアウトが終了した余剰資源に対して他のジョブを割り当てることができる。
次に、割当結果設定部28による割当結果設定処理のフローについて説明する。図12は、割当結果設定部28による割当結果設定処理のフローを示すフローチャートである。図12に示すように、割当結果設定部28は、割当結果の通知及び実行開始時刻を待つ(ステップS61)。ここで、実行開始時刻は、最も早く実行が開始されるジョブの開始時刻である。
そして、割当結果設定部28は、割当結果の通知を受けたジョブが実行中ジョブであるか否かを判定し(ステップS62)、実行中ジョブである場合には、通知を受けたジョブを実行中ジョブ管理テーブル25に追加する(ステップS63)。そして、割当結果設定部28は、実行開始時刻となったジョブがあるか否かを判定し(ステップS64)、実行開始時刻となったジョブがない場合には、ステップS61に戻って、割当結果の通知及び実行開始時刻を待つ。
一方、実行開始時刻となったジョブがある場合には、割当結果設定部28は、実行開始時刻となったジョブがスワップインジョブであるか否かを判定する(ステップS68)。その結果、スワップインジョブでない場合には、割当結果設定部28は、ジョブ実行開始処理を行い(ステップS69)、実行を開始したジョブを実行待ジョブ管理テーブル24から抜く(ステップS70)。一方、スワップインジョブである場合には、割当結果設定部28は、スワップイン処理を行い(ステップS71)、スワップインしたジョブを実行待ジョブ管理テーブル24から抜く(ステップS70)。
また、割当結果の通知を受けたジョブが実行中ジョブでない場合(ステップS62、No)には、割当結果設定部28は、実行待ちジョブであるか否かを判定し(ステップS65)、実行待ちジョブでない場合には、ステップS64へ進む。一方、実行待ちジョブである場合には、割当結果設定部28は、割当結果の通知を受けたジョブを実行待ジョブ管理テーブル24に追加する(ステップS66)。そして、割当結果設定部28は、実行待ジョブ管理テーブル24で最も早く実行予定のジョブを実行開始時刻待ちとして設定し(ステップS67)、ステップS64へ移動する。なお、割当結果設定部28は、仮割り当てジョブは実行開始時刻待ちとして設定しない。
このように、ジョブの割当結果が通知されると、割当結果設定部28が実行中ジョブ管理テーブル25及び実行待ジョブ管理テーブル24を更新することによって、ジョブスケジューラ20はジョブの実行を管理することができる。
上述してきたように、実施例では、未来割り当てが行われた緊急ジョブを実行するためにスワップアウト処理を行う際に、資源割当部27が、緊急ジョブに計算機資源を仮割り当てし、ジョブ管理テーブル21及び割当管理テーブル22に仮割り当て情報を設定する。したがって、資源割当部27は、緊急ジョブの実行が開始される前に緊急ジョブ以外のジョブをスケジュールすることができ、実行中ジョブのスワップアウトにより生じる余剰資源を有効に利用することができる。
また、資源割当部27は、緊急ジョブ、スワップイン待ちジョブ、その他のジョブの順に仮割り当て情報に基づいてジョブのスケジューリングを行う。したがって、資源割当部27は、余剰資源を利用するジョブによるスワップイン待ちジョブの実行遅延を防ぐことができる。すなわち、ジョブスケジューラ20は、スワップアウトされたジョブが使用していた計算機資源の中で緊急ジョブの割り当て余剰資源を後続のジョブに割り当てる場合、緊急ジョブの終了予定時刻の超過判断を行わなくてもスワップイン遅延防止を実現できる。また、スワップアウト済みジョブが使用していた計算機資源に対する緊急ジョブの管理も不要である。
また、実施例では、資源割当部27は、仮割り当てした緊急ジョブのスケジューリングを行う場合に、仮割り当て情報の設定を解除してスケジューリングを行う。したがって、資源割当部27は、仮割り当てされた計算機資源を仮割り当てした緊急ジョブに割り当てることができる。
また、実施例では、管理テーブル初期化部26は、再スケジュールの際に、仮割り当てされた緊急ジョブのスケジュールは変更しないで割当管理テーブル22に設定する。したがって、ジョブスケジューラ20は、緊急ジョブの仮割り当てを効率良く行うことができる。
なお、実施例では、ジョブ管理ノード2について説明したが、ジョブ管理ノード2が有する構成をソフトウェアによって実現することで、同様の機能を有するジョブ管理プログラムを得ることができる。そこで、ジョブ管理プログラムを実行するコンピュータについて説明する。
図13は、実施例に係るジョブ管理プログラムを実行するコンピュータのハードウェア構成を示す図である。図13に示すように、コンピュータ5は、メインメモリ41と、CPU42と、LAN(Local Area Network)インタフェース43と、HDD(Hard Disk Drive)44とを有する。また、コンピュータ5は、スーパーIO(Input Output)45と、DVI(Digital Visual Interface)46と、ODD(Optical Disk Drive)47とを有する。
メインメモリ41は、プログラムやプログラムの実行途中結果などを記憶するメモリである。CPU42は、メインメモリ41からプログラムを読み出して実行する中央処理装置である。CPU42は、メモリコントローラを有するチップセットを含む。
LANインタフェース43は、コンピュータ5をLAN経由で他のコンピュータに接続するためのインタフェースである。HDD44は、プログラムやデータを格納するディスク装置であり、スーパーIO45は、マウスやキーボードなどの入力装置を接続するためのインタフェースである。DVI46は、液晶表示装置を接続するインタフェースであり、ODD47は、DVDの読み書きを行う装置である。
LANインタフェース43は、PCIエクスプレスによりCPU42に接続され、HDD44及びODD47は、SATA(Serial Advanced Technology Attachment)によりCPU42に接続される。スーパーIO45は、LPC(Low Pin Count)によりCPU42に接続される。
そして、コンピュータ5において実行されるジョブ管理プログラムは、DVDに記憶され、ODD47によってDVDから読み出されてコンピュータ5にインストールされる。あるいは、ジョブ管理プログラムは、LANインタフェース43を介して接続された他のコンピュータシステムのデータベースなどに記憶され、これらのデータベースから読み出されてコンピュータ5にインストールされる。そして、インストールされたジョブ管理プログラムは、HDD44に記憶され、メインメモリ41に読み出されてCPU42によって実行される。
また、実施例では、計算ノード3が3次元又は1次元に配置される場合について説明したが、本発明はこれに限定されるものではなく、例えば計算ノード3が6次元に配置される場合など任意の次元に配置される場合にも同様に適用することができる。
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)複数の計算ノードと前記複数の計算ノードを制御する管理ノードとを有する並列計算機システムにおいて、
前記管理ノードは、
計算ノードの空き待ちの緊急ジョブに計算ノードを割り当てるために実行中のジョブをスワップアウトする際に、緊急ジョブに計算ノードを仮割り当てして他のジョブのスケジューリングを可能とするとともに、仮割り当て状態であることを示す仮割当情報を前記緊急ジョブ及び仮割り当てした計算ノードに設定し、ジョブのスケジューリングを行う際に、緊急ジョブ、スワップイン待ちジョブ、その他のジョブの順序で前記仮割当情報に基づいてスケジューリングを行う実行スケジュール部と、
前記実行スケジュール部により行われたジョブのスケジューリングに基づいてジョブの実行を制御する実行制御部と
を有することを特徴とする並列計算機システム。
(付記2)前記実行スケジュール部は、仮割り当てした緊急ジョブのスケジューリングを行う場合に、計算ノードに設定した前記仮割り当て状態を解除してスケジューリングを行うことを特徴とする付記1記載の並列計算機システム。
(付記3)前記実行スケジュール部は、再スケジュールの際に、仮割り当てしたジョブのスケジュールは変更しないことを特徴とする付記1又は2記載の並列計算機システム。
(付記4)前記実行スケジュール部は、再スケジュールの際に、仮割り当てしたジョブについても再度スケジューリングを行うことを特徴とする付記1又は2記載の並列計算機システム。
(付記5)複数の計算ノードと前記複数の計算ノードを制御する管理ノードとを有する並列計算機システムの制御方法において、
前記管理ノードが、
計算ノードの空き待ちの緊急ジョブに計算ノードを割り当てるために実行中のジョブをスワップアウトする際に、緊急ジョブに計算ノードを仮割り当てして他のジョブのスケジューリングを可能とするとともに、仮割り当て状態であることを示す仮割当情報を前記緊急ジョブ及び仮割り当てした計算ノードに設定し、ジョブのスケジューリングを行う際に、緊急ジョブ、スワップイン待ちジョブ、その他のジョブの順序で前記仮割当情報に基づいてスケジューリングを行い、
行ったジョブのスケジューリングに基づいてジョブの実行を制御する
ことを特徴とする並列計算機システムの制御方法。
(付記6)複数の計算ノードを制御する管理ノードの制御プログラムにおいて、
前記管理ノードに、
計算ノードの空き待ちの緊急ジョブに計算ノードを割り当てるために実行中のジョブをスワップアウトする際に、緊急ジョブに計算ノードを仮割り当てして他のジョブのスケジューリングを可能とするとともに、仮割り当て状態であることを示す仮割当情報を前記緊急ジョブ及び仮割り当てした計算ノードに設定し、ジョブのスケジューリングを行う際に、緊急ジョブ、スワップイン待ちジョブ、その他のジョブの順序で前記仮割当情報に基づいてスケジューリングを行い、
行ったスケジューリングに基づいてジョブの実行を制御する
処理を実行させることを特徴とする管理ノードの制御プログラム。
(付記7)複数の計算ノードを制御する制御プログラムを記憶したコンピュータ読み取り可能記憶媒体において、
コンピュータに、
計算ノードの空き待ちの緊急ジョブに計算ノードを割り当てるために実行中のジョブをスワップアウトする際に、緊急ジョブに計算ノードを仮割り当てして他のジョブのスケジューリングを可能とするとともに、仮割り当て状態であることを示す仮割当情報を前記緊急ジョブ及び仮割り当てした計算ノードに設定し、ジョブのスケジューリングを行う際に、緊急ジョブ、スワップイン待ちジョブ、その他のジョブの順序で前記仮割当情報に基づいてスケジューリングを行い、
行ったスケジューリングに基づいてジョブの実行を制御する
処理を実行させることを特徴とする制御プログラムを記憶したコンピュータ読み取り可能記憶媒体。
1 ログインノード
2 ジョブ管理ノード
3 計算ノード
4 並列計算機システム
5 コンピュータ
9 矢印
10 ジョブマネージャ
20 ジョブスケジューラ
21 ジョブ管理テーブル
22 割当管理テーブル
23 割当前ジョブ管理テーブル
24 実行待ジョブ管理テーブル
25 実行中ジョブ管理テーブル
26 管理テーブル初期化部
27 資源割当部
28 割当結果設定部
30 資源管理部
31 仮割り当てフラグ
41 メインメモリ
42 CPU
43 LANインタフェース
44 HDD
45 スーパーIO
46 DVI
47 ODD

Claims (6)

  1. 複数の計算ノードと前記複数の計算ノードを制御する管理ノードとを有する並列計算機システムにおいて、
    前記管理ノードは、
    計算ノードの空き待ちの緊急ジョブに計算ノードを割り当てるために実行中のジョブをスワップアウトする際に、緊急ジョブに計算ノードを仮割り当てして他のジョブのスケジューリングを可能とするとともに、仮割り当て状態であることを示す仮割当情報を前記緊急ジョブ及び仮割り当てした計算ノードに設定し、ジョブのスケジューリングを行う際に、緊急ジョブ、スワップイン待ちジョブ、その他のジョブの順序で前記仮割当情報に基づいてスケジューリングを行う実行スケジュール部と、
    前記実行スケジュール部により行われたジョブのスケジューリングに基づいてジョブの実行を制御する実行制御部と
    を有することを特徴とする並列計算機システム。
  2. 前記実行スケジュール部は、仮割り当てした緊急ジョブのスケジューリングを行う場合に、計算ノードに設定した前記仮割り当て状態を解除してスケジューリングを行うことを特徴とする請求項1記載の並列計算機システム。
  3. 前記実行スケジュール部は、再スケジュールの際に、仮割り当てしたジョブのスケジュールは変更しないことを特徴とする請求項1又は2記載の並列計算機システム。
  4. 前記実行スケジュール部は、再スケジュールの際に、仮割り当てしたジョブについても再度スケジューリングを行うことを特徴とする請求項1又は2記載の並列計算機システム。
  5. 複数の計算ノードと前記複数の計算ノードを制御する管理ノードとを有する並列計算機システムの制御方法において、
    前記管理ノードが、
    計算ノードの空き待ちの緊急ジョブに計算ノードを割り当てるために実行中のジョブをスワップアウトする際に、緊急ジョブに計算ノードを仮割り当てして他のジョブのスケジューリングを可能とするとともに、仮割り当て状態であることを示す仮割当情報を前記緊急ジョブ及び仮割り当てした計算ノードに設定し、ジョブのスケジューリングを行う際に、緊急ジョブ、スワップイン待ちジョブ、その他のジョブの順序で前記仮割当情報に基づいてスケジューリングを行い、
    行ったジョブのスケジューリングに基づいてジョブの実行を制御する
    ことを特徴とする並列計算機システムの制御方法。
  6. 複数の計算ノードを制御する管理ノードの制御プログラムにおいて、
    前記管理ノードに、
    計算ノードの空き待ちの緊急ジョブに計算ノードを割り当てるために実行中のジョブをスワップアウトする際に、緊急ジョブに計算ノードを仮割り当てして他のジョブのスケジューリングを可能とするとともに、仮割り当て状態であることを示す仮割当情報を前記緊急ジョブ及び仮割り当てした計算ノードに設定し、ジョブのスケジューリングを行う際に、緊急ジョブ、スワップイン待ちジョブ、その他のジョブの順序で前記仮割当情報に基づいてスケジューリングを行い、
    行ったスケジューリングに基づいてジョブの実行を制御する
    処理を実行させることを特徴とする管理ノードの制御プログラム。
JP2014020807A 2014-02-05 2014-02-05 並列計算機システム、並列計算機システムの制御方法及び管理ノードの制御プログラム Pending JP2015148909A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2014020807A JP2015148909A (ja) 2014-02-05 2014-02-05 並列計算機システム、並列計算機システムの制御方法及び管理ノードの制御プログラム
EP15152405.5A EP2905703A1 (en) 2014-02-05 2015-01-23 Parallel computer system, control method of parallel computer system, and computer-readable storage medium
US14/609,518 US20150220361A1 (en) 2014-02-05 2015-01-30 Parallel computer system, control method of parallel computer system, and computer-readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014020807A JP2015148909A (ja) 2014-02-05 2014-02-05 並列計算機システム、並列計算機システムの制御方法及び管理ノードの制御プログラム

Publications (1)

Publication Number Publication Date
JP2015148909A true JP2015148909A (ja) 2015-08-20

Family

ID=52396544

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014020807A Pending JP2015148909A (ja) 2014-02-05 2014-02-05 並列計算機システム、並列計算機システムの制御方法及び管理ノードの制御プログラム

Country Status (3)

Country Link
US (1) US20150220361A1 (ja)
EP (1) EP2905703A1 (ja)
JP (1) JP2015148909A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017204086A (ja) * 2016-05-10 2017-11-16 富士通株式会社 情報処理装置、ジョブ管理方法およびジョブ管理プログラム
JP2019020945A (ja) * 2017-07-14 2019-02-07 富士通株式会社 並列処理制御装置およびジョブスワッププログラム
JP2021026577A (ja) * 2019-08-07 2021-02-22 三菱電機株式会社 制御装置、演算装置、制御方法、及び制御プログラム

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019087113A (ja) * 2017-11-09 2019-06-06 富士通株式会社 制御装置、制御方法及び制御プログラム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0823826B2 (ja) 1989-03-30 1996-03-06 日本電気株式会社 一般ジョブの一時保留による緊急ジョブ資源割当て方式
JP4935595B2 (ja) * 2007-09-21 2012-05-23 富士通株式会社 ジョブ管理方法、ジョブ管理装置およびジョブ管理プログラム
US8612597B2 (en) * 2010-12-07 2013-12-17 Microsoft Corporation Computing scheduling using resource lend and borrow
JP5737057B2 (ja) * 2011-08-19 2015-06-17 富士通株式会社 プログラム、ジョブスケジューリング方法、および情報処理装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017204086A (ja) * 2016-05-10 2017-11-16 富士通株式会社 情報処理装置、ジョブ管理方法およびジョブ管理プログラム
JP2019020945A (ja) * 2017-07-14 2019-02-07 富士通株式会社 並列処理制御装置およびジョブスワッププログラム
JP2021026577A (ja) * 2019-08-07 2021-02-22 三菱電機株式会社 制御装置、演算装置、制御方法、及び制御プログラム

Also Published As

Publication number Publication date
US20150220361A1 (en) 2015-08-06
EP2905703A1 (en) 2015-08-12

Similar Documents

Publication Publication Date Title
CN109117260B (zh) 一种任务调度方法、装置、设备和介质
CN107491351B (zh) 一种基于优先级的资源分配方法、装置和设备
JP6799947B2 (ja) スライディングタイムウィンドウを用いてタスクをスケジュール設定するためのシステムおよび方法
RU2481618C2 (ru) Иерархическая инфраструктура планирования резервирования ресурсов
US8458712B2 (en) System and method for multi-level preemption scheduling in high performance processing
KR101644800B1 (ko) 컴퓨팅 시스템 및 방법
JP4935595B2 (ja) ジョブ管理方法、ジョブ管理装置およびジョブ管理プログラム
JP5597196B2 (ja) プロセス内のスケジューラインスタンス
US9477460B2 (en) Non-transitory computer-readable storage medium for selective application of update programs dependent upon a load of a virtual machine and related apparatus and method
TW201447766A (zh) 使用具有客作業系統及虛擬處理器之超管理器之系統及方法
US20120204188A1 (en) Processor thread load balancing manager
JP2010165259A (ja) 情報処理装置および情報処理方法
US10013264B2 (en) Affinity of virtual processor dispatching
JP2011521354A (ja) スケジューラにおけるタスクの局所的集合
JP5718378B2 (ja) 一又は複数のタスクを実行するために使用するシステム及び方法
EP4242843A1 (en) Graphics card memory management method and apparatus, device, and system
JP5605131B2 (ja) ジョブスケジューリングプログラム,方法,および装置
JP2015148909A (ja) 並列計算機システム、並列計算機システムの制御方法及び管理ノードの制御プログラム
KR101392584B1 (ko) 리소스 모니터링을 이용한 동적 데이터 처리 장치 및 그 방법
JPH0816410A (ja) スケジュール制御装置とその方法
JP5867238B2 (ja) オートスケーリング方法,オートスケーリングプログラムおよびコンピュータノード
US9740530B2 (en) Decreasing the priority of a user based on an allocation ratio
JP2013182502A (ja) リソース配分システム、リソース配分方法、及びリソース配分プログラム
CN116244073A (zh) 混合关键分区实时操作系统的资源感知型任务分配方法
JP2015026132A (ja) リソース制御装置及び方法及びプログラム