JPH07253952A - 分散処理システム - Google Patents

分散処理システム

Info

Publication number
JPH07253952A
JPH07253952A JP4411994A JP4411994A JPH07253952A JP H07253952 A JPH07253952 A JP H07253952A JP 4411994 A JP4411994 A JP 4411994A JP 4411994 A JP4411994 A JP 4411994A JP H07253952 A JPH07253952 A JP H07253952A
Authority
JP
Japan
Prior art keywords
processing device
information
module
load
information processing
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
JP4411994A
Other languages
English (en)
Inventor
Kazuo Ishikawa
和男 石川
Hirotada Fukuda
弘忠 福田
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.)
Hitachi Software Engineering Co Ltd
Hitachi Ltd
Original Assignee
Hitachi Software Engineering Co Ltd
Hitachi 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 Hitachi Software Engineering Co Ltd, Hitachi Ltd filed Critical Hitachi Software Engineering Co Ltd
Priority to JP4411994A priority Critical patent/JPH07253952A/ja
Publication of JPH07253952A publication Critical patent/JPH07253952A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Abstract

(57)【要約】 【目的】 複数の情報処理装置110〜410が接続さ
れた分散システムにおいて、プログラムを並列同時実行
可能なモジュール単位に分割し、各情報処理装置の負荷
を相互に交換することで各情報処理装置の負荷情報を収
集し、負荷の軽い情報処理装置を選択してプログラムモ
ジュールを並列的に実行することでプログラム実行時間
の短縮と分散システムの負荷の平均化を図る。 【構成】 各情報処理装置のメモリ中に、モジュール起
動制御機構11、処理装置選択機構12、負荷検出機構
13、処理装置間通信機構15を持ち、負荷検出機構1
4が定期的に収集した各情報処理装置の負荷情報14と
使用者が設定した処理装置限定情報17を参照して選択
機構12が負荷の軽い情報処理装置を選択し、制御機構
11が通信機構15を通して目的の情報処理装置中のモ
ジュール起動制御機構21と通信しプログラムモジュー
ル26を実行する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、複数の情報処理装置が
ネットワークで結ばれた分散処理システムに係り、特
に、各情報処理装置の負荷情報を収集し、プログラムモ
ジュール実行を負荷の軽い情報処理装置で並列的に同時
に実行することにより、プログラムの実行時間を短縮
し、各情報処理装置の負荷をシステム全体で平均化させ
るようにした分散処理システムに関する。
【0002】
【従来の技術】一般に、複数の情報処理装置がネットワ
ークで結ばれた分散処理システムにおいて、特定の情報
処理装置の負荷が増大した場合、負荷を分散させる方法
が従来より種々知られている。例えば特開昭60−77
258号公報(文献1)には、パーソナルコンピュータ
でのジョブを実行する前にネットワーク中の各々のパー
ソナルコンピュータの負荷を調べて、その中の軽負荷の
パーソナルコンピュータを選択して実行させる負荷分散
処理方式が開示され、また例えば特開平2−12096
8号公報(文献2)や特開平5−101019号公報
(文献3)には、予め管理用コンピュータが収集してお
いた各コンピュータの負荷情報を調べて低負荷のコンピ
ュータでジョブを実行させるという方法が開示されてい
る。ジョブ開始後に当該情報処理装置の負荷が増大した
場合にはこれらの方法では一度開始したジョブは終了ま
で同一処理装置上で実行させなければならないが、例え
ば特開平5−151177号公報(文献4)では、各ジ
ョブ毎にCPU使用率を監視し、処理の途中で最も使用
率の高いジョブのメモリイメージを他の処理装置へダイ
ナミックに移送するという方法が開示されている。ここ
で、プログラム移送が可能となるのは同一アーキテクチ
ャの処理装置でネットワークが構成されている場合であ
る。
【0003】
【発明が解決しようとする課題】上記従来技術では、い
ずれも負荷分散の単位がジョブであり、一度ジョブが実
行を開始すると特定の処理装置の負荷が増大してもジョ
ブ終了まで待つか、またはジョブ実行途中でプログラム
のメモリイメージを他の処理装置に移送するという方法
が採られているため、ジョブの移送を可能とするために
はネットワークが同一アーキテクチャの情報処理装置で
構成されていなければならないという問題があった。
【0004】従って、本発明の目的は、上記従来技術の
問題点を解消し、アーキテクチャの異なる処理装置が混
在する分散システムにおいて、ジョブを構成するプログ
ラムモジュールを分散させ、これらのプログラムモジュ
ールを並列的に同時に実行させることにより、ジョブの
実行時間を短縮し、また分散システム資源の有効活用を
図るようにした分散処理システムを提供することにあ
る。
【0005】
【課題を解決するための手段】上記目的を達成するた
め、本発明は、基本的には、(ジョブ)プログラムを複
数個のプログラムモジュールに分散し、プログラムモジ
ュール単位で並列的に分散処理を行なうものである。す
なわち、本発明は、ネットワーク上に種々のアーキテク
チャの混在する複数の情報処理装置が相互に接続された
分散処理システムにおいて、プログラムを複数の並列処
理可能な複数のプログラムモジュールに分割して各情報
処理装置中に配置し、各情報処理装置中に、モジュール
起動制御機構と、処理装置選択機構と、負荷検出機構
と、処理装置間通信機構とを設け、各負荷検出機構は、
定期的に自他の情報処理装置の負荷情報を収集してお
り、ある情報処理装置において実行中のプログラムモジ
ュールから他のプログラムモジュールを呼び出す際に、
この(呼び出し元の)情報処理装置中の処理装置選択機
構が、前記負荷情報に基づいて(負荷情報を参照して)
負荷の軽い情報処理装置を選択し、(呼び出し元の情報
処理装置の)モジュール起動制御機構が、処理装置間通
信機構を通じて前記選択された(呼び出し先の、実行す
べき)情報処理装置中のプログラムモジュールを呼び出
すように構成したものである。
【0006】また、本発明は、実行中の(呼び出し元
の)情報処理装置中に、実行可能な情報処理装置を限定
する処理装置限定情報を設定し、前記処理装置選択機構
が前記負荷情報及びこの処理装置限定情報を参照するこ
とにより、負荷が軽くかつ目的のプログラムモジュール
を実行(コンパイル)することが可能な情報処理装置を
選択することができる。
【0007】実行可能な処理装置限定情報の設定の仕方
としては、例えば、同一のアーキテクチャを持つ情報処
理装置毎にグループ分けするグループ化情報を設定する
方法や、あるモジュールが特定の情報処理装置だけに配
置されている場合には、目的モジュールが配置された情
報処理装置を識別する情報を付与する方法などがある。
使用者は、該当する情報処理装置のうちの任意のものを
選定することもできる。処理装置限定情報の設定は、使
用者がジョブを実行する前に予め行なうようにする。
【0008】各情報処理装置は、中央処理装置、主メモ
リ、及び外部記憶装置を含み、分割されたプログラムモ
ジュールは、それぞれ外部記憶装置に格納されている。
【0009】
【作用】上記構成に基づく作用を説明する。
【0010】各情報処理装置中の負荷検出機構は定期的
に自情報処理装置の負荷を計算し、処理装置間通信機構
を使用して他の情報処理装置中の負荷検出機構へ送り、
同時に他の情報処理装置の負荷情報を収集する。使用者
はプログラムの実行に際して、目的プログラムモジュー
ルの実行可能な情報処理装置のような、実行すべき処理
装置を限定すべき条件または限定したい条件があれば処
理装置限定情報を設定する。
【0011】ある情報処理装置において実行中のプログ
ラムモジュールが他のプログラムモジュールを呼び出そ
うとする場合、呼び出し元モジュールはモジュール起動
制御機構に制御を渡す。モジュール起動制御機構は処理
装置選択機構を呼び出し、処理装置選択機構は、使用者
が設定した処理装置限定情報と負荷検出機構が収集した
負荷情報を参照して、実行可能な情報処理装置中から負
荷の軽い情報処理装置を求め、これをモジュール起動制
御機構に通知する。モジュール起動制御機構は、処理装
置間通信機構を使用して目的の情報処理装置中のモジュ
ール起動制御機構と通信を行ない、目的のプログラムモ
ジュールを呼び出し実行させる。モジュール呼び出し時
に処理装置限定情報も目的の情報処理装置へ送り、目的
の情報処理装置のメモリ中に記憶する。引き続き行なわ
れるモジュール呼び出しにおいても使用者の設定した処
理装置限定情報が引き継がれる。実行中のプログラムモ
ジュールは、モジュール起動制御機構を通して分散シス
テムの負荷情報を問い合わせることも可能である。
【0012】このようにして、ジョブプログラムが負荷
の軽い各情報処理装置にプログラムモジュール単位でき
め細かに分配されて、同時並列的に処理が実行されるの
で、分散システム全体で負荷の平均化がより一層円滑に
行なわれ、プログラムが効率的に実行され、プログラム
の実行時間を短縮することができる。
【0013】
【実施例】以下に、本発明の実施例を、図面により説明
する。
【0014】図1は、本発明の一実施例を示す分散処理
システムのブロック図である。図1において110,2
10,310,410は情報処理装置であり、それぞれ
中央処理装置101,201,301,401、メモリ
102,202,302,402、外部記憶装置10
3,203,303,403から構成される。それぞれ
の情報処理装置はネットワークインタフェース装置10
4,204,304,404を介してケーブル300で
接続されネツトワークを構成する。各情報処理装置の主
メモリ(メモリ制御部を含む)102,202,30
2,402中にはモジュール起動制御機構11,21,
31,41、処理装置選択機構12,22,32,4
2、負荷検出機構13,23,33,43、負荷情報1
4,24,34,44、処理装置間通信機構15,2
5,35,45を持つ。
【0015】負荷検出機構13は一定時間間隔で当該情
報処理の負荷を計算し、処理装置間通信機構15を使用
して分散システム中の他の情報処理装置210,31
0,410中の負荷検出機構23,33,43と通信
し、お互いの負荷情報を交換し、メモリ中に負荷情報1
4を記憶する。プログラム使用者10は、プログラムモ
ジュール実行に際し、実行すべき情報処理装置を限定す
べき条件がある場合は処理装置限定情報17を設定す
る。この限定条件を示す限定情報としては、同一のアー
キテクチャをもつ情報処理装置でコンパイルを行なう必
要があるため、情報処理装置を同一のアーキテクチャ毎
にグループ分けして識別できるようにする。また、同じ
プログラムモジュールが必ずしも全部の情報処理装置に
配置されない場合も考えられるので、目的プログラムモ
ジュールを持っている情報処理装置を識別できるように
する。
【0016】ある情報処理装置110中で、実行中のプ
ログラムモジュール16から他のモジュールの呼び出し
要求がモジュール起動制御機構11に対して発行される
と、モジュール起動制御機構11は、処理装置選択機構
12を呼び出して実行すべき情報処理装置を求める。処
理装置選択機構12は、使用者の設定した処理装置限定
情報17と負荷検出機構13が作成した負荷情報14を
参照し、実行可能な情報処理装置中から負荷の軽い情報
処理装置(ここでは210とする)を選択して実行すべ
き情報処理装置210を決定する。
【0017】実行すべき情報処理装置210が決定する
と、モジュール起動制御機構11は、処理装置間通信機
構15を使用して、目的の情報処理装置210中のモジ
ュール起動制御機構21へモジュール呼び出し要求を送
る。処理装置間通信機構15は、ネツトワークインタフ
ェース装置104、ケーブル300、相手のネツトワー
クインタフェース装置204を通して、相手の処理装置
間通信機構25と通信を行なう。モジュール起動制御機
構11は、使用者の設定した処理装置限定情報17も相
手のモジュール起動制御機構21へ送る。
【0018】モジュール呼び出し要求を受け取ると、モ
ジュール起動制御機構21は、外部記憶装置203から
目的のプログラムモジュールをメモリ中に読み込み、プ
ログラムモジュール26を実行させる。処理装置限定情
報27が一緒に送られて来た場合は、これをメモリ中に
格納する。呼び出し先モジュール26がさらに別のモジ
ュールを呼び出す場合は、上記手順に従い引き継いだ処
理装置限定情報27と負荷情報24を基にして、処理装
置選択機構22が実行すべき情報処理装置を選択する。
プログラムモジュール26の実行が終了すると、モジュ
ール起動制御機構21は、処理装置間通信機構25,1
5を通して呼び出し元のモジュール起動制御機構11に
終了を通知し、送られて来た処理装置限定情報27はメ
モリ中から消去する。モジュール起動制御機構11は呼
び出し元モジュール16に終了を通知する。
【0019】図2、図3は本発明の実施例の1つであ
り、原始プログラムの複数のソースモジュールをコンパ
イルしリンクエディットして実行形式プログラム(ロー
ドモジュール)を作成するジョブに本発明を適用したも
のである。図2に示すように、プログラムは、ソースモ
ジュール1100,1200,1300,1400をコ
ンパイラ1000によりコンパイルしてオブジェクトモ
ジュール2100,2200,2300,2400を作
成し、複数のオブジェクトモジュールをリンクエディッ
トしてロードモジュール3000とする。
【0020】図3で動作手順を説明する。110,21
0,310,410,510は分散システム中の、いず
れも同様な情報処理装置である。ここでは説明に必要な
ブロックだけを示してある。同図には、動作順序を○印
を付した数字で対応して示す。本実施例では、呼び出し
元モジュール16には、コンパイル及びリンクエディッ
ト制御部16が用いられ、呼び出し先モジュール26,
36,46には、コンパイラ26,36,46が用いら
れる。(1) アーキテクチャが同じ処理装置でコンパ
イルを行なう必要があるため、使用者は実行可能な処理
装置を限定する処理装置限定情報17を設定し、(2)
コンパイル、リンクエディット制御モジュール16を
起動する。コンパイル、リンクエディット制御モジュー
ル16はコンパイル対象モジュールを決定し、(3)
次々とモジュール起動制御機構11に指示する。(4)
モジュール起動制御機構11は処理装置選択機構12
を呼び出し、(5) 処理装置選択機構12は処理装置
限定情報17と負荷情報14を参照して実行処理装置を
決定し、(6) モジュール起動制御機構11に伝え
る。モジュール起動制御機構11は、(7) 処理装置
間通信機構15を通して目的の処理装置210,31
0,410上でコンパイラモジュール26,36,46
を呼び出すが、この間も、(8) 負荷検出機構13は
定期的に負荷情報14を収集して更新する。低負荷の処
理装置が無くなると、(9) 処理装置選択機構12は
モジュール起動制御機構11を通して低負荷処理装置な
しエラーを報告する。この報告がなされると、コンパイ
ル、リンクエディット制御16は、コンパイラの連続起
動を停止し、起動済のコンパイル処理が終了するのを待
ってから再度コンパイラを起動する。(10) 全ての
モジュールのコンパイルが終了すると、(11) コン
パイル、リンクエディット制御16は、モジュール起動
制御機構11と、処理装置間通信機構15と、情報処理
装置510の処理装置間通信機構55と、モジュール起
動制御機構51を通じてリンクエディットモジュール5
6を起動し、ロードモジュールが作成される。
【0021】図4は本発明を大容量ファイルのソートジ
ョブに適用する例を示す。110,210,310,4
10,510は分散システム中の各情報処理装置を示
す。ここでも説明に必要なブロックだけ示している。な
お、図中同様に動作順序を○印を付した数字で対応して
示す。この場合は処理装置を限定する必要はないため、
処理装置限定情報は設定しない。(1) 使用者はソー
ト制御モジュール16を起動する。(2) ソート制御
モジュール16はモジュール起動制御機構11に対して
分散システムの負荷を問い合わせる。(3) モジュー
ル起動制御機構11は処理装置選択機構12に負荷情報
を問い合わせ、(4) 処理装置選択機構12はモジュ
ール起動制御機構11に負荷情報を伝え、(5) モジ
ュール起動制御機構11はソート制御16に負荷情報を
返す。(6) 自処理装置の負荷が低ければソート制御
16は自処理装置内でソートモジュール18を起動する
が、自処理装置の負荷が高い場合は、(7) 負荷の低
い処理装置に分散させてソートモジュール26,36,
46とマージモジュール56を起動する。(8) 各ソ
ートモジュール26,36,46は入力ファイル120
を分割して入力し、それぞれ部分的にソートを行なう。
(9) 部分的ソートが完了すると、ソートモジュール
26,36,46は同時に起動されてマージモジュール
56の存在する処理装置510へ出力を送る。(10)
マージモジュール56はソートモジュール26,3
6,46の出力をマージして出力ファイル130へ出力
する。
【0022】以上は、情報処理装置110を呼び出し元
とし、情報処理装置210,310,410を呼び出し
先とした場合であるが、いずれの情報処理装置を呼び出
し元とし、または呼び出し先とすることもできるのは勿
論である。
【0023】
【発明の効果】以上に説明したように本発明によれば、
分散システムにおいて、ジョブプログラムを複数個のプ
ログラムモジュールに分割して負荷の軽い複数の情報処
理装置に分配し、それら複数個のプログラムモジュール
を各情報処理装置で同時並列的に処理するようにしたの
で、プログラムモジュールを実行させる情報処理装置を
各情報処理装置の負荷状態に応じてプログラムモジュー
ルの単位で動的にきめ細かく決定できるため、各情報処
理装置の負荷を平均化でき、従って分散システム資源の
有効利用を行なえるという効果が得られる。
【図面の簡単な説明】
【図1】本発明の一実施例の分散処理システムの構成を
示す図である。
【図2】プログラムのコンパイルジョブの入出力を示す
図である。
【図3】本発明を分散処理システムにおけるプログラム
のコンパイルジョブに適用した実施例の動作を示す図で
ある。
【図4】本発明を分散処理システムにおけるソートジョ
ブに適用した実施例の動作を示す図である。
【符号の説明】
10 使用者 11,21,31,41,51 モジュール起動制御機
構 12,22,32,42 処理装置選択機構 13,23,33,43 負荷検出機構 14,24,34,44 負荷情報 15,25,35,45,55 処理装置間通信機構 16 呼び出し元プログラムモジュール 18,26,36,46,56 呼び出し先プログラム
モジュール 17,27 処理装置限定情報 101,201,301,401 中央処理装置 102,202,302,402 主メモリ 103,203,303,403 外部記憶装置 104,204,304,404, ネツトワークイン
タフェース装置 110,210,310,410,510 情報処理装
置 120 入力ファイル 130 出力ファイル 300 ケーブル 1000 コンパイラ 1100,1200,1300,1400 原始プログ
ラム(ソース)モジュール 2100,2200,2300,2400 オブジェク
トモジュール 3000 実行形式(ロード)モジュール
───────────────────────────────────────────────────── フロントページの続き (72)発明者 福田 弘忠 神奈川県横浜市戸塚区戸塚町5030番地 株 式会社日立製作所ソフトウエア開発本部内

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 ネットワーク上に種々のアーキテクチャ
    の混在する複数の情報処理装置が相互に接続された分散
    処理システムにおいて、 プログラムを並列処理可能な複数のプログラムモジュー
    ルに分割して各情報処理装置中に配置し、 各情報処理装置中に、モジュール起動制御機構と、処理
    装置選択機構と、負荷検出機構と、処理装置間通信機構
    とを設け、 各負荷検出機構は、定期的に自他の情報処理装置の負荷
    情報を収集しており、 ある情報処理装置において実行中のプログラムモジュー
    ルから他のプログラムモジュールを呼び出す際に、 この情報処理装置中の処理装置選択機構が、前記負荷情
    報に基づいて負荷の軽い情報処理装置を選択し、 モジュール起動制御機構が、処理装置間通信機構を通じ
    て前記選択された情報処理装置中のモジュール起動制御
    機構と通信することにより、前記選択された情報処理装
    置中の実行すべきプログラムモジュールを呼び出すこと
    を特徴とする分散処理システム。
