JP3241214B2 - 分散処理装置及びプロセス実行方法 - Google Patents

分散処理装置及びプロセス実行方法

Info

Publication number
JP3241214B2
JP3241214B2 JP21354594A JP21354594A JP3241214B2 JP 3241214 B2 JP3241214 B2 JP 3241214B2 JP 21354594 A JP21354594 A JP 21354594A JP 21354594 A JP21354594 A JP 21354594A JP 3241214 B2 JP3241214 B2 JP 3241214B2
Authority
JP
Japan
Prior art keywords
code
computer
native
stored
identifier
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
Application number
JP21354594A
Other languages
English (en)
Other versions
JPH0877118A (ja
Inventor
敏晃 武脇
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP21354594A priority Critical patent/JP3241214B2/ja
Publication of JPH0877118A publication Critical patent/JPH0877118A/ja
Application granted granted Critical
Publication of JP3241214B2 publication Critical patent/JP3241214B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、特に、種類の異なる複
数の計算機を備えた分散処理装置及び分散処理装置にお
いて適用されるプロセス実行方法に関する。
【0002】
【従来の技術】従来から、より処理能力の高い計算機シ
ステムを実現するために、分散した複数の計算機によっ
て並列に処理を行う分散/並列処理技術の開発が行われ
ている。また近年は、オブジェクト指向の技術を採用し
た分散オブジェクト指向システムへの関心も高まってい
る。
【0003】このような分散/並列処理技術でキーとな
ることは、いかに効率良くそれぞれの計算機に仕事(プ
ロセス)を割り付けることができるかである。このとき
に問題となることは、実行コードの異なる計算機間(即
ち種類の異なる計算機間)でのプロセスのマイグレーシ
ョン(移動)である。また、分散オブジェクト指向シス
テムでは、オブジェクトという概念で振る舞いを考える
が、オブジェクトをプロセスと同一視することで、同様
な問題が生じてくる。
【0004】従来、種類の異なる計算機間でプロセスを
マイグレーションさせようとした場合に問題となること
は、システム内の全ての種類の計算機で実行されるコー
ドの管理方式である。
【0005】従来の解決方法としては、候補となる計算
機の種類全てのネイティブコードを用意し、プロセスを
実行するときに、そのプロセス実行計算機用のコードを
選択して使用する第1の方法や、全てのプログラムをソ
ースコードで管理し、プロセスを実行する際に、そのプ
ロセス実行計算機でプログラムをコンパイルし、しかる
後にプロセスを実行する第2の方法が提案されている。
【0006】しかし、上記第1の方法(全ての種類の計
算機用のネイティブコードを用意する方法)では、候補
となる計算機の種類が多い場合にコンパイルを繰り返す
必要があり、多くのコンパイル時間が必要であった。ま
た、候補となる計算機の種類をコンパイル時に固定する
ために、将来、新たな種類の計算機が利用可能になった
際には、その計算機用のコードを生成するために全ての
プログラムをコンパイルする必要があった。更には、他
の計算機用のコードとのプログラムバージョンの統一を
とるために、ソースコードの管理も合わせて行わなけれ
ばならなかった。つまり、上記第1の方法を適用した場
合、オブジェクトコードを計算機の種類だけ用意する必
要があるため、コンパイル時間とオブジェクトコード量
が膨大になるといった問題や、コンパイル時のシステム
構成でオブジェクトコードを生成するために、システム
の拡張性に乏しいといった問題があった。
【0007】一方、上記第2の方法(全てのプログラム
をソースコードで管理する方法)では、上記第1の方法
で生じたオブジェクトコードの増大という問題は解決さ
れるものの、或る計算機に新しいプロセスが移行する度
にコンパイルが必要となる。これは、コンパイル時の作
業を実行時に移したことに起因するもので、実行時性能
へ多大な悪影響を及ぼしていた。
【0008】
【発明が解決しようとする課題】上記したように従来の
分散処理装置及びプロセス実行方法において計算機の種
類だけネイティブコードを持つ方式では、コンパイル時
間がかかる、オブジェクトコード量が膨大となる、シス
テム拡張性に乏しいという問題があった。また、ソース
コードで管理する方式では、実行時性能の低下が大きい
という問題があった。
【0009】本発明は上記事情を考慮してなされたもの
でその目的は、コンパイル時間及びオブジェクトコード
量の低減が図れ、しかもシステム拡張性に富み、実行性
能への影響の少ない実行環境が実現できる分散処理装置
及びプロセス実行方法を提供することにある。
【0010】
【課題を解決するための手段及び作用】本発明の第1の
観点に係る構成は、ソースプログラムから、特定種類の
計算機のみで実行可能なオブジェクトコードであるネイ
ティブコード、及び計算機の種類に依存しないオブジェ
クトコードである抽象機械語コードにコンパイルする
ログラムコンパイル手段と、このプログラムコンパイル
手段によってコンパイルされたオブジェクトコード、及
び上記実行可能な計算機の種別を示す識別子が格納さ
れ、分散処理装置上の各計算機により共有されるオブジ
ェクトコード格納手段とを備える他、上記各計算機に、
自計算機において実行するプロセスが格納されるプロセ
ス格納手段と、上記オブジェクトコード格納手段に格納
される上記抽象機械語コードのオブジェクトコードか
ら、自計算機で実行可能なネイティブなオブジェクトコ
ードに変換する変換手段と、上記プロセス格納手段に格
納されているプロセスの実行に際し、当該プロセスのネ
イティブコードを保持しているか否かを調べ、保持して
いる場合はそのネイティブコードを実行し、当該プロセ
スのネイティブコードを保持していない場合は上記オブ
ジェクトコード格納手段に格納される上記プロセスの識
別子を読み込み、当該識別子と自計算機が有する識別子
とを比較し、一致する場合は、上記オブジェクトコード
格納手段から上記プロセスのネイティブコードを受け取
り実行し、一致しない場合は、上記オブジェクトコード
格納手段から上記プロセスの抽象機械語コードを取り出
し、上記変換手段により自計算機で実行可能なネイティ
ブコードに変換して実行するネイティブコード実行手段
とを備えたことを特徴とする。
【0011】本発明の第2の観点に係る構成は、ソース
プログラムから特定種類の計算機のみで実行可能なオブ
ジェクトコードであるネイティブコード、及び計算機の
種類に依存しないオブジェクトコードである抽象機械語
コードにコンパイルするプログラムコンパイル手段と、
このプログラムコンパイル手段によってコンパイルされ
たオブジェクトコード、及び上記実行可能な計算機の種
別を示す識別子が格納され、分散処理装置上の各計算機
により共有されるオブジェクトコード格納手段とを備え
る他、上記各計算機に、自計算機において実行するプロ
セスが格納されるプロセス格納手段と、このプロセス格
納手段に格納されているプロセスの実行に際し、当該プ
ロセスのネイティブコードを保持しているか否かを調
べ、保持している場合はそのネイティブコードを実行
し、保持していない場合は上記オブジェクトコード格納
手段に格納される上記識別子と自計算機が有する識別子
との比較で、上記識別子が一致する場合に上記オブジェ
クトコード格納手段から受け取るプロセスのネイティブ
コードを実行するネイティブコード実行手段と、上記プ
ロセス格納手段に格納されているプロセスの実行に際
し、当該プロセスの抽象機械語コードを保持しているか
否かを調べ、保持している場合はその抽象機械語コード
を解釈・実行し、保持していない場合は上記オブジェク
トコード格納手段に格納される上記識別子と自計算機が
有する識別子との比較で、上記識別子が一致しない場合
に上記オブジェクトコード格納手段から受け取る上記プ
ロセスの抽象機械語コードを解釈・実行する抽象機械語
解釈実行手段とを備えたことを特徴とするものである。
【0012】上記第1及び第2の観点に係る構成におい
て、プログラムのコンパイル時には、ソースプログラム
から、特定種類の計算機のみで実行可能なオブジェクト
コードであるネイティブコードと計算機の種類に依存し
ない抽象機械語コードとがプログラムコンパイル手段に
より生成される。生成されたオブジェクトコードは、二
次記憶等により実現されるオブジェクトコード格納手段
に保持される。
【0013】次に、上記計算機でプロセスを実行する際
には、上記第1の観点に係る構成においては、そのプロ
セスのネイティブコードを保持しているか否か、つまり
自計算機で実行可能なネイティブコードを保持している
か否かが調べられる。もし、保持していない場合は、上
記オブジェクトコード格納手段に格納される上記プロセ
スの識別子と自計算機が有する識別子とが比較される。
ネイティブコード実行手段は、上記識別子が一致しない
ならば、上記オブジェクトコード格納手段に格納されて
いる上記プロセスの抽象機械語コードを、上記変換手段
により自計算機で実行可能なネイティブコードに変換す
る。
【0014】ネイティブコード実行手段は、自計算機で
実行可能なネイティブコードを保持している場合はその
ネイティブコードを実行し、当該ネイティブコードを保
持していないものの、上記オブジェクトコード格納手段
に格納される上記プロセスの識別子と自計算機が有する
識別子とが一致するときは、上記オブジェクトコード格
納手段から上記プロセスのネイティブコードを受け取っ
て実行し、上記識別子が一致しないときは、上記変換手
段により変換されたネイティブコードを実行する。
【0015】また、上記第2の観点に係る構成において
も、上記計算機でプロセスを実行する際に、そのプロセ
スのネイティブコードを保持しているか否かが調べられ
る。ネイティブコード実行手段は、上記プロセスのネイ
ティブコードを保持している場合にはそのネイティブコ
ードを実行し、保持していないものの、上記オブジェク
トコード格納手段に格納される上記プロセスの識別子と
自計算機が有する識別子とが一致するときは、上記オブ
ジェクトコード格納手段から受け取る上記プロセスのネ
イティブコードを実行する。上記第2の観点に係る構成
においては更に、上記計算機でプロセスを実行する際
に、そのプロセスの抽象機械語コードを保持しているか
否かが調べられる。抽象機械語解釈実行手段は、上記プ
ロセスの抽象機械語コードを保持している場合にはその
抽象機械語コードを解釈・実行し、保持しておらず、且
つ上記オブジェクトコード格納手段に格納される上記プ
ロセスの識別子と自計算機が有する識別子とが一致しな
いときは、上記オブジェクトコード格納手段から受け取
る上記プロセスの抽象機械語コードを解釈・実行する。
【0016】このように、上記第1及び第2の観点に係
る構成においては、1つのプログラムについて、分散処
理装置上の任意の種類の計算機用(対象計算機用)のネ
イティブコードとマシン非依存な抽象機械語コードを用
意するだけで、そのネイティブコードが実行可能な計算
機は勿論、そのネイティブコードが実行不可能な計算機
においても、対応するプロセスが実行できる。この構成
では、全ての種類の計算機用のネイティブコード(オブ
ジェクトコード)を用意する必要がないことから、コン
パイル時間とオブジェクトコード量も軽減され、また新
たな種類の計算機が利用可能になった際にも抽象機械語
コード(と当該抽象機械語コードからネイティブコード
を生成するプログラム変換手段、或いは当該抽象機械語
コードを解釈・実行する抽象機械語解釈実行手段)によ
り容易に対処できるためシステムの拡張性に富む。ま
た、全てのプログラムをソースコードで管理する必要も
ないため、実行時性能への影響も少なくて済む。
【0017】また本発明の第3の観点に係る構成は、
各計算機に、実行するプロセスの選択と、他計算機に
マイグレーションするプロセスの選択とを司るプロセス
管理手段と、上記マイグレーションするプロセスの送受
を行うプロセス送受信手段とを備え、上記プロセス管理
手段に、以下の機能、即ちプロセスのマイグレーション
を行う場合には、上記プロセス格納手段に格納される
イグレーションの候補となるプロセスの中から、マイグ
レーション先の計算機においてネイティブコードが実行
可能なプロセスを優先的に選択して、当該プロセスを
計算機の上記プロセス送受信手段により上記マイグレー
ション先計算機に送信させる機能を持たせたことを特徴
とするものである。
【0018】この構成においては、マイグレーション先
の計算機(プロセスの送信先計算機)が決定されている
場合に、マイグレーションの候補となるプロセスの中か
ら、マイグレーション先の計算機においてネイティブコ
ードを実行可能なプロセスが優先的に選択されて、その
プロセス自計算機のプロセス送受信手段により上記マ
イグレーション先計算機に送信される。これにより、
イグレーション先計算機において、この送信されたプロ
セスを実行する際には、オブジェクトコード格納手段内
の対応するネイティブコードを直接使用できることが保
証される。
【0019】この構成は、例えば、自計算機の負荷が非
常に大きいために、負荷分散を目的として、マイグレー
ションの候補となるプロセスの集合の中から1つのプロ
セスを選択して、その選択したプロセスのプロセス情報
を、送信先計算機として決定される負荷の少ない計算機
(送信先計算機)に送信する場合に適している。
【0020】また本発明の第4の観点に係る構成は、
各計算機に、実行するプロセスの選択と、マイグレー
ションするプロセスの送信先計算機の選択とを司るプロ
セス管理手段と、上記マイグレーションするプロセスの
送受を行うプロセス送受信手段とを備え、上記プロセス
管理手段に、以下の機能、即ちプロセスのマイグレーシ
ョンを行う場合には、プロセス受け入れ可能な計算機
からマイグレーションするプロセスをネイティブコー
ドで直接実行可能な計算機を優先的に選択して、自計算
機のプロセス格納手段に格納されているそのプロセスを
上記プロセス送受信手段により上記選択した計算機に送
信させる機能を持たせたことを特徴とするものである。
【0021】この構成においては、マイグレーションす
るプロセスが決定されている場合に、プロセス受入れ可
能な計算機集合(例えば、プロセスを要求している他計
算機の集合)の中から、その決定されているマイグレー
ションプロセスをネイティブコードで直接実行可能な計
算機が優先的に選択されて、そのプロセス情報がこの選
択された計算機にプロセス送受信手段により送信され
る。これにより、送信先計算機において、この送信され
たプロセス情報の示すプロセスを実行する際には、オブ
ジェクトコード格納手段内の対応するネイティブコード
を直接使用できることが保証される。
【0022】この構成は、例えば、複数の他計算機から
プロセスのマイグレーションが要求されている場合に、
その要求元の計算機集合の中から1つの計算機を選択し
て、その選択した計算機に、先に決定されているマイグ
レーションプロセスを送信する場合に適している。
【0023】
【実施例】以下、図面を参照して本発明の実施例につき
説明する。 [第1の実施例]図1は本発明の第1の実施例に係る分
散処理装置の主要な構成を示すブロック図である。
【0024】図1に示す分散処理装置は、例えばn台の
計算機10-1〜10-nと、これら各計算機10-1〜10
-n間の通信に用いられる通信路20と、各計算機10-1
〜10-nにより共有されるハードディスク装置等の二次
記憶30とから構成される。この二次記憶30には、プ
ログラム格納領域31及びオブジェクトコード格納領域
32が確保される。プログラム格納領域31は、プログ
ラム(ソースプログラム)を格納しておくためのもので
ある。また、オブジェクトコード格納領域32は、コン
パイルされたネイティブコード(或る特定種類の計算機
のみで実行可能なオブジェクトコード)、抽象機械語コ
ード(計算機の種類に依存しない、即ちマシン非依存な
オブジェクトコード)、及び当該ネイティブコード(を
実行可能な計算機の種類)に固有の識別子(ネイティブ
コード識別子)を格納しておくためのものである。
【0025】計算機10-1は、プログラムコンパイル部
11、実行コード判定部12、プログラム変換部13、
ネイティブコード実行部14、プロセスプール15、プ
ロセス管理部16及びプロセス送受信部17を有してい
る。この計算機10-1の構成は、計算機10-nなど、分
散処理装置上の他の計算機についても同様である。但
し、プログラムコンパイル部(11)は必ずしも全ての
計算機に設けられている必要はない。
【0026】プログラムコンパイル部11は、プログラ
ム格納領域31に格納されているソースプログラムをコ
ンパイルして対象計算機(目的とする種類の計算機)の
ネイティブコードと計算機に依存しない抽象機械語コー
ドとを生成するものである。ここで、ネイティブコード
生成の対象計算機の指定は、コンパイラのオプションで
行ってもよく、暗黙にコンパイルを実行した計算機とし
てもよい。
【0027】実行コード判定部12は、実行プロセス
(実行対象プロセス)についてのオブジェクトコード格
納領域32内のネイティブコード識別子をもとに、自計
算機(ここでは計算機10-1)で対応するネイティブコ
ードの直接実行が可能であるか否かを判定するものであ
る。また実行コード判定部12は、実行可能と判定した
場合には当該ネイティブコードをネイティブコード実行
部14に渡し、実行不可能と判定した場合には格納領域
32内の対応する抽象機械語コードをプログラム変換部
13に渡すようになっている。また実行コード判定部1
2は、プロセス管理部16から要求されたプロセスにつ
いてのオブジェクトコード格納領域32内のネイティブ
コード識別子を取り出して当該プロセス管理部16に通
知するようにもなっている。なお、各計算機10-1〜1
0-nには、そこで実行可能なネイティブコードを示す実
行可能コード識別子が割り当てられているものとする。
【0028】プログラム変換部13は、実行コード判定
部12から渡された抽象機械語コードを自計算機のネイ
ティブコードに変換するものである。変換されたネイテ
ィブコードはネイティブコード実行部14に渡される。
【0029】ネイティブコード実行部14は、自計算機
(の種類)に固有のネイティブコードを実行するための
ものである。このネイティブコード実行部14は、過去
に実行したネイティブコードを(一定量を上限として)
保持するようになっており、実行するプロセスのネイテ
ィブコードを既に保持しているならば、そのコードを実
行し、そのコードを保持していないならば、実行コード
判定部12に指示してそのコードを実行コード判定部1
2またはプログラム変換部13から受け取って実行す
る。
【0030】プロセスプール15は、自計算機内のプロ
セス情報を格納しておくためのものであり、図示せぬ主
記憶、もしくは二次記憶上に置かれる。プロセス管理部
16は、プログラムの実行時に、プロセスの生成、プロ
セスの実行(起動)、プロセスの中断、プロセスの消滅
(終了)、プロセスのマイグレーション(移動)を管理
・制御するものである。プロセス管理部16はまた、生
成されたプロセスのプロセス情報をプロセスプール15
に格納する動作と、消滅したプロセスのプロセス情報を
プロセスプール15から取り除くなどの操作も行う。な
お、実行するプロセスはネイティブコード実行部14で
処理される。プロセス管理部16は更に、マイグレーシ
ョンするプロセスの選択とマイグレーションするプロセ
スの送信先計算機の選択も行う。マイグレーションする
場合には、プロセス管理部16からプロセス送受信部1
7にプロセス情報が渡される。
【0031】プロセス送受信部17は、マイグレーショ
ンするプロセスのプロセス情報を他計算機へ送信する送
信動作と、他計算機から送られてきたプロセス情報を受
信して、それをプロセスプール15に格納する受信動作
を行う。
【0032】次に、図1の構成の分散処理装置における
計算機動作を、計算機10-1での動作を例に、(1)プ
ログラムコンパイル時、(2)プロセス実行時、(3)
マイグレーションプロセスの選択時、(4)マイグレー
ションプロセスの送信先計算機の選択時に分けて説明す
る。 (1)プログラムコンパイル時 今、計算機10-1でのコンパイルが指示されたものとす
る。このコンパイルが指示されたソースプログラムPr
ogramPの一部を抜き出して図2(a)に示す。こ
のプログラムProgramPは多数の命令を含んでい
るが、ここでは説明を簡単にするために、図示されてい
る命令についてのみ説明する。
【0033】図2(a)のプログラムProgramP
中の“C=A+B”は、変数Aと変数Bを加算した結果
を変数Cに代入する命令を示している。ここで、対象計
算機の命令コードを例えばRISC(縮小命令セットコ
ンピュータ)タイプとし、変数は全てメモリに割り付け
られているとする。
【0034】計算機10-1内のプログラムコンパイル部
11は、図2(a)に示すソースプログラムProgr
amPを二次記憶30上のプログラム格納領域31から
入力してコンパイルを行い、対象計算機用の例えば図2
(b)に示すネイティブコードと図2(c)に示すマシ
ン非依存な抽象機械語コードとを生成する。なお、この
コンパイルされたネイティブコードのネイティブコード
識別子をKとする。
【0035】ここで、プログラムコンパイル部11によ
り生成された図2(b)のネイティブコードに含まれる
ld,add,stの各命令について説明する。ld命
令は、第2引数のメモリアドレスから第1引数のレジス
タにデータを読み込む命令である。add命令は第1引
数と第2引数のレジスタの内容を加算し、その結果を第
3引数のレジスタに入れる命令である。st命令は、第
1引数のレジスタの内容を第2引数のメモリアドレスへ
書き込む命令である。
【0036】次に、プログラムコンパイル部11により
生成された図2(c)の抽象機械語コードに含まれるA
DD命令について説明する。このADD命令は、第1引
数と第2引数のメモリアドレスの内容を加算し、その結
果を第3引数のメモリアドレスへ書き込む命令である。
【0037】さて、プログラムコンパイル部11は、図
2(b)に示したネイティブコードと図2(c)に示し
た抽象機械語コードを生成すると、これらのコード(オ
ブジェクトコード)をネイティブコード識別子Kと共に
(図示せぬファイル管理部を介して)例えば図3に示す
ような形式でオブジェクトコード格納領域32に格納す
る。
【0038】この図3の例では、オブジェクトコード格
納領域32内に、プログラムProgramPについ
て、ネイティブコード領域321、抽象機械語コード領
域322及びネイティブコード識別子領域323が確保
されている。そして、ネイティブコード領域321には
図2(b)に示したネイティブコードが、抽象機械語コ
ード領域322には図2(c)に示した抽象機械語コー
ドが、ネイティブコード識別子領域323にはネイティ
ブコード識別子Kが格納される。このような領域321
〜323は、各プログラム毎に確保される。 (2)プロセス実行時 次に、計算機10-1におけるプロセス実行時の動作を説
明する。
【0039】計算機10-1内のネイティブコード実行部
14は、プロセス管理部16で選択されたプロセスを実
行するときに、当該プロセスのネイティブコードを保持
しているか否かを調べ、保持しているならば、そのコー
ドを実行する。
【0040】これに対し、当該プロセスのネイティブコ
ードを保持していないならば、ネイティブコード実行部
14は、実行コード判定部12に対して、当該プロセス
のオブジェクトコードをオブジェクトコード格納領域3
2から取り出すことを指示する。
【0041】実行コード判定部12は、ネイティブコー
ド実行部14からのオブジェクトコード取り出し指示を
受け取ると、指示されたプロセスのネイティブコード識
別子(ここではK)をオブジェクトコード格納領域32
(内のネイティブコード識別子領域323)から(ファ
イル管理部を介して)読み込み、当該プロセスの実行計
算機、即ち自計算機10-1の持つ実行可能コード識別子
に一致するか否かを調べる。そして実行コード判定部1
2は、このコード識別子の一致/不一致に応じて、オブ
ジェクトコード格納領域32内のネイティブコード領域
321のネイティブコードを直接使うか(一致の場
合)、抽象機械語コード領域322の抽象機械語コード
を変換して使うか(不一致の場合)を判定する。
【0042】この判定の説明のために、プロセスを実行
する計算機(計算機10-1)の持つ実行可能コード識別
子がKの場合とJの場合とを考える。なお、実行プロセ
スのためのネイティブコード識別子は、図3に示したよ
うにKである。
【0043】まず、プロセス実行計算機10-1(自計算
機)の持つ実行可能コード識別子が実行プロセスのネイ
ティブコード識別子に一致するKの場合には、実行コー
ド判定部12はネイティブコードを直接使うと判定す
る。この場合、実行コード判定部12は、オブジェクト
コード格納領域32内のネイティブコード領域321か
ら(ファイル管理部を介して)当該プロセスのネイティ
ブコードを取り出し、ネイティブコード実行部14に渡
す。
【0044】これに対し、プロセス実行計算機10-1
(自計算機)の持つ実行可能コード識別子が実行プロセ
スのネイティブコード識別子とは異なるJの場合には、
実行コード判定部12は抽象機械語コードを変換して使
うと判定する。この場合、実行コード判定部12は、オ
ブジェクトコード格納領域32内の抽象機械語コード領
域322から(ファイル管理部を介して)当該プロセス
の抽象機械語コードを取り出し、プログラム変換部13
に渡す。プログラム変換部13は、実行コード判定部1
2から抽象機械語コードを渡されると、この抽象機械語
コードをプロセス実行計算機10-1(自計算機)のネイ
ティブコードに変換し、ネイティブコード実行部14に
渡す。この例では、プログラム変換部13により変換さ
れたプログラム(ネイティブコード)は、図2(b)と
同様になる。
【0045】ネイティブコード実行部14は、実行コー
ド判定部12またはプログラム変換部13からネイティ
ブコードを渡されると、このネイティブコードを内部で
保持し、プロセスの実行に使用する。なお、既に内部保
持されているネイティブコードのために、今回実行コー
ド判定部12またはプログラム変換部13から渡された
ネイティブコードを内部保持するのに十分な領域が確保
できない場合には、例えば最も以前に使用されたネイテ
ィブコードを捨てることにより領域確保がなされる。 (3)マイグレーションプロセスの選択時 次に、他計算機にマイグレーションするプロセス(他計
算機に処理を依頼するプロセス)の選択時の動作を説明
する。
【0046】まず、計算機10-1内のプロセス管理部1
6は、プロセス管理用の内部テーブルを有しており、当
該テーブルには他の計算機の実行可能コード識別子が保
持されているものとする。また、当該テーブルには、他
計算機の負荷状態も保持されている。この負荷状態は、
各計算機が、任意のタイミングで或いは定期的に、自身
の負荷状態を他の全計算機に例えばブロードキャスト通
信により通知することにより更新される。更に、プロセ
スプール15に格納されているプロセス群のうち、他計
算機へのマイグレーションが可能なプロセスには、その
旨を示す有効な特定フラグが付されているものとする。
【0047】プロセス管理部16は、例えば自計算機の
負荷が非常に大きいために、負荷分散を目的として、プ
ロセスプール15に格納されているプロセス群のうちの
上記特定フラグが付されているプロセスの集合(以下、
マイグレーション可能な候補プロセス集合と称する)か
らマイグレーションするプロセスを選択する場合、まず
マイグレーション先の計算機、即ちマイグレーションす
るプロセスの送信先計算機を決定する。ここでは、効率
的な負荷分散のために、負荷の最も少ない計算機が送信
先計算機として決定されるものとする。
【0048】次にプロセス管理部16は、マイグレーシ
ョン可能な候補プロセス集合をなす各プロセスのオブジ
ェクトコードに含まれているネイティブコード識別子の
取り出しを実行コード判定部12に要求する。これを受
けて実行コード判定部12は、プロセス管理部16によ
り要求された各プロセスのオブジェクトコードにそれぞ
れ含まれているネイティブコード識別子をオブジェクト
コード格納領域32から取り出し、プロセス管理部16
に渡す。
【0049】プロセス管理部16は、実行コード判定部
12から渡された各ネイティブコード識別子(マイグレ
ーション可能な候補プロセス集合をなす各プロセスをそ
れぞれ処理するネイティブコードの識別子)と上記決定
した(マイグレーションするプロセスの)送信先計算機
の実行可能コード識別子とを比較する。そして、プロセ
ス管理部16は、この識別子比較の結果、送信先計算機
の実行可能コード識別子に一致するネイティブコード識
別子のネイティブコードを持っている候補プロセス、即
ち送信先計算機のネイティブコードを持っている候補プ
ロセスを(マイグレーション可能な候補プロセス集合の
中から)優先的に選択する。もし、そのような候補プロ
セスがないならば、プロセス管理部16は、(マイグレ
ーション可能な候補プロセス集合の中から)任意のプロ
セスを選択する。
【0050】プロセス管理部16は、以上のようにして
他計算機にマイグレーションするプロセスを選択する
と、その選択したプロセスのプロセス情報をプロセスプ
ール15から取り除くと共に、当該プロセス情報をプロ
セス送受信部17により通信路20を介して送信先計算
機に送信させる。
【0051】送信先計算機では、計算機10-1(のプロ
セス送受信部17)により通信路20を介して送られて
きたプロセス情報を(計算機10-1内のプロセス送受信
部17に相当する)プロセス送受信部で受け付け、(計
算機10-1内のプロセスプール15に相当する)プロセ
スプールに格納する。 (4)マイグレーションプロセスの送信先計算機の選択
時 次に、マイグレーションするプロセスの送信先計算機の
選択時の動作を説明する。
【0052】計算機10-1内のプロセス管理部16が有
する内部テーブルには、(マイグレーションされる)プ
ロセスの受け入れが可能な計算機(ここでは、プロセス
を要求している計算機)の情報(例えば、その計算機が
持つ実行可能コード識別子)が保持されているものとす
る。
【0053】プロセス管理部16は、内部テーブルによ
り管理されている、プロセス受け入れ可能な計算機の集
合(以下、プロセス受け入れ可能な候補計算機集合と称
する)からマイグレーションプロセスの送信先計算機を
選択する場合、まずマイグレーション可能な候補プロセ
ス集合からマイグレーションするプロセスを決定する。
この決定の仕方は本発明に直接関係しないが、ここで
は、負荷分散を効率的に行うために、候補となるプロセ
スのうち、送信先計算機で処理された際に計算機をまた
がるプロセス間通信の発生を最小限に抑えることが可能
なプロセスが、マイグレーションするプロセスとして決
定されるものとする。
【0054】次にプロセス管理部16は、上記決定した
マイグレーションプロセスのオブジェクトコードに含ま
れているネイティブコード識別子の取り出しを実行コー
ド判定部12に要求する。これを受けて実行コード判定
部12は、プロセス管理部16により要求されたプロセ
スのオブジェクトコードに含まれているネイティブコー
ド識別子をオブジェクトコード格納領域32から取り出
し、プロセス管理部16に渡す。
【0055】プロセス管理部16は、実行コード判定部
12から渡されたネイティブコード識別子(マイグレー
ションプロセスを処理するネイティブコードの識別子)
とプロセス受け入れ可能な候補計算機集合をなす各計算
機の実行可能コード識別子とを比較する。そして、プロ
セス管理部16は、この識別子比較の結果、マイグレー
ションプロセスのネイティブコードのネイティブコード
識別子に一致する実行可能コード識別子を持つ候補計算
機、即ちマイグレーションプロセスのネイティブコード
を直接実行可能な候補計算機を優先的に選択する。も
し、そのような候補計算機がないならば、プロセス管理
部16は、(プロセス受け入れ可能な候補計算機集合の
中から)任意の計算機を選択する。
【0056】プロセス管理部16は、以上のようにして
先に決定したマイグレーションするプロセスの送信先計
算機を選択すると、マイグレーションプロセスのプロセ
ス情報をプロセスプール15から取り除くと共に、当該
プロセス情報をプロセス送受信部17により通信路20
を介して選択した送信先計算機に送信させる。
【0057】送信先計算機では、計算機10-1(のプロ
セス送受信部17)により通信路20を介して送られて
きたプロセス情報を(計算機10-1内のプロセス送受信
部17に相当する)プロセス送受信部で受け付け、(計
算機10-1内のプロセスプール15に相当する)プロセ
スプール15に格納する。 [第2の実施例]次に、本発明の第2の実施例につき、
図面を参照して説明する。
【0058】図4は本発明の第2の実施例に係る分散処
理装置の主要な構成を示すブロック図である。なお、図
1と同一部分には同一符号を付してある。図4に示す分
散処理装置は、例えばn台の計算機100-1〜100-n
と、これら各計算機100-1〜100-n間の通信に用い
られる通信路20と、各計算機100-1〜100-nによ
り共有される二次記憶30とから構成される。二次記憶
30には、図1の構成と同様に、プログラム格納領域3
1及びオブジェクトコード格納領域32が確保される。
【0059】計算機100-1は、図1の計算機10-1と
同様に、プログラムコンパイル部11、プロセスプール
15及びプロセス送受信部17を有している他、(図1
中の実行コード判定部12に相当する)実行コード判定
部120、プロセス実行部140及び(図1中のプロセ
ス管理部16に相当する)プロセス管理部160を有し
ている。プロセス実行部140は、(図1中のネイティ
ブコード実行部14に相当する)ネイティブコード実行
部141及び抽象機械語解釈実行部142からなる。こ
の計算機100-1の構成は、計算機100-nなど、分散
処理装置上の他の計算機についても同様である。
【0060】以上の図4の構成のうち、図1の構成と異
なる部分について説明する。実行コード判定部120
は、実行プロセスについてのオブジェクトコード格納領
域32内のネイティブコード識別子をもとに、自計算機
(ここでは計算機100-1)で対応するネイティブコー
ドの直接実行が可能であるか否かを判定するものであ
る。また実行コード判定部120は、実行可能と判定し
た場合には当該ネイティブコードをプロセス実行部14
0内のネイティブコード実行部141に渡し、実行不可
能と判定した場合には格納領域32内の対応する抽象機
械語コードをプロセス実行部140内の抽象機械語解釈
実行部142に渡すようになっている。また実行コード
判定部120は、プロセス管理部160から要求された
プロセスについてのオブジェクトコード格納領域32内
のネイティブコード識別子を取り出して当該プロセス管
理部160に通知するようにもなっている。
【0061】プロセス実行部140内のネイティブコー
ド実行部141は、図1中のネイティブコード実行部1
4と同様に、自計算機(計算機100-1)に固有のネイ
ティブコードを実行するためのものである。このネイテ
ィブコード実行部141は、過去に実行したネイティブ
コードを(一定量を上限として)保持するようになって
いる。一方、プロセス実行部140内の抽象機械語解釈
実行部142は、抽象機械語コードを解釈・実行するた
めのインタプリタである。この抽象機械語解釈実行部1
42は、過去に解釈・実行した抽象機械語コードを(一
定量を上限として)保持するようになっている。
【0062】プロセス管理部160は、プログラムの実
行時に、プロセスの生成、実行、中断、消滅、マイグレ
ーションを管理・制御するもので、生成されたプロセス
のプロセス情報をプロセスプール15に格納する動作
と、消滅したプロセスのプロセス情報をプロセスプール
15から取り除くなどの操作も行う。なお、実行するプ
ロセスはプロセス実行部140で処理される。プロセス
管理部160は更に、図1中のプロセス管理部16と同
様に、マイグレーションするプロセスの選択とマイグレ
ーションするプロセスの送信先計算機の選択も行う。マ
イグレーションする場合には、プロセス管理部16から
プロセス送受信部17にプロセス情報が渡される。
【0063】次に、図4の構成の分散処理装置における
計算機動作を、計算機100-1での動作を例に、プロセ
ス実行時について説明する。なお、プログラムコンパイ
ル時、マイグレーションプロセスの選択時及びマイグレ
ーションプロセスの送信先計算機の選択時の動作につい
ては、図1の構成と同様であるため、説明を省略する。
また、この説明にも、前記実施例(第1の実施例)で使
用したプログラムを用いる。よって、生成されるオブジ
ェクトコード情報やオブジェクトコード格納領域32へ
の情報格納形式は、前記実施例と同様である。
【0064】まず、計算機100-1内のプロセス実行部
140は、プロセス管理部16で選択されたプロセスを
実行するときに、当該プロセスのオブジェクトコードを
保持しているか否かを調べる。
【0065】もし、オブジェクトコードとしてネイティ
ブコードが保持されているならば、即ち当該プロセスの
ネイティブコードがプロセス実行部140(内のネイテ
ィブコード実行部141)に保持されているならば、そ
のコードをネイティブコード実行部141にて実行す
る。また、オブジェクトコードとして抽象機械語コード
が保持されているならば、即ち当該プロセスの抽象機械
語コードがプロセス実行部140(内の抽象機械語解釈
実行部142)に保持されているならば、そのコードを
抽象機械語解釈実行部142にて解釈・実行する。な
お、プロセス実行部140にネイティブコードと抽象機
械語コードの両方が保持されている場合には、ネイティ
ブコードがネイティブコード実行部141にて実行され
る。
【0066】これに対し、プロセス実行部140に実行
プロセスのオブジェクトコードが保持されていないなら
ば、プロセス実行部140は実行コード判定部120に
対して、当該プロセスのオブジェクトコードをオブジェ
クトコード格納領域32から取り出すことを指示する。
【0067】実行コード判定部120は、プロセス実行
部140からのオブジェクトコード取り出し指示を受け
取ると、指示されたプロセスのネイティブコード識別子
(ここではK)をオブジェクトコード格納領域32(内
のネイティブコード識別子領域323)から読み込み、
当該プロセスの実行計算機、即ち自計算機100-1の持
つ実行可能コード識別子に一致するか否かを調べる。そ
して実行コード判定部120は、このコード識別子の一
致/不一致に応じて、オブジェクトコード格納領域32
内のネイティブコードを使用するか(一致の場合)、抽
象機械語コードを使用するか(不一致の場合)を判定す
る。
【0068】この判定の説明のために、プロセスを実行
する計算機(計算機100-1)の持つ実行可能コード識
別子がKの場合とJの場合とを考える。なお、実行プロ
セスのためのネイティブコード識別子は、図3に示した
ようにKである。
【0069】まず、プロセス実行計算機100-1(自計
算機)の持つ実行可能コード識別子が実行プロセスのネ
イティブコード識別子に一致するKの場合には、実行コ
ード判定部120はネイティブコードを使用すると判定
する。この場合、実行コード判定部12は、オブジェク
トコード格納領域32内のネイティブコード領域321
から当該プロセスのネイティブコードを取り出し、ネイ
ティブコード実行部140内のネイティブコード実行部
141に渡す。
【0070】これに対し、プロセス実行計算機100-1
(自計算機)の持つ実行可能コード識別子が実行プロセ
スのネイティブコード識別子とは異なるJの場合には、
実行コード判定部120は抽象機械語コードを使用する
と判定する。この場合、実行コード判定部120は、オ
ブジェクトコード格納領域32内の抽象機械語コード領
域322から当該プロセスの抽象機械語コードを取り出
し、プロセス実行部140内の抽象機械語解釈実行部1
42に渡す。
【0071】ネイティブコード実行部141は、実行コ
ード判定部120から実行プロセスのネイティブコード
を渡されると、このネイティブコードを内部で保持し、
プロセスの実行において直接使用する。
【0072】一方、抽象機械語解釈実行部142は、実
行コード判定部120から実行プロセスの抽象機械語コ
ードを渡されると、この抽象機械語コードを内部で保持
し、プロセスの実行において命令を解釈・実行する。
【0073】
【発明の効果】以上詳述したように本発明によれば、種
類の異なる計算機間でのプロセスのマイグレーションが
行われる分散処理装置において、コンパイル時の適正な
オブジェクトコード量の生成、システムの拡張性のある
オブジェクトコードの管理、そして実行時性能への影響
の少ない実行環境が実現できる。
【図面の簡単な説明】
【図1】本発明の第1の実施例に係る分散処理装置の主
要な構成を示すブロック図。
【図2】同実施例におけるプログラム例を示す図。
【図3】同実施例におけるオブジェクトコード格納領域
32へのオブジェクトコード情報格納例を示す図。
【図4】本発明の第2の実施例に係る分散処理装置の主
要な構成を示すブロック図。
【符号の説明】
10-1〜10-n,100-1〜100-n…計算機、11…
プログラムコンパイル部、12,120…実行コード判
定部、13…プログラム変換部、14,141…ネイテ
ィブコード実行部、15…プロセスプール、16,16
0…プロセス管理部、17…プロセス送受信部、20…
通信路、30…二次記憶、31…プログラム格納領域、
32…オブジェクトコード格納領域、140…プロセス
実行部、142…抽象機械語解釈実行部、321…ネイ
ティブコード領域、322…抽象機械語コード領域、3
23…ネイティブコード識別子領域。
フロントページの続き (56)参考文献 Theimer,M.M.et a l,”Heterogeneous P rocess Migration b y Recompilation”「P roc.of Int.Conf.on Distributed Compu ting Systems」(1991) Shub,C.M.et al,”N ative code process −oriented migratio n in a heterogeneo us enviromment”「Pr oc.of the ACM 18th Annual Computes Sc ience Conf.」 (58)調査した分野(Int.Cl.7,DB名) G06F 9/44,15/16

Claims (8)

    (57)【特許請求の範囲】
  1. 【請求項1】 複数の計算機を備えた分散処理装置にお
    いて、ソースプログラムから、特定種類の計算機のみで実行可
    能なオブジェクトコードである ネイティブコード、及び
    計算機の種類に依存しないオブジェクトコードである
    象機械語コードにコンパイルするプログラムコンパイル
    手段と、前記プログラムコンパイル手段によってコンパイルされ
    たオブジェクトコード、及び前記実行可能な計算機の種
    別を示す識別子が格納され、前記複数の計算機により共
    有されるオブジェクトコード格納手段と、 前記各計算機に設けられ、自計算機において実行するプ
    ロセスが格納されるプロセス格納手段と、前記各計算機に設けられ、前記オブジェクトコード格納
    手段に格納される前記抽象機械語コードのオブジェクト
    コードから、自計算機で実行可能なネイティブなオブジ
    ェクトコードに変換する変換手段と、 前記各計算機に設けられ、前記プロセス格納手段に格納
    されているプロセスの実行に際し、当該プロセスのネイ
    ティブコードを保持しているか否かを調べ、保持してい
    る場合はそのネイティブコードを実行し、保持していな
    い場合は前記オブジェクトコード格納手段に格納される
    前記プロセスの識別子を読み込み、当該識別子と自計算
    機が有する識別子とを比較し、一致する場合は、前記オ
    ブジェクトコード格納手段から前記プロセスのネイティ
    ブコードを受け取り実行し、一致しない場合は、前記オ
    ブジェクトコード格納手段から前記プロセスの抽象機械
    語コードを取り出し、前記変換手段により自計算機で実
    行可能なネイティブコードに変換して実行するネイティ
    ブコード実行手段とを具備することを特徴とする分散処
    理装置。
  2. 【請求項2】 複数の計算機を備えた分散処理装置にお
    いて、ソースプログラムから特定種類の計算機のみで実行可能
    なオブジェクトコードである ネイティブコード、及び
    算機の種類に依存しないオブジェクトコードである抽象
    機械語コードにコンパイルするプログラムコンパイル手
    段と、前記プログラムコンパイル手段によってコンパイルされ
    たオブジェクトコード、及び前記実行可能な計算機の種
    別を示す識別子が格納され、前記複数の計算機 により共
    有されるオブジェクトコード格納手段と、 前記各計算機に設けられ、自計算機において実行するプ
    ロセスが格納されるプロセス格納手段と、 前記各計算機に設けられ、前記プロセス格納手段に格納
    されているプロセスの実行に際し、当該プロセスのネイ
    ティブコードを保持しているか否かを調べ、保持してい
    る場合はそのネイティブコードを実行し、保持していな
    い場合は前記オブジェクトコード格納手段に格納される
    前記プロセスの識別子と自計算機が有する識別子との比
    較で、前記識別子が一致する場合に前記オブジェクトコ
    ード格納手段から受け取る前記プロセスのネイティブコ
    ードを実行するネイティブコード実行手段と、 前記各計算機に設けられ、前記プロセス格納手段に格納
    されているプロセスの実行に際し、当該プロセスの抽象
    機械語コードを保持しているか否かを調べ、保持してい
    る場合はその抽象機械語コードを解釈・実行し、保持し
    ていない場合は前記オブジェクトコード格納手段に格納
    される前記識別子と自計算機が有する識別子との比較
    で、前記識別子が一致しない場合に前記オブジェクトコ
    ード格納手段から受け取る前記プロセスの抽象機械語コ
    ードを解釈・実行する抽象機械語解釈実行手段とを具備
    することを特徴とする分散処理装置。
  3. 【請求項3】 前記各計算機に設けられ、実行するプロ
    セスの選択と、他計算機にマイグレーションするプロセ
    スの選択とを司るプロセス管理手段と、前記マイグレー
    ションするプロセスの送受を行うプロセス送受信手段と
    を更に具備し、 前記プロセス管理手段は、プロセスのマイグレーション
    を行う場合には、前記プロセス格納手段に格納される
    イグレーションの候補となるプロセスの中から、マイグ
    レーション先の計算機において前記ネイティブコードが
    実行可能なプロセスを優先的に選択して、当該プロセス
    自計算機の前記プロセス送受信手段により前記マイグ
    レーション先計算機に送信させることを特徴とする請求
    項1または請求項2記載の分散処理装置。
  4. 【請求項4】 前記各計算機に設けられ、実行するプロ
    セスの選択と、マイグレーションするプロセスの送信先
    計算機の選択とを司るプロセス管理手段と、前記マイグ
    レーションするプロセスの送受を行うプロセス送受信手
    段とを更に具備し、 前記プロセス管理手段は、プロセスのマイグレーション
    を行う場合には、プロセス受け入れ可能な計算機の中
    らマイグレーションするプロセスを前記ネイティブコー
    ドで直接実行可能な計算機を優先的に選択して、自計算
    機の前記プロセス格納手段に格納されているプロセスを
    前記プロセス送受信手段により前記選択した計算機に送
    信させることを特徴とする請求項1または請求項2記載
    の分散処理装置。
  5. 【請求項5】 複数の計算機を備えた分散処理装置のプ
    ロセス実行方法において、 ソースプログラムから、特定種類の計算機のみで実行可
    能なオブジェクトコードであるネイティブコード、及び
    計算機の種類に依存しないオブジェクトコードである抽
    象機械語コードにコンパイルし、 前記コンパイルされたオブジェクトコード、及び前記実
    行可能な計算機の種別を示す識別子を、前記複数の計算
    機に共有されるオブジェクトコード格納手段に格納し、 前記複数の計算機それぞれが、自計算機のプロセス格納
    手段に格納されているプロセスの実行に際し、当該プロ
    セスのネイティブコードを保持しているかを調べ、保持
    している場合は、そのネイティブコードを実行し、 保持していない場合は、前記オブジェクトコード格納手
    段から前記プロセスの識別子を読み込み、当該識別子と
    自計算機が有する識別子とを比較し、 前記識別子が一致する場合は、前記オブジェクトコード
    格納手段から前記プロセスのネイティブコードを受け取
    り実行し、 前記識別子が一致しない場合は、前記オブジェクトコー
    ド格納手段から前記プロセスの抽象機械語コードを取り
    出し、自計算機内の変換手段により実行可能なネイティ
    ブコードに変換して実行する ことを特徴とするプロセス
    実行方法。
  6. 【請求項6】 複数の計算機を備えた分散処理装置のプ
    ロセス実行方法にお いて、 ソースプログラムから、特定種類の計算機のみで実行可
    能なオブジェクトコードであるネイティブコード、及び
    計算機の種類に依存しないオブジェクトコードである抽
    象機械語コードにコンパイルし、 前記コンパイルされたオブジェクトコード、及び前記実
    行可能な計算機の種別を示す識別子を、前記複数の計算
    機に共有されるオブジェクトコード格納手段に格納し、 前記複数の計算機それぞれが、自計算機のプロセス格納
    手段に格納されているプロセスの実行に際し、当該プロ
    セスのネイティブコード、または抽象機械語コードを保
    持しているか否かを調べ、保持している場合は、そのネ
    イティブコードを実行し、またはその抽象機械語コード
    を解釈・実行し、 当該プロセスのネイティブコード、または抽象機械語コ
    ードを保持していない場合は、前記オブジェクトコード
    格納手段に格納される前記プロセスの識別子と自計算機
    が有する識別子とを比較し、 前記識別子が一致する場合は、前記オブジェクトコード
    格納手段から前記プロセスのネイティブコードを受け取
    り実行し、 前記識別子が一致しない場合は、前記オブジェクトコー
    ド格納手段から前記プロセスの抽象機械語コードを受け
    取り、解釈・実行する ことを特徴とするプロセス実行方
    法。
  7. 【請求項7】 プログラム実行中にプロセスのマイグレ
    ーションを行う場合には、マイグレーションの候補とな
    プロセスの中から、マイグレーション先の計算機でネ
    イティブコードが実行可能なプロセスを優先的に選択
    し、その選択プロセスを前記マイグレーション先計算機
    に送信することを特徴とする請求項5または請求項6記
    載のプロセス実行方法。
  8. 【請求項8】 プログラム実行中にプロセスのマイグレ
    ーションを行う場合には、プロセス受け入れ可能な計算
    機の中からマイグレーションするプロセスをネイティブ
    コードで直接実行可能な計算機を優先的に選択し、その
    選択した計算機に前記マイグレーションするプロセスを
    送信することを特徴とする請求項5または請求項6記載
    のプロセス実行方法。
JP21354594A 1994-09-07 1994-09-07 分散処理装置及びプロセス実行方法 Expired - Fee Related JP3241214B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP21354594A JP3241214B2 (ja) 1994-09-07 1994-09-07 分散処理装置及びプロセス実行方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP21354594A JP3241214B2 (ja) 1994-09-07 1994-09-07 分散処理装置及びプロセス実行方法

Publications (2)

Publication Number Publication Date
JPH0877118A JPH0877118A (ja) 1996-03-22
JP3241214B2 true JP3241214B2 (ja) 2001-12-25

Family

ID=16640976

Family Applications (1)

Application Number Title Priority Date Filing Date
JP21354594A Expired - Fee Related JP3241214B2 (ja) 1994-09-07 1994-09-07 分散処理装置及びプロセス実行方法

Country Status (1)

Country Link
JP (1) JP3241214B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3737560B2 (ja) * 1996-04-19 2006-01-18 松下電器産業株式会社 ネットワークにおける分散処理方法及びそのシステム
WO2005017783A2 (en) * 2003-08-14 2005-02-24 Oracle International Corporation Hierarchical management of the dynamic allocation of resourses in a multi-node system
US9176772B2 (en) 2005-02-11 2015-11-03 Oracle International Corporation Suspending and resuming of sessions
US8336046B2 (en) * 2006-12-29 2012-12-18 Intel Corporation Dynamic VM cloning on request from application based on mapping of virtual hardware configuration to the identified physical hardware resources
US8688767B2 (en) 2008-09-26 2014-04-01 Nec Corporation Distributed processing system, distributed operation method and computer program

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Shub,C.M.et al,"Native code process−oriented migration in a heterogeneous enviromment"「Proc.of the ACM 18th Annual Computes Science Conf.」
Theimer,M.M.et al,"Heterogeneous Process Migration by Recompilation"「Proc.of Int.Conf.on Distributed Computing Systems」(1991)

Also Published As

Publication number Publication date
JPH0877118A (ja) 1996-03-22

Similar Documents

Publication Publication Date Title
JP5897816B2 (ja) 依存性グラフのパラメータのスコーピング
US6922827B2 (en) Iterative software development environment with prioritized build rules
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
EP0756233B1 (en) Data processing and operating system incorporating dynamic load-sharing in a network of linked processors
US8171482B1 (en) Application environment specifications for provisioning application specific runtime environments using subsets of resources required for execution
WO1997014091A1 (en) Object-oriented method maintenance mechanism that does not require cessation of the computer system
JPH02114335A (ja) マルチ・プロセツシング方式
JP3241214B2 (ja) 分散処理装置及びプロセス実行方法
US7770152B1 (en) Method and apparatus for coordinating state and execution context of interpreted languages
JPH09146772A (ja) 手続き呼出し方法
JP3693311B2 (ja) 分散処理システム
AU2011204916B2 (en) Managing parameter access in a task managing system
KR20000003162A (ko) 효율적인 플래시 메모리 운용 방법
CN112882944A (zh) 媒体驱动调试方法、装置、电子设备及存储介质
JP2001184320A (ja) 分散実行装置および記録媒体
Wei et al. Converting monolithic programs for DCE client-server computing given incomplete cutset information
JPH09160762A (ja) プログラム変換方式
JP2002099424A (ja) レジスタを格納領域に利用するコンパイル方法
Tierney XLISP-STAT 2.1 Release 3 Beta Release Notes
Lee et al. Design of a parallel C language for distributed systems
JPH1185531A (ja) 言語処理装置およびその言語処理装置を実現するプログラムが記録された記憶媒体
JPH09311791A (ja) 可変レジスタ規約コンパイル方法
JP2006343796A (ja) ソースファイル変換方法、装置、プログラム及び記録媒体
JPH02178747A (ja) 仮想記憶計算システムのメモリ管理方式

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081019

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081019

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091019

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091019

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101019

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees