JPH0616279B2 - 仮想情報処理システム - Google Patents
仮想情報処理システムInfo
- Publication number
- JPH0616279B2 JPH0616279B2 JP61229532A JP22953286A JPH0616279B2 JP H0616279 B2 JPH0616279 B2 JP H0616279B2 JP 61229532 A JP61229532 A JP 61229532A JP 22953286 A JP22953286 A JP 22953286A JP H0616279 B2 JPH0616279 B2 JP H0616279B2
- Authority
- JP
- Japan
- Prior art keywords
- virtual
- processing device
- address
- virtual processing
- processing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
- 230000010365 information processing Effects 0.000 title claims description 4
- 238000006243 chemical reaction Methods 0.000 claims description 7
- 238000000034 method Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 239000013256 coordination polymer Substances 0.000 description 3
- 239000012530 fluid Substances 0.000 description 2
- 230000003993 interaction Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000012916 structural analysis Methods 0.000 description 1
Landscapes
- Multi Processors (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
【発明の詳細な説明】 〔概要〕 共用記憶装置に接続された仮想処理装置が、相互に特定
のローカル記憶装置にアクセスできる構成の仮想計算機
システムの並列処理プログラムを、処理装置数の異なる
計算機システムで実行するための処理方式である。
のローカル記憶装置にアクセスできる構成の仮想計算機
システムの並列処理プログラムを、処理装置数の異なる
計算機システムで実行するための処理方式である。
各仮想処理装置を実処理装置に割り当てるように、両処
理装置のアドレス間を所定の変換によって対応付ける手
段を設け、各処理装置は該手段によって割り当てられた
仮想処理装置のプログラム実行をシミュレートする。
理装置のアドレス間を所定の変換によって対応付ける手
段を設け、各処理装置は該手段によって割り当てられた
仮想処理装置のプログラム実行をシミュレートする。
この方式により、特定の処理装置数のシステム構成を想
定したプログラムを、そのまゝ異なる処理装置数の構成
で実行することが可能になる。
定したプログラムを、そのまゝ異なる処理装置数の構成
で実行することが可能になる。
本発明は、計算機システムの処理装置数に依存した並列
処理プログラムを、異なる構成の計算機システムで実行
するための仮想情報処理システムに関する。
処理プログラムを、異なる構成の計算機システムで実行
するための仮想情報処理システムに関する。
流体力学、構造解析その他の分野の処理において、例え
ば処理対象の領域を適当な大きさの区画に分けて、各区
画ごとに定まるデータについて同じプログラムによる処
理を実行し、その処理過程で隣接の区画のデータを参照
するような処理で構成されるものがあり、このような処
理に適合するように特別の構成の計算機システムが考え
られている。
ば処理対象の領域を適当な大きさの区画に分けて、各区
画ごとに定まるデータについて同じプログラムによる処
理を実行し、その処理過程で隣接の区画のデータを参照
するような処理で構成されるものがあり、このような処
理に適合するように特別の構成の計算機システムが考え
られている。
第2図は前記のような形態の処理を行う計算機システム
の一構成例を示すブロック図である。
の一構成例を示すブロック図である。
図において、処理装置(以下においてPE)1は、それぞ
れ命令を実行する実行エレメント(以下においてEE)2
と、各EE2で処理される命令及びデータを保持するロー
カル記憶装置である、記憶エレメント(以下においてM
E)3とからなり、共通の中央記憶装置(以下においてC
M)4に接続する。
れ命令を実行する実行エレメント(以下においてEE)2
と、各EE2で処理される命令及びデータを保持するロー
カル記憶装置である、記憶エレメント(以下においてM
E)3とからなり、共通の中央記憶装置(以下においてC
M)4に接続する。
CM4には、システム全体を制御するための管理プログラ
ム、及び所要の制御データ領域等が設けられ、CM4に接
続する中央処理装置(以下においてCP)5が、この管理
プログラムを実行して、各PE1への仕事の配分等を行
う。
ム、及び所要の制御データ領域等が設けられ、CM4に接
続する中央処理装置(以下においてCP)5が、この管理
プログラムを実行して、各PE1への仕事の配分等を行
う。
CM4にはチャネル装置(CHP)6も接続され、CHP6はCP5
の制御を受けて外部とのデータ入出力等を実行する。
の制御を受けて外部とのデータ入出力等を実行する。
各PE1には、応用分野の必要に応じて例えば4次元のPE
アドレス(例えば(x,y,z,t))が付され、それぞれPEア
ドレス上で隣接するPE1、即ちアドレス(x,y,z,t)のPE
に対して、アドレス(x−1,y,z,t)、(x+1,y,z,t)、(x,y−
1,z,t)及び(x,y+1,z,t)等で表される8個のPE、との間
で相互に相手のME3にアクセスするパスを持つものとす
る。
アドレス(例えば(x,y,z,t))が付され、それぞれPEア
ドレス上で隣接するPE1、即ちアドレス(x,y,z,t)のPE
に対して、アドレス(x−1,y,z,t)、(x+1,y,z,t)、(x,y−
1,z,t)及び(x,y+1,z,t)等で表される8個のPE、との間
で相互に相手のME3にアクセスするパスを持つものとす
る。
このような構成のシステムは、例えば流体力学等の問題
の処理において、例えば処理対象の空間領域を適当に分
割した各立方体の位置を示す座標を(x,y,z)、時間領域
をtとして、座標(x,y,z,t)で処理対象の単位領域を示
すようにした場合に、それをPEアドレスに1対1に対応
させて、各PE1が単位領域を分担して処理するのとする
と、プログラミング上極めて都合がよい。
の処理において、例えば処理対象の空間領域を適当に分
割した各立方体の位置を示す座標を(x,y,z)、時間領域
をtとして、座標(x,y,z,t)で処理対象の単位領域を示
すようにした場合に、それをPEアドレスに1対1に対応
させて、各PE1が単位領域を分担して処理するのとする
と、プログラミング上極めて都合がよい。
即ち、そのようにした場合には、各単位領域内及び隣接
領域との相互作用のみに着目したプログラミングを行
い、この同一プログラムを各PE1において、各領域別の
データについて処理すれば、任意の広さの領域の処理
を、分割の細かさに応じた精度で自動的に処理するよう
に構成することができる。
領域との相互作用のみに着目したプログラミングを行
い、この同一プログラムを各PE1において、各領域別の
データについて処理すれば、任意の広さの領域の処理
を、分割の細かさに応じた精度で自動的に処理するよう
に構成することができる。
前記の方式による処理において、実用的問題における単
位領域の数に対応して必要となるPE数は、しばしば256
×256×256×256程度になることがある。
位領域の数に対応して必要となるPE数は、しばしば256
×256×256×256程度になることがある。
そのような大規模のシステムを利用できない場合には、
利用可能なPE数に対応した処理を行うように、プログラ
ムを変更しなければならない。
利用可能なPE数に対応した処理を行うように、プログラ
ムを変更しなければならない。
又、そのようにして特定の構成の比較的小規模のシステ
ムに対応するように開発されたプログラムがある場合等
に、より大きなシステムを利用できるようになっても、
そのまゝでは、直ちにそのシステムの利得を受けること
ができないという問題がある。
ムに対応するように開発されたプログラムがある場合等
に、より大きなシステムを利用できるようになっても、
そのまゝでは、直ちにそのシステムの利得を受けること
ができないという問題がある。
第1図は、本発明の構成を示すブロック図である。
図において、10はCPで実行されるPE割当部であり、各PE
において、11は割り当てられたPEアドレス及び各PEアド
レスに対応する制御情報を保持する制御ブロック、12は
制御プログラム、13は処理プログラム、14は仮想PEデー
タ領域である。
において、11は割り当てられたPEアドレス及び各PEアド
レスに対応する制御情報を保持する制御ブロック、12は
制御プログラム、13は処理プログラム、14は仮想PEデー
タ領域である。
CP5はPE割当部10のプログラムを実行して、仮想計算機
システムのPEアドレス(以下において仮想PEアドレス)
から、実際の計算機システムのPEアドレス(以下におい
て実PEアドレス)を求める変換を行う。この変換は仮想
PEアドレスの特定の一部次元の値を所定の変換によって
実PEアドレスに変換するものとし得られる実PEアドレス
のPE1の制御ブロック11に、対応する仮想PEアドレスを
格納する。
システムのPEアドレス(以下において仮想PEアドレス)
から、実際の計算機システムのPEアドレス(以下におい
て実PEアドレス)を求める変換を行う。この変換は仮想
PEアドレスの特定の一部次元の値を所定の変換によって
実PEアドレスに変換するものとし得られる実PEアドレス
のPE1の制御ブロック11に、対応する仮想PEアドレスを
格納する。
又、各PE1に制御プログラム12及び処理プログラム13を
ロードして処理を起動させる。
ロードして処理を起動させる。
このようにして各PE1が起動されると、EE2によって制
御プログラム12を実行して、割当を受けた1以上の仮想
PEに対応する仮想PEデータ領域14をME3上にとり、CP5
によって該当する各仮想PEの分担するデータのロードを
受け、仮想PEの1つを選択して、該仮想PEに代わり、EE
2による処理プログラム13の実行を開始する。
御プログラム12を実行して、割当を受けた1以上の仮想
PEに対応する仮想PEデータ領域14をME3上にとり、CP5
によって該当する各仮想PEの分担するデータのロードを
受け、仮想PEの1つを選択して、該仮想PEに代わり、EE
2による処理プログラム13の実行を開始する。
実行において、他の仮想PEのMEにアクセスする命令をフ
ェッチした場合には、制御プログラム12に制御を移し
て、制御ブロック11に保持する仮想PEアドレスを参照し
て相手の仮想PEアドレスがチェックされる。
ェッチした場合には、制御プログラム12に制御を移し
て、制御ブロック11に保持する仮想PEアドレスを参照し
て相手の仮想PEアドレスがチェックされる。
その結果、相手の仮想PEが自身に割り当てられていた場
合には、自身のME3上の相手仮想PEに対応する仮想PEデ
ータ領域14に対してアクセスを実行する。
合には、自身のME3上の相手仮想PEに対応する仮想PEデ
ータ領域14に対してアクセスを実行する。
又、相手の仮想PEが自身に割り当てられていない場合に
は、例えばCP5に要求を送り、CP5によって相手仮想PE
を処理する実PEを決定し、CP5の指示によって、PE1間
のアクセスパス又はCM4経由でアクセスを実行する。
は、例えばCP5に要求を送り、CP5によって相手仮想PE
を処理する実PEを決定し、CP5の指示によって、PE1間
のアクセスパス又はCM4経由でアクセスを実行する。
制御プログラム12は、例えば適当な実行時間を設定し
て、シミュレートする仮想PEを該時間ごとに順次切り換
える等によって、各仮想PEの処理を仮想的に並行に進め
る。
て、シミュレートする仮想PEを該時間ごとに順次切り換
える等によって、各仮想PEの処理を仮想的に並行に進め
る。
以上の方式により、処理プログラムで予定するシステム
構成と異なる処理装置数のシステムで、同じ処理プログ
ラムによる並列処理を効率良く実行することができる。
構成と異なる処理装置数のシステムで、同じ処理プログ
ラムによる並列処理を効率良く実行することができる。
第1図において、PE割当部10には、実行すべき処理プロ
グラムで予定する計算機システムの構成が、仮想計算機
システム構成データとして保持されているものとする。
グラムで予定する計算機システムの構成が、仮想計算機
システム構成データとして保持されているものとする。
CP5はPE割当部10のプログラムを実行して、仮想計算機
システムのPEの仮想PEアドレスから、実際の計算機シス
テムのPEの実PEアドレスを求める変換を行い、その実PE
アドレスのPE1の制御ブロック11に、対応する仮想PEア
ドレスを格納することにより、仮想PEの割当を行う。
システムのPEの仮想PEアドレスから、実際の計算機シス
テムのPEの実PEアドレスを求める変換を行い、その実PE
アドレスのPE1の制御ブロック11に、対応する仮想PEア
ドレスを格納することにより、仮想PEの割当を行う。
例えば、計算機システムのPEが16×16の構成で実装され
ている場合に、仮想PEアドレスが前記のように(x,y,z,
t)により、実PEアドレスを(u,v)により表すとすると、
上記の変換を例えば u=Mod(x,16)、v=Mod(y,16) (但しMod(a,b)は、a÷bの剰余を示す) とする。
ている場合に、仮想PEアドレスが前記のように(x,y,z,
t)により、実PEアドレスを(u,v)により表すとすると、
上記の変換を例えば u=Mod(x,16)、v=Mod(y,16) (但しMod(a,b)は、a÷bの剰余を示す) とする。
CP5は各PE1に制御プログラム12及び処理プログラム13
をロードして処理を起動させる。
をロードして処理を起動させる。
このようにして各PE1が起動されると、EE2によって制
御プログラム12が実行され、割当を受けた1以上の仮想
PEに対応する仮想PEデータ領域14をME3上にとり、その
領域にCP5によって所要の仮想PEの分担するデータのロ
ードを受け、仮想PEの1つを選択して、該仮想PEに代わ
り、EE2による処理プログラム13の実行を開始する。
御プログラム12が実行され、割当を受けた1以上の仮想
PEに対応する仮想PEデータ領域14をME3上にとり、その
領域にCP5によって所要の仮想PEの分担するデータのロ
ードを受け、仮想PEの1つを選択して、該仮想PEに代わ
り、EE2による処理プログラム13の実行を開始する。
実行において、他の仮想PEのMEにアクセスする命令をフ
ェッチした場合には、制御プログラム12に制御を移し
て、制御ブロック11を参照して相手の仮想PEアドレスを
チェックする。
ェッチした場合には、制御プログラム12に制御を移し
て、制御ブロック11を参照して相手の仮想PEアドレスを
チェックする。
その結果、相手の仮想PEが自身に割り当てられていた場
合には、自身のME3上の相手仮想PEに対応する領域にア
クセスを実行する。
合には、自身のME3上の相手仮想PEに対応する領域にア
クセスを実行する。
又、相手の仮想PEが自身に割り当てられていない場合に
は、例えばCP5に要求を送り、CP5によって相手仮想PE
を処理する実PEを決定し、CP5の指示によって、PE1間
のアクセスパス又はCM4経由でアクセスを実行する。
は、例えばCP5に要求を送り、CP5によって相手仮想PE
を処理する実PEを決定し、CP5の指示によって、PE1間
のアクセスパス又はCM4経由でアクセスを実行する。
前記のようなPEアドレス変換によって仮想PEの割当が行
われた場合には、実PE(0,0)には仮想PE(0,0,z,t)、(0,1
6,z,t)、……、(16,0,z,t)、(16,16,z,t)、……実PE(0,1)
には仮想PE(0,1,z,t)、(0,17,z,t)、……、(16,1,z,t)、(1
6,17,z,t)、……というように割り当てられる。
われた場合には、実PE(0,0)には仮想PE(0,0,z,t)、(0,1
6,z,t)、……、(16,0,z,t)、(16,16,z,t)、……実PE(0,1)
には仮想PE(0,1,z,t)、(0,17,z,t)、……、(16,1,z,t)、(1
6,17,z,t)、……というように割り当てられる。
従って、実PE(u,v)が隣接する実PE(u−1,v)、(u+1,v)、
(u,v−1)、(u,v+1)のMEにアクセスするパスを相互に持
つように構成した場合には、仮想PEアドレス(x,y,z,t)
におけるx及びy座標上で隣接する仮想PEに対するアク
セスは、この実装置のアクセスパスを使用して実行され
る。
(u,v−1)、(u,v+1)のMEにアクセスするパスを相互に持
つように構成した場合には、仮想PEアドレス(x,y,z,t)
におけるx及びy座標上で隣接する仮想PEに対するアク
セスは、この実装置のアクセスパスを使用して実行され
る。
z及びt座標上で隣接する仮想PE間のアクセスは、すべ
て各実PE1内でのMEアクセスとして処理されるので、何
れの隣接仮想PE間のアクセスも効率良く処理することが
できる。
て各実PE1内でのMEアクセスとして処理されるので、何
れの隣接仮想PE間のアクセスも効率良く処理することが
できる。
又、実システムでPE間の直接アクセスパスを設けない場
合には、例えばx座標によって、例えば256個の実PE
に割り当てることにすれば、x座標上で隣接する仮想PE
間のアクセスのみがCM4を経由して間接にアクセスさ
れ、その他は各実PE内でMEアクセスとして処理される。
合には、例えばx座標によって、例えば256個の実PE
に割り当てることにすれば、x座標上で隣接する仮想PE
間のアクセスのみがCM4を経由して間接にアクセスさ
れ、その他は各実PE内でMEアクセスとして処理される。
各PE1において制御プログラム12は、例えば適当な実行
時間を設定して、シミュレートする仮想PEを該時間ごと
に順次切り換えて、各仮想PEの処理を仮想的に並行に進
める。又は、各仮想PE間で処理の同期が必要な場合に
は、他の仮想PEの処理を待つ段階まで処理が進んだとこ
ろで、仮想PEを切り換える。
時間を設定して、シミュレートする仮想PEを該時間ごと
に順次切り換えて、各仮想PEの処理を仮想的に並行に進
める。又は、各仮想PE間で処理の同期が必要な場合に
は、他の仮想PEの処理を待つ段階まで処理が進んだとこ
ろで、仮想PEを切り換える。
以上の説明から明らかなように、本発明によれば、計算
機システムのプログラミングで予定したシステム構成と
異なる処理装置数のシステムで、同じプログラムによる
並列処理を効率良く実行することができるので、処理の
経済性を改善するという著しい工業的効果がある。
機システムのプログラミングで予定したシステム構成と
異なる処理装置数のシステムで、同じプログラムによる
並列処理を効率良く実行することができるので、処理の
経済性を改善するという著しい工業的効果がある。
第1図は本発明の構成を示すブロック図、 第2図は計算機システムの一構成例ブロック図である。 図において、 1はPE、2はEE、 3はME、4はCM、 5はCP、6はCHP、 10はPE割当部、11は制御ブロック、 12は制御プログラム、13は処理プログラム、 14は仮想PEデータ領域 を示す。
Claims (1)
- 【請求項1】それぞれローカル記憶装置を有する複数の
仮想処理装置と、 該仮想処理装置からアクセス可能な共用記憶装置を有
し、 該各仮想処理装置は、多次元の仮想処理装置アドレスに
よって識別され、該仮想処理装置アドレスの多次元空間
で隣接する他の仮想処理装置のローカル記憶装置にアク
セス可能にされた仮想計算機システムの、 該仮想処理装置によって並列に実行するように構成され
たプログラムを、 該仮想処理装置と異なる個数の処理装置(1)を有する計
算機システムによって実行する仮想情報処理システムに
おいて、 該仮想処理装置アドレスの特定の一部次元の値を該処理
装置(1)のアドレスに変換する所定のアドレス変換によ
って両アドレス間を対応付け、各該処理装置に対し、該
対応する仮想処理装置アドレスの仮想処理装置を割り当
てる手段(10)と、 該処理装置(1)ごとに、該割り当てられた仮想処理装置
の該ローカル記憶装置に保持されたデータに関して前記
プログラムの実行をシミュレートする手段(13、14)と、 他の該仮想処理装置の該ローカル記憶装置へのアクセス
をシミュレートする場合に、該割り当てられている仮想
処理装置アドレスに基づいて、該アクセス先が当該処理
装置内か否かを識別し、 該アクセス先が、当該処理装置内であれば、該処理装置
に保持する該当仮想処理装置のローカル記憶装置へのア
クセスを実行し、 当該処理装置内でなければ、該当するローカル記憶装置
を有する仮想処理装置が割り当てられている処理装置へ
のアクセスを実行することにより、該他の該仮想処理装
置の該ローカル記憶装置へのアクセスをシミュレートす
る手段(11、12)とを設けたことを特徴とする仮想情報処
理システム。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP61229532A JPH0616279B2 (ja) | 1986-09-30 | 1986-09-30 | 仮想情報処理システム |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP61229532A JPH0616279B2 (ja) | 1986-09-30 | 1986-09-30 | 仮想情報処理システム |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS6385846A JPS6385846A (ja) | 1988-04-16 |
| JPH0616279B2 true JPH0616279B2 (ja) | 1994-03-02 |
Family
ID=16893642
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP61229532A Expired - Lifetime JPH0616279B2 (ja) | 1986-09-30 | 1986-09-30 | 仮想情報処理システム |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0616279B2 (ja) |
Families Citing this family (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8370493B2 (en) * | 2008-12-12 | 2013-02-05 | Amazon Technologies, Inc. | Saving program execution state |
| US8819106B1 (en) | 2008-12-12 | 2014-08-26 | Amazon Technologies, Inc. | Managing distributed execution of programs |
| US8296419B1 (en) | 2009-03-31 | 2012-10-23 | Amazon Technologies, Inc. | Dynamically modifying a cluster of computing nodes used for distributed execution of a program |
| WO2024185430A1 (ja) * | 2023-03-07 | 2024-09-12 | 株式会社デンソー | 演算装置及びデータ移動方法 |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4773038A (en) * | 1986-02-24 | 1988-09-20 | Thinking Machines Corporation | Method of simulating additional processors in a SIMD parallel processor array |
-
1986
- 1986-09-30 JP JP61229532A patent/JPH0616279B2/ja not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| JPS6385846A (ja) | 1988-04-16 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH04299440A (ja) | 共有レジスタ制御方式 | |
| JPH04268927A (ja) | メモリ管理方法 | |
| JPH0752420B2 (ja) | 入出力装置アドレス方式 | |
| JPS6385846A (ja) | 仮想情報処理システム | |
| JPH09274598A (ja) | 情報処理装置の入出力チャネル拡張方法 | |
| JP3083575B2 (ja) | マルチタスク制御方法および制御装置 | |
| Ulm et al. | Simulating PRAM with a MSIMD model (ASC) | |
| JPS583177A (ja) | デ−タ処理方式 | |
| JP3304445B2 (ja) | プログラム生成処理装置 | |
| JPH0324644A (ja) | マルチボリュームにおけるファイルの自動拡張方式 | |
| JP2002140201A (ja) | データベース更新方法及びそれを用いたデータベース管理システム | |
| JPH01112423A (ja) | オーバレイ制御方式 | |
| JPH0342765A (ja) | 分散処理装置 | |
| JPH0922363A (ja) | タスク構成方式 | |
| JPH0581336A (ja) | データベース演算処理装置 | |
| JP2764358B2 (ja) | データ駆動型情報処理装置 | |
| JPS5860357A (ja) | タスク制御テ−ブル管理方式 | |
| JPH03204759A (ja) | 制御プログラムのローディング方式 | |
| JPH0830466A (ja) | マルチタスク切り換え制御方法 | |
| JPH05151035A (ja) | データベースシステム | |
| JPH02193223A (ja) | プログラム番号呼出方式 | |
| JPS58225469A (ja) | マルチプロセツサ制御方式 | |
| JPS63285647A (ja) | 出力フアイル名の作成方式 | |
| JPH04215138A (ja) | ライトウェイトプロセスにおけるスレッド切換え方式 | |
| JPH01284987A (ja) | データ収集分配方式 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| EXPY | Cancellation because of completion of term |