JPH0784967A - プロセスパイプライン処理方式 - Google Patents
プロセスパイプライン処理方式Info
- Publication number
- JPH0784967A JPH0784967A JP22844993A JP22844993A JPH0784967A JP H0784967 A JPH0784967 A JP H0784967A JP 22844993 A JP22844993 A JP 22844993A JP 22844993 A JP22844993 A JP 22844993A JP H0784967 A JPH0784967 A JP H0784967A
- Authority
- JP
- Japan
- Prior art keywords
- execution
- processing
- job
- processor
- jobs
- 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
Landscapes
- Multi Processors (AREA)
Abstract
(57)【要約】
【目的】処理時間を大幅に短縮することができるプロセ
スパイプライン処理方式を提供する。 【構成】プロセスパイプライン処理方式は、ジョブの実
行を管理・制御する処理制御手段21,各プロセスを適
切なプロセッサに割り当てるプロセス配置手段22,処
理制御手段21などの外部からの情報,データに基づい
てプロセスを実行するプロセス実行手段23,必要に応
じジョブを並列に実行可能にするために必要なデータフ
ァイルやジョブの情報を自動的に生成するデータファイ
ル自動生成手段24,ユーザジョブの実行状況をプロセ
ス単位で管理するためのジョブ/プロセス管理情報2
5,分散処理環境の設定情報を有するシステム環境情報
28より構成される。
スパイプライン処理方式を提供する。 【構成】プロセスパイプライン処理方式は、ジョブの実
行を管理・制御する処理制御手段21,各プロセスを適
切なプロセッサに割り当てるプロセス配置手段22,処
理制御手段21などの外部からの情報,データに基づい
てプロセスを実行するプロセス実行手段23,必要に応
じジョブを並列に実行可能にするために必要なデータフ
ァイルやジョブの情報を自動的に生成するデータファイ
ル自動生成手段24,ユーザジョブの実行状況をプロセ
ス単位で管理するためのジョブ/プロセス管理情報2
5,分散処理環境の設定情報を有するシステム環境情報
28より構成される。
Description
【0001】
【産業上の利用分野】本発明は、ネットワークで接続さ
れた計算機システムのプロセスパイプライン処理方式に
関する。
れた計算機システムのプロセスパイプライン処理方式に
関する。
【0002】
【従来の技術】一つのジョブを分割して複数のプロセッ
サで処理する技術に関して、特開平3−85664 号公報が
ある。これは、ジョブを分割し、分割された小さな処理
単位毎に最適なプロセッサを選択して全体の処理を実行
するものである。
サで処理する技術に関して、特開平3−85664 号公報が
ある。これは、ジョブを分割し、分割された小さな処理
単位毎に最適なプロセッサを選択して全体の処理を実行
するものである。
【0003】また、複数のジョブを複数のプロセッサで
分散処理するものとして、特開平1−259446号公報があ
るが、特開平3−85664号公報も含め、複数のジョブを並
列実行可能とするためにはすべてのジョブに対して実行
可能なデータの準備,並列性のチェックなどを行ってお
く必要があった。
分散処理するものとして、特開平1−259446号公報があ
るが、特開平3−85664号公報も含め、複数のジョブを並
列実行可能とするためにはすべてのジョブに対して実行
可能なデータの準備,並列性のチェックなどを行ってお
く必要があった。
【0004】
【発明が解決しようとする課題】特開平3−85664号公報
のような方法の場合、ジョブが一つだけの場合には、最
も高速なプロセッサでジョブ全体を処理する方が処理時
間を最小にできるため、分割する効果がなくなることが
多い。したがって、ジョブを数多く実行する方がよいわ
けであるが、多くのジョブを連続的に実行する際、プロ
セッサの処理能力や担当する分割された処理によって処
理時間に差が生じ、結果として遊ぶプロセッサが発生
し、ネットワーク内のプロセッサを有効に利用できない
ことがある。また、ジョブを多く実行するするために
は、各ジョブを独立に実行できるよう、入力データなど
の準備をしておかなければならないが、これはすべてユ
ーザが行うことになるため、実行開始までの準備に時間
がかかるという問題点が発生する。
のような方法の場合、ジョブが一つだけの場合には、最
も高速なプロセッサでジョブ全体を処理する方が処理時
間を最小にできるため、分割する効果がなくなることが
多い。したがって、ジョブを数多く実行する方がよいわ
けであるが、多くのジョブを連続的に実行する際、プロ
セッサの処理能力や担当する分割された処理によって処
理時間に差が生じ、結果として遊ぶプロセッサが発生
し、ネットワーク内のプロセッサを有効に利用できない
ことがある。また、ジョブを多く実行するするために
は、各ジョブを独立に実行できるよう、入力データなど
の準備をしておかなければならないが、これはすべてユ
ーザが行うことになるため、実行開始までの準備に時間
がかかるという問題点が発生する。
【0005】本発明の目的は、大きな処理を高速なプロ
セッサに、小さな処理を低速なプロセッサに割当てられ
るよう、ジョブをより小さなプロセスに分解し、プロセ
ス単位で分散処理を行い、プロセッサをできるだけ平均
的に利用することにより、全体の処理時間を短縮できる
分散処理方式を提供することにある。また、実行準備に
要するユーザの手間を削減するために、同一形式のデー
タについては、変更箇所の記述のみで該データを生成す
る手段を提供することにある。
セッサに、小さな処理を低速なプロセッサに割当てられ
るよう、ジョブをより小さなプロセスに分解し、プロセ
ス単位で分散処理を行い、プロセッサをできるだけ平均
的に利用することにより、全体の処理時間を短縮できる
分散処理方式を提供することにある。また、実行準備に
要するユーザの手間を削減するために、同一形式のデー
タについては、変更箇所の記述のみで該データを生成す
る手段を提供することにある。
【0006】
【課題を解決するための手段】図1に本発明の基本要素
構成を示す。本発明のプロセスパイプライン処理方式
は、クライアントプロセッサ11,一つ以上のサーバプ
ロセッサ12,ジョブの実行を管理・制御する処理制御
手段21,各プロセスを適切なプロセッサに割り当てる
プロセス配置手段22,処理制御手段21などの外部か
らの情報・データに基づいてプロセスを実行するプロセ
ス実行手段23,必要に応じジョブを並列に実行可能に
するために必要なデータファイルやジョブの情報を自動
的に生成するデータファイル自動生成手段24,ユーザ
ジョブの実行状況をプロセス単位で管理するためのジョ
ブ/プロセス管理情報25,分散処理環境の設定情報を
有するシステム環境情報28より構成されている。
構成を示す。本発明のプロセスパイプライン処理方式
は、クライアントプロセッサ11,一つ以上のサーバプ
ロセッサ12,ジョブの実行を管理・制御する処理制御
手段21,各プロセスを適切なプロセッサに割り当てる
プロセス配置手段22,処理制御手段21などの外部か
らの情報・データに基づいてプロセスを実行するプロセ
ス実行手段23,必要に応じジョブを並列に実行可能に
するために必要なデータファイルやジョブの情報を自動
的に生成するデータファイル自動生成手段24,ユーザ
ジョブの実行状況をプロセス単位で管理するためのジョ
ブ/プロセス管理情報25,分散処理環境の設定情報を
有するシステム環境情報28より構成されている。
【0007】
【作用】本発明の計算機ネットワークにおけるプロセス
パイプライン処理方式では、以下の手順により処理を実
行する。
パイプライン処理方式では、以下の手順により処理を実
行する。
【0008】(1)ユーザからジョブ実行指示情報27
を受けたプロセッサは、クライアントプロセッサ11と
してまず、処理制御手段21を起動する。処理制御手段
21はユーザから与えられるジョブ実行指示情報27を
もとに、実行すべきジョブの認識、および、全ジョブに
対しての入力データファイル51,入力データファイル
52,…,入力データファイル5Nの有無をチェックす
る。入力データファイルがすべてそろっている場合に
は、ジョブ/プロセス管理情報25を生成する。入力デ
ータファイルがすべてそろっていない場合には、データ
ファイル自動生成手段24を起動し、入力データファイ
ル50をベースに51,52,…,53の入力データフ
ァイルを作成する。入力データファイルがすべて準備さ
れた後、ジョブ/プロセス管理情報25を生成する。
を受けたプロセッサは、クライアントプロセッサ11と
してまず、処理制御手段21を起動する。処理制御手段
21はユーザから与えられるジョブ実行指示情報27を
もとに、実行すべきジョブの認識、および、全ジョブに
対しての入力データファイル51,入力データファイル
52,…,入力データファイル5Nの有無をチェックす
る。入力データファイルがすべてそろっている場合に
は、ジョブ/プロセス管理情報25を生成する。入力デ
ータファイルがすべてそろっていない場合には、データ
ファイル自動生成手段24を起動し、入力データファイ
ル50をベースに51,52,…,53の入力データフ
ァイルを作成する。入力データファイルがすべて準備さ
れた後、ジョブ/プロセス管理情報25を生成する。
【0009】(2)次に、処理制御手段21は、ユーザ
からの実行プロセッサの指定がない場合、プロセス配置
手段22を起動する。プロセス配置手段22は、ジョブ
実行指示情報27および入力データファイル51,5
2,…,5Nを解析し、目的の処理を行うプロセス実行
手段23を実行するサーバプロセッサ12を決定する。
このとき、より適切なプロセス配置を行うときには、プ
ロセス配置手段22がジョブの内容や各プロセッサの特
性をデータベースとして持つジョブ/プロセッサデータ
ベース26を参照し、各プロセスの実行時間を推定し、
実行時間の分散が最小となるプロセス配置を決定する。
ただし、プロセス配置の最適配置を行うか否かの指定は
ユーザがジョブ実行指示情報27の中に記述する。最適
配置指定がない場合は、プロセス配置手段22はジョブ
/プロセッサデータベース26が持つ標準実行環境情報
にしたがってプロセス配置を行う。
からの実行プロセッサの指定がない場合、プロセス配置
手段22を起動する。プロセス配置手段22は、ジョブ
実行指示情報27および入力データファイル51,5
2,…,5Nを解析し、目的の処理を行うプロセス実行
手段23を実行するサーバプロセッサ12を決定する。
このとき、より適切なプロセス配置を行うときには、プ
ロセス配置手段22がジョブの内容や各プロセッサの特
性をデータベースとして持つジョブ/プロセッサデータ
ベース26を参照し、各プロセスの実行時間を推定し、
実行時間の分散が最小となるプロセス配置を決定する。
ただし、プロセス配置の最適配置を行うか否かの指定は
ユーザがジョブ実行指示情報27の中に記述する。最適
配置指定がない場合は、プロセス配置手段22はジョブ
/プロセッサデータベース26が持つ標準実行環境情報
にしたがってプロセス配置を行う。
【0010】(3)プロセス配置が決定した後、処理制
御手段21は、サーバプロセッサ12上のプロセス実行
手段23に対して、担当すべきプロセスの実行準備をす
るよう指示を出す。ジョブの第1プロセスを担当するプ
ロセス実行手段23は第一プロセス実行手段31とな
る。実行準備指示を受けた第一プロセス実行手段31は
実行待機状態に移る。他のプロセス実行手段23につい
ても同様である。
御手段21は、サーバプロセッサ12上のプロセス実行
手段23に対して、担当すべきプロセスの実行準備をす
るよう指示を出す。ジョブの第1プロセスを担当するプ
ロセス実行手段23は第一プロセス実行手段31とな
る。実行準備指示を受けた第一プロセス実行手段31は
実行待機状態に移る。他のプロセス実行手段23につい
ても同様である。
【0011】(4)各プロセス実行手段23は、動作開
始の制御コード、または、自分自身の実行に必要なデー
タが与えられるとプロセスの実行を開始する。ジョブの
先頭プロセスを実行する第一プロセス実行手段31は、
処理制御手段21からの実行開始の制御コードにより、
動作を開始する。第一プロセス実行手段31以外のプロ
セスは、他のプロセスからのジョブに関するデータ/制
御コードにより、動作を開始する。
始の制御コード、または、自分自身の実行に必要なデー
タが与えられるとプロセスの実行を開始する。ジョブの
先頭プロセスを実行する第一プロセス実行手段31は、
処理制御手段21からの実行開始の制御コードにより、
動作を開始する。第一プロセス実行手段31以外のプロ
セスは、他のプロセスからのジョブに関するデータ/制
御コードにより、動作を開始する。
【0012】各プロセス実行手段23は、状態の変化が
ある毎に処理制御手段21へ変化内容を通知し、通知を
受けた処理制御手段21は通知内容をジョブ/プロセス
管理情報25に記述する。
ある毎に処理制御手段21へ変化内容を通知し、通知を
受けた処理制御手段21は通知内容をジョブ/プロセス
管理情報25に記述する。
【0013】各プロセス実行手段23は、実行完了後、
次のプロセス実行手段へデータ/制御コードを送る、ま
たは、処理制御手段21へ実行完了の制御コードを送
る。
次のプロセス実行手段へデータ/制御コードを送る、ま
たは、処理制御手段21へ実行完了の制御コードを送
る。
【0014】ユーザは、ジョブ実行指示情報27の中に
同期制御指定を行うことができる。同期制御指定がある
場合、処理制御手段21はブロードキャストでプロセス
実行手段23に動作開始の制御コードを送る。プロセス
実行手段23は、プロセスの実行準備を非同期で行い、
動作開始制御コードのメッセージを受けた後、プロセス
の実行を開始する。
同期制御指定を行うことができる。同期制御指定がある
場合、処理制御手段21はブロードキャストでプロセス
実行手段23に動作開始の制御コードを送る。プロセス
実行手段23は、プロセスの実行準備を非同期で行い、
動作開始制御コードのメッセージを受けた後、プロセス
の実行を開始する。
【0015】(5)処理制御手段21,プロセス実行手
段23は、ジョブの全プロセスが実行完了となるまで、
または、コンピュータシステムの異常やユーザからのジ
ョブキャンセルなどにより、ジョブの実行継続が不可
能,不必要となるまで、(4)を実行する。
段23は、ジョブの全プロセスが実行完了となるまで、
または、コンピュータシステムの異常やユーザからのジ
ョブキャンセルなどにより、ジョブの実行継続が不可
能,不必要となるまで、(4)を実行する。
【0016】(2)〜(5)の処理を行うことにより、一
つのジョブを実行することができる。これらの処理を
(1)で発生する入力データの数だけ繰り返すことによ
り、ユーザの要求するジョブをすべて実行できる。第一
プロセス実行手段31は、一つ目のジョブの第一プロセ
スを実行後、次の処理を第二プロセス実行手段32にま
かせ、二つ目のジョブの第一プロセスを実行する。第二
プロセス実行手段32は一つ目のジョブの第二プロセス
を実行後、次の処理を第三プロセス実行手段33にまか
せ、二つ目のジョブの第二プロセスを実行する。プロセ
ス毎に処理量は変化するが、処理量の多いプロセスを高
速なプロセッサに実行させることにより、各プロセスの
処理時間を平均化することができ、各プロセスをパイプ
ライン的に実行することができる。このパイプライン制
御により、複数のジョブがある場合でも、全部のジョブ
を効率よく実行できる。
つのジョブを実行することができる。これらの処理を
(1)で発生する入力データの数だけ繰り返すことによ
り、ユーザの要求するジョブをすべて実行できる。第一
プロセス実行手段31は、一つ目のジョブの第一プロセ
スを実行後、次の処理を第二プロセス実行手段32にま
かせ、二つ目のジョブの第一プロセスを実行する。第二
プロセス実行手段32は一つ目のジョブの第二プロセス
を実行後、次の処理を第三プロセス実行手段33にまか
せ、二つ目のジョブの第二プロセスを実行する。プロセ
ス毎に処理量は変化するが、処理量の多いプロセスを高
速なプロセッサに実行させることにより、各プロセスの
処理時間を平均化することができ、各プロセスをパイプ
ライン的に実行することができる。このパイプライン制
御により、複数のジョブがある場合でも、全部のジョブ
を効率よく実行できる。
【0017】
【実施例】本発明の実施例を図2ないし図8を用いて説
明する。
明する。
【0018】まず、図2ないし図7により、パラメータ
サーベイの実行例を説明する。
サーベイの実行例を説明する。
【0019】本実行例のパラメータサーベイで使用する
プログラムはN個のシーケンシャルなプロセスに分割可
能で、その分割コーディングがされているものとする。
個々のプロセスはネットワーク内の一つ以上のプロセッ
サで稼働可能である。また、稼働に適したプロセッサが
ジョブ/プロセッサデータベース26に標準環境として
設定されている。
プログラムはN個のシーケンシャルなプロセスに分割可
能で、その分割コーディングがされているものとする。
個々のプロセスはネットワーク内の一つ以上のプロセッ
サで稼働可能である。また、稼働に適したプロセッサが
ジョブ/プロセッサデータベース26に標準環境として
設定されている。
【0020】図3は、本発明によるクライアント/サー
バの位置づけを示す図である。パラメータサーベイの実
行は、ユーザがパラメータサーベイのジョブ実行指示情
報27を一つのプロセッサに与えることにより起動され
る。ユーザがジョブ実行指示情報27を与えたプロセッ
サがクライアントプロセッサ11となり、クライアント
プロセッサ11からのメッセージを受けて、実際にプロ
セス実行手段23を実行するプロセッサがサーバプロセ
ッサ12となる。マルチタスクが可能で、かつ、クライ
アントプロセッサ11が高い処理能力を持つ場合、クラ
イアントプロセッサ11自身がサーバプロセッサ12と
なることもある。
バの位置づけを示す図である。パラメータサーベイの実
行は、ユーザがパラメータサーベイのジョブ実行指示情
報27を一つのプロセッサに与えることにより起動され
る。ユーザがジョブ実行指示情報27を与えたプロセッ
サがクライアントプロセッサ11となり、クライアント
プロセッサ11からのメッセージを受けて、実際にプロ
セス実行手段23を実行するプロセッサがサーバプロセ
ッサ12となる。マルチタスクが可能で、かつ、クライ
アントプロセッサ11が高い処理能力を持つ場合、クラ
イアントプロセッサ11自身がサーバプロセッサ12と
なることもある。
【0021】図4はパラメータサーベイ実行のための最
初の準備であるデータファイルの自動生成を示す。処理
制御手段21は、ユーザから与えられたパラメータサー
ベイのジョブ実行指示情報27の内容から実行すべきジ
ョブの入力データファイルがすべてあるか否かをチェッ
クする。必要なデータファイルがそろっていない場合に
は、データファイル自動生成手段24を起動する。デー
タファイル自動生成手段24は、ジョブ実行指示情報2
7の内容にしたがって各パラメータに対応する入力デー
タファイル1〜N(51〜5N)を用意する。パラメー
タサーベイを行うためには、あらかじめすべての入力デ
ータファイルが用意されているか、該ジョブ実行指示情
報27にパラメータサーベイの実行内容が記述されてい
なければならない。この条件が満足されていない場合に
は、処理制御手段21はパラメータサーベイの実行不可
能をユーザに通知し、処理を中断する。
初の準備であるデータファイルの自動生成を示す。処理
制御手段21は、ユーザから与えられたパラメータサー
ベイのジョブ実行指示情報27の内容から実行すべきジ
ョブの入力データファイルがすべてあるか否かをチェッ
クする。必要なデータファイルがそろっていない場合に
は、データファイル自動生成手段24を起動する。デー
タファイル自動生成手段24は、ジョブ実行指示情報2
7の内容にしたがって各パラメータに対応する入力デー
タファイル1〜N(51〜5N)を用意する。パラメー
タサーベイを行うためには、あらかじめすべての入力デ
ータファイルが用意されているか、該ジョブ実行指示情
報27にパラメータサーベイの実行内容が記述されてい
なければならない。この条件が満足されていない場合に
は、処理制御手段21はパラメータサーベイの実行不可
能をユーザに通知し、処理を中断する。
【0022】次に、処理制御手段21はプロセス配置手
段22を起動し、プロセスの配置を行う。実行プログラ
ムと入力データファイルの内容とをジョブ/プロセッサ
データベース26に記述されているジョブやプロセスの
負荷情報と照らし合わせ、プロセッサの割り当ての標準
環境が適切かどうかを調べる。標準環境が適切でないと
判断した場合、より適切な割り当てを構成し、実行環境
とする。この方法を図5に示す。ジョブ/プロセッサデ
ータベース26には、ジョブデータベースとして、ユー
ザが行い得る処理の種類、および処理のプロセス毎に入
力データのサンプルなどに対応した処理量と、プロセッ
サデータベースとして、ネットワーク内のあるプロセッ
サを基準としたときの相対性能値、または、ベンチマー
ク結果などによる性能値が保持されている。プロセス配
置手段22は各プロセスの処理量を入力データファイル
の内容とジョブ/プロセッサデータベース26から推定
し、処理量の多いプロセスを相対性能の高いプロセッサ
に割当て、各プロセスの処理時間の分散が最小となるよ
うな割当てを行う。例えば、処理量3のプロセスを相対
性能3のプロセッサで実行し、処理量1のプロセスを相
対性能1のプロセッサで実行すると、両者の実行時間は
同じとなり、パイプライン動作の乱れを少なくできる。
一方、標準環境が適切であると判断した場合には、標準
環境をそのまま実行環境とする。
段22を起動し、プロセスの配置を行う。実行プログラ
ムと入力データファイルの内容とをジョブ/プロセッサ
データベース26に記述されているジョブやプロセスの
負荷情報と照らし合わせ、プロセッサの割り当ての標準
環境が適切かどうかを調べる。標準環境が適切でないと
判断した場合、より適切な割り当てを構成し、実行環境
とする。この方法を図5に示す。ジョブ/プロセッサデ
ータベース26には、ジョブデータベースとして、ユー
ザが行い得る処理の種類、および処理のプロセス毎に入
力データのサンプルなどに対応した処理量と、プロセッ
サデータベースとして、ネットワーク内のあるプロセッ
サを基準としたときの相対性能値、または、ベンチマー
ク結果などによる性能値が保持されている。プロセス配
置手段22は各プロセスの処理量を入力データファイル
の内容とジョブ/プロセッサデータベース26から推定
し、処理量の多いプロセスを相対性能の高いプロセッサ
に割当て、各プロセスの処理時間の分散が最小となるよ
うな割当てを行う。例えば、処理量3のプロセスを相対
性能3のプロセッサで実行し、処理量1のプロセスを相
対性能1のプロセッサで実行すると、両者の実行時間は
同じとなり、パイプライン動作の乱れを少なくできる。
一方、標準環境が適切であると判断した場合には、標準
環境をそのまま実行環境とする。
【0023】以上の準備を行うと図2のような実行環境
を構成できる。次に、処理制御手段21は、各プロセッ
サで実行すべきプロセス実行手段23のチェックを行
う。必要なプロセス実行手段23がない場合、該プロセ
ス実行手段23を起動し、プロセスの実行待機状態状態
とする。すべてのプロセス実行手段23が実行待機状態
となった時点で、処理制御手段21は一番目のジョブの
第一プロセスを実行するよう、第一プロセス担当のプロ
セス実行手段23、すなわち、第一プロセス実行手段3
1に対して一番目のジョブの第一プロセス実行開始の制
御コードを送る。
を構成できる。次に、処理制御手段21は、各プロセッ
サで実行すべきプロセス実行手段23のチェックを行
う。必要なプロセス実行手段23がない場合、該プロセ
ス実行手段23を起動し、プロセスの実行待機状態状態
とする。すべてのプロセス実行手段23が実行待機状態
となった時点で、処理制御手段21は一番目のジョブの
第一プロセスを実行するよう、第一プロセス担当のプロ
セス実行手段23、すなわち、第一プロセス実行手段3
1に対して一番目のジョブの第一プロセス実行開始の制
御コードを送る。
【0024】各プロセス実行手段23は、プロセスの実
行開始,実行完了,待ち状態などのプロセスの状態情報
を処理制御手段21へ通知する。処理制御手段21は該
通知の内容をジョブ/プロセス管理情報25へ書き込
む。
行開始,実行完了,待ち状態などのプロセスの状態情報
を処理制御手段21へ通知する。処理制御手段21は該
通知の内容をジョブ/プロセス管理情報25へ書き込
む。
【0025】第一プロセス実行手段31は実行完了後、
第二プロセス実行手段32を起動し、第二プロセス実行
手段32にジョブを引き継ぐ。第一プロセス実行手段3
1から第二プロセス実行手段32、第二プロセス実行手
段32から第三プロセス実行手段33のように、後続の
プロセスを起動する方法には、次の方法がある。
第二プロセス実行手段32を起動し、第二プロセス実行
手段32にジョブを引き継ぐ。第一プロセス実行手段3
1から第二プロセス実行手段32、第二プロセス実行手
段32から第三プロセス実行手段33のように、後続の
プロセスを起動する方法には、次の方法がある。
【0026】(1)第iプロセス実行手段3i(i=
1,2,…,N−1)が実行完了後、後続のプロセス実
行手段が稼働するプロセッサを指定し、該プロセッサの
みに対して、後続プロセス実行手段を起動するようメッ
セージを送る。
1,2,…,N−1)が実行完了後、後続のプロセス実
行手段が稼働するプロセッサを指定し、該プロセッサの
みに対して、後続プロセス実行手段を起動するようメッ
セージを送る。
【0027】(2)第iプロセス実行手段3i(i=
1,2,…,N−1)が実行完了後、ネットワークに後
続のプロセス実行手段23および後続のプロセス実行手
段23を実行するプロセッサを指定したメッセージをブ
ロードキャストする。ネットワーク内の各プロセッサは
ブロードキャストメッセージを読み込み、中に記述され
ているプロセッサ名が自プロセッサを示すものであるか
否かをチェックする。ブロードキャストメッセージが自
プロセッサを指定したものである場合、ブロードキャス
トメッセージ中に記述されているプロセス実行手段23
を起動する。ブロードキャストメッセージが自プロセッ
サを指定したものでない場合には、ブロードキャストメ
ッセージを無視する。
1,2,…,N−1)が実行完了後、ネットワークに後
続のプロセス実行手段23および後続のプロセス実行手
段23を実行するプロセッサを指定したメッセージをブ
ロードキャストする。ネットワーク内の各プロセッサは
ブロードキャストメッセージを読み込み、中に記述され
ているプロセッサ名が自プロセッサを示すものであるか
否かをチェックする。ブロードキャストメッセージが自
プロセッサを指定したものである場合、ブロードキャス
トメッセージ中に記述されているプロセス実行手段23
を起動する。ブロードキャストメッセージが自プロセッ
サを指定したものでない場合には、ブロードキャストメ
ッセージを無視する。
【0028】(3)第iプロセス実行手段3i(i=
1,2,…,N−1)が実行完了後、ジョブの実行制御
権を処理制御手段21に渡し、処理制御手段21が後続
プロセス実行手段の起動を行う。この場合、(1),
(2)同様、後続プロセス実行手段の起動のためのメッ
セージ送信方法に、直接対象プロセッサに送る方法と、
ネットワークにブロードキャストする方法がある。
1,2,…,N−1)が実行完了後、ジョブの実行制御
権を処理制御手段21に渡し、処理制御手段21が後続
プロセス実行手段の起動を行う。この場合、(1),
(2)同様、後続プロセス実行手段の起動のためのメッ
セージ送信方法に、直接対象プロセッサに送る方法と、
ネットワークにブロードキャストする方法がある。
【0029】これらのどの方法を用いるかは、処理制御
手段21のシステム環境情報28の一つとして、ユー
ザ、または、システム管理者が設定する。
手段21のシステム環境情報28の一つとして、ユー
ザ、または、システム管理者が設定する。
【0030】ここで、処理制御手段21とプロセス実行
手段23の詳細を、図6を用いて説明する。処理制御手
段21は、ジョブ実行指示情報解析部211,プロセス
実行制御管理部212,管理情報アクセス部213,制
御モード切替え部214,制御コード送信部215,実
行情報受信部216,データ送信部217,データ受信
部218より構成されている。また、プロセス実行手段
23は制御コード受信部231,制御コード解析部23
2,プロセス制御部233,実行情報送信部234,デ
ータ受信部235、データ送信部236,データ領域2
37より構成され、さらにプロセス実行手段23から起
動される実行プロセス238がある。
手段23の詳細を、図6を用いて説明する。処理制御手
段21は、ジョブ実行指示情報解析部211,プロセス
実行制御管理部212,管理情報アクセス部213,制
御モード切替え部214,制御コード送信部215,実
行情報受信部216,データ送信部217,データ受信
部218より構成されている。また、プロセス実行手段
23は制御コード受信部231,制御コード解析部23
2,プロセス制御部233,実行情報送信部234,デ
ータ受信部235、データ送信部236,データ領域2
37より構成され、さらにプロセス実行手段23から起
動される実行プロセス238がある。
【0031】まず、ジョブ実行指示情報解析部211が
ユーザが指定したジョブ実行指示情報27を読み込み、
管理情報アクセス部213を通してジョブ/プロセス管
理情報25を作成する。この時、各プロセスの状態は未
処理で初期化される。プロセス実行制御管理部212は
ジョブ/プロセス管理情報25の中から、最初に実行す
べきジョブ1の第一プロセスを実行するプロセス実行手
段23に対し、起動のための制御コードを送信する。制
御コードの送信の方法は上述のように、いくつかの方法
を採ることができるが、どの方法で送信するかは環境情
報28の設定、または、ジョブ実行指示情報27の設定
に従って制御モード切替え部214が選択する。送信さ
れた制御コードは制御コード受信部231が受け、制御
コード解析部232がどのどうな処理か(例えば、プロ
セスの起動,処理の中断、など)を識別し、プロセス制
御部233が該処理を行う。制御コードがプロセスの起
動を指示するものである場合、プロセス制御部233は
実行プロセス238を起動する。このとき、実行に必要
なデータを保持するため、プロセス制御部233はデー
タ領域237を確保し、データ領域237をアクセスす
るためのキーを実行プロセス238に渡す。また、プロ
セス制御部233はプロセスの実行状態を実行情報送信
部234,実行情報受信部216を介して、プロセス実
行制御管理部212へ報告する。プロセス実行制御管理
部212は実行状態を管理情報アクセス部213を通し
てジョブ/プロセス管理情報25へ記録する。一方、実
行プロセス238は処理制御手段21、または、別のプ
ロセス実行手段23から、プロセスの実行に必要なデー
タをデータ受信部235を通して受け取り、データ領域
237に格納する。どこからデータを受けるかは、環境
情報28の設定、または、ジョブ実行指示情報27の設
定による。プロセスの実行により得られるデータもデー
タ領域237に格納・保持し、データ送信部236から
処理制御手段21、または、別のプロセス実行手段23
へ送信する。データの転送時に処理制御手段21を介す
る場合、処理制御手段21はプロセス実行手段23から
受けたデータをデータ受信部218からデータ送信部2
17へ直接渡し、データ送信部217が次のプロセス実行
手段23へ向けてデータを送信する。
ユーザが指定したジョブ実行指示情報27を読み込み、
管理情報アクセス部213を通してジョブ/プロセス管
理情報25を作成する。この時、各プロセスの状態は未
処理で初期化される。プロセス実行制御管理部212は
ジョブ/プロセス管理情報25の中から、最初に実行す
べきジョブ1の第一プロセスを実行するプロセス実行手
段23に対し、起動のための制御コードを送信する。制
御コードの送信の方法は上述のように、いくつかの方法
を採ることができるが、どの方法で送信するかは環境情
報28の設定、または、ジョブ実行指示情報27の設定
に従って制御モード切替え部214が選択する。送信さ
れた制御コードは制御コード受信部231が受け、制御
コード解析部232がどのどうな処理か(例えば、プロ
セスの起動,処理の中断、など)を識別し、プロセス制
御部233が該処理を行う。制御コードがプロセスの起
動を指示するものである場合、プロセス制御部233は
実行プロセス238を起動する。このとき、実行に必要
なデータを保持するため、プロセス制御部233はデー
タ領域237を確保し、データ領域237をアクセスす
るためのキーを実行プロセス238に渡す。また、プロ
セス制御部233はプロセスの実行状態を実行情報送信
部234,実行情報受信部216を介して、プロセス実
行制御管理部212へ報告する。プロセス実行制御管理
部212は実行状態を管理情報アクセス部213を通し
てジョブ/プロセス管理情報25へ記録する。一方、実
行プロセス238は処理制御手段21、または、別のプ
ロセス実行手段23から、プロセスの実行に必要なデー
タをデータ受信部235を通して受け取り、データ領域
237に格納する。どこからデータを受けるかは、環境
情報28の設定、または、ジョブ実行指示情報27の設
定による。プロセスの実行により得られるデータもデー
タ領域237に格納・保持し、データ送信部236から
処理制御手段21、または、別のプロセス実行手段23
へ送信する。データの転送時に処理制御手段21を介す
る場合、処理制御手段21はプロセス実行手段23から
受けたデータをデータ受信部218からデータ送信部2
17へ直接渡し、データ送信部217が次のプロセス実行
手段23へ向けてデータを送信する。
【0032】以上の制御により、各プロセスが実行され
る様子を図7に示す。一番目のジョブの第一プロセスを
実行している第一プロセス実行手段31は、一番目のジ
ョブの第一プロセスの実行完了後、処理制御手段21よ
り、二番目のジョブに関する情報を得、二番目のジョブ
の第一プロセスの実行に移る。このとき、一番目のジョ
ブの第二プロセスは第二プロセス実行手段32によって
実行される。第一プロセッサの第一プロセス実行手段3
1は二番目のジョブの第一プロセスの実行完了後、三番
目のジョブの第一プロセスの実行を行う。また、第二プ
ロセス実行手段32は二番目のジョブの第二プロセス
を、第三プロセス実行手段33が一番目のジョブの第三
プロセスをそれぞれ実行する。このように、各プロセッ
サがパイプライン的にプロセスを実行することにより、
効率よくジョブの実行を行うことができる。
る様子を図7に示す。一番目のジョブの第一プロセスを
実行している第一プロセス実行手段31は、一番目のジ
ョブの第一プロセスの実行完了後、処理制御手段21よ
り、二番目のジョブに関する情報を得、二番目のジョブ
の第一プロセスの実行に移る。このとき、一番目のジョ
ブの第二プロセスは第二プロセス実行手段32によって
実行される。第一プロセッサの第一プロセス実行手段3
1は二番目のジョブの第一プロセスの実行完了後、三番
目のジョブの第一プロセスの実行を行う。また、第二プ
ロセス実行手段32は二番目のジョブの第二プロセス
を、第三プロセス実行手段33が一番目のジョブの第三
プロセスをそれぞれ実行する。このように、各プロセッ
サがパイプライン的にプロセスを実行することにより、
効率よくジョブの実行を行うことができる。
【0033】図8は本発明の応用による計算機シミュレ
ーションのトラッキングを実現したものである。第一プ
ロセッサ13ではシミュレーションプログラム61を、
第二プロセッサ14ではシミュレーション結果の表示を
行うポストプロセッサ62を起動する。ユーザは第二プ
ロセッサ14の表示ウィンドウを見る。シミュレーショ
ンプログラム61は時間ステップ毎などのように、一定
間隔で結果を出力する。第一プロセッサ13は該出力結
果を第二プロセッサ14へ送り、第一プロセッサ13自
身は次のステップの計算を行う。第二プロセッサ14は
第一プロセッサ13より送られる結果のデータに対し、
表示処理を行い、画面に表示する。第一プロセッサ13
と第二プロセッサ14の処理するステップは第一プロセ
ッサ13の方が先行する。例えば、第一プロセッサ13
が第一ステップの処理を行い、その結果を第二プロセッ
サ14へ送ると、第二プロセッサ14は第一ステップの
表示処理を開始し、第一プロセッサは第二ステップの処
理を行う。第一プロセッサ13は第二ステップの処理を
終わるとその結果を第二プロセッサへ送り、第二プロセ
ッサ14は第二ステップの表示処理を開始する。第一プ
ロセッサは第三ステップの処理を開始する。
ーションのトラッキングを実現したものである。第一プ
ロセッサ13ではシミュレーションプログラム61を、
第二プロセッサ14ではシミュレーション結果の表示を
行うポストプロセッサ62を起動する。ユーザは第二プ
ロセッサ14の表示ウィンドウを見る。シミュレーショ
ンプログラム61は時間ステップ毎などのように、一定
間隔で結果を出力する。第一プロセッサ13は該出力結
果を第二プロセッサ14へ送り、第一プロセッサ13自
身は次のステップの計算を行う。第二プロセッサ14は
第一プロセッサ13より送られる結果のデータに対し、
表示処理を行い、画面に表示する。第一プロセッサ13
と第二プロセッサ14の処理するステップは第一プロセ
ッサ13の方が先行する。例えば、第一プロセッサ13
が第一ステップの処理を行い、その結果を第二プロセッ
サ14へ送ると、第二プロセッサ14は第一ステップの
表示処理を開始し、第一プロセッサは第二ステップの処
理を行う。第一プロセッサ13は第二ステップの処理を
終わるとその結果を第二プロセッサへ送り、第二プロセ
ッサ14は第二ステップの表示処理を開始する。第一プ
ロセッサは第三ステップの処理を開始する。
【0034】これらの中で、第一プロセッサ13の第二
ステップの処理と第二プロセッサ14の第一ステップの
表示処理,第一プロセッサ13の第三ステップの処理と
第二プロセッサ14の第二ステップの表示処理はそれぞ
れ同時に実行される。すなわち、第一プロセッサ13と
第二プロセッサ14はパイプライン的に動作する。これ
により、シミュレーションプログラムの実行を止めるこ
となく、その処理結果を連続的に表示できる。
ステップの処理と第二プロセッサ14の第一ステップの
表示処理,第一プロセッサ13の第三ステップの処理と
第二プロセッサ14の第二ステップの表示処理はそれぞ
れ同時に実行される。すなわち、第一プロセッサ13と
第二プロセッサ14はパイプライン的に動作する。これ
により、シミュレーションプログラムの実行を止めるこ
となく、その処理結果を連続的に表示できる。
【0035】
【発明の効果】本発明では、ジョブを複数のプロセスに
分解し、個々のプロセスを別々のプロセッサで処理する
ことにより、ジョブが複数ある場合に、パイプライン的
にプロセスを実行することにより、ジョブ全体の処理を
1台のプロセッサを使用した場合に比べて非常に短くす
ることができる。
分解し、個々のプロセスを別々のプロセッサで処理する
ことにより、ジョブが複数ある場合に、パイプライン的
にプロセスを実行することにより、ジョブ全体の処理を
1台のプロセッサを使用した場合に比べて非常に短くす
ることができる。
【0036】パラメータサーベイなどの場合には、ジョ
ブ数をM、ジョブをプロセスに分解したときのプロセス
数をN、一つのプロセスの処理時間の平均をTpとする
と、ジョブ全体の処理に要する時間Tallは、 1台のプロセッサで処理する場合:Tall=Tp・N
・M 本発明による方式で処理する場合:Tall=Tp・
(N+M−1) となり、 短縮時間=Tp・(N−1)(M−1) となる。したがって、N≧2、かつ、M≧2であると、
分散処理の効果が現れる。なお、データファイル自動生
成手段を設けることにより、パラメータサーベイ時には
同じ形式の入力データを計算機側で自動的に生成するた
め、ユーザにかかる負担を最小限に抑えることができ
る。
ブ数をM、ジョブをプロセスに分解したときのプロセス
数をN、一つのプロセスの処理時間の平均をTpとする
と、ジョブ全体の処理に要する時間Tallは、 1台のプロセッサで処理する場合:Tall=Tp・N
・M 本発明による方式で処理する場合:Tall=Tp・
(N+M−1) となり、 短縮時間=Tp・(N−1)(M−1) となる。したがって、N≧2、かつ、M≧2であると、
分散処理の効果が現れる。なお、データファイル自動生
成手段を設けることにより、パラメータサーベイ時には
同じ形式の入力データを計算機側で自動的に生成するた
め、ユーザにかかる負担を最小限に抑えることができ
る。
【0037】また、シミュレーションの計算と表示など
のような相互関連する処理に適用すると、個々の処理の
実行速度を落とすことなく、トラッキングを行うことが
できる。
のような相互関連する処理に適用すると、個々の処理の
実行速度を落とすことなく、トラッキングを行うことが
できる。
【図1】
【図1】本発明による分散処理方式のブロック図。
【図2】本発明による分散処理方式の処理要素の関係を
示すブロック図。
示すブロック図。
【図3】本発明の実施例によるクライアント/サーバの
位置づけを示すブロック図。
位置づけを示すブロック図。
【図4】本発明の実施例によるデータファイルの自動生
成方法を示すブロック図。
成方法を示すブロック図。
【図5】本発明の実施例によるプロセスの配置方法を示
すブロック図。
すブロック図。
【図6】本発明の実施例によるプロセス制御の詳細を示
すブロック図。
すブロック図。
【図7】本発明の実施例によるジョブの実行過程を示す
説明図。
説明図。
【図8】本発明の応用によるシミュレーションのトラッ
キングを示す説明図。
キングを示す説明図。
10…ネットワーク、11…クライアントプロセッサ、
12…サーバプロセッサ、21…処理制御手段、22…
プロセス配置手段、23…プロセス実行手段、24…デ
ータファイル自動生成手段、25…ジョブ/プロセス管
理情報、28…システム環境情報。
12…サーバプロセッサ、21…処理制御手段、22…
プロセス配置手段、23…プロセス実行手段、24…デ
ータファイル自動生成手段、25…ジョブ/プロセス管
理情報、28…システム環境情報。
Claims (3)
- 【請求項1】計算機ネットワークにおいて、一つ以上の
プロセスからなるジョブを複数個実行するために、前記
計算機ネットワーク内のプロセッサに特定のプロセスを
処理するようプロセスの割り当てを行うプロセス配置手
段と、各プロセスの実行状況と全ジョブの実行状況を管
理し、プロセス単位でパイプライン的にジョブの実行制
御を行う処理制御手段と、前記処理制御手段または他の
プロセスからのメッセージにより目的の処理を実行する
プロセス実行手段とにより、複数のジョブを複数のプロ
セッサでパイプライン的に実行する分散処理手段を有す
ることを特徴とするプロセスパイプライン処理方式。 - 【請求項2】一つ以上のプロセスからなるジョブの各プ
ロセスの処理量と、計算機ネットワーク内の個々のプロ
セッサの処理性能をもとに、処理量の多いプロセスを相
対的に高速なプロセッサに、処理量の少ないプロセスを
相対的に低速なプロセッサに割り当てることにより、前
記ジョブの各プロセスがそれぞれほぼ同じ時間で処理さ
れ、複数のジョブを時間単位でパイプライン的に処理可
能とするためのプロセス配置手段を有することを特徴と
するプロセスパイプライン処理方式。 - 【請求項3】計算機で行う処理に必要な入力データファ
イルと、そのファイルのどこをどのようなデータに変え
るかを指定する内容などの処理の条件を記述した分散処
理指示ファイルとから、データファイル中の一部または
複数箇所が異なり、他の部分が同一である複数のデータ
ファイル、および、前記データファイルを用いた処理を
行うための情報を自動的に生成するデータファイル自動
生成手段を有することを特徴とするプロセスパイプライ
ン処理方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP22844993A JPH0784967A (ja) | 1993-09-14 | 1993-09-14 | プロセスパイプライン処理方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP22844993A JPH0784967A (ja) | 1993-09-14 | 1993-09-14 | プロセスパイプライン処理方式 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0784967A true JPH0784967A (ja) | 1995-03-31 |
Family
ID=16876672
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP22844993A Pending JPH0784967A (ja) | 1993-09-14 | 1993-09-14 | プロセスパイプライン処理方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0784967A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008146503A (ja) * | 2006-12-12 | 2008-06-26 | Sony Computer Entertainment Inc | 分散処理方法、オペレーティングシステムおよびマルチプロセッサシステム |
WO2012164689A1 (ja) * | 2011-05-31 | 2012-12-06 | 株式会社日立製作所 | ジョブ管理サーバ及びジョブ管理方法 |
JP2017228205A (ja) * | 2016-06-24 | 2017-12-28 | 株式会社デンソー | 電子制御装置及びデータ処理システム |
-
1993
- 1993-09-14 JP JP22844993A patent/JPH0784967A/ja active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008146503A (ja) * | 2006-12-12 | 2008-06-26 | Sony Computer Entertainment Inc | 分散処理方法、オペレーティングシステムおよびマルチプロセッサシステム |
WO2012164689A1 (ja) * | 2011-05-31 | 2012-12-06 | 株式会社日立製作所 | ジョブ管理サーバ及びジョブ管理方法 |
US9112750B2 (en) | 2011-05-31 | 2015-08-18 | Hitachi, Ltd. | Job management server and job management method |
JP2017228205A (ja) * | 2016-06-24 | 2017-12-28 | 株式会社デンソー | 電子制御装置及びデータ処理システム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0685791B1 (en) | User controllable concurrent functionality | |
US6944858B2 (en) | Installation of application software through a network from a source computer system on to a target computer system | |
US8453151B2 (en) | Method and system for coordinating hypervisor scheduling | |
US5504898A (en) | Threaded environment for AS/400 | |
US6542930B1 (en) | Distributed file system with automated file management achieved by decoupling data analysis and movement operations | |
US5550962A (en) | System for selectively performing parallel or sequential drawing processing | |
CN112181621A (zh) | 一种任务调度系统、方法、设备及存储介质 | |
US20030135617A1 (en) | Intelligent system control agent | |
US5600822A (en) | Resource allocation synchronization in a parallel processing system | |
JPH0784967A (ja) | プロセスパイプライン処理方式 | |
JP2814880B2 (ja) | 異なる命令特性を持つ複数のcpuによって構成される計算機システムの制御装置 | |
JP2001282551A (ja) | ジョブ処理装置および方法 | |
JP2001265726A (ja) | コンピュータ作業負荷の高速リカバリおよび再配置を可能にする自動化アプリケーションおよび手順 | |
US20020174173A1 (en) | Self-downloading network client | |
CN113472638A (zh) | 边缘网关控制方法及系统、装置、电子设备、存储介质 | |
JPH07168704A (ja) | ジョブ実行制御方式 | |
JP2001318903A (ja) | コンピュータ演算処理システム及び同システムにより実行されるコンピュータ演算処理方法 | |
JP2000347884A (ja) | ジョブネットワーク制御システム | |
JP2000029850A (ja) | オペレーティングシステムのプロセッサ間通信を使用したタスク制御方法 | |
JPH07168794A (ja) | 計算機システムのジョブ管理方法 | |
JPH04346136A (ja) | 仮想命令プロセッサ構成制御方法 | |
JPH0512226A (ja) | 複合電子計算機システム | |
CN116541144A (zh) | 数据同步系统和方法 | |
CN115834714A (zh) | 一种跨平台任务调度方法、服务器和系统 | |
JP2673534B2 (ja) | 並列分散処理システム |