JP4411994A 1994-03-15 1994-03-15 分散処理システム Pending JPH07253952A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4411994A JPH07253952A (ja) 1994-03-15 1994-03-15 分散処理システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4411994A JPH07253952A (ja) 1994-03-15 1994-03-15 分散処理システム

Publications (1)

Publication Number Publication Date
JPH07253952A true JPH07253952A (ja) 1995-10-03

Family

ID=12682725

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4411994A Pending JPH07253952A (ja) 1994-03-15 1994-03-15 分散処理システム

Country Status (1)

Country Link
JP (1) JPH07253952A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000029709A (ja) * 1998-06-03 2000-01-28 Internatl Business Mach Corp <Ibm> 分散コンピュ―タ環境内における発見のためのシステム、方法及びコンピュ―タ・プログラム製品
JP4885871B2 (ja) * 2007-02-02 2012-02-29 株式会社ソニー・コンピュータエンタテインメント 仲介サーバ、端末、及び分散処理方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000029709A (ja) * 1998-06-03 2000-01-28 Internatl Business Mach Corp <Ibm> 分散コンピュ―タ環境内における発見のためのシステム、方法及びコンピュ―タ・プログラム製品
JP4885871B2 (ja) * 2007-02-02 2012-02-29 株式会社ソニー・コンピュータエンタテインメント 仲介サーバ、端末、及び分散処理方法
US8935372B2 (en) 2007-02-02 2015-01-13 Sony Corporation Mediation server, terminals and distributed processing method

