JPH05134883A - 分散コンパイル処理方式 - Google Patents

分散コンパイル処理方式

Info

Publication number
JPH05134883A
JPH05134883A JP32112291A JP32112291A JPH05134883A JP H05134883 A JPH05134883 A JP H05134883A JP 32112291 A JP32112291 A JP 32112291A JP 32112291 A JP32112291 A JP 32112291A JP H05134883 A JPH05134883 A JP H05134883A
Authority
JP
Japan
Prior art keywords
processing
unit
command
distributed
compilation
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
JP32112291A
Other languages
English (en)
Inventor
Shinji Sumimoto
真司 住元
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP32112291A priority Critical patent/JPH05134883A/ja
Publication of JPH05134883A publication Critical patent/JPH05134883A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)
  • Multi Processors (AREA)

Abstract

(57)【要約】 【目的】 本発明は、通信手段によって結合された複数
の中央処理演算装置からなるシステムにおけるプログラ
ムのコンパイル方式に関し、通信手段によって結合され
た複数のCPUを利用した分散コンパイル処理の実現お
よび分散ファイルシステムを必要としない分散環境にお
けるコンパイル処理の並列実行を可能にすることを目的
とする。 【構成】 通信手段をそなえる複数の中央処理演算装置
10−iを持ったシステムにおいて、データを該通信手
段によって入出力する機能を有するとともに、コンパイ
ル前処理,コンパイル,アセンブルの各処理機能12〜
14の間を該通信手段によって伝送する手段を有し、上
記の各処理機能12〜14を複数の通信手段によって接
続された上記の複数の中央処理演算装置10−iに分散
して行なうように構成する。

Description

