JP3660376B2 - 分散処理システムおよび分散処理システムにおける負荷分散方法 - Google Patents
分散処理システムおよび分散処理システムにおける負荷分散方法 Download PDFInfo
- Publication number
- JP3660376B2 JP3660376B2 JP18600894A JP18600894A JP3660376B2 JP 3660376 B2 JP3660376 B2 JP 3660376B2 JP 18600894 A JP18600894 A JP 18600894A JP 18600894 A JP18600894 A JP 18600894A JP 3660376 B2 JP3660376 B2 JP 3660376B2
- Authority
- JP
- Japan
- Prior art keywords
- processor
- job
- function
- load
- processed
- 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.)
- Expired - Fee Related
Links
Images
Description
【産業上の利用分野】
本発明は、複数のプロセッサによって分散処理を実現する分散処理システムに関し、特に、マスタプロセッサを必要とせずに各プロセッサの処理の負荷を適当に分散する技術に関するものである。
【0002】
【従来の技術】
同一の伝送媒体に接続された複数のプロセッサによって構成されるマルチプロセッサシステムでは、従来、1台のプロセッサ(マスタプロセッサ)が集中的に全体のジョブの管理を行ない、適宜ジョブを各プロセッサに振り分けることにより分散処理システムを実現していた。
【0003】
しかし、このような分散処理システムでは、マスタプロセッサがダウンすれば、ジョブ管理を行なうことができなくなる。また、このような分散処理システムでは、ジョブ管理のために、システム全体に関する情報を、マスタプロセッサが実行するジョブ管理プログラムに含めることが必要となる。そして、このために、システムの拡張や改修に際しては、マスタプロセッサの、ジョブ管理プログラムを必ず修正しなければならなかった。
【0004】
一方、マスタプロセッサによる一元的なジョブ管理を行なわない分散処理システムに関する技術としては、特開昭62-052664号公報に記載された技術が知られている。
【0005】
この技術では、同一の伝送媒体に接続された各プロセッサが、それぞれジョブを実行するか否かを判断する。
【0006】
【発明が解決しようとする課題】
前記特開昭62-052664号公報に記載された技術は、全てのプロセッサが同一の伝送媒体によって接続されていることを前提としている。
【0007】
このため、たとえば、一部のプロセッサが伝送媒体Aに、一部のプロセッサが伝送媒体B側に接続され、一部のプロセッサが伝送媒体Aと伝送媒体Bの両方に接続されているようなシステムでは、良好に負荷の分散を行なうことができない。
【0008】
すなわち、一方の伝送媒体に接続されたプロセッサの負荷が大きく、他の伝送媒体に接続されたプロセッサの負荷が小さくなっても、これを分散し平均化することができない。
【0009】
また、前記特開昭62-052664号公報に記載された技術では、全てのジョブを平等に扱っているため、重要なジョブ、緊急を要するジョブなどを優先的に処理することができない。
【0010】
そこで、本発明は、マスタプロセッサ等によってジョブを一元的に管理したりすることなしに、異なる伝送媒体に接続されたプロセッサ間での負荷の分散を行なうことのできる分散処理システムを提供することを目的とする。
【0011】
また、本発明は、マスタプロセッサ等によってジョブを一元的に管理したりすることなしに、ジョブの優先制御を行なうことのできる分散処理システムを提供することを目的とする。
【0012】
【課題を解決するための手段】
本発明によれば、伝送媒体によって接続された複数のプロセッサを有し、ジョブ単位に処理を各プロセッサに分担させる分散処理システムにおける負荷を分散させる方法であって、
第1の伝送媒体に接続された1以上の第1のプロセッサと、第2の伝送媒体に接続された1以上の第2のプロセッサと、前記第1の伝送媒体と第2の伝送媒体とに接続された1以上の第3のプロセッサとを用い、
前記第1の各プロセッサに、ジョブを分類した機能のうちの第1の機能を割り当て、前記第2の各プロセッサに、ジョブを分類した機能のうちの第2の機能を割り当て、前記第3の各プロセッサに、前記第1の機能と第2の機能とを割り当て、
前記第1の各プロセッサと、前記第3の各プロセッサとに、自プロセッサにおいて発生した第1の機能に属するジョブを処理するまでに担うことになる負荷の情報を相互に通知し合わせ、自プロセッサの負荷が通知された他のプロセッサの負荷より小さかったプロセッサに、前記発生した第1の機能に属するジョブを処理させ、
前記第2の各プロセッサと、前記第3の各プロセッサとに、自プロセッサにおいて発生した第2の機能に属するジョブを処理するまでに担うことになる負荷の情報を相互に通知し合わせ、自プロセッサの負荷が通知された他のプロセッサの負荷より小さかったプロセッサに、前記発生した第2の機能に属するジョブを処理させることを特徴とする分散処理システムにおける負荷分散方法を提供する。
【0013】
また、このような負荷分散方法において、
前記第1の機能と第2の機能との間に優先順位を与え、
前記1以上の第3のプロセッサの、前記発生したジョブを処理するまでに担うことになる負荷を、当該プロセッサで今後処理する予定のジョブと、前記発生したジョブとを、各ジョブの属する機能の優先順位に従った順番で処理するとした場合に、前記発生したジョブを処理するまでに当該プロセッサが担うこととなる負荷とすることができる。
【0014】
【作用】
本発明に係る負荷分散方法によれば、第1の伝送媒体に接続された1以上の第1のプロセッサの各プロセッサと、前記第1の伝送媒体と第2の伝送媒体とに接続された1以上の第3のプロセッサの各プロセッサとに、自プロセッサにおいて発生した第1の機能に属するジョブを処理するまでに担うことになる負荷の情報を相互に通知し合わせ、自プロセッサの負荷が通知された他のプロセッサの負荷より小さかったプロセッサに、前記発生した第1の機能に属するジョブを処理させる。また、同様に第2の伝送媒体に接続された1以上の第2のプロセッサの各プロセッサと、前記第3の各プロセッサとに、自プロセッサにおいて発生した第2の機能に属するジョブを処理するまでに担うことになる負荷の情報を相互に通知し合わせ、自プロセッサの負荷が通知された他のプロセッサの負荷より小さかったプロセッサに、前記発生した第2の機能に属するジョブを処理させる。したがって、第1の機能に屬するジョブの処理負荷が高まれば、前記第3の各プロセッサは第1の機能に屬するジョブの処理を行なう機会が高まる。一方、第2の機能に屬するジョブの処理負荷が高まれば、前記第1の伝送媒体と第2の伝送媒体とに接続された各プロセッサは第2の機能に屬するジョブの処理を行なう機会が高まる。従って、この前記第1の伝送媒体と第2の伝送媒体とに接続された第3の各プロセッサを介して、第1の伝送媒体に接続された第1の各プロセッサと、第2の伝送媒体に接続された第2の各プロセッサとの間の負荷は分散される。
【0015】
また、さらに、前記発生したジョブを処理するまでに担うことになる負荷を、当該プロセッサで今後処理する予定のジョブと、前記発生したジョブとを、各ジョブの属する機能の優先順位に従った順番で処理するとした場合に、前記発生したジョブを処理するまでに当該プロセッサが担うこととなる負荷とすれば、より優先順位の高い機能に属するジョブが処理される機会が高まり、結果、優先順位の高い機能に属するジョブは、各プロセッサの処理能力を多く用いて、より速く処理される。
【0016】
【実施例】
以下、本発明の実施例を説明する。
【0017】
まず、本発明の第1の実施例について説明する。
【0018】
図2に、本第1実施例に係る分散処理システムのハ−ドウェア構成を示す。図示するように、本第1実施例に係る分散処理システムは、プロセッサ11〜16を含むマルチプロセッサシステム上に構築される。
【0019】
プロセッサ11は伝送路1と伝送路2に接続され、プロセッサ12は伝送路1に接続される。プロセッサ13は伝送路2と伝送路3に接続され、プロセッサ14は伝送路2に接続される。プロセッサ15は伝送路3と伝送路4に接続され、プロセッサ16は伝送路3に接続される。なお、図中では、伝送路としてバス型の伝送路を示したが、これは任意の形態の伝送路でよい。
【0020】
各プロセッサは、接続した伝送路を介して他のプロセッサとデータを授受する。各伝送路は、それぞれ異なる機能に対応しており、各機能は対応する伝送路に接続された複数のプロセッサが行なうジョブ群によって実現される。
【0021】
以下では、伝送路1に接続された複数のプロセッサが行なうジョブ群により実現される機能を機能1と呼び、機能1を実現するジョブ群に含まれるジョブを実行するプロセッサの集まりをプロセッサ群1と呼ぶ。また、伝送路2、伝送路3、伝送路4についても同様である。また、以下では、機能1を実現するジョブ群に含まれるジョブは、機能1に属しているということにする。
【0022】
すなわち、プロセッサ11、13、15はそれぞれ2つのプロセッサ群に所属し、プロセッサ11はプロセッサ群1とプロセッサ群2、プロセッサ13はプロセッサ群2とプロセッサ群3、プロセッサ15はプロセッサ群3とプロセッサ群4に属する。したがって、プロセッサ11は機能1と機能2、プロセッサ13は機能2と機能3、プロセッサ15は機能3と機能4に属するジョブを処理する。
【0023】
図3に、プロセッサ11〜16の構成を示す。図では代表としてプロセッサ11の構成を示す。
【0024】
図示するように、処理装置300は、インターフェイス301を介して伝送路1と伝送路2に接続され、また、インターフェイス302を介して外部のターミナル350に接続される。また、処理装置300は、入力バッファ303、出力バッファ304、データ格納メモリ305、作業時間格納メモリ306、優先順位格納メモリ307、内容コードテーブル308、所属コードテーブル309、優先順位テーブル310、タイマ330、ジョブキュ−340、プログラムメモリ350に接続される。入力バッファ303、出力バッファ304は、インタフェ−ス301、インタフェ−ス302と処理装置300間で入出力するデータ等を一旦格納するために用いられる。プログラムメモリ350は、ジョブの処理に用いられる実行可能形式のコンパイラ、サ−ビスプログラム等の各種プログラムを格納する
ただし、実際には、プロセッサ11は、図16に示すような通常の構成を有する電子計算機で実現することができる。この場合は、処理装置300はCPU1600、インターフェイス301は通信アダプタ装置16001、インターフェイス302は入出力制御装置1602等を用いて実現される。また、入力バッファ303、出力バッファ304、データ格納メモリ305、作業時間格納メモリ306、優先順位格納メモリ307、ジョブキュ−340は、主記憶装置1603上に構築する。また、プロセッサ11は、磁気ディスク装置等の外部記憶装置1604を備えており、外部記憶装置1604には、プログラムメモリ350や、内容コードテーブル308、所属コードテーブル309、優先順位テーブル310等を構築する。
【0025】
さて、内容コードテーブル308には、プログラムメモリ350に格納された実行形式のプログラム、すなわち、このプロセッサで実行可能なプログラムを示すコード(以下、「内容コード」と呼ぶ)が格納される。
【0026】
所属コードテーブル309には、このプロセッサで実行するプログラムが処理するジョブが属する機能を示すコード(以下、「所属コード」と呼ぶ)を格納する。ある特定の機能に属するジョブを処理するプログラムを実行するプロセッサは、また、その特定の機能に属するジョブを発生する。両者のプログラムは、一般的には同じものである。さて、このように所属コードは、各プロセッサがどの機能に対応するプロセッサ群に所属するかを表す。
【0027】
なお、内容コードは、実行可能形式のプログラムがプロセッサのプログラムメモリ350に格納される際に内容コードテーブル308に格納される。また、このとき、所属コードも所属コードテーブル309に格納される。
【0028】
また、優先順位テーブル310には、処理装置300が接続される伝送路1と伝送路2に対応する機能1と機能2のうち、どちらを優先させるかを示す優先順位が格納される。優先順位テーブル310の内容は、プロセッサの起動時に、また必要に応じて優先順位格納メモリ307に格納される。
【0029】
なお、内容コードテーブル308、所属コードテーブル309、優先順位テーブル310は、適当な方法、例えばターミナル350等を介してオペレータにより予めセットされる。
【0030】
また、プロセッサ12、14、16のように単一の伝送路に接続されるプロセッサについては、一つの機能に属するのジョブしか処理しないため、優先順位テーブル310には何も格納されない。タイマ330は、後述する時刻計算に利用される。
【0031】
さて、本第1実施例に係る分散処理システムにおいて、ジョブ実行に関して、全プロセッサは対等であり、特定のプロセッサにジョブ管理機能が集中する従来システムと異なる。また、各プロセッサが2つのプロセッサ群に属することを認めており、1つのプロセッサが2つの機能に属するジョブを共に処理することを可能としている。これにより、この2つの機能を分担するプロセッサを介して、負荷が高いプロセッサ群に対応する機能を優先的に実行し、2つのプロセッサ群、すなわち、2つの機能の間で負荷の分散を行なうことが可能としている。
【0032】
以下、本第1実施例に係る分散処理システムの動作について説明する。
【0033】
あて、本第1実施例において、各プロセッサの処理装置300がジョブ管理のために行なう処理は、次の3フェーズに分けることができる。
【0034】
(1)処理装置上に、ある機能に属する新たにジョブが発生した時に行なう、その機能に対応するプロセッサ群へのジョブ内容のブロードキャスト
(2)ジョブ内容を受信した時に行なう、受信したジョブ内容の示すジョブの優先順位決定と、そのジョブを実行するか否かの決定。そして、実行すると決定した時に行なう、立候補メッセージのブロードキャスト(以下、受信したジョブを実行する内容を示す立候補メッセージをブロードキャストすることを「立候補」と言う)
(3)立候補メッセージを受信した時の実行決定
以下、各フェ−ズの詳細について説明していく。
【0035】
まず、フェーズ(1)において、あるプロセッサ上で、なんらかのプログラムが起動して新たなジョブが発生すると、そのプロセッサの処理装置300は、そのジョブの内容を、そのジョブが属する機能に対応するプロセッサ群中の自身以外のプロセッサに知らせるために、図4(a)に示したフォーマットのメッセージ(以下、「ジョブメッセージ」と呼ぶ)を送信する。図示するように、ジョブメッセージは、メッセージの種別(この場合はジョブメッセージであること)を示す分類コード401と、ジョブの内容の要点を示す内容コード402と、ジョブで処理する対象(プログラムやデータ)403とからなる。内容コード402は処理の種類、ジョブの規模、ジョブを処理するコンパイラ、サービスプログラムの指定、ジョブの識別コードなどを含む。また、この際、ジョブメッセ−ジの送信先は、所属コードテーブル309を参照して決定される。
【0036】
ここで、所属コードテーブル309の構成例を図6に示す。
【0037】
所属コードテーブル309の各行6001、6002、…は、自プロセッサの外部記憶装置に格納している各プログラムに対応する行である。第一行6001は、所属コード(BC)601、およびプログラム名称が格納されているプログラムエリア(PROG)602より構成される。プロセッサの処理装置300は、インタフェ−ス301を介して、ジョブを発生したプログラムに対応する所属コ−ドに対応する伝送路にジョブメッセ−ジを送出する。
【0038】
伝送路に送出されたジョブメッセージは、その伝送路に接続された全てのプロセッサに達する。
【0039】
フェーズ(2)において、各プロセッサは、図1のフローチャートに示す処理を行なう。
【0040】
すなわち、各プロセッサの処理装置300は、インタフェ−ス301を介して伝送路よりジョブメッセージを受信し(ステップ101)、受信したジョブメッセージが示すジョブ内容のジョブが実現する機能を、当該ジョブメッセ−ジを受信した伝送路から判別し、判別した機能に対応する所属コード400を付加することにより、受信したジョブメッセ−ジを、図4(b)に示すフォーマットに変換する(ステップ102)。
【0041】
そして、次に、ジョブメッセージの内容コードを調べて(ステップ103)、この内容コ−ドが示すジョブを処理するコンパイラ、サービスプログラムを自分が実行しうるか、すなわち、外部記憶装置に格納しているかを、内容コ−ドテ−ブル309を参照して判断する(ステップ104)。
【0042】
そして、実行不可能の場合は、そのジョブメッセージを廃棄し(ステップ105)、処理を終了する。
【0043】
一方、実行可能の場合は、先に付加した所属コード400の対応する機能が、他方の機能(ジョブメッセ−ジを受信した伝送路でない方の伝送路に対応する機能)より、その機能が優先されるかどうかを優先順位格納メモリ307を参照して判断する(ステップ106)。
【0044】
そして、次に、実行条件を算定する。実行条件は、そのジョブを、優先順位に従って処理した場合に、その処理が終了すると予測される時刻Tであり、そのジョブの属する機能の優先順位によって異なる。具体的には、次式により算定される。算定されたTの値は作業時間格納メモリ306に記憶される。
【0045】
受信したジョブの属する機能の優先順位の方が高いとき(ステップ107)、
T=t+(t2-t1+t3+t4)/(1-t5) …(1)
ただし、
t : 現在時刻
t1:現在処理中のジョブの処理経過時間
t2:処理中のジョブと受信したジョブと同じ機能に属する、自プロセッサで処理待ちの全ジョブの処理推定時間の総計
t3: 当該プロセッサが立候補中のジョブの中で、受信したジョブと同じ機能に属するジョブの処理推定時間の総計
t4:受信したジョブの処理推定時間
t5:当該プロセッサがジョブの処理以外に行なう雑処理の単位時間における平均的な割合であり、0≦t5<1
受信したジョブの属する機能の優先順位の方が低いとき(ステップ108)、
T=t+(t20-t1+t30+t4)/(1-t5) …(2)
ただし、
t20:処理中及び処理待ちの全ジョブの処理推定時間の総計
t30:当該プロセッサが立候補中のジョブの処理推定時間の総計
ただし、ジョブの処理推定時間とは、そのジョブの処理に要すると推定される時間である。
【0046】
なお、処理待ちのジョブと、そのジョブが属する機能はデータ格納メモリ305に記憶し、処理の進行につれて更新する。また、t2、t3、t20、t30、t5の値は作業時間格納メモリ306に保存し、処理の進行につれて更新する(ステップ109)。
【0047】
さて、Tの計算が終わると、プロセッサの処理装置300は、立候補メッセージを作成してジョブメッセ−ジを受信した伝送路にインタフェ−ス301を介してブロードキャストする(ステップ110)。立候補メッセージは、図5に示すように、立候補メッセージであることを示す分類コード501と、当該ジョブの内容コード502と、立候補データ部503とからなる。内容コード502は、受信したジョブメッセージの内容コード402と同じものを用いる。立候補データ部503には前記のTの値が入る。
【0048】
次に、フェーズ(3)において、図7に示すように、各プロセッサは受信待ち状態にあり、他のプロセッサを送信源とする立候補メッセージを受信する(ステップ702)と、これを受け取ったプロセッサの処理装置300は、既立候補ジョブ(自身が先に立候補したジョブ)であれば(ステップ703)、その立候補データ部にあるT(これをT1 とする)と作業時間格納メモリ306内の自己で算出したTを読み出し(ステップ704)、TとT1を比較する(ステップ705)。もしも、
T ≦ T1
ならば、立候補を維持する。しかし、上式が成立しなければ、保存されていたジョブメッセージを廃棄し(ステップ706)、前記t3、またはt30を修正する(ステップ707)。
【0049】
これにより立候補は取り消されて、以後立候補メッセージの処理は行なわれない。
【0050】
このようにして、予め定められた一定時間が経過した後に(ステップ701)、依然として立候補が維持されていれば(ステップ708)、当該プロセッサにおいてそのジョブを実行することが確定する。プロセッサの処理装置300は、自プロセッサが実行することが確定したジョブをジョブキュー340に登録し(ステップ709)、前記t2、t3、またはt20、t30が修正する(ステップ710)。
【0051】
ただし、実行することが確定したジョブの優先順位が高いときには、ジョブキュー340に登録されていた優先順位の低いジョブより先に実行されるため、優先順位の低いジョブの処理終了時間が、その優先順位の低いジョブについて立候補した時の処理終了予測時間より遅くなる。
【0052】
したがって、実行することが確定したジョブの優先順位が高いときには、ジョブキュー340に登録されている優先順位の低いジョブのジョブメッセージをフェーズ(1)と同様な手順で、ジョブキュ−に登録した順序にしたがい順次ブロードキャストするようにする。このとき、t2、t3、t20、t30を適宜更新する。
【0053】
ジョブキュー340に登録されたジョブは、処理装置300によって順次取り出されて処理されたのちに廃棄される。
【0054】
以上、本発明の第1実施例に係る分散処理システムについて説明した。
【0055】
本第1実施例によれば、異なる伝送路に接続されたプロセッサ間での負荷の分散が可能である。たとえば、伝送路2に接続されたプロセッサ群が行なっている処理の負荷が増大したときには、2つ伝送路に接続されたプロセッサ11とプロセッサ13は該処理にかける負荷を増大する。これにより、伝送路1と伝送路3に接続されたプロセッサ12、プロセッサ15、プロセッサ16の負荷も増大する。このように特定の伝送路に接続されたプロセッサ群の処理の負荷が増大しても、負荷が次々と他の伝送路に接続されたプロセッサにも波及し、全体として負荷は分散する。
【0056】
また、この実施例によれば、2つの伝送路に接続されたプロセッサに、一方の伝送路から受信したジョブメッセ−ジのジョブを、他方の伝送路から受信したジョブメッセ−ジのジョブに優先して処理させることができる。たとえば、伝送路2に接続されたプロセッサ群は高速性を要求される制御系の処理を行ない、伝送路3に接続されたプロセッサ群は高速性を要求されない情報系の処理を行なっている場合等に、伝送路2と伝送路3に接続されたプロセッサ13に伝送路2から受信したジョブメッセ−ジのジョブを優先的に行なわせることができる。
【0057】
以下、本発明の第2の実施例について説明する。
【0058】
本第2の実施例では、優先順位格納メモリ307に記憶された機能間の優先順位に従わないジョブを取り扱う点のみが前記第1実施例と異なる。
【0059】
前述したように2つの伝送路に接続するプロセッサの優先順位格納メモリ307には、プロセッサが属する2つのプロセッサ群に対応する2つの機能のうち、どちらに属するジョブを優先するかが記憶されている。
【0060】
本第2実施例は、優先順位に従わない、たとえば、至急処理する必要がある緊急ジョブ、特に正確な処理が要求される重要ジョブ(以下、これを絶対優先ジョブと呼ぶ)が発生した際の処理についてのものである。
【0061】
以下、第1の実施例との、フェーズ(1)、フェーズ(2)、フェーズ(3)の相違点について説明する。
【0062】
フェーズ(1)において、あるプロセッサ上にプログラムが起動して絶対優先ジョブが生成されると、そのプロセッサの処理そうち300は図4(a)の分類コード401に、絶対優先ジョブであることを示すコードを付加してジョブメッセージを送信する(以下、このメッセ−ジを「絶対優先ジョブメッセージ」と呼ぶ)。
【0063】
フェーズ(2)において、プロセッサが絶対優先ジョブを受信したとき、各プロセッサの処理装置300は図8のフローチャートに示すように処理を行なう。
【0064】
すなわち、各プロセッサの処理装置300は、インタフェ−ス301を介して伝送路より絶対優先ジョブメッセージを受信すると(ステップ801)、絶対優先ジョブメッセージを受信した伝送路からどの機能に属するジョブであるかを判別し、図4(b)に示したように所属コード400を付加しフォーマットを変換する(ステップ802)。
【0065】
次に、絶対優先ジョブメッセージの内容コードで(ステップ803)、内容コ−ドテ−ブル308を参照し、自分がこのジョブを実行しうるかを判断する(ステップ804)。
【0066】
そして、実行不可能の場合は、その絶対優先ジョブメッセージを廃棄する(ステップ805)。
【0067】
一方、実行可能の場合は、処理中のジョブが絶対優先ジョブであるかを判断し(ステップ806)、次のように実行条件を算定する。実行条件は、本第2実施例でも、そのジョブに対する処理終了予測時刻Tであり、次式により算定される。算定されたTの値は作業時間格納メモリ306に記憶される。
【0068】
現在処理中のジョブが絶対優先ジョブであるとき(ステップ807)、
T=t+(ta2-ta1+ta3+ta4)/(1-t5) …(3)
ただし、
t : 現在時刻
ta1:現在処理中の絶対優先ジョブの処理経過時間
ta2:処理中の絶対優先ジョブと受信した処理待ちの全絶対優先ジョブの処理推定時間の総計
ta3: 当該プロセッサが立候補中のジョブの中で絶対優先ジョブの処理推定時間の総計
ta4:受信した絶対優先ジョブの処理推定時間
t5:当該プロセッサがジョブの処理以外に行なう雑処理の単位時間における平均的な割合であり、0≦t5<1
現在処理中のジョブが絶対優先ジョブでないとき(ステップ808)、
T=t+(ta20+ta30+ta4)/(1-t5) …(4)
ただし、
ta20:自プロセッサにおいて処理待ちの全絶対優先ジョブの処理推定時間の総計
ta30: 当該プロセッサが立候補中の絶対優先ジョブの処理推定時間の総計
処理待ちのジョブとジョブが属する機能と絶対優先ジョブであるか否かはデータ格納メモリ305に記憶され、処理の進行につれて更新される。また、ta2、ta3、ta20、ta30、t5の値は作業時間格納メモリ306に保存され、処理の進行につれて更新される(ステップ809)。
【0069】
次に、Tの計算が終わると、立候補メッセージを作成してジョブを受信した伝送路にブロードキャストする(ステップ810)。立候補メッセージは、図5に示すように、絶対優先ジョブの立候補メッセージであることを示す分類コード501と、当該ジョブの内容コード502と、立候補データ部503とからなる。内容コード502は、ジョブメッセージの内容コード402と同じでよい。立候補データ部503には前記のTの値が入る。
【0070】
一方、プロセッサが受信したジョブが絶対優先ジョブでない場合には、以下のように実行条件を算定する。算定されたジョブに対する処理終了予測時刻Tの値は作業時間格納メモリ306に記憶される。
【0071】
受信したジョブの属する機能の優先順位が高いとき
T=t+(tb2+tc2-t1+ta3+t3+t4)/(1-t5) …(5)
ただし、
t : 現在時刻
t1:現在処理中のジョブの処理経過時間
tb2:処理中のジョブと受信した処理待ちの全絶対優先ジョブの処理推定時間の総計
tc2:受信したジョブと同じ機能に属する処理待ちの全ジョブの処理推定時間の総計
t3: 当該プロセッサが立候補中のジョブの中で受信したジョブと同じ機能に属するジョブの処理推定時間の総計
ta3: 当該プロセッサが立候補中のジョブの中で受信した絶対優先ジョブの処理推定時間の総計
t4:受信したジョブの処理推定時間
t5:当該プロセッサがジョブの処理以外に行なう雑処理の単位時間における平均的な割合であり、0≦t5<1
受信したジョブの属する機能の優先順位が低いとき
T=t+(tb2+tc20-t1+t30+ta4)/(1-t5) …(6)
ただし、
tc20:処理待ちの絶対優先ジョブを除く全ジョブの処理推定時間の総計
t30: 当該プロセッサが立候補中の全ジョブの処理推定時間の総計
処理待ちのジョブと該ジョブが属する機能と絶対優先ジョブであるか否かはデータ格納メモリ305に記憶され、処理の進行につれて更新される。また、tb2、tc20、t30、t5の値は作業時間格納メモリ306に保存され、処理の進行につれて更新される。Tの計算が終わると、立候補メッセージを作成してジョブを受信した伝送路にブロードキャストする。立候補メッセージは、図5に示すように、絶対優先ジョブの立候補メッセージであることを示す分類コード501と、当該ジョブの内容コード502と、立候補データ部503とからなる。内容コード502は、ジョブメッセージの内容コード402と同じでよい。立候補データ部503には前記のTの値が入る。
【0072】
さて、フェーズ(3)において、図7に示すように、各プロセッサは受信待ち状態にあり、他のプロセッサを送信源とする立候補メッセージを受信する(ステップ702)と、これを受け取ったプロセッサの処理装置300は、既立候補ジョブでなければ(ステップ703)、その立候補データ部にあるT(これをT1とする)と作業時間格納メモリ306内の自己で算出したTを読み出し(ステップ704)、TとT1を比較する(ステップ705)。もしも、
T ≦ T1
ならば、立候補を維持する。しかし、上式が成立しなければ、保存されていたジョブメッセージを廃棄し(ステップ706)、前記t3、またはt30を修正する(ステップ707)。これにより立候補は取り消されて、以後立候補メッセージの処理は行なわれない。予め定められた一定時間が経過するまでは(ステップ701)、プロセッサは他の立候補メッセージの受信待ち状態にあるが、一定時間が経過しても依然として立候補が維持されていれば、そのジョブを実行することが確定する。確定したジョブはジョブキュー340に登録されて、前記ta2、ta20、tb2、tc2、t3、ta3、ta30が修正される。
【0073】
ジョブキュー340に登録されたジョブは処理装置300によって順次取り出され処理されたのちに廃棄される。
【0074】
以上のように、本第2実施例によれば、緊急を要するジョブ、重要なジョブが発生したときには、そのジョブを優先的に処理することができる。たとえば、異常事態が発生し、制御対象を緊急停止したい場合には、緊急を要するジョブであることを示す分類コード401を付加して送信する。これにより、最初にその処理を終了できるプロセッサが他の処理を中止して、緊急停止を行なうジョブを実行する。
【0075】
以下、本発明の第3の実施例について説明する。
【0076】
本第3実施例は、優先順位格納メモリ307に記憶された機能間の優先順位を変化させる点で前記実施例1、実施例2と異なる。
【0077】
前述したように、優先順位格納メモリ307には、プロセッサが属する2つのプロセッサ群に対応する機能のうち、どちらに属するジョブを優先するかを示す優先順位が記憶されている。本第3実施例では、この優先順位格納メモリ307に格納された優先順位を必要に応じて更新する。
【0078】
本第3実施例に係る優先順位の更新には、オペレータによる更新と、作業の区切りを契機とする更新と、定時間が経過したことを契機とする更新の3つの方法がある。
【0079】
以下、各方法について説明する。
【0080】
(1)オペレータによる更新方法
この方法では、優先順位は、たとえばターミナル350を介してオペレータにより更新される。優先順位を変更する機能に対応するプロセッサ群に含まれる特定のプロセッサに、その機能の優先順位を変更することがオペレ−タによってターミナル350より入力されると、この特定のプロセッサは、図4(a)の分類コード401に優先順位を変更するためのジョブであることを示すコードを付加したジョブメッセージ(以下、優先順位更新メッセージと呼ぶ)を、優先順位を変更する機能に対応する伝送路にブロードキャストする。
【0081】
この際、優先順位更新処理方法を、内容コード402にコードとして登録する。優先順位更新処理方法として、たとえば、次のような方法がある。
【0082】
(a)単に優先順位テーブル310と優先順位格納メモリ307の内容を更新する。つまり、優先順位格納メモリ307を更新したあとに受信したジョブより更新された優先順位が適用される。
【0083】
(b)優先順位テーブル310と優先順位格納メモリ307の内容を更新したのち、ジョブキューに登録された処理待ちのジョブと立候補中のジョブに対して更新された優先順位を適用する。
【0084】
(c)優先順位テーブル310と優先順位格納メモリ307の内容を更新したのち、現在処理中のジョブも中断し、現在処理中のジョブ、ジョブキューに登録された処理待ちのジョブと立候補中のジョブに対して更新された優先順位を適用する。
【0085】
また、前記特定のプロセッサは、優先順位更新メッセージにデータとして、どの機能の優先順位を入れ替えるかを登録する。
【0086】
次に、優先順位処理メッセージを受信したプロセッサの処理装置300が行なう処理を図9に示す。
【0087】
各プロセッサの処理装置300はインタフェ−ス301を介して、優先順位更新メッセージを受信すると(ステップ901)、優先順位更新メッセージの内容コードを調べて(ステップ902)、自プロセッサがこのジョブを実行しうるかを判断する(ステップ903)。実行不可能な場合は、この優先順位更新メッセージを廃棄する(ステップ904)。実行可能な場合は、ジョブ403のデータの内容が受信したプロセッサの属するプロセッサ群に対応する機能に該当するかどうかを判断し(ステップ905)、該当しない場合には作業を終了する。該当する場合には、ジョブ403のデータにしたがい、優先順位デーブル310、優先順位格納メモリ307の内容を更新し(ステップ906)、優先順位更新処理を行う(ステップ907)。優先順位デーブル310、優先順位格納メモリ307の内容を更新は、優先順位更新メッセージによって優先順位の変更を要求された機能と、もう一方の機能との優先順位を逆転させることにより行なう。
【0088】
(2)作業の区切りにおける更新方法
この更新方法では、一連の作業の区切りにおいて優先順位の更新を行う。この更新方法では、あるジョブの実行が終了したら、優先順位更新メッセージを送信するよう、優先順位更新メッセージを送信させるプロセッサと優先順位更新メッセージを受信させるプロセッサとに、あらかじめ登録しておく。
【0089】
優先順位更新メッセージを送信させるプロセッサの処理装置300は、登録されたジョブの実行が終了したら、優先順位更新メッセージを優先順位を変更する機能に対応する伝送路にブロードキャストする。
【0090】
一方、優先順位更新メッセージを受信するプロセッサでは、優先順位が更新されてから実行されるべきジョブは、優先順位更新メッセージの受信待ち状態とされる。優先順位更新メッセージの受信待ちをすべきか否かは、実行を終了したジョブの内容コードが、登録されたジョブと等しいか否かにより判断される。
【0091】
優先順位更新メッセージ受信後の優先順位更新方法は、前述したオペレータによる更新方法の場合と同じである。
【0092】
(3)一定時間が経過した際の更新方法
この方法では、優先順位更新の時間、あるいは優先順位更新の時間間隔を各プロセッサに登録する。登録方法は、たとえば、ターミナル350を介してオペレータにより予めプロセッサ内のメモリにセットする。その後、メモリに格納された時間に到った時、または、格納された時間間隔毎に優先順位を変更する。
【0093】
この登録した時間、時間間隔の変更を行う場合は、優先順位更新の時間、または優先順位更新の時間間隔を変更するジョブメッセージであることを示すコードを分類コード401に登録したジョブメッセ−ジ(以下、「時間変更メッセージ」と呼ぶ)をブロードキャストする。
【0094】
このジョブメッセ−ジを、受信した各プロセッサの処理装置300は図10に示す処理を行う。
【0095】
すなわち、時間変更メッセージを受信すると(ステップ1001)、時間変更メッセージの内容コードを調べて(ステップ1002)、自分がこのジョブを実行しうるかを判断する(ステップ1003)。実行不可能な場合は、この時間変更メッセージを廃棄する(ステップ1004)。実行可能な場合は、メモリ内に格納された優先順位更新の時間、または優先順位更新の時間間隔を変更する(ステップ1005)。
【0096】
本第3実施例によれば、2つの伝送路に接続されたプロセッサは、2つの伝送路から受信するジョブの優先順位を変更することが可能である。これにより、ある伝送路に接続されたプロセッサ群が行なっている処理を早く完了する必要があるとき、あるいは、ある伝送路に接続されたプロセッサ群が行なっている処理が特に重要であるときには、優先順位を高くして優先的に該処理を実行することができる。
【0097】
以下、本発明の第4の実施例について説明する。
【0098】
本第4実施例では、1つの伝送路に接続されたプロセッサ間で負荷の分散を行なう。
【0099】
図11に、本第4実施例に係る分散処理システムのハ−ドウェア構成を示す。
【0100】
図示するように、本第4実施例に係る分散処理システムは、単一の伝送路によって複数のプロセッサを接続したマルチプロセッサシステム上に実現される。
【0101】
図中、プロセッサ2001、プロセッサ2002、プロセッサ2003は、伝送路2000に接続される。ここで、プロセッサ2001とプロセッサ2002は同一の機能を実現するプロセッサ群1に属し、プロセッサ2002とプロセッサ2003は同一の機能を実現するプロセッサ群2に属するとする。第1の実施との、フェーズ(1)、フェーズ(2)、フェーズ(3)の相違について説明する。
【0102】
フェーズ(1)では、どの機能を実現するためのジョブであるかを識別可能とするため、各プロセッサは図12に示すようにジョブメッセージに所属コード2100を付加して伝送路2000に送信する。分類コード2101、内容コード2102、ジョブ2103は前記第1実施例と同様である。
【0103】
フェーズ(2)では、各プロセッサの処理装置300は、図14のフローチャートに示すように、以下の処理を行なう。
【0104】
各プロセッサの処理装置300は、伝送路よりジョブメッセージを受信し(ステップ2301)、受信したメッセージの所属コードを調べることにより(ステップ2302)、自身と同じプロセッサ群に属するプロセッサから送信されたジョブであるか否かを判別する(ステップ2303)。
【0105】
そして、同じプロセッサ群に属するプロセッサから送信されたジョブでないときには、ジョブを廃棄する(ステップ2306)。
【0106】
一方、同じプロセッサ群に属するプロセッサから送信されたジョブであるときは、ジョブメッセージの内容コードを調べて(ステップ2304)、自分がこのジョブを実行しうるかを判断する(ステップ2305)。そして、実行不可能の場合は、そのジョブメッセージを廃棄する(ステップ2306)。一方、実行可能の場合は、優先順位メモリから、そのジョブの属する機能が優先されるかどうかを判断する(ステップ2307)。
【0107】
そして、前記第1実施例と同様にして、判断した優先順位に応じた実行条件を算定する(ステップ2308、ステップ2309)。
【0108】
また、同様に、求めたt2、t3、t20、t30、t5の値は作業時間格納メモリ306に保存し、処理の進行につれて更新する(ステップ2310)。Tの計算が終わると、立候補メッセージを作成してジョブを受信した伝送路にブロードキャストする(ステップ2311)。
【0109】
図13は立候補メッセージのフォーマットを示す。立候補メッセージは、どの機能を実現するためのジョブであるかを示す所属コード2200と、立候補メッセージであることを示す分類コード2201と、当該ジョブの内容コード2202と、立候補データ部2203とからなる。立候補データ部2203には前記のTの値が入る。
【0110】
フェーズ(3)では、図15に示すように、プロセッサは受信待ち状態にあり、他のプロセッサを送信源とする立候補メッセージを受信する(ステップ2402)と、これを受け取ったプロセッサは、立候補メッセージの所属コードを読み込み(ステップ2403)、プロセッサが所属するプロセッサ群に対応する機能を実行するためのジョブであるかを判断する(ステップ2404)。自プロセッサが所属するプロセッサ群に対応する機能に属するジョブであれば、既立候補ジョブであるかを判断し(ステップ2405)、その立候補データ部にあるT(これをT1 とする)と作業時間格納メモリ306内の自己で算出したTを読み出し(ステップ2406)、TとT1を比較する(ステップ2407)。もしも、
T ≦ T1
ならば、立候補を維持する。しかし、上式が成立しなければ、保存されていたジョブメッセージを廃棄し(ステップ2408)、前記t3、またはt30を修正する(ステップ2409)。これにより立候補は取り消されて、以後立候補メッセージの処理は行なわれない。
【0111】
一方、予め定められた一定時間が経過しても(ステップ2401)、依然として立候補が維持されていれば(ステップ2410)、そのジョブを実行することが確定する。そのジョブはジョブキューに登録されて(ステップ2411)、前記t2、t3、またはt20、t30が修正される(ステップ2412)。
【0112】
以上、本第4実施例によれば、同一伝送路に接続されたプロセッサ間においても、機能単位に負荷の分散が可能である。たとえば、同一の伝送路に接続されている複数のプロセッサのうち、あるプロセッサ群は生産管理のジョブを行ない、あるプロセッサ群は品質管理のジョブを行ない、あるプロセッサ群は生産管理と品質管理のジョブを行なうように設定されている場合等に、生産管理と品質管理のジョブを処理することができるプロセッサが、負荷の高い方のジョブを行なうことにより負荷が分散される。また、品質管理のジョブの方が重要であるときには、優先順位をプロセッサに登録することにより、品質管理のジョブを優先的に行なうようにすることもできる。
【0113】
また、本第4実施例は、前記第1〜第3実施例と組み合わせて適用することができる。この場合は、前記第1〜第3実施例において機能を階層化し、本第4実施例に係る機能を、前記第1〜第3実施例における伝送路毎に対応する機能の回の機能として取り扱うようにする。
【0114】
また、本第4実施例では、マルチプロセッサシステムにおいて、機能を3以上実現することも可能である。
【0115】
なお、以上の各実施例では実行条件として、ジョブを処理するまでに要するまでにかかると予想される時間を用いたが、これは、ジョブを処理するまでに要するまでにかかるプロセッサの負荷を表すものであれば、その他のパラメ−タを用いるようにしてもよい。たとえば、ジョブを処理するまでに要するバッファやメモリの容量等を、単独で、もしくは、時間等の要素と組み合わせて用いるようにしてもよい。
【0116】
【発明の効果】
以上のように、本発明によれば、マスタプロセッサ等によってジョブを一元的に管理したりすることなしに、異なる伝送媒体に接続されたプロセッサ間での負荷の分散を行なうことのできる分散処理システムを提供することができる。
【0117】
また、マスタプロセッサ等によってジョブを一元的に管理したりすることなしに、ジョブの優先制御を行なうことのできる分散処理システムを提供することができる。
【図面の簡単な説明】
【図1】本発明の第1実施例に係る各プロセッサにおいて行なう立候補メッセ−ジ送出の手順を示すフロ−チャ−トである。
【図2】本発明の第1実施例に係る分散処理システムに用いるマルチプロセッサシステムの構成を示すブロック図である。
【図3】本発明の実施例に係るプロセッサの構成を示す図である。
【図4】本発明の第1実施例に係るジョブメッセ−ジと所属コ−ドを付加したジョブメッセ−ジのフォ−マットを示す図である。
【図5】本発明の第1実施例に係る立候補メッセ−ジのフォ−マットを示す図である。
【図6】本発明の第1実施例に係る所属コ−ドテ−ブルの構成を示す図である。
【図7】本発明の第1実施例に係る各プロセッサにおいて行なうジョブ実行確定手順を示すフロ−チャ−トである。
【図8】本発明の第2実施例に係る各プロセッサにおいて行なう絶対優先ジョブメッセ−ジ受信時の処理を示すフロチャ−トである。
【図9】本発明の第3実施例に係る各プロセッサにおいて行なう優先順位更新メッセ−ジ受信時の処理を示すフロチャ−トである。
【図10】本発明の第3実施例に係る各プロセッサにおいて行なう時間変更メッセ−ジ受信時の処理を示すフロチャ−トである。
【図11】本発明の第4実施例に係る分散処理システムに用いるマルチプロセッサシステムの構成を示すブロック図である。
【図12】本発明の第4実施例に係るジョブメッセ−ジのフォ−マットを示す図である。
【図13】本発明の第4実施例に係る立候補メッセ−ジのフォ−マットを示す図である。
【図14】本発明の第4実施例に係る各プロセッサにおいて行なう立候補メッセ−ジ送出の手順を示すフロ−チャ−トである。
【図15】本発明の第1実施例に係る各プロセッサにおいて行なうジョブ実行確定手順を示すフロ−チャ−トである。
【図16】本発明の実施例に係るプロセッサに用いることのできる計算機のハ−ドウェア構成例を示す図である。
【符号の簡単な説明】
2、3、4 伝送路
11〜16 プロセッサ
300 処理装置
305 データ格納メモリ
306 作業時間格納メモリ
307 優先順位格納メモリ
308 内容コードテーブル
310 所属コードテーブル
310 優先順位テーブル
330 タイマ
340 ジョブキュ−
350 プログラムメモリ
Claims (4)
- 伝送媒体によって接続された複数のプロセッサを有し、ジョブ単位に処理を各プロセッサに分担させる分散処理システムにおける負荷を分散させる方法であって、
第1の伝送媒体に接続された1以上の第1のプロセッサと、第2の伝送媒体に接続された1以上の第2のプロセッサと、前記第1の伝送媒体と第2の伝送媒体とに接続された1以上の第3のプロセッサとを用い、
前記第1の各プロセッサに、ジョブを分類した機能のうちの第1の機能を割り当て、前記第2の各プロセッサに、ジョブを分類した機能のうちの第2の機能を割り当て、前記第3の各プロセッサに、前記第1の機能と第2の機能とを割り当て、
前記第1の各プロセッサと、前記第3の各プロセッサとに、自プロセッサにおいて発生した第1の機能に属するジョブを処理するまでに担うことになる負荷の情報を相互に通知し合わせ、自プロセッサの負荷が通知された他のプロセッサの負荷より小さかったプロセッサに、前記発生した第1の機能に属するジョブを処理させ、
前記第2の各プロセッサと、前記第3の各プロセッサとに、自プロセッサにおいて発生した第2の機能に属するジョブを処理するまでに担うことになる負荷の情報を相互に通知し合わせ、自プロセッサの負荷が通知された他のプロセッサの負荷より小さかったプロセッサに、前記発生した第2の機能に属するジョブを処理させることを特徴とする分散処理システムにおける負荷分散方法。 - 請求項1記載の負荷分散方法であって、
前記第1の機能と第2の機能との間に優先順位を与え、
前記1以上の第3のプロセッサの、前記発生したジョブを処理するまでに担うことになる負荷を、当該プロセッサで今後処理する予定のジョブと、前記発生したジョブとを、各ジョブの属する機能の優先順位に従った順番で処理するとした場合に、前記発生したジョブを処理するまでに当該プロセッサが担うこととなる負荷とすることを特徴とする分散処理システムにおける負荷分散方法。 - 伝送媒体によって接続された複数のプロセッサを有し、ジョブ単位に処理を各プロセッサに分担させる分散処理システムであって、
前記複数のプロセッサとして、
第1の伝送媒体に接続され、ジョブを分類した機能のうちの第1の機能が割り当てられた1以上の第1のプロセッサと、
第2の伝送媒体に接続され、ジョブを分類した機能のうちの第2の機能を割り当てられた1以上の第2のプロセッサと、
前記第1の伝送媒体と第2の伝送媒体とに接続され、前記第1の機能と第2の機能とを割り当てられた1以上の第3のプロセッサとを有し、
前記第1の各プロセッサと前記第3の各プロセッサとは、自プロセッサにおいて発生した第1の機能に属するジョブを処理するまでに担うことになる負荷の情報を相互に通知し合い、自プロセッサの負荷が通知された他のプロセッサの負荷より小さかったプロセッサは、前記発生した第1の機能に属するジョブを処理し、
前記第2の各プロセッサと前記第3の各プロセッサとは、自プロセッサにおいて発生した第2の機能に属するジョブを処理するまでに担うことになる負荷の情報を相互に通知し合い、自プロセッサの負荷が通知された他のプロセッサの負荷より小さかったプロセッサが、前記発生した第2の機能に属するジョブを処理することを特徴とする分散処理システム。 - 請求項3記載の分散処理システムであって、
前記第1の機能と第2の機能との間に優先順位を与え、
前記1以上の第3のプロセッサは、前記発生したジョブを処理するまでに担うことになる負荷を、当該プロセッサで今後処理する予定のジョブと、前記発生したジョブとを、各ジョブの属する機能の優先順位に従った順番で処理するとした場合に、前記発生したジョブを処理するまでに当該プロセッサが担うこととなる負荷とすることを特徴とする分散処理システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP18600894A JP3660376B2 (ja) | 1994-08-08 | 1994-08-08 | 分散処理システムおよび分散処理システムにおける負荷分散方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP18600894A JP3660376B2 (ja) | 1994-08-08 | 1994-08-08 | 分散処理システムおよび分散処理システムにおける負荷分散方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0855091A JPH0855091A (ja) | 1996-02-27 |
JP3660376B2 true JP3660376B2 (ja) | 2005-06-15 |
Family
ID=16180764
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP18600894A Expired - Fee Related JP3660376B2 (ja) | 1994-08-08 | 1994-08-08 | 分散処理システムおよび分散処理システムにおける負荷分散方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3660376B2 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3959516B2 (ja) | 2001-08-06 | 2007-08-15 | インターナショナル・ビジネス・マシーンズ・コーポレーション | ネットワークシステム、cpu資源プロバイダ、クライアント装置、処理サービスの提供方法、およびプログラム |
JP3922070B2 (ja) | 2002-03-29 | 2007-05-30 | 株式会社デンソー | 分散制御方法及び装置 |
JP4961931B2 (ja) | 2006-09-29 | 2012-06-27 | 富士通株式会社 | ジョブ実行のスケジューリングプログラム、ジョブ実行のスケジューリング方法、ジョブ実行のスケジューリング装置 |
JP6929485B2 (ja) * | 2019-03-22 | 2021-09-01 | 三菱電機株式会社 | 情報処理装置、情報処理方法及び情報処理プログラム |
WO2021117186A1 (ja) * | 2019-12-12 | 2021-06-17 | 三菱電機株式会社 | データ処理実行装置、データ処理実行方法及びデータ処理実行プログラム |
-
1994
- 1994-08-08 JP JP18600894A patent/JP3660376B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH0855091A (ja) | 1996-02-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6820155B1 (en) | Interruption managing device and interruption managing method | |
US6006247A (en) | Method and system for scheduling threads and handling exceptions within a multiprocessor data processing system | |
US6591262B1 (en) | Collaborative workload management incorporating work unit attributes in resource allocation | |
US8190864B1 (en) | APIC implementation for a highly-threaded x86 processor | |
US20090158293A1 (en) | Information processing apparatus | |
US11526276B2 (en) | Upgrade management method and scheduling node, and storage system | |
US20110078702A1 (en) | Multiprocessor system | |
JP2008152618A (ja) | ジョブ割当プログラム、方法及び装置 | |
CN107430526B (zh) | 用于调度数据处理的方法和节点 | |
JP3660376B2 (ja) | 分散処理システムおよび分散処理システムにおける負荷分散方法 | |
US7424712B1 (en) | System and method for controlling co-scheduling of processes of parallel program | |
US5613133A (en) | Microcode loading with continued program execution | |
EP0049521A2 (en) | Information processing system | |
JP2998648B2 (ja) | 負荷分散ジョブ処理システム | |
JP2010009288A (ja) | マルチプロセッサシステム及びプログラム実行方法 | |
JPH07234847A (ja) | ジョブのスケジューリング方法 | |
JPH0666061B2 (ja) | マルチcpu通信装置 | |
JP4232109B2 (ja) | リアルタイム処理システム、処理装置、リアルタイム処理方法、及びプログラム | |
JPH09282294A (ja) | 密結合マルチプロセッサシステムにおける代替処理方式 | |
US20050114414A1 (en) | Parallel arithmetic system, parallel arithmetic management apparatus, and computer product | |
EP1533711A1 (en) | Parallel calculation program, parallel calculation system, and parallel calculation control apparatus | |
WO2021056277A1 (zh) | 一种执行程序的方法 | |
JPH0512173A (ja) | 情報処理装置 | |
CN107408061A (zh) | 并行处理系统 | |
CN118075261A (zh) | 轻量级异构分布式并行任务的协同处理方法、系统、介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040604 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20041207 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050207 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20050308 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050317 |
|
LAPS | Cancellation because of no payment of annual fees |