Similar Documents

Publication Publication Date Title
CA2061117C (en) Apparatus and method for distributed program stack
EP0756232B1 (en) Data processing and operating system incorporating dynamic binding across two or more processors
US6078945A (en) Operating system for use with computer networks incorporating two or more data processors linked together for parallel processing and incorporating improved dynamic load-sharing techniques
US6199093B1 (en) Processor allocating method/apparatus in multiprocessor system, and medium for storing processor allocating program
US8595736B2 (en) Parsing an application to find serial and parallel data segments to minimize mitigation overhead between serial and parallel compute nodes
US6675289B1 (en) System and method for executing hybridized code on a dynamically configurable hardware environment
CA2146169C (en) Method and system for dynamically selecting a communications mode
WO2000029943A1 (en) Processing system scheduling
US20040093477A1 (en) Scalable parallel processing on shared memory computers
JPH07253952A (ja) 分散処理システム
CA2350922C (en) Concurrent processing for event-based systems
Barahona et al. Processor allocation in a multi-ring dataflow machine
EP0509946A2 (en) Apparatus and method for implementing a distributed program stack
JPH09305552A (ja) 負荷均等化装置
Fu et al. Efficient run-time support for irregular task computations with mixed granularities
Zielinski et al. Parallel programming systems for LAN distributed computing
GB2030331A (en) Real-time Data Processing System for Processing Time Period Commands
Hu et al. Fluid dynamics on EXPRESS: an evaluation of a topology-independent parallel programming environment
Sitsky et al. Implementation and performance of the MPI message passing interface on the Fujitsu AP1000 multicomputer
Rabhi et al. Experiments with a transputer‐based parallel graph reduction machine
CN114911586A (zh) 任务调度方法、装置及系统
Mazer A dataflow-based APL for the hypercube
JPH09160762A (ja) プログラム変換方式
Jessup et al. Using the iPSC/2 at CU Boulder
Huang et al. Preemptive task execution and scheduling of parallel programs in message-passing systems