【発明の詳細な説明】
【0001】(目次) 産業上の利用分野 従来の技術 発明が解決しようとする課題 課題を解決するための手段(図1〜図6) 作用(図1〜図6) 実施例(図7) 発明の効果
【0002】
【産業上の利用分野】本発明は、通信手段によって結合
された複数の中央処理演算装置(ホスト)からなるシス
テムにおけるプログラムのコンパイル方式に関する。
【0003】
【従来の技術】従来より、通信手段によって結合された
システム上において、コンパイルを行なうためには、所
謂分散ファイルシステムのように、基本的に特殊なオペ
レーティングシステムを用いて行なっている。
【0004】
【発明が解決しようとする課題】このように従来のコン
パイル方式においては、通信手段によって結合されたシ
ステム上で特殊なオペレーティングシステムを用いない
限り、ネットワーク上に結合された中央処理演算装置
(CPU)の中でCPUパワーの余っているCPUを利
用することは不可能である。
【0005】本発明は、このような状況下において創案
されたもので、以下の課題を解決することを目的とす
る。 (a)通信手段によって結合された複数のCPUを利用
した分散コンパイル処理の実現。 (b)分散ファイルシステムを必要としない分散環境に
おけるコンパイル処理の並列実行。 (c)複数の中央処理演算装置用のオブジェクトの同時
生成。 (d)通信手段上で流れ作業的な手段を用いることによ
ってそれぞれのコンパイル処理上での並行処理を可能に
し効率的なコンパイル処理を実現。 (e)ホストのCPUの速度、状態を実行する処理に応
じた効率的な並列処理を実現。
【0006】
【課題を解決するための手段】図1は本発明の原理説明
図であるが、この図1は上記の(a)項〔通信手段によ
って結合された複数のCPUを利用した分散コンパイル
処理の実現〕および(b)項〔分散ファイルシステムを
必要としない分散環境におけるコンパイル処理の並列実
行〕を実現するための手法を説明するための原理説明図
である。
【0007】この図1において、11はユーザが起動す
るコンパイルのためのコマンドである。そして、このコ
マンド11は、コンパイルの各種のオプションを解析し
て、起動する処理を選択し、ネットワークを介して、他
の中央処理演算装置で処理を起動し、処理データの通信
機構を設定する機能を持っている。
【0008】さらに、このコマンド11によって選択、
起動される処理は、前処理部(プリプロセッサ)12,
コンパイラ本体13,アセンブラ14から構成され、そ
れぞれ入力と出力のためのポートを持っており、このポ
ートによりデータを送受信するようになっている。そし
て、これらの処理はコマンド11によって起動され、そ
れぞれの入出力のポートをつなぎ合わせて一連の処理群
を構成するようになっている。
【0009】すなわち、上記から通信手段をそなえる複
数の中央処理演算装置10−1,10−2,10−3を
持ったシステムにおいて、データを通信手段によって入
出力する機能を有するとともに、コンパイル前処理,コ
ンパイル,アセンブルの各処理機能12,13,14の
間を通信手段によって伝送する手段を有し、上記の各処
理機能を複数の通信手段によって接続された複数の中央
処理演算装置10−1,10−2,10−3に分散して
行なうようになっていることがわかる(以上が請求項1
の構成要件)。
【0010】さらに、図2は上記(a)項〔通信手段に
よって結合された複数のCPUを利用した分散コンパイ
ル処理の実現〕を実現するためのコマンドの原理説明図
であるが、この図2からわかるように、本発明にかかる
分散コンパイル処理方式では、コマンドを実行しコンパ
イル前処理を行なう分散元中央処理演算装置(分散元ホ
スト)21と、この分散元中央処理演算装置21に対し
通信手段23を介して接続され、コンパイル,アセンブ
ルの各処理を分散して行なう分散先中央処理演算装置
(分散先ホスト)22−i(i=1,2,3,・・)と
をそなえ、分散元中央処理演算装置21は、コンパイラ
処理解析部211,コマンド生成部212,コマンド起
動部213,分散処理起動部214をそなえて構成され
るとともに、分散先中央処理演算装置22−iは、コマ
ンド受付部221−i,コマンド起動部222−i,通
信制御部223−iをそなえて構成されている。
【0011】ここで、コンパイラ処理解析部211はコ
ンパイラのオプションを解析するもので、コマンド生成
部212はオプションにより必要な処理を選択するもの
で、コマンド起動部213はコマンド生成部212で生
成されたコマンドを起動するもので、分散処理起動部2
14は、分散先中央処理演算装置22−iに実行する処
理を伝え、通信を確立するものである。
【0012】また、コマンド受付部221−iは分散元
中央処理演算装置21からのコマンドを受け付けるもの
で、コマンド起動部222−iはコマンド受付部221
−iにて受け付けられたコマンドを実行するもので、通
信制御部223−iは通信を確立するものである(以上
が請求項2の構成要件)。
【0013】また、図3は上記(b)項〔分散ファイル
システムを必要としない分散環境におけるコンパイル処
理の並列実行〕を実現するための原理説明図であるが、
この図3に示すように、上記(b)項を実現するために
は、コンパイルという処理の手順の中で直接ファイルを
必要とするプリプロセッサ部(前処理部)12を複数分
散元中央処理演算装置21において実行し、プリプロセ
ッサ部12以外の処理の重いコンパイル処理13,アセ
ンブル処理14を複数の分散先中央処理演算装置22−
iに分担することにより実現する。
【0014】すなわち、上記から通信手段23をそなえ
る複数の中央処理演算装置21,22−iを持ったシス
テムにおいて、データを通信手段23によって入出力す
る機能を有するとともに、コンパイル処理のうちのファ
イルシステムを必要とするコンパイル前処理,コンパイ
ル,アセンブルの各処理機能の間を通信手段23によっ
て伝送する手段を有し、コンパイル前処理12をファイ
ル31のある一つの中央処理演算装置21で集中して行
ない、その他のコンパイル13,アセンブル14の各処
理を他の中央処理演算装置22−iに分散することによ
り、並行して複数のファイルのコンパイル処理を実行す
るようになっていることがわかる(以上が請求項3の構
成要件)。
【0015】また、図4は上記(c)項〔複数の中央処
理演算装置用のオブジェクトの同時生成〕を実現するた
めの原理説明図であるが、この図4に示すように、上記
(c)項を実現するためには、更にプリプロセッサ部1
2の出力を複数の通信手段23に分割して、同様にプリ
プロセッサ部12以外の処理の重いコンパイル,アセン
ブルの各処理13−i,14−iを複数種類の分散先中
央処理演算装置22′−iに分担することにより実現す
る。
【0016】すなわち、この場合は、上記から通信手段
23をそなえる複数種類の中央処理演算装置21,2
2′−iを持ったシステムにおいて、データを通信手段
23によって入出力する機能を有するとともに、コンパ
イル処理のうちのファイルシステムを必要とするコンパ
イル前処理,コンパイル,アセンブルの各処理機能1
2,13−i,14−iの間を通信手段23によって伝
送する手段を有し、且つ、コンパイル前処理を行なう手
段12から複数の通信手段23に接続可能な機構を有す
ることにより、複数の種類の中央処理演算装置22′−
iで実行可能なオブジェクトを生成するようになってい
る。つまり、共通のコンパイル前処理後、それぞれの中
央処理演算装置22′−iに適合したコンパイル,アセ
ンブルの各処理13−i,14−iを行なうようになっ
ている(以上が請求項4の構成要件)。
【0017】また、図5は上記(d)項〔通信手段上で
流れ作業的な手段を用いることによってそれぞれのコン
パイル処理上での並行処理を可能にし効率的なコンパイ
ル処理を実現〕を実現するための原理説明図であるが、
この図5に示すように、上記(d)項を実現するために
は、前処理、コンパイラ本体、アセンブラなどについ
て、それぞれが入力部51,処理部52,出力部53か
ら構成され、それぞれの処理は入力部51に処理可能で
あるほどのデータを受信すると、処理部52での処理を
開始して出力部53からデータを出力するようになって
いる。これにより、パイプライン処理を行なうことがで
きるようになっている。
【0018】すなわち、この場合は、上記からコンパイ
ル前処理,コンパイル,アセンブルの各処理間で通信に
よって処理単位毎に中間コードを転送する手段51,5
3をそなえ、上記の各処理では処理単位で転送される毎
に処理して次の処理へと中間コードを転送するようにな
っているのである(以上が請求項5の構成要件)。
【0019】また、図6は上記(e)項〔ホストのCP
Uの速度、状態を実行する処理に応じた効率的な並列処
理を実現〕を実現するための原理説明図であるが、この
図6に示すように、上記(e)項を実現するためには、
上記(a)〔通信手段によって結合された複数のCPU
を利用した分散コンパイル処理の実現〕を実現する手段
に加えて、即ち、分散元中央処理演算装置21に、コン
パイラ処理解析部211,コマンド生成部212,コマ
ンド起動部213,分散処理起動部214をそなえると
ともに、分散先中央処理演算装置22−iに、コマンド
受付部221−i,コマンド起動部222−i,通信制
御部223−iをそなえるほか、分散元中央処理演算装
置21に、分散元に接続されている中央処理演算装置2
1のCPUのパワーなどの一覧データを置き、接続情
報,ホストの情報を管理するホスト状態管理部61を置
き、分散先中央処理演算装置22−iに、現在のCPU
負荷などの情報を分散元のホストのホスト状態管理部6
1に周期的に送信する手段(ホスト情報送信部)62−
iをそなえるのである。
【0020】すなわち、この場合は、上記から与える処
理の量を見積もる手段を持ち、それぞれの中央処理演算
装置の速度の違いを検出する手段をそなえ、処理量と中
央処理演算装置の速さに応じて処理を割り当てるように
なっている(以上が請求項6の構成要件)。なお、上記
の各処理を実行する中央演算処理装置は、種類を同種で
構成してもよく(請求項7)、種類を異種で構成しても
よい(請求項8)。
【0021】
【作用】上述の本発明にかかる分散コンパイル処理方式
では、次のような作用が行なわれる。まず、上記(a)
項〔通信手段によって結合された複数のCPUを利用し
た分散コンパイル処理の実現〕についての作用は次のと
おりである。図2に示すように、分散元中央処理演算装
置21で、コンパイルのコマンドが実行されると、コン
パイラ処理解析部211はコマンドのオプションなどを
解析して、コマンド生成部212に制御を移す。コマン
ド生成部212はオプションの解析などからコマンドを
生成して、コマンド起動部213により実行する。この
際に、各処理の間で分散させるものについては、通信手
段23を確保した上で、分散処理起動部214により分
散先中央処理演算装置22−iに通信接続先のポート情
報を付加した起動コマンドを送信する。
【0022】分散先中央処理演算装置22−iでは、分
散元中央処理演算装置21の分散処理起動部214から
コマンドが送信されると、実行するコマンドと通信先の
ポート情報をコマンド受付部221−iで分類して、コ
マンド起動部222−i,通信制御部223−iに制御
を移す。通信制御部223−iはポート情報により分散
先中央処理演算装置22−iのプロセスと通信を確立す
る。そして、コマンド起動部222−iはこの確立され
た通信手段を利用して処理を起動する。
【0023】また、上記(b)項〔分散ファイルシステ
ムを必要としない分散環境におけるコンパイル処理の並
列実行〕についての作用は次のとおりである。図3に示
すように、分散元でコンパイラが起動されると、上記
(a)項についての作用のうち、コンパイラの処理の中
でファイル31を必要とするプリプロセッサ部12のみ
を分散元中央処理演算装置21で実行し、残りのコンパ
イラ本体13,アセンブル14を他の分散先中央処理演
算装置22−iにおいて実行する。このメカニズムを異
なるファイルにおいて複数実行することにより、CPU
の能力を必要とするコンパイル処理を他のホストで並列
実行する。
【0024】さらに、上記(c)項〔複数の中央処理演
算装置用のオブジェクトの同時生成についての作用は次
のとおりである。この場合は、図4に示すように、上記
(a),(b)項の作用の中で、プリプロセッサ12の
出力を複数に分割することにより、そのそれぞれの出力
を異なる中央処理演算装置22′−iのアセンブラ出力
を生成するコンパイラ13−i,そのアセンブル出力を
オブジェクトコードに変換するアセンブラ14−iに接
続することにより、一つのプログラムファイル31より
複数の中央処理演算装置22′−iのためのオブジェク
トを並行して生成することが可能になる。
【0025】さらにまた、上記(d)項〔通信手段上で
流れ作業的な手段を用いることによってそれぞれのコン
パイル処理上での並行処理を可能にし効率的なコンパイ
ル処理を実現〕についての作用は次のとおりである。
【0026】この場合は、図5に示すように実現するこ
とによって、プリプロセッサ処理,コンパイル処理,ア
センブル処理の間で、それぞれの処理が単位処理が終わ
り次第、次の処理に移れるためにそれぞれの処理が単位
処理を終えるまでに次のデータが到着しておればよく、
これによりネットワーク上でのデータ通信遅延のオーバ
ヘッドを吸収することができる。
【0027】また、上記(e)項〔ホストのCPUの速
度、状態を実行する処理に応じた効率的な並列処理を実
現〕についての作用は次のとおりである。この場合は、
図6に示すように実現することによって、上記(a)の
作用の処理を分散させる際に、分散処理起動部214は
ホスト情報管理部61より適切な分散先の情報を得るこ
とにより、最も効率のよい分散先に処理を与えることが
可能になる。
【0028】
【実施例】以下、図面を参照して本発明の実施例を説明
する。図7は本発明の一実施例を示すブロック図で、こ
の図7に示す実施例は、Unix上で実現されたマルチ
ターゲット型の分散並列処理型のC言語コンパイル処理
システムを示している。
【0029】この実施例にかかる分散コンパイル処理方
式では、コマンドを実行しコンパイル前処理を行なう分
散元ホスト(分散元中央処理演算装置)21と、この分
散元中央処理演算装置21に対し通信手段23を介して
接続され、コンパイル,オプティマイザ,アセンブル,
ローダなどの各処理を分散して行なう4つの分散先ホス
ト(分散先中央処理演算装置)22−1〜22−4をそ
なえている。
【0030】そして、分散元ホスト21は、並列コマン
ド処理部71,分散型コンパイラコマンド72,遠隔コ
マンド73,遠隔処理起動部74,マルチタスクコマン
ド起動部75,ネットワーク管理部76,ホスト状態管
理部77をそなえて構成されるとともに、各分散先ホス
ト22−iは、遠隔実行管理部81−i,ネットワーク
管理部82−i,ホスト情報送信部83−iをそなえて
構成されている。
【0031】なお、遠隔処理起動部74,遠隔実行管理
部81−iはあらかじめコマンドにより起動されている
ものとする。ここで、並列コマンド処理部71は、全体
のコンパイル処理を実行するコンパイルコマンドを生成
するものであるが、この並列コマンド処理部71では、
並列に実行可能なコマンドを抽出して、マルチタスクコ
マンド起動部75を利用してコマンドを実行するように
なっている。
【0032】分散型コンパイラコマンド72はオプショ
ンにより生成するCPUの種類などを複数指定できるも
のであるが、この指定などにより、適切なコンパイルコ
マンド群を生成して、マルチタスクコマンド起動部75
によりコマンドを実行するようになっている。そして、
この生成されるコマンド群には、遠隔コマンドが含まれ
ており、マルチタスクコマンド起動部75はこれを実行
することになる。
【0033】そして、実際には、生成するターゲットオ
プション解析部と、コマンド生成部、ターゲットコマン
ドテーブルから構成され、ターゲット毎に遠隔コマンド
を生成するようになっている。例えば、この場合、ター
ゲットをCPUの種類aと指定して、中間オブジェクト
を生成するオプションを指定して、分散型コンパイラコ
マンドdist−ccを以下のように実行すると、実行
されたコマンドおよび生成されたコマンドは次のように
なる。
【0034】実行されたコマンド: dist−cc −target a −cx.c 生成されたコマンド: cpp x.c|srcsh‐c“ccl‐a opt|as‐a optl“ :>a/x.o
【0035】そして、これらの並列コマンド処理部7
1,分散型コンパイラコマンド72が、コンパイラ処理
解析部,コマンド生成部,コマンド起動部の機能を発揮
するものである。
【0036】遠隔コマンド73は、遠隔処理起動部74
に遠隔コマンドを送信する役目とコンパイル処理間の通
信を確立して通信処理を行なう役目を持つ。そして、こ
の遠隔コマンド73はネットワーク管理部76と連携し
て、一つの入力を複数の出力に分配する機能をそなえて
いる。
【0037】遠隔処理起動部74は、分散処理起動部と
して機能するものであるが、この遠隔処理起動部74
は、分散先の状態(負荷管理など)を格納しており、遠
隔コマンド73からの要求により、要求された処理を適
切な分散先ホストに振り分ける処理を行なうようになっ
ている。
【0038】マルチタスクコマンド起動部75は、マル
チタスクコマンドを起動するものであるが、その機能等
については上記で説明したので、その説明は省略する。
ネットワーク管理部76は、ホスト間の通信を実現して
いるものであり、ホストの識別子とポートの番号により
接続のためのポートを管理している。また、ホスト間の
プロセス間の通信はこのネットワーク管理部76を介し
て実現されるのである。
【0039】ホスト状態管理部77は、分散元に接続さ
れているホストのCPUのパワーなどの一覧データ77
−1をそなえることにより、接続情報,ホストの情報を
管理するものである。
【0040】そして、これらの遠隔処理起動部74,ネ
ットワーク管理部76,ホスト状態管理部77で、分散
サーバを構成する。遠隔実行管理部81−iは、分散元
ホスト21に対してそれぞれ分散先のホスト22−iに
起動されるものであり、通信処理の確立、そのホストの
情報、遠隔コマンドの実行処理などを行なうものであ
る。そして、この遠隔実行管理部81−iで、分散先ホ
ストに設けられるコマンド受付部,コマンド起動部,通
信制御部の機能を有する。
【0041】ネットワーク管理部82−iは、前述のネ
ットワーク管理部76と同様に、ホスト間の通信を実現
しているものであり、ホストの識別子とポートの番号に
より接続のためのポートを管理している。この場合も、
ホスト間のプロセス間の通信はネットワーク管理部82
−iを介して実現される。
【0042】ホスト情報送信部83−iは、現在のCP
U負荷などの情報を分散元のホストのホスト状態管理部
77に周期的に送信するものである。なお、91は複数
のCPUでそれぞれ実行可能なオブジェクトを生成する
ためのプリプロセッサ、コンパイラ本体、アセンブラ、
リンケージエディタ群(マルチターゲット用コマンド
部)である。それぞれのコマンドは入力部、実行部(処
理部)、出力部から構成されており、単位処理毎に必要
なデータを入力部に受けとると、実行を開始して処理を
終了すると、出力部に処理済みのデータを出力するよう
になっている。それぞれのコマンドの単位処理は、例え
ばプリプロセッサはプログラムライン、コンパイラ本体
は関数、アセンブラはプログラムライン、といったよう
に定義できる。
【0043】さらに、このコマンド群は異なる種類のC
PU(ホスト)毎に存在しており、CPUの種類が異な
るホストにコンパイル処理を分散させることが可能にな
っている。なお、このコマンド群はCPUの種類により
各ホスト毎に実行可能なファイルとして存在する。
【0044】ところで、いま、x.cおよびy.cの2
つのファイルをターゲットa,bという種類のCPUの
オブジェクトを生成する場合を考えてみる。この場合、
コンパイルを実行するホスト(分散元のホスト)はホス
ト21であり、分散可能なホスト22−1〜22−4が
存在する。
【0045】まず、並列コマンド生成部71は以下のよ
うなコンパイル情報のファイルより以下のような、コマ
ンドを生成する。ここで、ファイルの例を示すと、次の
ようになる。 SRCS:x.c y.c OPT:−target a −target b−c all:x.o y.o x.o:dist−cc $(OPT)x.c y.o:dist−cc $(OPT)y.c ・・・
【0046】また、生成コマンド例は次のようになる。 dist−cc −target a −target b‐c x.c ・・(1) dist−cc −target a −target b−c y.c ・・(2)
【0047】このコマンドは、並列に実行可能であるこ
とをファイルが相互に依存してないことから判断して、
マルチタスクコマンド起動部75を利用して並列に実行
することになる。
【0048】起動された、dist‐cc(すなわち3
−2分散型のコンパイラ)は生成するターゲット情報を
分析してターゲットa,bについてのコマンド情報をタ
ーゲットコマンドテーブルより獲得して、−cオプショ
ン(アセンブラまで実行する)により、上記(1)のコ
マンドについて、以下のような実行したコマンドおよび
生成されるコマンドを生成する。
【0049】 実行したコマンド: dist−cc −target a −target b−c x.c ・・(1) 生成されるコマンド: cpp x.c|srcsh−e“ccl−a opt|as−a optl“ :>a/x.o−e“ccl−b opt|as−b optl“:>b/x. o・・(3)
【0050】また、上記の(2)のコマンドについても
同様に、以下のような実行したコマンドおよび生成され
るコマンドを生成する。
【0051】 実行したコマンド: dist−cc −target a −target b−c y.c ・・(2) 生成されるコマンド: cpp y.c|srcsh−e“ccl−a opt|as−a optl“ :>a/y.o−e“ccl−b opt|as−b optl“:>b/y. o・・(4)
【0052】このコマンドは、同様にマルチタスクコマ
ンド起動部75を利用して実行される。また、起動され
た、srcsh(すなわち3−3遠隔コマンド)は−e
オプションで、それぞれのコマンドを認識して遠隔処理
部にコマンドを送出する。
【0053】さらに、遠隔コマンドが遠隔処理起動部7
4に以下のコマンドを送信する。 exec−in l−out 2−c ccl−a opt|as−a opt l・・(5) exec−in 3−out 4−c ccl−b opt|as−b opt l・・(6)
【0054】ここで、−in NUM−out NUM
1のNUM,NUM1はネットワーク通信のポート番号
である。したがって、この場合は、次のようになる。 (cpp x.cからの入力)−>ポート1,3に出
力,ポート2 −>a/x.o ポート4−>b/x.
oへ出力
【0055】このようにそれぞれの−cで指定されたコ
マンド毎にネットワーク管理部76,82−iより入力
ポートと出力ポートとをそれぞれのコマンドについて獲
得して、前段からの入力を分配して、それぞれのコマン
ドへと送信する。また、出力用のファイルを開いてそれ
ぞれの出力を書き込む処理を行なう。
【0056】さらに、上記(4)についても、同様のコ
マンドが遠隔処理起動部74に送出される。以下にその
例を示す。 exec−in 5−out 6−c ccl−a opt|as−a opt l・・(7) exec−in 7−out 8−c ccl−b opt|as−b opt l・・(8)
【0057】そして、遠隔処理起動部74に以上のよう
なコマンドが送信されてくると、この遠隔処理起動部7
4の中のホスト状態管理部77のCPUのパワー情報、
ホスト接続情報、負荷状況より、最も速いCPUで、負
荷の軽いホストが選択され、遠隔処理起動部74により
分散先のホスト22−iの遠隔実行管理部81−iにネ
ットワーク管理部76,82−iを利用して送信する。
【0058】さらに、この情報に合わせて自分がこれま
でに起動したコマンドの処理が負荷に与える影響を見越
して分散する時の情報として利用する。例えば、上記
(5)のコマンド処理はホスト22−1、(6)のコマ
ンド処理はホスト22−2、(7)のコマンド処理はホ
スト22−3、(8)のコマンド処理はホスト22−4
に送信される。
【0059】また、(5)のコマンドについて、例えば
ホスト22−1上にある遠隔実行管理部81−1にコマ
ンドが送信されてくると、そのコマンド受付部は通信ポ
ートに関するオプションと実行コマンドに関するものと
にコマンドを分類して、通信ポートに関するオプション
を通信制御部に送信する。通信制御部は−IN 1−O
UT 2のポート番号より分散元のホスト21に対して
通信を確立のための要求を行なう。
【0060】通信が確立すると、得られた新しいポート
番号を元にコマンド起動部によりコマンドが起動され
る。この際、起動されるコマンドの入力には、−inの
ポート番号に対応するポートが、コマンドの出力には−
outで指定されたポート番号に対応するポートが割り
当てられる。
【0061】その例を示すと、以下のようになる。ホス
ト21の1に対応するポート(入力)−>ccl−a
opt|as−aoptl−>ホストAの2に対応する
ポート(出力) このようにしてコマンドは実行され、その入出力のデー
タが分散元と通信される。
【0062】同様にして、(6),(7),(8)のコ
マンドも、ホスト22−2〜22−4において実行され
る。以上のようにして複数のファイルについて、異なる
種類のCPU用のコードを同時に生成することが可能に
なり、プリプロセッサを分散元で実行することにより、
分散ファイルシステムを必要としないでも実現すること
ができる。
【0063】また、分散先のホストは必ずしも同じ種類
のCPU、同じ速さのCPUである必要はなく、速い異
種のCPUを利用することにより、遅いマシンのオブジ
ェクト生成を速く終了することができる。更にこれと同
時にネットワーク上に接続されたあらゆるCPUを利用
することが可能になる。
【0064】なお、遠隔処理起動部74,遠隔実行管理
部82−iはあらかじめ起動しておいたが、コンパイラ
の起動と同時に生成してももちろんよい。また、今回は
遠隔処理起動部74は分散元に置いたが、他のホストに
置いてネットワークで通信してもよい。
【0065】さらに、コマンドの分散についても、cc
lとasを同じホストに分散させたが同様に分離して実
行させても良い。すなわち、この場合、生成されるコマ
ンドは次のようになる。 cpp x.c|srcsh−e“srcsh−e ccl−a opt|sr csh−e as−a optl“:>a/x.o−e“srcsh−e cc l−b opt|srcsh−e as−b optl“:>b/x.o ・・(3)
【0066】このようにすることによって、さらに負荷
分散を行なえる。また、分散ファイルシステムなどを利
用しないで実現するためには、プリプロセッサ部のみ、
分散元で実行すれば良く、その他は、ネットワーク上で
接続されたCPUのうちのどこに存在していても構わな
い。
【0067】さらに、分散ファイルシステムを利用した
場合には、制約は一切なくなる。このようにして、通信
手段によって結合された複数のCPUを利用した分散コ
ンパイル処理の実現,分散ファイルシステムを必要とし
ない分散環境におけるコンパイル処理の並列実行,複数
の中央処理演算装置用のオブジェクトの同時生成,通信
手段上で流れ作業的な手段を用いることによってそれぞ
れのコンパイル処理上での並行処理を可能にし効率的な
コンパイル処理を実現およびホストのCPUの速度、状
態を実行する処理に応じた効率的な並列処理を実現する
ことができるのである。
【0068】
【発明の効果】以上詳述したように、本発明の分散コン
パイル処理方式によれば、通信手段によって結合された
複数のCPUを利用した分散コンパイル処理の実現,分
散ファイルシステムを必要としない分散環境におけるコ
ンパイル処理の並列実行,複数の中央処理演算装置用の
オブジェクトの同時生成,通信手段上で流れ作業的な手
段を用いることによってそれぞれのコンパイル処理上で
の並行処理を可能にし効率的なコンパイル処理を実現お
よびホストのCPUの速度、状態を実行する処理に応じ
た効率的な並列処理を実現できる利点がある。
【図面の簡単な説明】
【図1】本発明の原理説明図である。
【図2】本発明の原理説明図である。
【図3】本発明の原理説明図である。
【図4】本発明の原理説明図である。
【図5】本発明の原理説明図である。
【図6】本発明の原理説明図である。
【図7】本発明の一実施例を示すブロック図である。
【符号の説明】
10−i 中央処理演算装置 11 コマンド部 12 プリプロセッサ 13,13−i コンパイラ本体 14,14−i アセンブラ 21 分散元中央処理演算装置(分散元ホスト) 22−i,22′−i 分散先中央処理演算装置(分散
先ホスト) 23 通信手段 31 ファイル 51 入力部 52 処理部 53 出力部 61 ホスト状態管理部 62−i ホスト情報送信部 71 並列コマンド処理部 72 分散型コンパイラコマンド 73 遠隔コマンド 74 遠隔処理起動部 75 マルチタスクコマンド起動部 76 ネットワーク管理部 77 ホスト状態管理部 81−i 遠隔実行管理部 82−i ネットワーク管理部 83−i ホスト情報送信部 91 マルチターゲット用コマンド部 211 コンパイラ処理解析部 212 コマンド生成部 213 コマンド起動部 214 分散処理起動部 221−i コマンド受付部 222−i コマンド起動部 223−i 通信制御部

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】 通信手段をそなえる複数の中央処理演算
    装置(10−i)を持ったシステムにおいて、 データを該通信手段によって入出力する機能を有すると
    ともに、コンパイル前処理,コンパイル,アセンブルの
    各処理機能(12〜14)の間を該通信手段によって伝
    送する手段を有し、 上記の各処理機能(12〜14)を複数の通信手段によ
    って接続された上記の複数の中央処理演算装置(10−
    i)に分散して行なうことを特徴とする、分散コンパイ
    ル処理方式。
  2. 【請求項2】 コマンドを実行しコンパイル前処理を行
    なう分散元中央処理演算装置(21)と、 該分散元中央処理演算装置(21)に対し通信手段(2
    3)を介して接続され、コンパイル,アセンブルの各処
    理を分散して行なう分散先中央処理演算装置(22−
    i)とをそなえ、 該分散元中央処理演算装置(21)が、 コンパイラのオプションを解析するコンパイラ処理解析
    部(211)と、 該オプションにより必要な処理を選択するコマンド生成
    部(212)と、 該コマンド生成部で生成されたコマンドを起動するコマ
    ンド起動部(213)と、 該分散先中央処理演算装置(22−i)に実行する処理
    を伝え、通信を確立する分散処理起動部(214)とを
    そなえて構成されるとともに、 該分散先中央処理演算装置(22−i)が、 該分散元中央処理演算装置(21)からのコマンドを受
    け付けるコマンド受付部(221−i)と、 該コマンド受付部(221−i)にて受け付けられたコ
    マンドを実行するコマンド起動部(222−i)と、 通信を確立する通信制御部(223−i)とをそなえて
    構成されたことを特徴とする、分散コンパイル処理方
    式。
  3. 【請求項3】 通信手段(23)をそなえる複数の中央
    処理演算装置(21,22−i)を持ったシステムにお
    いて、 データを該通信手段(23)によって入出力する機能を
    有するとともに、コンパイル処理のうちのファイルシス
    テムを必要とするコンパイル前処理,コンパイル,アセ
    ンブルの各処理機能(12〜14)の間を該通信手段
    (23)によって伝送する手段を有し、 該コンパイル前処理(12)をファイル(31)のある
    一つの中央処理演算装置(21)で集中して行ない、そ
    の他のコンパイル,アセンブルの各処理(13,14)
    を他の中央処理演算装置(22−i)に分散することに
    より、並行して複数のファイルのコンパイル処理を実行
    することを特徴とする、分散コンパイル処理方式。
  4. 【請求項4】 通信手段(23)をそなえる複数種類の
    中央処理演算装置(21,22′−i)を持ったシステ
    ムにおいて、 データを該通信手段(23)によって入出力する機能を
    有するとともに、コンパイル処理のうちのファイルシス
    テムを必要とするコンパイル前処理,コンパイル,アセ
    ンブルの各処理機能(12,13−i,14−i)の間
    を該通信手段23によって伝送する手段を有し、 且つ、該前処理を行なう手段(12)から複数の通信手
    段(23)に接続可能な機構を有することにより、 複数の種類の中央処理演算装置(22′−i)で実行可
    能なオブジェクトを生成することを特徴とする、分散コ
    ンパイル処理方式。
  5. 【請求項5】 上記のコンパイル前処理,コンパイル,
    アセンブルの各処理間で通信によって処理単位毎に中間
    コードを転送する手段(51,53)をそなえ、上記の
    各処理では処理単位で転送される毎に処理して次の処理
    へと中間コードを転送することを特徴とする、請求項1
    〜4のいずれかに記載の分散コンパイル処理方式。
  6. 【請求項6】 与える処理の量を見積もる手段(61)
    を持ち、それぞれの中央処理演算装置(22−i)の速
    度の違いを検出する手段(61)をそなえ、処理量と中
    央処理演算装置の速さに応じて処理を割り当てることを
    特徴とする、請求項1〜4のいずれかに記載の分散コン
    パイル処理方式。
  7. 【請求項7】 上記の各処理を実行する中央演算処理装
    置の種類が同種で構成されることを特徴とする、請求項
    1〜6のいずれかに記載の分散コンパイル処理方式。
  8. 【請求項8】 上記の各処理を実行する中央処理演算装
    置の種類が異種で構成されることを特徴とする、請求項
    1〜6のいずれかに記載の分散コンパイル処理方式。
