JPH1027167A - 並列計算機の負荷分散方法 - Google Patents
並列計算機の負荷分散方法Info
- Publication number
- JPH1027167A JPH1027167A JP8183531A JP18353196A JPH1027167A JP H1027167 A JPH1027167 A JP H1027167A JP 8183531 A JP8183531 A JP 8183531A JP 18353196 A JP18353196 A JP 18353196A JP H1027167 A JPH1027167 A JP H1027167A
- Authority
- JP
- Japan
- Prior art keywords
- program
- computer
- resource
- configuration
- parallel
- 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
Abstract
(57)【要約】
【課題】 複数の構成プログラムから構成される並列プ
ログラム11の各構成プログラムを複数の計算機1−
1,1−2,・・・から構成される並列計算機の各計算
機1に割り当てるとき、構成プログラム自身が計算機1
にかける負荷を考慮した負荷分散を行い、並列プログラ
ム全体の経過時間を短縮する。 【解決手段】 各計算機1の履歴採取プログラム4は、
構成プログラム2の資源使用率データを採取し、資源使
用履歴12に格納する。スケジューラ6は、資源使用履
歴12から平均の資源使用率を求めて平均資源使用デー
タ13に格納し、ユーザ設定情報14に設定された注目
すべき資源について現在負荷データ15に格納される各
計算機1の使用率を参照し、注目する資源の使用率の大
きい構成プログラムから順に構成プログラムを注目する
資源の使用率の小さい計算機から順に計算機1に割り当
てる。
ログラム11の各構成プログラムを複数の計算機1−
1,1−2,・・・から構成される並列計算機の各計算
機1に割り当てるとき、構成プログラム自身が計算機1
にかける負荷を考慮した負荷分散を行い、並列プログラ
ム全体の経過時間を短縮する。 【解決手段】 各計算機1の履歴採取プログラム4は、
構成プログラム2の資源使用率データを採取し、資源使
用履歴12に格納する。スケジューラ6は、資源使用履
歴12から平均の資源使用率を求めて平均資源使用デー
タ13に格納し、ユーザ設定情報14に設定された注目
すべき資源について現在負荷データ15に格納される各
計算機1の使用率を参照し、注目する資源の使用率の大
きい構成プログラムから順に構成プログラムを注目する
資源の使用率の小さい計算機から順に計算機1に割り当
てる。
Description
【0001】
【発明の属する技術分野】本発明は、複数の計算機から
構成される並列計算機に係わり、特に複数の構成プログ
ラムから構成される並列プログラムの各構成プログラム
を各計算機に割り当てて並行して実行するときの負荷分
散方法に関する。
構成される並列計算機に係わり、特に複数の構成プログ
ラムから構成される並列プログラムの各構成プログラム
を各計算機に割り当てて並行して実行するときの負荷分
散方法に関する。
【0002】
【従来の技術】近年、複数の計算機から構成され、各々
専用の記憶装置とプロセッサを有する計算機が高速のネ
ットワークを介して相互に接続される分散メモリ型の並
列計算機が普及し始めている。複数の構成プログラムか
ら構成される並列プログラムの各構成プログラムは、各
計算機に割り当てられ、並行して実行される。構成プロ
グラムがネットワークを介して他の構成プログラムと通
信するとき、MPI(Message Passing
Interface)、PVM(Parallel
Virtual Machine)などの並列通信ライ
ブラリを介してプログラム間のメッセージ通信を行う。
これらの並列通信ライブラリは、構成プログラムが他の
構成プログラムと容易に通信できるようなアプリケーシ
ョン・インタフェースを提供する。
専用の記憶装置とプロセッサを有する計算機が高速のネ
ットワークを介して相互に接続される分散メモリ型の並
列計算機が普及し始めている。複数の構成プログラムか
ら構成される並列プログラムの各構成プログラムは、各
計算機に割り当てられ、並行して実行される。構成プロ
グラムがネットワークを介して他の構成プログラムと通
信するとき、MPI(Message Passing
Interface)、PVM(Parallel
Virtual Machine)などの並列通信ライ
ブラリを介してプログラム間のメッセージ通信を行う。
これらの並列通信ライブラリは、構成プログラムが他の
構成プログラムと容易に通信できるようなアプリケーシ
ョン・インタフェースを提供する。
【0003】各構成プログラムを計算機に割り当てると
き、スケジューリングする計算機は、各計算機の負荷情
報を収集し、負荷の小さい計算機から順に各構成プログ
ラムを割り当てていた。
き、スケジューリングする計算機は、各計算機の負荷情
報を収集し、負荷の小さい計算機から順に各構成プログ
ラムを割り当てていた。
【0004】なおこの種の技術として関連するものに
は、特開平7−234847号公報、特開平5−735
15号公報等がある。
は、特開平7−234847号公報、特開平5−735
15号公報等がある。
【0005】
【発明が解決しようとする課題】上記従来技術によれ
ば、各構成プログラム自身が計算機にかける負荷につい
ては考慮されていなかった。このため複数の構成プログ
ラムの中で実行時の経過時間の長い構成プログラムが負
荷の重い計算機に割り当てられることがあり、この結果
このような構成プログラムの経過時間が引き延ばされて
ボトルネックとなり、並列プログラム全体の経過時間が
増大するという問題があった。特に並列プログラムが何
回も繰り返して実行されるようなプログラムである場合
に、経過時間の安定したプログラム実行が望まれる。
ば、各構成プログラム自身が計算機にかける負荷につい
ては考慮されていなかった。このため複数の構成プログ
ラムの中で実行時の経過時間の長い構成プログラムが負
荷の重い計算機に割り当てられることがあり、この結果
このような構成プログラムの経過時間が引き延ばされて
ボトルネックとなり、並列プログラム全体の経過時間が
増大するという問題があった。特に並列プログラムが何
回も繰り返して実行されるようなプログラムである場合
に、経過時間の安定したプログラム実行が望まれる。
【0006】本発明は、構成プログラム自身が計算機に
かける負荷を考慮した負荷分散を行い、並列プログラム
全体の経過時間を短縮することを目的とする。
かける負荷を考慮した負荷分散を行い、並列プログラム
全体の経過時間を短縮することを目的とする。
【0007】
【課題を解決するための手段】本発明は、各構成プログ
ラムを各計算機で実行するときの資源使用率を取得し、
構成プログラムを実行しない状態での各計算機全体の資
源使用率を取得し、注目する資源の使用率の大きい構成
プログラムから順に構成プログラムを注目する資源の使
用率の小さい計算機から順に計算機に割り当てる並列計
算機の負荷分散方法を特徴とする。
ラムを各計算機で実行するときの資源使用率を取得し、
構成プログラムを実行しない状態での各計算機全体の資
源使用率を取得し、注目する資源の使用率の大きい構成
プログラムから順に構成プログラムを注目する資源の使
用率の小さい計算機から順に計算機に割り当てる並列計
算機の負荷分散方法を特徴とする。
【0008】本発明によれば、CPU,I/Oなどの資
源のうちで構成プログラムの特性からボトルネックにな
り易い資源に注目し、この注目する資源の使用率の大き
い構成プログラムから順に構成プログラムを注目する資
源の使用率の小さい計算機から順に対応するように計算
機に割り当てるので、ボトルネックになり易い構成プロ
グラムの経過時間の延びを防止でき、もって並列プログ
ラム全体の経過時間を短縮することができる。
源のうちで構成プログラムの特性からボトルネックにな
り易い資源に注目し、この注目する資源の使用率の大き
い構成プログラムから順に構成プログラムを注目する資
源の使用率の小さい計算機から順に対応するように計算
機に割り当てるので、ボトルネックになり易い構成プロ
グラムの経過時間の延びを防止でき、もって並列プログ
ラム全体の経過時間を短縮することができる。
【0009】
【発明の実施の形態】以下、本発明の一実施形態につい
て図面を用いて説明する。
て図面を用いて説明する。
【0010】図1は、分散メモリ型の並列計算機の構成
図である。並列計算機を構成する各計算機1−1,1−
2,1−3,1−4,1−5は、共通の通信路20に接
続され、それぞれ同等の処理能力を有する演算処理装置
と専用の記憶装置を有する。並列プログラム11は、1
個又は複数個の構成プログラムによって構成され、各構
成プログラムはいずれかの計算機1に割り付けられ、他
の構成プログラムと並行して実行されるユーザのアプリ
ケーションプログラムである。構成プログラム2は、計
算機1−1〜1−4に割り付けられ、専用の記憶装置に
ロードされて実行される構成プログラムを示している。
通信プログラム3は、計算機1が他の計算機1と情報の
送受信を行うプログラムであり、容易に利用できるアプ
リケーション・インタフェースを提供するという点で並
列通信ライブラリを含む通信制御プログラムが好適であ
る。履歴採取プログラム4は、構成プログラム2の資源
使用率及び実行時の経過時間の履歴データを採取するプ
ログラムである。負荷データ収集部5は、計算機1全体
の資源使用率データを収集するハードウェア及びプログ
ラムである。計算機1−2,1−3及び1−4の構成
は、計算機1−1と同じであり、各計算機の構成プログ
ラム2、通信プログラム3、履歴採取プログラム4及び
負荷データ収集部5を区別するときには、計算機の識別
子1〜5を付加する。
図である。並列計算機を構成する各計算機1−1,1−
2,1−3,1−4,1−5は、共通の通信路20に接
続され、それぞれ同等の処理能力を有する演算処理装置
と専用の記憶装置を有する。並列プログラム11は、1
個又は複数個の構成プログラムによって構成され、各構
成プログラムはいずれかの計算機1に割り付けられ、他
の構成プログラムと並行して実行されるユーザのアプリ
ケーションプログラムである。構成プログラム2は、計
算機1−1〜1−4に割り付けられ、専用の記憶装置に
ロードされて実行される構成プログラムを示している。
通信プログラム3は、計算機1が他の計算機1と情報の
送受信を行うプログラムであり、容易に利用できるアプ
リケーション・インタフェースを提供するという点で並
列通信ライブラリを含む通信制御プログラムが好適であ
る。履歴採取プログラム4は、構成プログラム2の資源
使用率及び実行時の経過時間の履歴データを採取するプ
ログラムである。負荷データ収集部5は、計算機1全体
の資源使用率データを収集するハードウェア及びプログ
ラムである。計算機1−2,1−3及び1−4の構成
は、計算機1−1と同じであり、各計算機の構成プログ
ラム2、通信プログラム3、履歴採取プログラム4及び
負荷データ収集部5を区別するときには、計算機の識別
子1〜5を付加する。
【0011】資源使用履歴12は、通信路20に接続さ
れすべての計算機によって共有される記憶装置上に格納
され、履歴採取プログラム4が収集した履歴データであ
る。平均資源使用データ13は、各構成プログラム2の
平均の資源使用率及び経過時間のデータを格納する。ユ
ーザ設定情報14は、各構成プログラム2を計算機1に
割り当てるスケジューリングの際に使用されるパラメー
タである。現在負荷データ15は、各計算機1の資源使
用率データである。予測負荷データ16は、現在の計算
機1の負荷に割り当てた構成プログラム2の資源使用率
を追加するとき予測される負荷データである。並列プロ
グラム11、平均資源使用データ13、ユーザ設定情報
14、現在負荷データ15及び予測負荷データ16は、
計算機1−5が有する専用の記憶装置上に格納される。
れすべての計算機によって共有される記憶装置上に格納
され、履歴採取プログラム4が収集した履歴データであ
る。平均資源使用データ13は、各構成プログラム2の
平均の資源使用率及び経過時間のデータを格納する。ユ
ーザ設定情報14は、各構成プログラム2を計算機1に
割り当てるスケジューリングの際に使用されるパラメー
タである。現在負荷データ15は、各計算機1の資源使
用率データである。予測負荷データ16は、現在の計算
機1の負荷に割り当てた構成プログラム2の資源使用率
を追加するとき予測される負荷データである。並列プロ
グラム11、平均資源使用データ13、ユーザ設定情報
14、現在負荷データ15及び予測負荷データ16は、
計算機1−5が有する専用の記憶装置上に格納される。
【0012】スケジューラ6は、計算機1−5の専用記
憶装置に格納されて実行されるプログラムであり、資源
使用履歴12を読み込み、各構成プログラム2の平均の
資源使用データを計算して平均資源使用データ13に格
納し、ユーザ設定情報14を読み込んでそのパラメータ
に基づいて各構成プログラムの割当優先順位を決定し、
負荷データ収集部5を介して各計算機1の現在の負荷デ
ータを収集して現在負荷データ15に格納し、構成プロ
グラムの割当優先順位に従って平均資源使用データ13
と現在負荷データ15とから構成プログラム2を追加し
たときの各計算機1の負荷を計算して予測負荷データ1
6に格納するとともに、各計算機1に割り当てる構成プ
ログラム2を決定する。通信プログラム7は、計算機1
−5が他の計算機1と情報の送受信を行うプログラムで
ある。なお計算機1−5は、スケジューリング専用の計
算機でもよいし、スケジューリングの後、他の計算機1
と並行して構成プログラムを実行する計算機であっても
よい。
憶装置に格納されて実行されるプログラムであり、資源
使用履歴12を読み込み、各構成プログラム2の平均の
資源使用データを計算して平均資源使用データ13に格
納し、ユーザ設定情報14を読み込んでそのパラメータ
に基づいて各構成プログラムの割当優先順位を決定し、
負荷データ収集部5を介して各計算機1の現在の負荷デ
ータを収集して現在負荷データ15に格納し、構成プロ
グラムの割当優先順位に従って平均資源使用データ13
と現在負荷データ15とから構成プログラム2を追加し
たときの各計算機1の負荷を計算して予測負荷データ1
6に格納するとともに、各計算機1に割り当てる構成プ
ログラム2を決定する。通信プログラム7は、計算機1
−5が他の計算機1と情報の送受信を行うプログラムで
ある。なお計算機1−5は、スケジューリング専用の計
算機でもよいし、スケジューリングの後、他の計算機1
と並行して構成プログラムを実行する計算機であっても
よい。
【0013】図2は、資源使用履歴12のデータ形式を
示す図である。資源使用履歴12は、各構成プログラム
2を少なくとも1回実行したときの資源使用率と経過時
間を記録する。項番は実行回数を示す番号である。経過
時間は、構成プログラム2が実行開始されてから終了す
るまでの時間である。トランザクション処理のような場
合には、経過時間は構成プログラム2にトランザクショ
ンが投入されてから結果のデータが出力されるまでの時
間であり、ターンアラウンドタイムに相当する。CPU
使用率は、構成プログラム2が単独で実行される場合、
構成プログラム2の経過時間に対する演算処理装置の使
用時間の比率である。I/O使用率は、構成プログラム
2の経過時間に対する外部記憶装置、通信路20伝送な
ど入出力装置の使用時間の比率である。
示す図である。資源使用履歴12は、各構成プログラム
2を少なくとも1回実行したときの資源使用率と経過時
間を記録する。項番は実行回数を示す番号である。経過
時間は、構成プログラム2が実行開始されてから終了す
るまでの時間である。トランザクション処理のような場
合には、経過時間は構成プログラム2にトランザクショ
ンが投入されてから結果のデータが出力されるまでの時
間であり、ターンアラウンドタイムに相当する。CPU
使用率は、構成プログラム2が単独で実行される場合、
構成プログラム2の経過時間に対する演算処理装置の使
用時間の比率である。I/O使用率は、構成プログラム
2の経過時間に対する外部記憶装置、通信路20伝送な
ど入出力装置の使用時間の比率である。
【0014】最初に構成プログラム2−1,2−2,2
−3及び2−4がそれぞれ計算機1−1,1−2,1−
3及び1−4に割り当てられ、並行して実行されるもの
とする。構成プログラム2は、必要に応じて通信プログ
ラム3及び通信路20を介して他の構成プログラム2と
通信しながら処理を進める。各履歴採取プログラム4
は、構成プログラム2が実行されている間のCPU使用
率、I/O使用率及び経過時間のデータを採取し、通信
プログラム3及び通信路20を介して資源使用履歴12
に格納する。このようにして履歴採取プログラム4は、
構成プログラム2が実行されるたびにその資源使用率及
び経過時間のデータを採取して資源使用履歴12に格納
する。同一プログラムであっても、入力データによって
資源使用率及び経過時間が異なる場合があり、このよう
な場合には構成プログラム2を複数回実行させ、各々の
履歴データを資源使用履歴12に記録するのが望まし
い。計算機1では構成プログラム2以外の図示しない他
のアプリケーションプログラムを構成プログラム2と同
時に走行させてよいが、履歴採取プログラム4が構成プ
ログラム2の履歴データを採取している間は他プログラ
ムを走行させないのが望ましい。また他プログラムの資
源使用率は定常的であって時間的に大きな変化をしない
ものとする。負荷データ収集部5は、少なくとも他プロ
グラムを実行している間、計算機1全体の資源使用率デ
ータを収集する。
−3及び2−4がそれぞれ計算機1−1,1−2,1−
3及び1−4に割り当てられ、並行して実行されるもの
とする。構成プログラム2は、必要に応じて通信プログ
ラム3及び通信路20を介して他の構成プログラム2と
通信しながら処理を進める。各履歴採取プログラム4
は、構成プログラム2が実行されている間のCPU使用
率、I/O使用率及び経過時間のデータを採取し、通信
プログラム3及び通信路20を介して資源使用履歴12
に格納する。このようにして履歴採取プログラム4は、
構成プログラム2が実行されるたびにその資源使用率及
び経過時間のデータを採取して資源使用履歴12に格納
する。同一プログラムであっても、入力データによって
資源使用率及び経過時間が異なる場合があり、このよう
な場合には構成プログラム2を複数回実行させ、各々の
履歴データを資源使用履歴12に記録するのが望まし
い。計算機1では構成プログラム2以外の図示しない他
のアプリケーションプログラムを構成プログラム2と同
時に走行させてよいが、履歴採取プログラム4が構成プ
ログラム2の履歴データを採取している間は他プログラ
ムを走行させないのが望ましい。また他プログラムの資
源使用率は定常的であって時間的に大きな変化をしない
ものとする。負荷データ収集部5は、少なくとも他プロ
グラムを実行している間、計算機1全体の資源使用率デ
ータを収集する。
【0015】図3は、平均資源使用データ13のデータ
形式を示す図である。平均資源使用データ13は、資源
使用履歴12のデータに基づいて計算された各構成プロ
グラム2の平均の資源使用率及び平均の経過時間であ
る。優先順位は、各構成プログラム2を計算機1に割り
当てるときの選択する順番を示す。
形式を示す図である。平均資源使用データ13は、資源
使用履歴12のデータに基づいて計算された各構成プロ
グラム2の平均の資源使用率及び平均の経過時間であ
る。優先順位は、各構成プログラム2を計算機1に割り
当てるときの選択する順番を示す。
【0016】ユーザ設定情報14は、構成プログラム2
の割当スケジューリングの際に使用されるパラメータの
例であり、次のようなパラメータから構成される。 (a)優先資源使用率:CPU使用率 (b)CPU使用率限界値:90% (c)I/O使用率限界値:90% (d)経過時間の最小値:10秒 優先資源使用率は、CPU使用率とI/O使用率のうち
どちらを優先して構成プログラム2を計算機1に割り当
てるかを指定するものであり、経過時間のボトルネック
となり得る資源の使用率を指定する。一般にCPUバウ
ンドの並列プログラムについてはCPU使用率を指定
し、I/Oバウンドの並列プログラムについてはI/O
使用率を指定する。CPU使用率限界値は、計算機1の
CPU使用率の上限を指定し、I/O使用率限界値は、
計算機1からみたI/O使用率の上限を指定する。資源
使用率の限界値は、計算機1がその限界値を越えたと
き、資源使用率のわずかの増加によって経過時間が急激
に増大するような場合の実際の限界となる資源使用率を
与えるものである。経過時間の最小値は、経過時間の小
さい構成プログラム2の優先度を下げるために設定する
経過時間の下限を指定するパラメータである。
の割当スケジューリングの際に使用されるパラメータの
例であり、次のようなパラメータから構成される。 (a)優先資源使用率:CPU使用率 (b)CPU使用率限界値:90% (c)I/O使用率限界値:90% (d)経過時間の最小値:10秒 優先資源使用率は、CPU使用率とI/O使用率のうち
どちらを優先して構成プログラム2を計算機1に割り当
てるかを指定するものであり、経過時間のボトルネック
となり得る資源の使用率を指定する。一般にCPUバウ
ンドの並列プログラムについてはCPU使用率を指定
し、I/Oバウンドの並列プログラムについてはI/O
使用率を指定する。CPU使用率限界値は、計算機1の
CPU使用率の上限を指定し、I/O使用率限界値は、
計算機1からみたI/O使用率の上限を指定する。資源
使用率の限界値は、計算機1がその限界値を越えたと
き、資源使用率のわずかの増加によって経過時間が急激
に増大するような場合の実際の限界となる資源使用率を
与えるものである。経過時間の最小値は、経過時間の小
さい構成プログラム2の優先度を下げるために設定する
経過時間の下限を指定するパラメータである。
【0017】図4は、現在負荷データ15のデータ形式
を示す図である。現在負荷データ15は、各計算機1ご
とに負荷の大きさとして平均の資源使用率を設定する。
を示す図である。現在負荷データ15は、各計算機1ご
とに負荷の大きさとして平均の資源使用率を設定する。
【0018】図5は、予測負荷データ16のデータ形式
を示す図である。予測負荷データ16は、各計算機1ご
とに割り当てた構成プログラム2、構成プログラム2を
付加したときの予想される負荷の大きさとして予測資源
使用率を設定する。
を示す図である。予測負荷データ16は、各計算機1ご
とに割り当てた構成プログラム2、構成プログラム2を
付加したときの予想される負荷の大きさとして予測資源
使用率を設定する。
【0019】図6は、スケジューラ6の処理の流れを示
すフローチャートである。スケジューラ6は、資源使用
履歴12に構成プログラム2が少なくとも1回実行され
たときの履歴データが格納され、各計算機1に構成プロ
グラム2がロードされる前の状態で処理を開始する。各
計算機1は構成プログラム2以外の他のプログラムを実
行していてもよい。スケジューラ6は、通信プログラム
7及び通信路20を介して資源使用履歴12のデータを
読み込み(ステップ61)、各構成プログラム2につい
て平均資源使用率と平均経過時間を計算して(ステップ
62)、平均資源使用データ13に格納する(ステップ
63)。次にユーザ設定情報14を読み込んで(ステッ
プ64)、その優先資源使用率に基づいて各構成プログ
ラム2に割当優先順位を付与する(ステップ65)。例
えばCPU使用率が優先資源使用率であれば、平均資源
使用データ13を参照して平均CPU使用率の大きい構
成プログラム2から順に1,2,・・・の優先順位を付
与する。次に平均資源使用データ13を参照して平均経
過時間がユーザ設定情報14に設定する最小値以下の構
成プログラム2があればそれを抽出し(ステップ6
6)、抽出した構成プログラム2を除外して平均CPU
使用率の大きい構成プログラム2から順に1,2,・・
・の優先順位を付け直し、除外した構成プログラム2に
ついては経過時間の大きい構成プログラム2から順に続
きの優先順位を付与するように優先順位を付け直す(ス
テップ67)。この処理によって経過時間が最小値以下
の構成プログラム2は最下位から順に優先順位が付与さ
れ、残りの構成プログラム2は優先資源使用率の大きい
ものから順に1,2,・・・の優先順位が付与されるこ
とになる。経過時間の極端に小さい構成プログラム2
は、計算機1に加える負荷が小さいために、優先資源使
用率が大きいか否かにかかわらず負荷の大きい計算機1
に割り当てる。この処理によって経過時間の極端に小さ
い構成プログラム2が誤って負荷の小さい計算機1に割
り当てられ、結果として不平衡な負荷分散が行われて並
列プログラム全体の経過時間が増大することを防止す
る。次にスケジューラ6は、通信プログラム7及び通信
路20を介して負荷データ収集部5に計算機1の負荷デ
ータを要求し、取得した計算機1の資源使用率を現在負
荷データ15に格納する(ステップ68)。次に構成プ
ログラム2の割当を終了していなければ(ステップ69
NO)、割当の済んでいない最も優先順位の高い構成プ
ログラム2を選択して、まだ割当の済んでいない計算機
1の中で優先資源使用率が最も小さい計算機1に仮割当
し、次の計算式により計算機1の予測資源使用率を計算
する(ステップ70)。 予測資源使用率=計算機1の現在の平均資源使用率+選
択した構成プログラム2の平均資源使用率 予測資源使用率は、CPU使用率とI/O使用率の両方
についてそれぞれ計算する。次に計算した予測資源使用
率とユーザ設定情報14から入力されたCPU使用率限
界値及びI/O使用率限界値とをそれぞれ比較する(ス
テップ71)。CPU使用率とI/O使用率のいずれも
限界値を越えていないとき(ステップ71NO)、選択
した構成プログラム2を仮割当した計算機1に割り当て
ることにし(ステップ72)、予測負荷データ16の該
当する計算機1に対応して割り当てた構成プログラム2
の識別子、計算した予測CPU使用率及び予測I/O使
用率を格納する。CPU使用率とI/O使用率のいずれ
かが限界値を越えたとき(ステップ71YES)、予測
負荷データ16の該当する計算機1に対応してフラグを
立て、割当が済んでいないか、仮割当の試行をしていな
い残りの計算機1があれば(ステップ73YES)、ス
テップ70に戻って上記処理を繰り返す。このようにし
てすべての構成プログラム2を計算機1に割り当てたと
き(ステップ69YES)、スケジューラ6は予測負荷
データ16上の構成プログラム2の割当に従って並列プ
ログラム11から各構成プログラム2を読み出して割り
当てた計算機1にローディングし、起動する(ステップ
74)。残りの計算機1がなくなったとき(ステップ7
3NO)、スケジューラ6は図示しない表示装置上に並
列プログラムの実行を中止する旨のメッセージを表示す
る(ステップ75)。
すフローチャートである。スケジューラ6は、資源使用
履歴12に構成プログラム2が少なくとも1回実行され
たときの履歴データが格納され、各計算機1に構成プロ
グラム2がロードされる前の状態で処理を開始する。各
計算機1は構成プログラム2以外の他のプログラムを実
行していてもよい。スケジューラ6は、通信プログラム
7及び通信路20を介して資源使用履歴12のデータを
読み込み(ステップ61)、各構成プログラム2につい
て平均資源使用率と平均経過時間を計算して(ステップ
62)、平均資源使用データ13に格納する(ステップ
63)。次にユーザ設定情報14を読み込んで(ステッ
プ64)、その優先資源使用率に基づいて各構成プログ
ラム2に割当優先順位を付与する(ステップ65)。例
えばCPU使用率が優先資源使用率であれば、平均資源
使用データ13を参照して平均CPU使用率の大きい構
成プログラム2から順に1,2,・・・の優先順位を付
与する。次に平均資源使用データ13を参照して平均経
過時間がユーザ設定情報14に設定する最小値以下の構
成プログラム2があればそれを抽出し(ステップ6
6)、抽出した構成プログラム2を除外して平均CPU
使用率の大きい構成プログラム2から順に1,2,・・
・の優先順位を付け直し、除外した構成プログラム2に
ついては経過時間の大きい構成プログラム2から順に続
きの優先順位を付与するように優先順位を付け直す(ス
テップ67)。この処理によって経過時間が最小値以下
の構成プログラム2は最下位から順に優先順位が付与さ
れ、残りの構成プログラム2は優先資源使用率の大きい
ものから順に1,2,・・・の優先順位が付与されるこ
とになる。経過時間の極端に小さい構成プログラム2
は、計算機1に加える負荷が小さいために、優先資源使
用率が大きいか否かにかかわらず負荷の大きい計算機1
に割り当てる。この処理によって経過時間の極端に小さ
い構成プログラム2が誤って負荷の小さい計算機1に割
り当てられ、結果として不平衡な負荷分散が行われて並
列プログラム全体の経過時間が増大することを防止す
る。次にスケジューラ6は、通信プログラム7及び通信
路20を介して負荷データ収集部5に計算機1の負荷デ
ータを要求し、取得した計算機1の資源使用率を現在負
荷データ15に格納する(ステップ68)。次に構成プ
ログラム2の割当を終了していなければ(ステップ69
NO)、割当の済んでいない最も優先順位の高い構成プ
ログラム2を選択して、まだ割当の済んでいない計算機
1の中で優先資源使用率が最も小さい計算機1に仮割当
し、次の計算式により計算機1の予測資源使用率を計算
する(ステップ70)。 予測資源使用率=計算機1の現在の平均資源使用率+選
択した構成プログラム2の平均資源使用率 予測資源使用率は、CPU使用率とI/O使用率の両方
についてそれぞれ計算する。次に計算した予測資源使用
率とユーザ設定情報14から入力されたCPU使用率限
界値及びI/O使用率限界値とをそれぞれ比較する(ス
テップ71)。CPU使用率とI/O使用率のいずれも
限界値を越えていないとき(ステップ71NO)、選択
した構成プログラム2を仮割当した計算機1に割り当て
ることにし(ステップ72)、予測負荷データ16の該
当する計算機1に対応して割り当てた構成プログラム2
の識別子、計算した予測CPU使用率及び予測I/O使
用率を格納する。CPU使用率とI/O使用率のいずれ
かが限界値を越えたとき(ステップ71YES)、予測
負荷データ16の該当する計算機1に対応してフラグを
立て、割当が済んでいないか、仮割当の試行をしていな
い残りの計算機1があれば(ステップ73YES)、ス
テップ70に戻って上記処理を繰り返す。このようにし
てすべての構成プログラム2を計算機1に割り当てたと
き(ステップ69YES)、スケジューラ6は予測負荷
データ16上の構成プログラム2の割当に従って並列プ
ログラム11から各構成プログラム2を読み出して割り
当てた計算機1にローディングし、起動する(ステップ
74)。残りの計算機1がなくなったとき(ステップ7
3NO)、スケジューラ6は図示しない表示装置上に並
列プログラムの実行を中止する旨のメッセージを表示す
る(ステップ75)。
【0020】上記のスケジューラ6の処理によって、例
えば図3に示す資源使用データをもつ構成プログラム2
の割当優先順位は、上記ユーザ設定情報14の例によれ
ば図3に示す順位となり、現在負荷データ15が図4に
示すものとしたとき、結果として各計算機1に割り当て
られる構成プログラム2及び予測資源使用率は図5に示
すものとなる。この例ではまず構成プログラム2−3が
計算機1−1に割当された後、構成プログラム2−2が
計算機1−2に仮割当されるが、計算機1−2の予測I
/O使用率が限界値を越えるため、計算機1−3に割当
されることになり、構成プログラム2−1及び2−4は
仮割当通りそれぞれ計算機1−2及び1−4に割当され
る。
えば図3に示す資源使用データをもつ構成プログラム2
の割当優先順位は、上記ユーザ設定情報14の例によれ
ば図3に示す順位となり、現在負荷データ15が図4に
示すものとしたとき、結果として各計算機1に割り当て
られる構成プログラム2及び予測資源使用率は図5に示
すものとなる。この例ではまず構成プログラム2−3が
計算機1−1に割当された後、構成プログラム2−2が
計算機1−2に仮割当されるが、計算機1−2の予測I
/O使用率が限界値を越えるため、計算機1−3に割当
されることになり、構成プログラム2−1及び2−4は
仮割当通りそれぞれ計算機1−2及び1−4に割当され
る。
【0021】上記実施形態によれば、並列プログラムを
構成する構成プログラムの中で、構成プログラムの実行
時経過時間を引き延ばすボトルネックとなり易い資源に
ついてその資源使用率においてボトルネックとなり易い
構成プログラムをその資源使用率の負荷が小さい計算機
に割り当てるため、このような構成プログラム2の経過
時間を増大させない方向で負荷分散が行われ、結果とし
て並列プログラム11全体の経過時間あるいはターンア
ラウンドタイムを短縮できる。またこのとき経過時間の
極端に小さい構成プログラム2は、並列プログラム全体
の経過時間に注目したときその経過時間が多少延びても
ボトルネックにならないものとして比較的負荷の大きい
計算機に割当されるため、このような構成プログラム2
によって上記の原則が乱されることがなく、結果として
並列プログラム11全体の経過時間の短縮に寄与する。
さらに計算機1の資源使用率の限界値を越えるような構
成プログラム2の割当を排除するために、上記のような
構成プログラム2自体に起因するボトルネック以外の新
たなボトルネックが発生して構成プログラム2の経過時
間が増大することを防止し、結果として並列プログラム
11全体の経過時間の短縮に寄与する。
構成する構成プログラムの中で、構成プログラムの実行
時経過時間を引き延ばすボトルネックとなり易い資源に
ついてその資源使用率においてボトルネックとなり易い
構成プログラムをその資源使用率の負荷が小さい計算機
に割り当てるため、このような構成プログラム2の経過
時間を増大させない方向で負荷分散が行われ、結果とし
て並列プログラム11全体の経過時間あるいはターンア
ラウンドタイムを短縮できる。またこのとき経過時間の
極端に小さい構成プログラム2は、並列プログラム全体
の経過時間に注目したときその経過時間が多少延びても
ボトルネックにならないものとして比較的負荷の大きい
計算機に割当されるため、このような構成プログラム2
によって上記の原則が乱されることがなく、結果として
並列プログラム11全体の経過時間の短縮に寄与する。
さらに計算機1の資源使用率の限界値を越えるような構
成プログラム2の割当を排除するために、上記のような
構成プログラム2自体に起因するボトルネック以外の新
たなボトルネックが発生して構成プログラム2の経過時
間が増大することを防止し、結果として並列プログラム
11全体の経過時間の短縮に寄与する。
【0022】なお並列計算機を構成する計算機の数が並
列プログラムを構成する構成プログラムの数より多い場
合、スケジューラ6は注目する資源の使用率の小さいも
のから順に構成プログラムの数に相当する計算機を選択
し、選択した計算機について上記の割当スケジューリン
グを行えばよい。
列プログラムを構成する構成プログラムの数より多い場
合、スケジューラ6は注目する資源の使用率の小さいも
のから順に構成プログラムの数に相当する計算機を選択
し、選択した計算機について上記の割当スケジューリン
グを行えばよい。
【0023】また上記実施形態では、資源使用率として
CPU使用率とI/O使用率を挙げたが、I/O使用率
を通信路20の使用率と通信路20以外の入出力装置使
用率とに分離してもよい。またメモリ(主記憶)使用率
を加えてもよい。
CPU使用率とI/O使用率を挙げたが、I/O使用率
を通信路20の使用率と通信路20以外の入出力装置使
用率とに分離してもよい。またメモリ(主記憶)使用率
を加えてもよい。
【0024】
【発明の効果】本発明によれば、並列プログラムを構成
する構成プログラムについてボトルネックとなり易い資
源に注目し、この資源の使用率においてボトルネックと
なり易い構成プログラムをその資源使用率の負荷が小さ
い計算機に割り当てるため、並列プログラム全体の経過
時間あるいはターンアラウンドタイムが短縮され、特に
繰り返し実行される並列プログラムの安定したターンア
ラウンドタイムを実現できる。
する構成プログラムについてボトルネックとなり易い資
源に注目し、この資源の使用率においてボトルネックと
なり易い構成プログラムをその資源使用率の負荷が小さ
い計算機に割り当てるため、並列プログラム全体の経過
時間あるいはターンアラウンドタイムが短縮され、特に
繰り返し実行される並列プログラムの安定したターンア
ラウンドタイムを実現できる。
【図1】実施形態の分散メモリ型の並列計算機の構成図
である。
である。
【図2】実施形態の資源使用履歴12のデータ形式を示
す図である。
す図である。
【図3】実施形態の平均資源使用データ13のデータ形
式を示す図である。
式を示す図である。
【図4】実施形態の現在負荷データ15のデータ形式を
示す図である。
示す図である。
【図5】実施形態の予測負荷データ16のデータ形式を
示す図である。
示す図である。
【図6】実施形態のスケジューラ6の処理の流れを示す
フローチャートである。
フローチャートである。
1:計算機、2:構成プログラム、4:履歴採取プログ
ラム、6:スケジューラ、11:並列プログラム、1
2:資源使用履歴、13:平均資源使用データ、14:
ユーザ設定情報、15:現在負荷データ、16:予測負
荷データ
ラム、6:スケジューラ、11:並列プログラム、1
2:資源使用履歴、13:平均資源使用データ、14:
ユーザ設定情報、15:現在負荷データ、16:予測負
荷データ
Claims (3)
- 【請求項1】複数の構成プログラムから構成される並列
プログラムの各構成プログラムを複数の計算機から構成
される並列計算機の各計算機に割り当てて並行して実行
するときの計算機によってスケジュールされる負荷分散
方法において、 各構成プログラムを該計算機で実行するときの構成プロ
グラムの資源使用率を取得し、該構成プログラムを実行
しない状態での各計算機全体の資源使用率を取得し、注
目する資源の使用率の大きい構成プログラムから順に構
成プログラムを注目する資源の使用率の小さい計算機か
ら順に計算機に割り当てることを特徴とする並列計算機
の負荷分散方法。 - 【請求項2】さらに各構成プログラムを該計算機で実行
するときの経過時間を取得し、経過時間が所定時間に達
しない構成プログラムを除外して上記割当を行い、除外
した構成プログラムについては経過時間の大きい構成プ
ログラムから順に構成プログラムを注目する資源の使用
率の小さい残りの計算機から順に計算機に割り当てるこ
とを特徴とする請求項1記載の並列計算機の負荷分散方
法。 - 【請求項3】各構成プログラムを該計算機に割り当てる
とき、構成プログラムの各資源使用率に割り当てる計算
機の対応する資源使用率を加えた合計の資源使用率が所
定の限界値を越える場合に割当をやめて注目する資源の
使用率の次に大きい計算機に割り当てることを特徴とす
る請求項1記載の並列計算機の負荷分散方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP8183531A JPH1027167A (ja) | 1996-07-12 | 1996-07-12 | 並列計算機の負荷分散方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP8183531A JPH1027167A (ja) | 1996-07-12 | 1996-07-12 | 並列計算機の負荷分散方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH1027167A true JPH1027167A (ja) | 1998-01-27 |
Family
ID=16137468
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP8183531A Pending JPH1027167A (ja) | 1996-07-12 | 1996-07-12 | 並列計算機の負荷分散方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH1027167A (ja) |
Cited By (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2004530196A (ja) * | 2001-03-08 | 2004-09-30 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 区分処理環境におけるリソース平衡化 |
| US7478393B2 (en) | 2003-04-30 | 2009-01-13 | International Business Machines Corporation | Method for marketing to instant messaging service users |
| JP2009134640A (ja) * | 2007-11-30 | 2009-06-18 | Hitachi Ltd | リソース割当方法、リソース割当プログラム、および、運用管理装置 |
| US7743148B2 (en) | 2007-02-23 | 2010-06-22 | Nec Corporation | Server migration planning system and server migration planning method |
| JP2010277171A (ja) * | 2009-05-26 | 2010-12-09 | Hitachi Ltd | タスク割当装置、および、タスク割当方法 |
| JP2011013822A (ja) * | 2009-06-30 | 2011-01-20 | Nec Corp | 情報システム、制御装置、そのデータ処理方法およびプログラム |
| US8051269B2 (en) | 2003-04-30 | 2011-11-01 | International Business Machines Corporation | Automated memory reallocation and optimization between logical partitions |
| WO2013018184A1 (ja) * | 2011-07-29 | 2013-02-07 | 富士通株式会社 | 割当方法、およびマルチコアプロセッサシステム |
| JP2020087060A (ja) * | 2018-11-28 | 2020-06-04 | 日本電気株式会社 | ジョブスケジューリング装置、管理システム、及びスケジューリング方法 |
-
1996
- 1996-07-12 JP JP8183531A patent/JPH1027167A/ja active Pending
Cited By (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2004530196A (ja) * | 2001-03-08 | 2004-09-30 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 区分処理環境におけるリソース平衡化 |
| US7478393B2 (en) | 2003-04-30 | 2009-01-13 | International Business Machines Corporation | Method for marketing to instant messaging service users |
| US8051269B2 (en) | 2003-04-30 | 2011-11-01 | International Business Machines Corporation | Automated memory reallocation and optimization between logical partitions |
| US8381225B2 (en) | 2003-04-30 | 2013-02-19 | International Business Machines Corporation | Automated processor reallocation and optimization between logical partitions |
| US7743148B2 (en) | 2007-02-23 | 2010-06-22 | Nec Corporation | Server migration planning system and server migration planning method |
| JP2009134640A (ja) * | 2007-11-30 | 2009-06-18 | Hitachi Ltd | リソース割当方法、リソース割当プログラム、および、運用管理装置 |
| JP2010277171A (ja) * | 2009-05-26 | 2010-12-09 | Hitachi Ltd | タスク割当装置、および、タスク割当方法 |
| JP2011013822A (ja) * | 2009-06-30 | 2011-01-20 | Nec Corp | 情報システム、制御装置、そのデータ処理方法およびプログラム |
| WO2013018184A1 (ja) * | 2011-07-29 | 2013-02-07 | 富士通株式会社 | 割当方法、およびマルチコアプロセッサシステム |
| JPWO2013018184A1 (ja) * | 2011-07-29 | 2015-03-02 | 富士通株式会社 | 割当方法、およびマルチコアプロセッサシステム |
| US9189279B2 (en) | 2011-07-29 | 2015-11-17 | Fujitsu Limited | Assignment method and multi-core processor system |
| JP2020087060A (ja) * | 2018-11-28 | 2020-06-04 | 日本電気株式会社 | ジョブスケジューリング装置、管理システム、及びスケジューリング方法 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US10664308B2 (en) | Job distribution within a grid environment using mega-host groupings of execution hosts | |
| US6732139B1 (en) | Method to distribute programs using remote java objects | |
| US7117499B2 (en) | Virtual computer systems and computer virtualization programs | |
| Hui et al. | Improved strategies for dynamic load balancing | |
| JP3678414B2 (ja) | 多重プロセッサ・システム | |
| US7299468B2 (en) | Management of virtual machines to utilize shared resources | |
| US7748005B2 (en) | System and method for allocating a plurality of resources between a plurality of computing domains | |
| US8996756B2 (en) | Using process location to bind IO resources on NUMA architectures | |
| US20130346994A1 (en) | Job distribution within a grid environment | |
| JP2003256221A (ja) | 並列プロセス実行方法、及びマルチプロセッサ型コンピュータ | |
| CN101473306A (zh) | 基于资源的调度器 | |
| HUP0301326A2 (en) | Method and system for managing workload in a computing environment, as well as computer program for implementing the method | |
| WO1997031313A1 (en) | Method and computer system for improving the response time of a computer system to a user request | |
| JP2014120097A (ja) | 情報処理装置、プログラム、及び、情報処理方法 | |
| CN113419863A (zh) | 一种基于节点能力的数据分配处理方法及装置 | |
| CN114116173A (zh) | 动态调整任务分配的方法、装置和系统 | |
| 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 | |
| JPH1027167A (ja) | 並列計算機の負荷分散方法 | |
| JPH012145A (ja) | 仮想計算機システムの資源管理方式 | |
| CN114546587A (zh) | 一种在线图像识别服务的扩缩容方法及相关装置 | |
| CN114461365A (zh) | 一种进程调度处理方法、装置、设备和存储介质 | |
| JPH0628323A (ja) | プロセス実行制御方法 | |
| JP2001195268A (ja) | サービスレベルによる資源割当方式 | |
| JPH09212467A (ja) | 負荷分散制御システム | |
| JP5045576B2 (ja) | マルチプロセッサシステム及びプログラム実行方法 |