JPH0659906A - 並列計算機の実行制御方法 - Google Patents
並列計算機の実行制御方法Info
- Publication number
- JPH0659906A JPH0659906A JP4212578A JP21257892A JPH0659906A JP H0659906 A JPH0659906 A JP H0659906A JP 4212578 A JP4212578 A JP 4212578A JP 21257892 A JP21257892 A JP 21257892A JP H0659906 A JPH0659906 A JP H0659906A
- Authority
- JP
- Japan
- Prior art keywords
- processors
- job
- execution
- executed
- parallel computer
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5014—Reservation
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
(57)【要約】
【目的】 並列計算機を不特定多数のユーザで同時に用
いる際に、各ジョブの実行時に占有できるプロセッサ台
数を最適に利用しうるオブジェクトコードを生成するこ
とにより、効率良く利用する方法を提供する。 【構成】 各ジョブをサブミットする際に、ジョブの最
小要求プロセッサ台数や要求実行時間などの実行条件を
指定させ、実行待ち状態ではソースプログラムのレベル
で実行を待ち、プロセッサの各実行ジョブに対する利用
状況や空きプロセッサ数を管理するテーブル3と、各稼
働ジョブの占有使用プロセッサや経過時間を管理するテ
ーブル4と、各実行待ちジョブの実行条件を管理するテ
ーブル2を利用し、実行待ちジョブの中から実行させる
ジョブを決定し、そのジョブに空きプロセッサの内の何
台のプロセッサを割り付けるかを決定し、その後割り付
け台数に最適なオブジェクトコードを生成して、割り付
けられたプロセッサ上でそれを実行する。
いる際に、各ジョブの実行時に占有できるプロセッサ台
数を最適に利用しうるオブジェクトコードを生成するこ
とにより、効率良く利用する方法を提供する。 【構成】 各ジョブをサブミットする際に、ジョブの最
小要求プロセッサ台数や要求実行時間などの実行条件を
指定させ、実行待ち状態ではソースプログラムのレベル
で実行を待ち、プロセッサの各実行ジョブに対する利用
状況や空きプロセッサ数を管理するテーブル3と、各稼
働ジョブの占有使用プロセッサや経過時間を管理するテ
ーブル4と、各実行待ちジョブの実行条件を管理するテ
ーブル2を利用し、実行待ちジョブの中から実行させる
ジョブを決定し、そのジョブに空きプロセッサの内の何
台のプロセッサを割り付けるかを決定し、その後割り付
け台数に最適なオブジェクトコードを生成して、割り付
けられたプロセッサ上でそれを実行する。
Description
【0001】
【産業上の利用分野】本発明は、多数のプロセッサを有
する計算機のプログラムの実行制御方法に係わり、特に
並列計算機を不特定多数のユーザで共用する際に、それ
ぞれのユーザのプログラムを最適な性能を得られるよう
にする、プログラムの実行制御方法に関する。
する計算機のプログラムの実行制御方法に係わり、特に
並列計算機を不特定多数のユーザで共用する際に、それ
ぞれのユーザのプログラムを最適な性能を得られるよう
にする、プログラムの実行制御方法に関する。
【0002】
【従来の技術】従来の計算機の実行方法は、FORTR
ANレベルの言語で問題を解決するためのプログラムを
作成し、ユーザはコンパイラによってそのソースプログ
ラムのオブジェクト形式(実行可能形式)を作成し、そ
の状態でオペレーティングシステムのスケジューリング
を待ち、CPUのリソースを管理する単位であるタスク
の空きがあるとそれを割り付けられ実行を開始してい
た。
ANレベルの言語で問題を解決するためのプログラムを
作成し、ユーザはコンパイラによってそのソースプログ
ラムのオブジェクト形式(実行可能形式)を作成し、そ
の状態でオペレーティングシステムのスケジューリング
を待ち、CPUのリソースを管理する単位であるタスク
の空きがあるとそれを割り付けられ実行を開始してい
た。
【0003】
【発明が解決しようとする課題】上記従来技術は、1タ
スクでユーザの処理プログラムと計算機リソースが管理
できる計算機システムに対しては適しているが、計算機
内に非常に多くのプロセッサが存在させてそれぞれが並
列に稼働する並列計算機に対しては以下の点で問題が生
じる。
スクでユーザの処理プログラムと計算機リソースが管理
できる計算機システムに対しては適しているが、計算機
内に非常に多くのプロセッサが存在させてそれぞれが並
列に稼働する並列計算機に対しては以下の点で問題が生
じる。
【0004】プログラムのコンパイル時に、並列実行可
能な単位を抽出してそれを仮想のプロセッサに割当てる
オブジェクトコードを生成するが、実行時に利用可能な
プロセッサ数はこの時点では不明で、実行時に割当てら
れるプロセッサ数に最適なオブジェクトの生成は不可能
である。最適なオブジェクトは各プロセッサに均等なジ
ョブが割当てることになるが、オブジェクト生成時には
プロセッサ数は仮想的に決められた数を前提にするか、
プロセッサ数をパラメータとしたオブジェクトしか生成
できず、実行時に割当てられたプロセッサ上で処理の均
等性を必ずしも保証できない。
能な単位を抽出してそれを仮想のプロセッサに割当てる
オブジェクトコードを生成するが、実行時に利用可能な
プロセッサ数はこの時点では不明で、実行時に割当てら
れるプロセッサ数に最適なオブジェクトの生成は不可能
である。最適なオブジェクトは各プロセッサに均等なジ
ョブが割当てることになるが、オブジェクト生成時には
プロセッサ数は仮想的に決められた数を前提にするか、
プロセッサ数をパラメータとしたオブジェクトしか生成
できず、実行時に割当てられたプロセッサ上で処理の均
等性を必ずしも保証できない。
【0005】更に、上位の観点としては、FORTRA
Nレベルの言語による問題記述から、問題の本来持って
いた並列性をコンパイラが抽出するのは不可能であリ、
また、不特定多数のユーザで並列計算機を共用する場
合、使用可能なプロセッサ数は動的に変わり、予めプロ
セッサ台数を特定してプログラミングすることはできな
い。
Nレベルの言語による問題記述から、問題の本来持って
いた並列性をコンパイラが抽出するのは不可能であリ、
また、不特定多数のユーザで並列計算機を共用する場
合、使用可能なプロセッサ数は動的に変わり、予めプロ
セッサ台数を特定してプログラミングすることはできな
い。
【0006】本発明の目的は上記問題を解決し、不特定
多数のユーザが同時に並列計算機を使用する際に、最大
の利用効率を得るための計算機の実行制御方法を提供す
ることにある。
多数のユーザが同時に並列計算機を使用する際に、最大
の利用効率を得るための計算機の実行制御方法を提供す
ることにある。
【0007】
【課題を解決するための手段】オペレーティングシステ
ムのスケジューラは、実行待ちジョブから待ち時間の長
いジョブから順に選択し、空きプロセッサ台数を調べ、
選択されたジョブの要求しているプロセッサ台数より多
くのプロセッサが空いている時には、その台数以上のプ
ロセッサをそのジョブに割り付けるため確保し、ソース
プログラムの生成処理(コードジェネレータ)にその台
数を入力してそのジョブのその台数に適したソースプロ
グラムを生成し、オブジェクトコードの生成処理(一般
にはコンパイラ)にその台数情報を入力してその台数に
適したそのジョブのオブジェクトコードを生成し、確保
しておいたプロセッサ上でそのオブジェクトコードを実
行する。これにより、動的に変わる利用可能なプロセッ
サ台数を最適に稼働させるオブジェクトコードを生成、
実行することが可能となる。
ムのスケジューラは、実行待ちジョブから待ち時間の長
いジョブから順に選択し、空きプロセッサ台数を調べ、
選択されたジョブの要求しているプロセッサ台数より多
くのプロセッサが空いている時には、その台数以上のプ
ロセッサをそのジョブに割り付けるため確保し、ソース
プログラムの生成処理(コードジェネレータ)にその台
数を入力してそのジョブのその台数に適したソースプロ
グラムを生成し、オブジェクトコードの生成処理(一般
にはコンパイラ)にその台数情報を入力してその台数に
適したそのジョブのオブジェクトコードを生成し、確保
しておいたプロセッサ上でそのオブジェクトコードを実
行する。これにより、動的に変わる利用可能なプロセッ
サ台数を最適に稼働させるオブジェクトコードを生成、
実行することが可能となる。
【0008】
【作用】ジョブの実行時に判明する使用可能なプロセッ
サ台数に最適なオブジェクトコードを生成することがで
きる。
サ台数に最適なオブジェクトコードを生成することがで
きる。
【0009】
(実施例1)本発明の第1の実施例を、図1から図3に
より説明する。図1に全体の構成を、図2にこの中で用
いられるテーブルの詳細を、図3に動作フローを示す。
より説明する。図1に全体の構成を、図2にこの中で用
いられるテーブルの詳細を、図3に動作フローを示す。
【0010】サブミット(実行要求)されたソースプロ
グラムからなるジョブ(計算機への実行要求単位)は、
オペレーティングシステム(以下OS)内の実行待ちジ
ョブ管理テーブル2に登録される。サブミットは通常そ
のプログラムの実行に必要なソースプログラムとデータ
の所在および計算機側へのリソース要求量などの指示を
指定することにより行われる。この状態ではソースプロ
グラム5、もしくはより上位の問題記述レベルのソース
プログラムで実行のスケジューリング(OSによる計算
機リソースの割当て)を待つ。ここで、問題記述レベル
とはどのような記述を指すかは特願平2ー321644
に記載されているように、式や領域といった本来問題を
規定しているそのままの情報である。実行待ちジョブ管
理テーブルは図2に示すように、各々のジョブの実行を
要求する最小のプロセッサ台数21やソースプログラム
の格納場所22等を保持している。以下、プロセッサを
PEと略記することがある。
グラムからなるジョブ(計算機への実行要求単位)は、
オペレーティングシステム(以下OS)内の実行待ちジ
ョブ管理テーブル2に登録される。サブミットは通常そ
のプログラムの実行に必要なソースプログラムとデータ
の所在および計算機側へのリソース要求量などの指示を
指定することにより行われる。この状態ではソースプロ
グラム5、もしくはより上位の問題記述レベルのソース
プログラムで実行のスケジューリング(OSによる計算
機リソースの割当て)を待つ。ここで、問題記述レベル
とはどのような記述を指すかは特願平2ー321644
に記載されているように、式や領域といった本来問題を
規定しているそのままの情報である。実行待ちジョブ管
理テーブルは図2に示すように、各々のジョブの実行を
要求する最小のプロセッサ台数21やソースプログラム
の格納場所22等を保持している。以下、プロセッサを
PEと略記することがある。
【0011】ジョブのスケジューリングを図1と図3を
用いて説明する。
用いて説明する。
【0012】ジョブは、そのジョブがサブミットされる
時点で、そのジョブの必要とする最小のプロセッサ台
数、あるいは最大のプロセッサ台数、実行要求時間のい
ずれか、もしくは全てを予め定められたジョブ制御言語
かコマンドによって、指定されてサブミットされる。サ
ブミットされたジョブは実行待ちジョブ管理テーブル2
に登録されてOSのスケジューリングを待つ。
時点で、そのジョブの必要とする最小のプロセッサ台
数、あるいは最大のプロセッサ台数、実行要求時間のい
ずれか、もしくは全てを予め定められたジョブ制御言語
かコマンドによって、指定されてサブミットされる。サ
ブミットされたジョブは実行待ちジョブ管理テーブル2
に登録されてOSのスケジューリングを待つ。
【0013】スケジューリングは、待ちジョブの古い順
に、すなわち待ち時間の長い順に実行待ちジョブ管理テ
ーブル2をサーチして行われる(31)。空きプロセッ
サ台数(図2の23)をプロセッサ管理テーブル3から
知り、空きプロセッサが最小要求台数(図2の21)よ
り多い場合は以下の処理を行う(32)。プロセッサ管
理テーブル3は図2に示すように、現在の空きプロセッ
サ台数23や各プロセッサがどのジョブに占有されてい
るか(24)の情報を保有している。
に、すなわち待ち時間の長い順に実行待ちジョブ管理テ
ーブル2をサーチして行われる(31)。空きプロセッ
サ台数(図2の23)をプロセッサ管理テーブル3から
知り、空きプロセッサが最小要求台数(図2の21)よ
り多い場合は以下の処理を行う(32)。プロセッサ管
理テーブル3は図2に示すように、現在の空きプロセッ
サ台数23や各プロセッサがどのジョブに占有されてい
るか(24)の情報を保有している。
【0014】まず空きプロセッサの全てまたは最小要求
台数以上のある基準に当てはめた台数を確保し、プロセ
ッサ管理テーブル3を更新する(33)。これは確保し
たプロセッサをこの実行対象となったジョブ名にし、空
きプロセッサ台数から確保した台数分差し引く。ここで
基準の例としては、複数のジョブでプロセッサ群を分割
利用している観点から、実行待ちの他のジョブの要求し
ているプロセッサ数を残せるか、更に既実行ジョブの終
了時間予測から将来の各時点での空きプロセッサ数を予
測し、それに残したプロセッサを合わせることで待ち時
間の長い実行待ちジョブが実行できるのであればその分
を残しておくなどの基準を設定することができる。
台数以上のある基準に当てはめた台数を確保し、プロセ
ッサ管理テーブル3を更新する(33)。これは確保し
たプロセッサをこの実行対象となったジョブ名にし、空
きプロセッサ台数から確保した台数分差し引く。ここで
基準の例としては、複数のジョブでプロセッサ群を分割
利用している観点から、実行待ちの他のジョブの要求し
ているプロセッサ数を残せるか、更に既実行ジョブの終
了時間予測から将来の各時点での空きプロセッサ数を予
測し、それに残したプロセッサを合わせることで待ち時
間の長い実行待ちジョブが実行できるのであればその分
を残しておくなどの基準を設定することができる。
【0015】ついで、待ちジョブ管理テーブル2より該
当ジョブを削除し、稼働ジョブ管理テーブル3に該当ジ
ョブの登録を行う(34)。稼働ジョブ管理テーブル3
は、図2に示すように使用プロセッサ台数25(33で
確保した台数)、使用プロセッサ台数26、ジョブ自体
の実行要求時間27、ジョブの実行開始時刻28などを
登録する。ここで、実行要求時間は、確保できたプロセ
ッサ台数に応じて、サブミット時に指定したユーザの実
行要求時間に重みをつけて利用しても良い。例えば、ユ
ーザは実行要求時間を最小要求プロセッサ台数で算定し
た値をサブミット時に設定し、OS側はそれに(割当て
台数)/(最小台数)の比、もしくはこれを用いて算定
した値を実行要求時間に重みとして掛けて用いる事もで
きる。
当ジョブを削除し、稼働ジョブ管理テーブル3に該当ジ
ョブの登録を行う(34)。稼働ジョブ管理テーブル3
は、図2に示すように使用プロセッサ台数25(33で
確保した台数)、使用プロセッサ台数26、ジョブ自体
の実行要求時間27、ジョブの実行開始時刻28などを
登録する。ここで、実行要求時間は、確保できたプロセ
ッサ台数に応じて、サブミット時に指定したユーザの実
行要求時間に重みをつけて利用しても良い。例えば、ユ
ーザは実行要求時間を最小要求プロセッサ台数で算定し
た値をサブミット時に設定し、OS側はそれに(割当て
台数)/(最小台数)の比、もしくはこれを用いて算定
した値を実行要求時間に重みとして掛けて用いる事もで
きる。
【0016】ついで、実行対象となった待ちジョブが問
題記述レベルであれば、それをコードジェネレータ6を
用いてFORTRANレベルのソースプログラム7に変
換する(35)。その際、コードジェネレータ7の入力
に上記割当てプロセッサ台数をパラメータとして渡すこ
とにより、プロセッサ台数に最適なソースプログラムの
生成が可能となる。この種のコードジェネレータとして
は特願平2ー321644に記載されている。
題記述レベルであれば、それをコードジェネレータ6を
用いてFORTRANレベルのソースプログラム7に変
換する(35)。その際、コードジェネレータ7の入力
に上記割当てプロセッサ台数をパラメータとして渡すこ
とにより、プロセッサ台数に最適なソースプログラムの
生成が可能となる。この種のコードジェネレータとして
は特願平2ー321644に記載されている。
【0017】待ちジョブがソースプログラムの場合、も
しくは前記ステップで生成されたソースプログラムを、
コンパイラ8を用いて並列計算機上で稼働可能なオブジ
ェクトコード9に変換する(36)。その際、コンパイ
ラ8の入力に上記割当てプロセッサ台数をパラメータと
して渡す事により、プロセッサ台数に最適なオブジェク
トコードの生成が可能となる。
しくは前記ステップで生成されたソースプログラムを、
コンパイラ8を用いて並列計算機上で稼働可能なオブジ
ェクトコード9に変換する(36)。その際、コンパイ
ラ8の入力に上記割当てプロセッサ台数をパラメータと
して渡す事により、プロセッサ台数に最適なオブジェク
トコードの生成が可能となる。
【0018】最後に生成したオブジェクトコードを確保
してあるプロセッサ群上で実行する(37)。
してあるプロセッサ群上で実行する(37)。
【0019】なお、稼働しているジョブの終了時は、稼
働ジョブ管理テーブル4より該当ジョブを削除し、プロ
セッサ管理テーブル3を更新する。この更新は、該当ジ
ョブの使用していたプロセッサの該当使用プロセッサ名
をクリアし、空きプロセッサ台数に該当ジョブの使用し
ていたプロセッサ数を加算する事により行えば良い。
働ジョブ管理テーブル4より該当ジョブを削除し、プロ
セッサ管理テーブル3を更新する。この更新は、該当ジ
ョブの使用していたプロセッサの該当使用プロセッサ名
をクリアし、空きプロセッサ台数に該当ジョブの使用し
ていたプロセッサ数を加算する事により行えば良い。
【0020】以上本発明の一実施例を説明した。上記実
施例では、スケジューリングは待ちジョブの古い順に行
って所望のプロセッサ台数が確保できない場合は次の待
ちジョブに優先権が渡る例を示したが、このように空き
プロセッサに随時待ちジョブを割当てるのではなく、あ
る期間プロセッサを未使用状態で待たせ、既実行ジョブ
の終了を待ってあるジョブを優先的に実行させることも
可能である。それは例えば、プロセッサを占有している
既実行のそれぞれのジョブがいつ時点迄にジョブが終了
して何台のプロセッサが空き状態になるかはプロセッサ
管理テーブル3より正確に算定できるので、これらの情
報と実行待ちジョブ管理テーブル2より分かる待ちジョ
ブの最小要求プロセッサ台数の情報を用いて、待ちジョ
ブをどのジョブ(必ずしも1ジョブではない)の終了を
待って実行させるかは自由にスケジューリングする事も
可能である。
施例では、スケジューリングは待ちジョブの古い順に行
って所望のプロセッサ台数が確保できない場合は次の待
ちジョブに優先権が渡る例を示したが、このように空き
プロセッサに随時待ちジョブを割当てるのではなく、あ
る期間プロセッサを未使用状態で待たせ、既実行ジョブ
の終了を待ってあるジョブを優先的に実行させることも
可能である。それは例えば、プロセッサを占有している
既実行のそれぞれのジョブがいつ時点迄にジョブが終了
して何台のプロセッサが空き状態になるかはプロセッサ
管理テーブル3より正確に算定できるので、これらの情
報と実行待ちジョブ管理テーブル2より分かる待ちジョ
ブの最小要求プロセッサ台数の情報を用いて、待ちジョ
ブをどのジョブ(必ずしも1ジョブではない)の終了を
待って実行させるかは自由にスケジューリングする事も
可能である。
【0021】(実施例2)以下では、スケジューリング
の他の実施例を図4から図5により説明する。第1の実
施例では、ある実行中のジョブが終了して空きプロセッ
サ数が増えた際に、待ちジョブの待ち順にスケジュリー
ングする方法を示したが、本実施例では、そうしたスケ
ジューリングでは沈み込んで半永久的に実行されない待
ちジョブが生じるので、それを回避する実施例を示す。
図4にこの中で用いられるテーブルの詳細を、図5に動
作フローを示す。
の他の実施例を図4から図5により説明する。第1の実
施例では、ある実行中のジョブが終了して空きプロセッ
サ数が増えた際に、待ちジョブの待ち順にスケジュリー
ングする方法を示したが、本実施例では、そうしたスケ
ジューリングでは沈み込んで半永久的に実行されない待
ちジョブが生じるので、それを回避する実施例を示す。
図4にこの中で用いられるテーブルの詳細を、図5に動
作フローを示す。
【0022】図4の各テーブル42、43、44はそれ
ぞれ図1の2、3、4の一部としてOSによって随時作
成、更新、参照される。ジョブのサブミットは、ジョブ
制御言語もしくはコマンドで、各ジョブの、要求最小プ
ロセッサ台数、使用要求上限プロセッサ台数、該当ジョ
ブの実行要求時間を指定させる。実行待ちジョブ待ち時
間管理テーブル42は、サブミットされた各実行待ちジ
ョブWJOBiの、要求最小プロセッサ台数PMi、使
用要求上限プロセッサ台数PUi、該当ジョブの実行要
求時間TEi、サブミットされてからの待ち時間TMi
を実行待ち順に保有する。稼働ジョブ打切り時間管理テ
ーブル44は、現在稼働している各ジョブEJOBiの
使用プロセッサ台数PEiと、そのジョブの打切り残り
時間TRiを保有する。空きプロセッサ台数予測テーブ
ル43は、現在の空きプロセッサ台数PV0と、テーブ
ル44の各稼働ジョブの打切り残り時間と使用プロセッ
サ台数を利用して、現時点からの各経過時間における空
きプロセッサ台数の予測値を保有する。これは、稼働ジ
ョブ打切り時間管理テーブル44のジョブ打切り時間T
Rmをソーティングして空きプロセッサの増加する予測
経過時間列{TFk}を求め、各TFkのそれ以下のT
Riの使用プロセッサ台数PEiの総和とPV0の和に
よりPVkが求まる。式で表すと、PVk=(ΣPE
i)+PV0で、ΣはTRi<TFkとなる全てのiに
関する総和である。
ぞれ図1の2、3、4の一部としてOSによって随時作
成、更新、参照される。ジョブのサブミットは、ジョブ
制御言語もしくはコマンドで、各ジョブの、要求最小プ
ロセッサ台数、使用要求上限プロセッサ台数、該当ジョ
ブの実行要求時間を指定させる。実行待ちジョブ待ち時
間管理テーブル42は、サブミットされた各実行待ちジ
ョブWJOBiの、要求最小プロセッサ台数PMi、使
用要求上限プロセッサ台数PUi、該当ジョブの実行要
求時間TEi、サブミットされてからの待ち時間TMi
を実行待ち順に保有する。稼働ジョブ打切り時間管理テ
ーブル44は、現在稼働している各ジョブEJOBiの
使用プロセッサ台数PEiと、そのジョブの打切り残り
時間TRiを保有する。空きプロセッサ台数予測テーブ
ル43は、現在の空きプロセッサ台数PV0と、テーブ
ル44の各稼働ジョブの打切り残り時間と使用プロセッ
サ台数を利用して、現時点からの各経過時間における空
きプロセッサ台数の予測値を保有する。これは、稼働ジ
ョブ打切り時間管理テーブル44のジョブ打切り時間T
Rmをソーティングして空きプロセッサの増加する予測
経過時間列{TFk}を求め、各TFkのそれ以下のT
Riの使用プロセッサ台数PEiの総和とPV0の和に
よりPVkが求まる。式で表すと、PVk=(ΣPE
i)+PV0で、ΣはTRi<TFkとなる全てのiに
関する総和である。
【0023】スケジューリングは、プロセッサの稼働状
況の変化や稼働要求が生じる、稼働ジョブの終了時また
は新規ジョブのサブミット(実行待ち登録)時にテーブ
ル42、43、44を参照、更新することにより行われ
る(図5の50)。待ちジョブの待ち順序に従って各ジ
ョブに対して以下を行う(51)。ジョブの最小要求プ
ロセッサ数PMiより多くの空きプロセッサPV0があ
る場合(52)、プロセッサを確保しそのジョブの起動
をかけ、テーブル2、3、4および42、43、44を
アップデートする(53)。空きプロセッサ数がそのジ
ョブの要求する必要最小台数より少ない時は、後述する
ある条件を満たしていれば空き台数が必要台数に達する
まで、スケジューリングを凍結して稼働ジョブが打ち切
られるまで待ち、その空きを待ってそのジョブを起動す
る。それは例えば以下のように行う。まずプロセッサ管
理テーブル43をサーチし、必要台数のプロセッサが開
放される予測経過時間TFkを求める(54)。次に予
測経過時間(即ち稼働できるまでの最大待ち時間)TV
kと、該当ジョブの使用最小プロセッサ台数PMi、要
求実行時間該当ジョブTEi,およびこれまでの累積待
ち時間TMiを考慮してその関数で対象となっているジ
ョブを実行する判断条件を決める(55)。ここで図5
の55中のh,g,l,fは関数で、条件として、h
(TFk)*g(TEi)*l(PMi)<f(TM
i)や(ある定数)<f(TMi)などが考えられる。
前者は、TFkやTEiやPMiが小さく、かつTMi
が大きければ成り立ち易い条件で、意味は、占有するプ
ロセッサ数や時間が小さく、稼働可能時間までの待ちが
小さく、更に累積待ち時間がある程度大きければ、該当
ジョブを実行するための条件である。後者はある規定時
間以上待ったジョブは必ず実行してやるための条件であ
る。実質的には第一の条件の一種と解釈できる。本条件
が成立したジョブに対しては、スケジューリングを凍結
し、PMi以上のプロセッサの空くのを待って、プロセ
ッサを確保しそのジョブの起動をかけ、テーブル2、
3、4および42、43、44をアップデートする(5
6)。本状態で待っている間は、各ジョブの終了が報告
される度に、テーブル2、3、4および42、43、4
4をアップデートし、その時点でPVoがPMiより大
きくなっていればジョブの起動をかけることになる。
況の変化や稼働要求が生じる、稼働ジョブの終了時また
は新規ジョブのサブミット(実行待ち登録)時にテーブ
ル42、43、44を参照、更新することにより行われ
る(図5の50)。待ちジョブの待ち順序に従って各ジ
ョブに対して以下を行う(51)。ジョブの最小要求プ
ロセッサ数PMiより多くの空きプロセッサPV0があ
る場合(52)、プロセッサを確保しそのジョブの起動
をかけ、テーブル2、3、4および42、43、44を
アップデートする(53)。空きプロセッサ数がそのジ
ョブの要求する必要最小台数より少ない時は、後述する
ある条件を満たしていれば空き台数が必要台数に達する
まで、スケジューリングを凍結して稼働ジョブが打ち切
られるまで待ち、その空きを待ってそのジョブを起動す
る。それは例えば以下のように行う。まずプロセッサ管
理テーブル43をサーチし、必要台数のプロセッサが開
放される予測経過時間TFkを求める(54)。次に予
測経過時間(即ち稼働できるまでの最大待ち時間)TV
kと、該当ジョブの使用最小プロセッサ台数PMi、要
求実行時間該当ジョブTEi,およびこれまでの累積待
ち時間TMiを考慮してその関数で対象となっているジ
ョブを実行する判断条件を決める(55)。ここで図5
の55中のh,g,l,fは関数で、条件として、h
(TFk)*g(TEi)*l(PMi)<f(TM
i)や(ある定数)<f(TMi)などが考えられる。
前者は、TFkやTEiやPMiが小さく、かつTMi
が大きければ成り立ち易い条件で、意味は、占有するプ
ロセッサ数や時間が小さく、稼働可能時間までの待ちが
小さく、更に累積待ち時間がある程度大きければ、該当
ジョブを実行するための条件である。後者はある規定時
間以上待ったジョブは必ず実行してやるための条件であ
る。実質的には第一の条件の一種と解釈できる。本条件
が成立したジョブに対しては、スケジューリングを凍結
し、PMi以上のプロセッサの空くのを待って、プロセ
ッサを確保しそのジョブの起動をかけ、テーブル2、
3、4および42、43、44をアップデートする(5
6)。本状態で待っている間は、各ジョブの終了が報告
される度に、テーブル2、3、4および42、43、4
4をアップデートし、その時点でPVoがPMiより大
きくなっていればジョブの起動をかけることになる。
【0024】更に本スケジューリングには以下のような
変形例が考えられる。図5の52において、該当ジョブ
の実行要求時間TEiも考慮にいれてその実行を決定す
ることも可能である。それはあまり長時間プロセッサを
占有するジョブのプライオリティを下げることにあた
る。また図5の53において、PMi以上min(PV
0,PUi)以下の何台のプロセッサを使用するかは、
後続のジョブの要求プロセッサ台数を考慮して決めるこ
とも可能であり、これにより、より多くのジョブの同時
稼働が可能となる。また図5の55において、h,g,
l,fを関数としたが、これは常に固定で用いる必要は
なく、経験によって関数のパラメタを動的に変更した
り、運用によって関数自体の形式を変更させることも考
えられる。例えば、待ち時間がある値以上になることが
多いようであれば、条件式を緩和させたり、運用によっ
てある時間帯は関数gやlをある基準より大きな独立変
数に対しては十分大きな値をとらせることにより、ある
時間帯はある程度より小さいジョブのみを優先して走ら
せることも可能である。また図5の56において、PM
i以上のプロセッサの空く最大待ち時間TFk内は単に
待っているだけでなく、その時間内に終り、かつ現状の
空きプロセッサ台数PV0以下のプロセッサで実行可能
な後続ジョブがあればそれを複数起動してテーブル2、
3、4、42、43、44を更新して同じ待ち状態にい
ることも可能である。この際、PMi以上のプロセッサ
の空く最大待ち時間TFkは変わることはない。
変形例が考えられる。図5の52において、該当ジョブ
の実行要求時間TEiも考慮にいれてその実行を決定す
ることも可能である。それはあまり長時間プロセッサを
占有するジョブのプライオリティを下げることにあた
る。また図5の53において、PMi以上min(PV
0,PUi)以下の何台のプロセッサを使用するかは、
後続のジョブの要求プロセッサ台数を考慮して決めるこ
とも可能であり、これにより、より多くのジョブの同時
稼働が可能となる。また図5の55において、h,g,
l,fを関数としたが、これは常に固定で用いる必要は
なく、経験によって関数のパラメタを動的に変更した
り、運用によって関数自体の形式を変更させることも考
えられる。例えば、待ち時間がある値以上になることが
多いようであれば、条件式を緩和させたり、運用によっ
てある時間帯は関数gやlをある基準より大きな独立変
数に対しては十分大きな値をとらせることにより、ある
時間帯はある程度より小さいジョブのみを優先して走ら
せることも可能である。また図5の56において、PM
i以上のプロセッサの空く最大待ち時間TFk内は単に
待っているだけでなく、その時間内に終り、かつ現状の
空きプロセッサ台数PV0以下のプロセッサで実行可能
な後続ジョブがあればそれを複数起動してテーブル2、
3、4、42、43、44を更新して同じ待ち状態にい
ることも可能である。この際、PMi以上のプロセッサ
の空く最大待ち時間TFkは変わることはない。
【0025】以上本発明の実施例を説明した。上記実施
例は、OS下でのスケジューリングによる実現方式を説
明したが、ユーザプログラムからOSに空きプロセッサ
台数を問い合わせる命令と指定台数のプロセッサを確保
する命令と、使用プロセッサを開放する命令を用意し、
ユーザプログラムによってその使用プロセッサの確保を
行わせ、ユーザプログラムの指示によって指定プロセッ
サ台数用のソースプログラムもしくはオブジェクトコー
ドの生成を行って、確保したプロセッサ上でその実行を
行わせ、更にジョブの終了後にはユーザプログラムの責
任で確保していたプロセッサを開放させる事も可能であ
る。
例は、OS下でのスケジューリングによる実現方式を説
明したが、ユーザプログラムからOSに空きプロセッサ
台数を問い合わせる命令と指定台数のプロセッサを確保
する命令と、使用プロセッサを開放する命令を用意し、
ユーザプログラムによってその使用プロセッサの確保を
行わせ、ユーザプログラムの指示によって指定プロセッ
サ台数用のソースプログラムもしくはオブジェクトコー
ドの生成を行って、確保したプロセッサ上でその実行を
行わせ、更にジョブの終了後にはユーザプログラムの責
任で確保していたプロセッサを開放させる事も可能であ
る。
【0026】また、本実施例は、全てのジョブを待ち順
序に従ってスケジューリングされる例を示したが、ある
範囲内のプロセッサ数を要求するジョブ群毎にクラスを
設けて、特定のプロセッサ群をそのクラスに割当て、そ
のクラス内で上記のスケジューリングをする事も可能で
ある。
序に従ってスケジューリングされる例を示したが、ある
範囲内のプロセッサ数を要求するジョブ群毎にクラスを
設けて、特定のプロセッサ群をそのクラスに割当て、そ
のクラス内で上記のスケジューリングをする事も可能で
ある。
【0027】
【発明の効果】本発明によれば、多数のプロセッサを有
する並列計算機を用いる際に、未知数である各ジョブの
実行時に占有できるプロセッサ台数を最適に利用しうる
オブジェクトコードを生成して実行できるので、与えら
れたプロセッサ台数で最高の実行性能を得る事ができ
る。
する並列計算機を用いる際に、未知数である各ジョブの
実行時に占有できるプロセッサ台数を最適に利用しうる
オブジェクトコードを生成して実行できるので、与えら
れたプロセッサ台数で最高の実行性能を得る事ができ
る。
【0028】また、複数のジョブが並列計算機上で同時
に実行する際に問題になるプロセッサの割り付けやトー
タルスループットを解決し、並列計算機の不特定多数に
よる同時利用を可能とする。
に実行する際に問題になるプロセッサの割り付けやトー
タルスループットを解決し、並列計算機の不特定多数に
よる同時利用を可能とする。
【0029】また、多数台のプロセッサを要求する巨大
ジョブも、小型ジョブに割り込まれて永久にスケジュー
リングされないことを回避することができる。
ジョブも、小型ジョブに割り込まれて永久にスケジュー
リングされないことを回避することができる。
【図1】制御方式を示す全体構成図。
【図2】テーブルの内容を示す図。
【図3】スケジューリングのフローチャート。
【図4】テーブルの内容を示す図。
【図5】スケジューリングの変型例のフローチャート。
1… ジョブ全体を管理するスケジューラ 2… 実行待ちジョブ管理テーブル 3… プロセッサ管理テーブル 4… 稼働ジョブ管理テーブル 9… 最適オブジェクトコード
Claims (10)
- 【請求項1】複数のプロセッサを有する並列計算機にお
いて、複数のソースプログラムをスケジューリングし
て、実行すべきソースプログラムを選択し、その選択さ
れたソースプログラムで利用可能なプロセッサ数を決定
し、その選択されたソースプログラムをそのプロセッサ
数で実行するためのオブジェクトコードにコンパイラ
し、得られたオブジェクトコードを実行することを特徴
とする並列計算機の実行制御方法。 - 【請求項2】該利用可能なプロセッサ数がその選択され
たソースプログラムで指定する、必要なプロセッサ台数
以上か否かを判別し、そうでない時には該ソースプログ
ラムに代えて他のソースプログラムを選択する請求項1
記載の並列計算機の実行制御方法。 - 【請求項3】複数のプロセッサを有する並列計算機にお
いて、第1のプログラム言語で記述された複数のソース
プログラムをスケジューリングして、実行すべきソース
プログラムを選択し、その時点で利用可能なプロセッサ
数を検出し、そのプロセッサ数を前提とした第2のプロ
グラム言語で記載したソースプログラムを生成し、その
利用可能な数のプロセッサ上でそのソースプログラムを
実行することを特徴とする並列計算機の実行制御方法。 - 【請求項4】該利用可能なプロセッサ数がそのソースプ
ログラムで指定する必要プロセッサ台数以上か否かを判
別し、そうでない時には該ソースプログラムに代えて他
のソースプログラムを選択する項3記載の並列計算機の
実行制御方法。 - 【請求項5】複数のプロセッサを有する並列計算機にお
いて、実行を要求するジョブの各々にそのジョブの実行
に必要な最小プロセッサ台数と、その際の実行要求時間
を指定させてから、実行待ちキューに並ばせておき、待
ちキューの順番に各ジョブの実行が可能かを判定する際
に、現時点の使用可能プロセッサ台数と、該複数の実行
待ちジョブの要求プロセッサ台数および実行要求時間
と、実行中のジョブの要求実行時間から分かる将来の各
時点でのプロセッサの空き台数の予測と、該複数の実行
待ちジョブの待ち時間とに基いて実行するジョブを決定
することを特徴とする並列計算機の実行制御方法。 - 【請求項6】ある待ちジョブがそのジョブの最小要求プ
ロセッサ数よりも多くの空きプロセッサが生じて実行ス
ケジューリングされる際に、該ジョブより前にサブミッ
トされているジョブ群で要求最小プロセッサ数の空きが
得られずに実行待ちとなっているジョブ群と、該ジョブ
より後にサブミットされたジョブ群の要求最小プロセッ
サ数とから、該ジョブが何台のプロセッサを使うかを決
定することを特徴とする請求項5記載の並列計算機の実
行制御方法。 - 【請求項7】ジョブのサブミット時に指定された最小プ
ロセッサ台数に対する実行要求時間を、実行時に割当て
られたプロセッサ台数からそれに対する実行許容時間に
変換し、それによってジョブの時間打切りを行うことを
特徴とする請求項5記載の並列計算機の実行制御方法。 - 【請求項8】複数のプロセッサを有する並列計算機にお
いて、実行を要求するジョブの各々にそのジョブの実行
に必要な最小プロセッサ台数と、さらに要求プロセッサ
台数の上限を指定させ、ある時点でそのジョブの要求す
る最小プロセッサ数以上の空きプロセッサ台数が生じて
そのジョブを実行する際にそのジョブに与えるプロセッ
サ数を指定した上限以内にすることを特徴とする請求項
5記載の並列計算機の実行制御方法。 - 【請求項9】複数のプロセッサを有する並列計算機にお
いて、実行を要求するジョブの各々にそのジョブの実行
に必要な最小プロセッサ台数と、さらに要求プロセッサ
台数の上限を指定させ、ある時点でそのジョブの要求す
る最小プロセッサ数以上の空きプロセッサ台数が生じて
そのジョブを実行する際に、空きプロセッサ台数の内の
上限プロセッサ台数以下の何台を使うかは、該ジョブよ
り前に実行待ちジョブのキューに並んで要求最小プロセ
ッサ台数以上の空きが得られずに実行待ちしているジョ
ブと、自分より後に実行待ちジョブのキューに並んでい
るジョブの要求最小プロセッサ台数を考慮して何台のプ
ロセッサを使うかを決定することを特徴とする請求項5
記載の並列計算機の実行制御方法。 - 【請求項10】複数のプロセッサを有する並列計算機シ
ステムにおいて、現在未使用のプロセッサ台数を問い合
わせる命令と、該空きプロセッサの一部を排他的に確保
する命令と、該使用したプロセッサを開放する命令を有
し、外部のジョブからこれらの命令を用いて特定の複数
プロセッサを確保して専用し、ジョブが終って不要にな
った際は、該プロセッサ群を開放させることにより、ジ
ョブが使用するプロセッサ台数を制御できることを特徴
とする並列計算機の実行制御方法。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP4212578A JPH0659906A (ja) | 1992-08-10 | 1992-08-10 | 並列計算機の実行制御方法 |
| US08/101,993 US5752030A (en) | 1992-08-10 | 1993-08-04 | Program execution control in parallel processor system for parallel execution of plural jobs by selected number of processors |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP4212578A JPH0659906A (ja) | 1992-08-10 | 1992-08-10 | 並列計算機の実行制御方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0659906A true JPH0659906A (ja) | 1994-03-04 |
Family
ID=16625025
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP4212578A Pending JPH0659906A (ja) | 1992-08-10 | 1992-08-10 | 並列計算機の実行制御方法 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US5752030A (ja) |
| JP (1) | JPH0659906A (ja) |
Cited By (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6438553B1 (en) | 1998-12-28 | 2002-08-20 | Nec Corporation | Distributed job integrated management system and method |
| WO2006126331A1 (ja) * | 2005-05-27 | 2006-11-30 | Sony Computer Entertainment Inc. | 情報処理方法、情報処理装置、およびサーバ |
| JP2008287460A (ja) * | 2007-05-17 | 2008-11-27 | Sony Corp | 情報処理装置および方法 |
| JP2010237994A (ja) * | 2009-03-31 | 2010-10-21 | Mizuho Information & Research Institute Inc | 演算処理システム、演算処理方法及び演算処理プログラム |
| JP2011170649A (ja) * | 2010-02-19 | 2011-09-01 | Fujitsu Ltd | 分散処理システム、分散処理方法、及びプログラム |
| JP2012168756A (ja) * | 2011-02-15 | 2012-09-06 | Fujitsu Ltd | スケジューリングプログラム,方法および装置 |
| JPWO2014188561A1 (ja) * | 2013-05-23 | 2017-02-23 | ルネサスエレクトロニクス株式会社 | マルチcpuシステム及びマルチcpuシステムのスケーリング方法 |
Families Citing this family (50)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH08286932A (ja) * | 1995-04-11 | 1996-11-01 | Hitachi Ltd | ジョブの並列実行制御方法 |
| US6182109B1 (en) * | 1996-03-08 | 2001-01-30 | International Business Machines Corporation | Dynamic execution unit management for high performance user level network server system |
| US6070170A (en) * | 1997-10-01 | 2000-05-30 | International Business Machines Corporation | Non-blocking drain method and apparatus used to reorganize data in a database |
| US6539440B1 (en) | 1998-11-16 | 2003-03-25 | Infineon Ag | Methods and apparatus for prediction of the time between two consecutive memory accesses |
| US6453370B1 (en) | 1998-11-16 | 2002-09-17 | Infineion Technologies Ag | Using of bank tag registers to avoid a background operation collision in memory systems |
| US6216178B1 (en) * | 1998-11-16 | 2001-04-10 | Infineon Technologies Ag | Methods and apparatus for detecting the collision of data on a data bus in case of out-of-order memory accesses of different times of memory access execution |
| US6931641B1 (en) * | 2000-04-04 | 2005-08-16 | International Business Machines Corporation | Controller for multiple instruction thread processors |
| US7093252B1 (en) | 2000-04-12 | 2006-08-15 | International Business Machines Corporation | Self-submitting job for testing a job scheduling/submitting software |
| JP3959516B2 (ja) * | 2001-08-06 | 2007-08-15 | インターナショナル・ビジネス・マシーンズ・コーポレーション | ネットワークシステム、cpu資源プロバイダ、クライアント装置、処理サービスの提供方法、およびプログラム |
| CA2365730A1 (en) * | 2001-12-20 | 2003-06-20 | Platform Computing (Barbados) Inc. | Method and device to assist in the execution of tasks of parallel jobs |
| JP2003256222A (ja) * | 2002-03-04 | 2003-09-10 | Matsushita Electric Ind Co Ltd | 分散処理システム、ジョブ分散処理方法およびプログラム |
| US7222178B2 (en) * | 2002-05-31 | 2007-05-22 | Unisys Corporation | Transaction-processing performance by preferentially reusing frequently used processes |
| US7965907B2 (en) * | 2002-11-21 | 2011-06-21 | Canon Kabushiki Kaisha | Medical image handling system and method |
| JP3952992B2 (ja) * | 2003-06-03 | 2007-08-01 | ソニー株式会社 | 情報処理装置、プロセス制御方法、並びにコンピュータ・プログラム |
| US20050050310A1 (en) * | 2003-07-15 | 2005-03-03 | Bailey Daniel W. | Method, system, and apparatus for improving multi-core processor performance |
| US8782654B2 (en) | 2004-03-13 | 2014-07-15 | Adaptive Computing Enterprises, Inc. | Co-allocating a reservation spanning different compute resources types |
| EP2341431A1 (en) | 2004-03-13 | 2011-07-06 | Adaptive Computing Enterprises, Inc. | System and method of providing a self-optimizing reservation in space of compute resources |
| US20070266388A1 (en) | 2004-06-18 | 2007-11-15 | Cluster Resources, Inc. | System and method for providing advanced reservations in a compute environment |
| US8176490B1 (en) | 2004-08-20 | 2012-05-08 | Adaptive Computing Enterprises, Inc. | System and method of interfacing a workload manager and scheduler with an identity manager |
| WO2006053093A2 (en) | 2004-11-08 | 2006-05-18 | Cluster Resources, Inc. | System and method of providing system jobs within a compute environment |
| US8863143B2 (en) | 2006-03-16 | 2014-10-14 | Adaptive Computing Enterprises, Inc. | System and method for managing a hybrid compute environment |
| EP2348409B1 (en) | 2005-03-16 | 2017-10-04 | III Holdings 12, LLC | Automatic workload transfer to an on-demand center |
| US9231886B2 (en) | 2005-03-16 | 2016-01-05 | Adaptive Computing Enterprises, Inc. | Simple integration of an on-demand compute environment |
| EP1872249B1 (en) | 2005-04-07 | 2016-12-07 | Adaptive Computing Enterprises, Inc. | On-demand access to compute resources |
| JP4555145B2 (ja) * | 2005-04-28 | 2010-09-29 | 富士通株式会社 | バッチスケジューリングプログラム、バッチスケジューリング方法およびバッチスケジューリング装置 |
| US8594311B2 (en) * | 2005-06-02 | 2013-11-26 | Virtual Hold Technology, Llc | Expected wait time augmentation system and method |
| JP3992721B2 (ja) * | 2005-11-09 | 2007-10-17 | 株式会社日立製作所 | 情報処理装置およびプロセス制御方法 |
| US20080126819A1 (en) * | 2006-11-29 | 2008-05-29 | International Business Machines Corporation | Method for dynamic redundancy of processing units |
| US8234652B2 (en) | 2007-08-28 | 2012-07-31 | International Business Machines Corporation | Performing setup operations for receiving different amounts of data while processors are performing message passing interface tasks |
| US8312464B2 (en) * | 2007-08-28 | 2012-11-13 | International Business Machines Corporation | Hardware based dynamic load balancing of message passing interface tasks by modifying tasks |
| US8127300B2 (en) * | 2007-08-28 | 2012-02-28 | International Business Machines Corporation | Hardware based dynamic load balancing of message passing interface tasks |
| US20090064166A1 (en) * | 2007-08-28 | 2009-03-05 | Arimilli Lakshminarayana B | System and Method for Hardware Based Dynamic Load Balancing of Message Passing Interface Tasks |
| US8108876B2 (en) * | 2007-08-28 | 2012-01-31 | International Business Machines Corporation | Modifying an operation of one or more processors executing message passing interface tasks |
| US8041773B2 (en) | 2007-09-24 | 2011-10-18 | The Research Foundation Of State University Of New York | Automatic clustering for self-organizing grids |
| US9323306B2 (en) * | 2008-12-03 | 2016-04-26 | Telefonaktiebolaget Lm Ericsson (Publ) | Energy based time scheduler for parallel computing system |
| US11720290B2 (en) | 2009-10-30 | 2023-08-08 | Iii Holdings 2, Llc | Memcached server functionality in a cluster of data processing nodes |
| US10877695B2 (en) | 2009-10-30 | 2020-12-29 | Iii Holdings 2, Llc | Memcached server functionality in a cluster of data processing nodes |
| GB2485019B (en) * | 2010-08-27 | 2013-08-14 | Mark Henrik Sandstrom | Application load adaptive processing resource allocation |
| GB2498132B (en) * | 2010-08-27 | 2013-08-28 | Mark Henrik Sandstrom | Application load adaptive processing resource allocation |
| US20130117168A1 (en) | 2011-11-04 | 2013-05-09 | Mark Henrik Sandstrom | Maximizing Throughput of Multi-user Parallel Data Processing Systems |
| US8789065B2 (en) | 2012-06-08 | 2014-07-22 | Throughputer, Inc. | System and method for input data load adaptive parallel processing |
| US8843932B2 (en) | 2011-01-12 | 2014-09-23 | Wisconsin Alumni Research Foundation | System and method for controlling excessive parallelism in multiprocessor systems |
| US9448847B2 (en) | 2011-07-15 | 2016-09-20 | Throughputer, Inc. | Concurrent program execution optimization |
| US9323619B2 (en) | 2013-03-15 | 2016-04-26 | International Business Machines Corporation | Deploying parallel data integration applications to distributed computing environments |
| US9401835B2 (en) * | 2013-03-15 | 2016-07-26 | International Business Machines Corporation | Data integration on retargetable engines in a networked environment |
| US9256460B2 (en) | 2013-03-15 | 2016-02-09 | International Business Machines Corporation | Selective checkpointing of links in a data flow based on a set of predefined criteria |
| US9477511B2 (en) | 2013-08-14 | 2016-10-25 | International Business Machines Corporation | Task-based modeling for parallel data integration |
| US20150206092A1 (en) * | 2014-01-21 | 2015-07-23 | Avaya, Inc. | Identification of multi-channel connections to predict estimated wait time |
| US10230817B2 (en) * | 2015-12-21 | 2019-03-12 | Intel Corporation | Scheduling highly parallel applications |
| US10639550B2 (en) * | 2017-04-18 | 2020-05-05 | Bullguard Ltd | System and method for dynamically allocating resources to a game process |
Family Cites Families (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS6024647A (ja) * | 1983-07-20 | 1985-02-07 | Hitachi Ltd | システムの自律化資源管理方式 |
| JPS6140643A (ja) * | 1984-07-31 | 1986-02-26 | Hitachi Ltd | システムの資源割当て制御方式 |
| JP2533495B2 (ja) * | 1986-07-25 | 1996-09-11 | 株式会社日立製作所 | ワ−クスケジユ−リング方法及び装置 |
| JPH0343835A (ja) * | 1989-07-12 | 1991-02-25 | Nec Corp | 並列化処理方式 |
| US5179702A (en) * | 1989-12-29 | 1993-01-12 | Supercomputer Systems Limited Partnership | System and method for controlling a highly parallel multiprocessor using an anarchy based scheduler for parallel execution thread scheduling |
| US5307478A (en) * | 1990-06-11 | 1994-04-26 | Supercomputer Systems Limited Partnership | Method for inserting a path instruction during compliation of computer programs for processors having multiple functional units |
| US5303369A (en) * | 1990-08-31 | 1994-04-12 | Texas Instruments Incorporated | Scheduling system for multiprocessor operating system |
| US5325525A (en) * | 1991-04-04 | 1994-06-28 | Hewlett-Packard Company | Method of automatically controlling the allocation of resources of a parallel processor computer system by calculating a minimum execution time of a task and scheduling subtasks against resources to execute the task in the minimum time |
| US5210872A (en) * | 1991-06-28 | 1993-05-11 | Texas Instruments Inc. | Critical task scheduling for real-time systems |
-
1992
- 1992-08-10 JP JP4212578A patent/JPH0659906A/ja active Pending
-
1993
- 1993-08-04 US US08/101,993 patent/US5752030A/en not_active Expired - Fee Related
Cited By (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6438553B1 (en) | 1998-12-28 | 2002-08-20 | Nec Corporation | Distributed job integrated management system and method |
| WO2006126331A1 (ja) * | 2005-05-27 | 2006-11-30 | Sony Computer Entertainment Inc. | 情報処理方法、情報処理装置、およびサーバ |
| US8266621B2 (en) | 2005-05-27 | 2012-09-11 | Sony Computer Entertainment Inc. | Information processing method, information processing apparatus, and server |
| JP2008287460A (ja) * | 2007-05-17 | 2008-11-27 | Sony Corp | 情報処理装置および方法 |
| US8281314B2 (en) | 2007-05-17 | 2012-10-02 | Sony Corporation | Information processing device and method |
| JP2010237994A (ja) * | 2009-03-31 | 2010-10-21 | Mizuho Information & Research Institute Inc | 演算処理システム、演算処理方法及び演算処理プログラム |
| JP2011170649A (ja) * | 2010-02-19 | 2011-09-01 | Fujitsu Ltd | 分散処理システム、分散処理方法、及びプログラム |
| JP2012168756A (ja) * | 2011-02-15 | 2012-09-06 | Fujitsu Ltd | スケジューリングプログラム,方法および装置 |
| JPWO2014188561A1 (ja) * | 2013-05-23 | 2017-02-23 | ルネサスエレクトロニクス株式会社 | マルチcpuシステム及びマルチcpuシステムのスケーリング方法 |
| US9996400B2 (en) | 2013-05-23 | 2018-06-12 | Renesas Electronics Corporation | Multi-CPU system and multi-CPU system scaling method |
Also Published As
| Publication number | Publication date |
|---|---|
| US5752030A (en) | 1998-05-12 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH0659906A (ja) | 並列計算機の実行制御方法 | |
| JPH07141305A (ja) | 並列計算機の実行制御方法 | |
| JP3658420B2 (ja) | 分散処理システム | |
| US6353844B1 (en) | Guaranteeing completion times for batch jobs without static partitioning | |
| Prabhakaran et al. | A batch system with efficient adaptive scheduling for malleable and evolving applications | |
| CN105487930B (zh) | 一种基于Hadoop的任务优化调度方法 | |
| CN104991830B (zh) | 基于服务等级协议的yarn资源分配和节能调度方法及系统 | |
| Singh et al. | Optimizing grid-based workflow execution | |
| Bicer et al. | Time and cost sensitive data-intensive computing on hybrid clouds | |
| CN113454614A (zh) | 用于分布式计算中的资源划分的系统和方法 | |
| CN110413391A (zh) | 基于容器集群的深度学习任务服务质量保证方法和系统 | |
| CN113254179B (zh) | 基于高响应比的作业调度方法、系统、终端、存储介质 | |
| JP2004171234A (ja) | マルチプロセッサシステムにおけるタスク割り付け方法、タスク割り付けプログラム及びマルチプロセッサシステム | |
| US9047121B2 (en) | System and method for scheduling jobs in a multi-core processor | |
| US20140137122A1 (en) | Modified backfill scheduler and a method employing frequency control to reduce peak cluster power requirements | |
| Hazra et al. | Distributed task scheduling in cloud platform: a survey | |
| Qureshi et al. | Grid resource allocation for real-time data-intensive tasks | |
| Tan et al. | Resource stealing: a resource multiplexing method for mix workloads in cloud system | |
| JP2008226023A (ja) | ジョブ割当装置、及びジョブ割当方法 | |
| Munk et al. | Position paper: Real-time task migration on many-core processors | |
| JP4063651B2 (ja) | ジョブスケジューリング方法および装置 | |
| KR20150089665A (ko) | 워크플로우 작업 스케줄링 장치 | |
| US20230010895A1 (en) | Information processing apparatus, information processing method, and computer-readable recording medium storing information processing program | |
| Datta et al. | A dynamic algorithm for VM scheduling for prioritized cloudlets | |
| Bader et al. | Invasive computing on high performance shared memory systems |