JP32112291A 1991-11-08 1991-11-08 分散コンパイル処理方式 Pending JPH05134883A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP32112291A JPH05134883A (ja) 1991-11-08 1991-11-08 分散コンパイル処理方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP32112291A JPH05134883A (ja) 1991-11-08 1991-11-08 分散コンパイル処理方式

Publications (1)

Publication Number Publication Date
JPH05134883A true JPH05134883A (ja) 1993-06-01

Family

ID=18129062

Family Applications (1)

Application Number Title Priority Date Filing Date
JP32112291A Pending JPH05134883A (ja) 1991-11-08 1991-11-08 分散コンパイル処理方式

Country Status (1)

Country Link
JP (1) JPH05134883A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009098963A (ja) * 2007-10-17 2009-05-07 Mitsubishi Electric Corp モジュール自動生成システム
JP2010061538A (ja) * 2008-09-05 2010-03-18 Toshiba Tec Corp プログラム開発装置及び方法並びにクロス開発用プログラム
JP2010108086A (ja) * 2008-10-28 2010-05-13 Nec Corp Cpuエミュレーションシステム、cpuエミュレーション方法及びcpuエミュレーションプログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
WESCON CONFERENCE RECORD=1985 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009098963A (ja) * 2007-10-17 2009-05-07 Mitsubishi Electric Corp モジュール自動生成システム
JP2010061538A (ja) * 2008-09-05 2010-03-18 Toshiba Tec Corp プログラム開発装置及び方法並びにクロス開発用プログラム
JP2010108086A (ja) * 2008-10-28 2010-05-13 Nec Corp Cpuエミュレーションシステム、cpuエミュレーション方法及びcpuエミュレーションプログラム

