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
Application number
JP61229532A
Other languages
English (en)
Other versions
JPS6385846A (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.)
National Institute of Advanced Industrial Science and Technology AIST
Original Assignee
Agency of Industrial Science and Technology
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 Agency of Industrial Science and Technology filed Critical Agency of Industrial Science and Technology
Priority to JP61229532A priority Critical patent/JPH0616279B2/ja
Publication of JPS6385846A publication Critical patent/JPS6385846A/ja
Publication of JPH0616279B2 publication Critical patent/JPH0616279B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

【発明の詳細な説明】 〔概要〕 共用記憶装置に接続された仮想処理装置が、相互に特定
のローカル記憶装置にアクセスできる構成の仮想計算機
システムの並列処理プログラムを、処理装置数の異なる
計算機システムで実行するための処理方式である。
各仮想処理装置を実処理装置に割り当てるように、両処
理装置のアドレス間を所定の変換によって対応付ける手
段を設け、各処理装置は該手段によって割り当てられた
仮想処理装置のプログラム実行をシミュレートする。
この方式により、特定の処理装置数のシステム構成を想
定したプログラムを、そのまゝ異なる処理装置数の構成
で実行することが可能になる。
〔産業上の利用分野〕
本発明は、計算機システムの処理装置数に依存した並列
処理プログラムを、異なる構成の計算機システムで実行
するための仮想情報処理システムに関する。
流体力学、構造解析その他の分野の処理において、例え
ば処理対象の領域を適当な大きさの区画に分けて、各区
画ごとに定まるデータについて同じプログラムによる処
理を実行し、その処理過程で隣接の区画のデータを参照
するような処理で構成されるものがあり、このような処
理に適合するように特別の構成の計算機システムが考え
られている。
〔従来の技術〕
第2図は前記のような形態の処理を行う計算機システム
の一構成例を示すブロック図である。
図において、処理装置(以下においてPE)1は、それぞ
れ命令を実行する実行エレメント(以下においてEE)2
と、各EE2で処理される命令及びデータを保持するロー
カル記憶装置である、記憶エレメント(以下においてM
E)3とからなり、共通の中央記憶装置(以下においてC
M)4に接続する。
CM4には、システム全体を制御するための管理プログラ
ム、及び所要の制御データ領域等が設けられ、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として、座標(x,y,z,t)で処理対象の単位領域を示
すようにした場合に、それをPEアドレスに1対1に対応
させて、各PE1が単位領域を分担して処理するのとする
と、プログラミング上極めて都合がよい。
即ち、そのようにした場合には、各単位領域内及び隣接
領域との相互作用のみに着目したプログラミングを行
い、この同一プログラムを各PE1において、各領域別の
データについて処理すれば、任意の広さの領域の処理
を、分割の細かさに応じた精度で自動的に処理するよう
に構成することができる。
〔発明が解決しようとする問題点〕
前記の方式による処理において、実用的問題における単
位領域の数に対応して必要となるPE数は、しばしば256
×256×256×256程度になることがある。
そのような大規模のシステムを利用できない場合には、
利用可能なPE数に対応した処理を行うように、プログラ
ムを変更しなければならない。
又、そのようにして特定の構成の比較的小規模のシステ
ムに対応するように開発されたプログラムがある場合等
に、より大きなシステムを利用できるようになっても、
そのまゝでは、直ちにそのシステムの利得を受けること
ができないという問題がある。
〔問題点を解決するための手段〕
第1図は、本発明の構成を示すブロック図である。
図において、10はCPで実行されるPE割当部であり、各PE
において、11は割り当てられたPEアドレス及び各PEアド
レスに対応する制御情報を保持する制御ブロック、12は
制御プログラム、13は処理プログラム、14は仮想PEデー
タ領域である。
〔作用〕
CP5はPE割当部10のプログラムを実行して、仮想計算機
システムの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の実行を開始する。
実行において、他の仮想PEのMEにアクセスする命令をフ
ェッチした場合には、制御プログラム12に制御を移し
て、制御ブロック11に保持する仮想PEアドレスを参照し
て相手の仮想PEアドレスがチェックされる。
その結果、相手の仮想PEが自身に割り当てられていた場
合には、自身のME3上の相手仮想PEに対応する仮想PEデ
ータ領域14に対してアクセスを実行する。
又、相手の仮想PEが自身に割り当てられていない場合に
は、例えばCP5に要求を送り、CP5によって相手仮想PE
を処理する実PEを決定し、CP5の指示によって、PE1間
のアクセスパス又はCM4経由でアクセスを実行する。
制御プログラム12は、例えば適当な実行時間を設定し
て、シミュレートする仮想PEを該時間ごとに順次切り換
える等によって、各仮想PEの処理を仮想的に並行に進め
る。
以上の方式により、処理プログラムで予定するシステム
構成と異なる処理装置数のシステムで、同じ処理プログ
ラムによる並列処理を効率良く実行することができる。
〔実施例〕
第1図において、PE割当部10には、実行すべき処理プロ
グラムで予定する計算機システムの構成が、仮想計算機
システム構成データとして保持されているものとする。
CP5はPE割当部10のプログラムを実行して、仮想計算機
システムの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の剰余を示す) とする。
CP5は各PE1に制御プログラム12及び処理プログラム13
をロードして処理を起動させる。
このようにして各PE1が起動されると、EE2によって制
御プログラム12が実行され、割当を受けた1以上の仮想
PEに対応する仮想PEデータ領域14をME3上にとり、その
領域にCP5によって所要の仮想PEの分担するデータのロ
ードを受け、仮想PEの1つを選択して、該仮想PEに代わ
り、EE2による処理プログラム13の実行を開始する。
実行において、他の仮想PEのMEにアクセスする命令をフ
ェッチした場合には、制御プログラム12に制御を移し
て、制御ブロック11を参照して相手の仮想PEアドレスを
チェックする。
その結果、相手の仮想PEが自身に割り当てられていた場
合には、自身のME3上の相手仮想PEに対応する領域にア
クセスを実行する。
又、相手の仮想PEが自身に割り当てられていない場合に
は、例えば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(u,v)が隣接する実PE(u−1,v)、(u+1,v)、
(u,v−1)、(u,v+1)のMEにアクセスするパスを相互に持
つように構成した場合には、仮想PEアドレス(x,y,z,t)
におけるx及びy座標上で隣接する仮想PEに対するアク
セスは、この実装置のアクセスパスを使用して実行され
る。
z及びt座標上で隣接する仮想PE間のアクセスは、すべ
て各実PE1内でのMEアクセスとして処理されるので、何
れの隣接仮想PE間のアクセスも効率良く処理することが
できる。
又、実システムでPE間の直接アクセスパスを設けない場
合には、例えばx座標によって、例えば256個の実PE
に割り当てることにすれば、x座標上で隣接する仮想PE
間のアクセスのみがCM4を経由して間接にアクセスさ
れ、その他は各実PE内でMEアクセスとして処理される。
各PE1において制御プログラム12は、例えば適当な実行
時間を設定して、シミュレートする仮想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)を有する計
    算機システムによって実行する仮想情報処理システムに
    おいて、 該仮想処理装置アドレスの特定の一部次元の値を該処理
    装置(1)のアドレスに変換する所定のアドレス変換によ
    って両アドレス間を対応付け、各該処理装置に対し、該
    対応する仮想処理装置アドレスの仮想処理装置を割り当
    てる手段(10)と、 該処理装置(1)ごとに、該割り当てられた仮想処理装置
    の該ローカル記憶装置に保持されたデータに関して前記
    プログラムの実行をシミュレートする手段(13、14)と、 他の該仮想処理装置の該ローカル記憶装置へのアクセス
    をシミュレートする場合に、該割り当てられている仮想
    処理装置アドレスに基づいて、該アクセス先が当該処理
    装置内か否かを識別し、 該アクセス先が、当該処理装置内であれば、該処理装置
    に保持する該当仮想処理装置のローカル記憶装置へのア
    クセスを実行し、 当該処理装置内でなければ、該当するローカル記憶装置
    を有する仮想処理装置が割り当てられている処理装置へ
    のアクセスを実行することにより、該他の該仮想処理装
    置の該ローカル記憶装置へのアクセスをシミュレートす
    る手段(11、12)とを設けたことを特徴とする仮想情報処
    理システム。
JP61229532A 1986-09-30 1986-09-30 仮想情報処理システム Expired - Lifetime JPH0616279B2 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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