Similar Documents

Publication Publication Date Title
US8087023B2 (en) Topology aware grid services scheduler architecture
Grimshaw et al. Portable run-time support for dynamic object-oriented parallel processing
Luthi et al. The resource sharing system: dynamic federate mapping for HLA-based distributed simulation
CN110597634B (zh) 一种数据处理方法、装置及计算机可读存储介质
KR100738004B1 (ko) 하이브리드 p2p 네트워크 지능형 분산 컴파일러 시스템및 그 방법과 상기 방법을 실현시키기 위한 프로그램을기록한 컴퓨터로 읽을 수 있는 기록매체
CN113918223A (zh) 用于数据处理的分布式计算系统和方法以及存储介质
Liu et al. Hanayo: Harnessing wave-like pipeline parallelism for enhanced large model training efficiency
JPH08288768A (ja) デジタル音声処理装置及び該装置のための目的コード生成方法
JPH05134883A (ja) 分散コンパイル処理方式
Morrison et al. Webcom: A web based volunteer computer
US20030202522A1 (en) System for concurrent distributed processing in multiple finite state machines
Chandrashekhar et al. Dynamic work load balancing for compute intensive application using parallel and hybrid programming models on CPU-GPU cluster
Ungerer et al. An object-oriented interface for parallel programming of loosely-coupled multiprocessor systems
KR100827626B1 (ko) 링 기반 연결 구조를 이용한 그리드 데이터베이스 시스템및 이를 위한 부하 분산 방법
Geng et al. interactors: A model for separating communication concerns of concurrent systems
Gray et al. The IceT environment for parallel and distributed computing
Abdennadher et al. A scheduling algorithm for high performance peer-to-peer platform
KR20010018796A (ko) 리눅스에 기반한 피씨 클러스터상에서의 에프엠지알엠/에프엠씨엠 원격 제어 방법
Gowthami et al. Scheduling job queue on hadoop using hybrid Hadoop fair sojourn protocol
Bianchi et al. Boolean function manipulation on a parallel system using BDDs
Sukhoroslov et al. Development of Data-Intensive Services with Everest.
JPH11327909A (ja) エージェントシステム、情報処理方法及び情報処理用プログラムを記録した媒体
KR100272094B1 (ko) 객체전이 시스템 및 방법
Szturmowicz et al. A multi-layer transputer network for efficient parallel execution of OCCAM programs
Xu et al. ComPaSS: a communication package for scalable software design

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 19971118