JP2746205B2 - 分散記憶型並列コンピュータシステムにおけるメモリ管理方式 - Google Patents

分散記憶型並列コンピュータシステムにおけるメモリ管理方式

Info

Publication number
JP2746205B2
JP2746205B2 JP7136079A JP13607995A JP2746205B2 JP 2746205 B2 JP2746205 B2 JP 2746205B2 JP 7136079 A JP7136079 A JP 7136079A JP 13607995 A JP13607995 A JP 13607995A JP 2746205 B2 JP2746205 B2 JP 2746205B2
Authority
JP
Japan
Prior art keywords
node
data transfer
page
inter
nodes
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
JP7136079A
Other languages
English (en)
Other versions
JPH08305667A (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.)
NEC Corp
Original Assignee
Nippon Electric Co 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 Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Priority to JP7136079A priority Critical patent/JP2746205B2/ja
Publication of JPH08305667A publication Critical patent/JPH08305667A/ja
Application granted granted Critical
Publication of JP2746205B2 publication Critical patent/JP2746205B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Computer And Data Communications (AREA)
  • Multi Processors (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は分散記憶型並列コンピュ
ータシステムにおけるメモリ管理方式に関する。
【0002】
【従来の技術】プロセッサと主記憶装置とを含むノード
複数台を相互結合網により接続した分散記憶型並列コン
ピュータシステムにおいては、例えば特開平1−194
056号公報に見られるように、ノード間でデータの転
送を行いながら複数のノードで1つのプログラムを並列
に処理することが行われている。
【0003】この種の分散記憶型並列コンピュータシス
テムには、(1)ノード上で実行するプロセスを1つに
限定し、またノード毎に二次記憶装置を保有せず、従っ
てプロセスのスワップアウト,スワップインを実行しな
い形式のものと、(2)ノード毎に二次記憶装置を備え
て、プロセスのスワップアウト,スワップインを行い、
ノード上で多数のプロセスを並行して実行する形式のも
のとがあるが、前者の(1)の形式の場合、他のノード
の処理を待ち合わせているノードでは他のプロセスを実
行することができないので、プロセッサが完全に遊んで
しまい、資源の無駄が多いという問題があるため、一般
には後者の(2)の形式が賞用されている。
【0004】そして、前記(2)の形式の分散記憶型並
列コンピュータシステムにおいては、各ノードのオペレ
ーティングシステム(OS)は、自ノード内だけで処理
が行われているプロセス以外に、他ノード内のプロセス
とデータ交換しながら1つの分散記憶型並列プログラム
を処理しているプロセスも、一律にスワップアウトの対
象としていた。但し、分散記憶型並列プログラムを処理
するプロセスの場合、プロセスどうしで必要に応じてノ
ード間のデータ転送が行われるため、ノード間データ転
送中にそれに必要な主記憶装置上の領域をスワップアウ
トすると、データの転送が失敗する恐れがある。そこ
で、ノード間データ転送処理はシステムコールによって
実現され、各ノード上のオペレーティングシステム(O
S)は、ノード間データ転送にかかるシステムコールを
受け付けると特権命令によって転送するデータをシステ
ム空間内にバッファリングするか、該当ページを主記憶
装置上で固定してスワップアウトされないように保護す
ることにより、ノード間データ転送中にプロセスがスワ
ップアウトされてもデータの転送が失敗しないようにし
ている。
【0005】
【発明が解決しようとする課題】しかしながら、前述の
ように、プロセスがノード間データ転送を行うたびにシ
ステムコールが発行され、転送処理がOSに任される形
態では、ノード間のデータ転送時のシステムコールのオ
ーバヘッドが発生し、転送性能の低下を招く。しかも、
ノード内に複数のプロセッサが存在する場合は、OSの
処理が複数のプロセッサで衝突し、データ転送以外の処
理も含む全体の処理が待たされてしまい、システム全体
の性能低下の原因となる。
【0006】このような問題の解決方法の1つは、ノー
ド間データ転送をシステムコールを発行することなく非
特権命令で実行することである。
【0007】しかしながら、このような形態を従来の分
散記憶型並列コンピュータシステムにそのまま適用する
ことはできない。何故なら、ノード間データ転送を非特
権命令で実行すると、OSはノード間データ転送が行わ
れている領域を認識できないため、ノード間データ転送
中の領域をスワップアウトしてしまい、ノード間データ
転送が失敗してしまう恐れがあるからである。このよう
な恐れを避けるため、前記(1)の形式の分散記憶型並
列コンピュータシステムのようにスワップアウト,スワ
ップインを全く行わないようにすることも考えられる
が、そうすると同時実行可能なプログラムの多重度が極
端に低下するという別の問題を招く。
【0008】そこで本発明の目的は、非特権命令による
ノード間データ転送を行っている分散記憶型並列プログ
ラムが存在するシステムで、ノード間データ転送を妨害
することなくプロセスのスワップを可能にすることにあ
る。
【0009】
【課題を解決するための手段】本発明は上記の目的を達
成するために、相互結合網により接続された複数台のノ
ードから構成され、各ノードが、1台以上のプロセッサ
と、主記憶装置と、該主記憶装置上のイメージをスワッ
プする領域である二次記憶装置と、ノード間データ転送
を非特権命令によって実行できるノード間データ転送装
置とを有する分散記憶型並列コンピュータシステムにお
けるメモリ管理方式において、以下のような構成を採用
している。
【0010】(1)各ノードに、自ノード上で実行され
ているプロセスのうち、ノード間データ転送装置を用い
て他ノード内のプロセスとデータ交換しながら1つの分
散記憶型並列プログラムを処理しているプロセスをスワ
ップアウトの対象から除外し、自ノード内だけで処理が
行われているプロセスのみをスワップアウトの対象とす
るメモリスケジューラを備える構成。
【0011】また、分散記憶型並列プログラムを処理し
ているプロセスもスワップの対象にし得るようにするた
めに、以下の(2)〜(6)の構成を採用している。
【0012】(2)各ノードに、主記憶装置上に固定す
るページを記録するページロックテーブルと、ノード間
データ転送装置を用いて他ノード内のプロセスとデータ
交換しながら1つの分散記憶型並列プログラムを処理し
ているプロセスから指定されたノード間データ転送を行
う領域に対応するページを主記憶装置上に固定すべく前
記ページロックテーブルに記録する領域ロック手段と、
自ノード上で実行されているプロセスのスワップアウト
時、前記ページロックテーブルを参照し、そのプロセス
に対応する主記憶装置上のページのうち、前記ページロ
ックテーブルに記録されているページ以外のページをス
ワップアウトするメモリスケジューラとを備える構成。
【0013】(3)各ノードに、主記憶装置上に固定す
るページを記録するページロックテーブルと、前記ノー
ド間データ転送装置がデータの転送処理を開始する前
に、そのノード間データ転送に必要な領域がスワップア
ウトされていれば前記二次記憶装置から前記主記憶装置
にスワップインするページイン手段と、前記ノード間デ
ータ転送装置がデータの転送処理を開始する前に、その
ノード間データ転送に必要な領域に対応するページをそ
のノード間データ転送が終了するまで主記憶装置上に固
定すべく前記ページロックテーブルに記録する領域ロッ
ク手段と、自ノード上で実行されているプロセスのスワ
ップアウト時、前記ページロックテーブルを参照し、そ
のプロセスに対応する主記憶装置上のページのうち、前
記ページロックテーブルに記録されているページ以外の
ページをスワップアウトするメモリスケジューラとを備
える構成。
【0014】(4)各ノードに、任意の分散記憶型並列
プログラムを実行しているプロセス全てを停止させるプ
ログラム停止手段と、システムに現在存在しているノー
ド間データ転送要求を検索する転送リクエスト確認手段
と、自ノード上で実行されている或るプロセスをスワッ
プアウトの対象に選択したとき、そのプロセスが或る分
散記憶型並列プログラムの処理を行っているプロセスの
場合、その分散記憶型並列プログラムを処理している全
てのプロセスを前記プログラム停止手段により停止させ
た後に、そのスワップアウトの対象に選択したプロセス
に対するノード間データ転送要求が存在しているか否か
を前記転送リクエスト確認手段により調べ、存在してい
ないことを条件に前記スワップアウトの対象に選択した
プロセスを実際にスワップアウトするメモリスケジュー
ラとを備える構成。
【0015】(5)前記(4)の構成に、更に、各ノー
ドに、前記転送リクエスト確認手段による調査の結果、
スワップアウトの対象に選択したプロセスに対するノー
ド間データ転送要求が存在していることが確認された場
合に、そのノード間データ転送が終了するまで待ち合わ
せる転送待ち合わせ手段を備え、前記メモリスケジュー
ラは、前記転送待ち合わせ手段による待ち合わせ後に前
記スワップアウトの対象に選択したプロセスを実際にス
ワップアウトするようにした構成。
【0016】(6)前記(4)の構成に、更に、各ノー
ドに、前記転送リクエスト確認手段による調査の結果、
スワップアウトの対象に選択したプロセスに対するノー
ド間データ転送要求が存在していることが確認された場
合に、そのノード間データ転送に関係する主記憶装置上
のページを確定する転送ページ確定手段を備え、前記メ
モリスケジューラは、前記スワップアウトの対象に選択
したプロセスのページのうち、前記転送ページ確定手段
で確定されたページ以外のページをスワップアウトする
ようにした構成。
【0017】
【作用】(1)の構成の分散記憶型並列コンピュータシ
ステムにおけるメモリ管理方式においては、各ノードに
設けられたメモリスケジューラが、自ノード上で実行さ
れているプロセスのうち、分散記憶型並列プログラムを
処理しているプロセスはスワップアウトの対象から除外
し、自ノード内だけで処理が行われているプロセスのみ
をスワップアウトの対象とする。
【0018】(2)の構成の分散記憶型並列コンピュー
タシステムにおけるメモリ管理方式においては、各ノー
ドに設けられた領域ロック手段が、分散記憶型並列プロ
グラムを処理しているプロセスがその本来の処理を開始
する前に出した要求に従ってそのプロセスが使用するノ
ード間データ転送を行う領域に対応するページを主記憶
装置上に固定すべくページロックテーブルにそのページ
を記録する。そして、各ノードに設けられたメモリスケ
ジューラが、自ノード上で実行されているプロセスのス
ワップアウト時、ページロックテーブルを参照し、その
プロセスに対応する主記憶装置上のページのうち、ペー
ジロックテーブルに記録されているページ以外のページ
をスワップアウトする。
【0019】(3)の構成の分散記憶型並列コンピュー
タシステムにおけるメモリ管理方式においては、各ノー
ドに設けられたページイン手段が、ノード間データ転送
装置がデータの転送処理を開始する前に、そのノード間
データ転送に必要な領域がスワップアウトされていれば
二次記憶装置から主記憶装置にスワップインし、また、
各ノードに設けられた領域ロック手段が、ノード間デー
タ転送装置がデータの転送処理を開始する前に、そのノ
ード間データ転送に必要な領域をそのノード間データ転
送が終了するまで主記憶装置上に固定すべくページロッ
クテーブルに記録を行う。そして、各ノードに設けられ
たメモリスケジューラが、自ノード上で実行されている
プロセスのスワップアウト時、ページロックテーブルを
参照し、そのプロセスに対応する主記憶装置上のページ
のうち、ページロックテーブルに記録されているページ
以外のページをスワップアウトする。
【0020】(4)の構成の分散記憶型並列コンピュー
タシステムにおけるメモリ管理方式においては、各ノー
ドに設けられたメモリスケジューラが、自ノード上で実
行されている或るプロセスをスワップアウトの対象に選
択したとき、そのプロセスが或る分散記憶型並列プログ
ラムの処理を行っているプロセスの場合、その分散記憶
型並列プログラムを処理している全てのプロセスをプロ
グラム停止手段により停止させた後に、そのスワップア
ウトの対象に選択したプロセスに対するノード間データ
転送要求が存在しているか否かを転送リクエスト確認手
段により調べ、存在していないことを条件に前記スワッ
プアウトの対象に選択したプロセスを実際にスワップア
ウトし、存在していた場合にはスワップアウトを中止す
る。
【0021】(5)の構成の分散記憶型並列コンピュー
タシステムにおけるメモリ管理方式においては、前記
(4)の構成において、転送リクエスト確認手段による
調査の結果、スワップアウトの対象に選択したプロセス
に対するノード間データ転送要求が存在していることが
確認された場合に、メモリスケジューラが、転送待ち合
わせ手段により、そのノード間データ転送が終了するま
で待ち合わせた後、前記スワップアウトの対象に選択し
たプロセスを実際にスワップアウトする。
【0022】(6)の構成の分散記憶型並列コンピュー
タシステムにおけるメモリ管理方式においては、前記
(4)の構成において、転送リクエスト確認手段による
調査の結果、スワップアウトの対象に選択したプロセス
に対するノード間データ転送要求が存在していることが
確認された場合に、メモリスケジューラが、転送ページ
確定手段により、そのノード間データ転送に関係する主
記憶装置上のページを確定し、前記スワップアウトの対
象に選択したプロセスのページのうち、前記確定された
ページ以外のページをスワップアウトする。
【0023】
【実施例】次に本発明の実施例について図面を参照して
詳細に説明する。
【0024】図1は本発明を適用する分散記憶型並列コ
ンピュータシステムのハードウェア構成例を示すブロッ
ク図である。同図において、1−1〜1−nはノード、
6はノード1−1〜1−nどうしを接続する相互結合網
である。各ノード1−1〜1−n内には、ノード1−n
に例示するように、1つ或いは複数のプロセッサ2−1
〜2−mと、主記憶装置3と、主記憶装置3上のイメー
ジをスワップする領域である二次記憶装置4と、ノード
間データ転送要求を受け付け相互結合網6を通じてノー
ド間のデータ転送処理を実行するノード間データ転送装
置5とが備えられている。ここで、ノード間データ転送
はシステムコールを発行することなく非特権命令で実行
できるようになっている。
【0025】図2は本発明の分散記憶型並列コンピュー
タシステムにおけるメモリ管理方式の第1実施例のブロ
ック図であり、図1と同一符号は同一部分を示し、7は
OS(オペレーティングシステム)、8−1,8−2は
プロセス、9は分散記憶型並列プログラム、10はメモ
リスケジューラ、16は転送リクエストテーブルであ
る。ノード1−1〜1−nは全て同じ装置および手段を
有しているので、図2ではノード1−nにのみ詳細を記
述してある。各ノード1−1〜1−nは、ノード1−n
内に例示されるように、主記憶装置3と、スワップ領域
である二次記憶装置4と、ノード間データ転送を非特権
命令によって実行できるノード間データ転送装置5と、
実行待ちのノード間転送要求を格納しておく転送リクエ
ストテーブル16と、OS7とを有している。
【0026】各々のノードで実行される処理の単位であ
る8−1,8−2のようなプロセスは、各ノード上に複
数存在し、各々のノード上のOS7によって管理されて
いる。ここで、ノード1−n上のプロセス8−2は、ノ
ード外とデータ転送を行わず自ノード内だけで処理が行
われているプロセスを示す。また、プロセス8−1は、
分散記憶型並列プログラム9を実行しているプロセスを
示す。即ち、プロセス8−1は、ノード間データ転送装
置5を用いて他ノード内の分散記憶型並列プログラム9
を実行するプロセスとデータ交換しながら処理を進める
プロセスである。図2では、分散記憶型並列プログラム
を実行しているプロセスとして8−1、ノード外とデー
タ転送を行わないプロセスとして8−2だけを示した
が、実際にはそれぞれのプロセスがノード上に複数存在
する。なお、このようなプロセスの種別はOS7の管理
する図示しないテーブルに記録されており、メモリスケ
ジューラ10はそのテーブルによりプロセスの種別を識
別することができるようになっている。
【0027】本実施例では、プロセス8−2が使用する
メモリは、主記憶装置3または二次記憶装置4に存在
し、必要に応じてスワップイン,スワップアウトが行わ
れる。他方、プロセス8−1が使用するメモリは主記憶
装置3に存在し、スワップの対象とはならない。スワッ
プアウト処理はOS7の一部であるメモリスケジューラ
10が行う。スワップイン処理はメモリスケジューラ1
0が行う場合とプロセスが自ら行う場合があり得る。
【0028】分散記憶型並列プログラム9の処理は各ノ
ード1−1〜1−n上のプロセスに分割されている。ノ
ード1−n上のプロセス8−1は分散記憶型並列プログ
ラム9の処理を行う1つのプロセスである。1つのノー
ドに同じ分散記憶型並列プログラムの処理を行うプロセ
スが複数存在することもあり得る。
【0029】プロセス8−1は必要に応じてノード間デ
ータ転送装置5を用いて他ノードのプロセス(分散記憶
型並列プログラム9を処理する他のプロセス)と相互に
データ転送を行う。プロセス8−1はノード間データ転
送を必要とする場合、転送元プロセス,転送先プロセ
ス,ノード間データ転送に使う領域等を指定したノード
間データ転送要求を発行する。プロセス8−1から発行
されたノード間データ転送要求は、ノード間データ転送
装置5で受け付けられて転送リクエストテーブル16に
一旦蓄積され、その後順番にノード間データ転送装置5
で実行される。ノード間データ転送要求を発行したプロ
セス8−1はその転送が終了するまで待ち合わせる。他
ノードのプロセスの領域を複写する領域、あるいは、他
ノードのプロセスから参照される領域は主記憶装置上に
存在している必要がある。
【0030】メモリスケジューラ10は、プロセスの種
別を識別し、スワップアウト処理において、プロセス8
−1のように分散記憶型並列プログラムの処理を実行し
ているプロセスは、全てスワップアウトの対象から除外
し、プロセス8−2のようにノード間データ転送を行わ
ないプロセスのみをスワップアウト対象とする。これに
より、ノード間データ転送を行っている領域が主記憶装
置3に存在することを保証しながらスワップを行うこと
ができる。
【0031】図3は本発明の分散記憶型並列コンピュー
タシステムにおけるメモリ管理方式の第2実施例のブロ
ック図であり、図2と同一符号は同一部分を示し、11
は領域ロック手段、12はページロックテーブルであ
る。この第2の実施例では、図2の第1実施例と異な
り、OS7のメモリスケジューラ10は、プロセス8−
1のように分散記憶型並列プログラムの処理を実行して
いるプロセスをもスワップアウト対象とする。また、O
S7は、領域ロック手段11とページロックテーブル1
2とを有している。ここで、領域ロック手段11は、主
記憶装置3上の領域を固定しておくための手段であり、
ページロックテーブル12はその固定された領域を示す
情報を記録しておくテーブルである。
【0032】分散記憶型並列プログラム9の処理を行っ
ているプロセス8−1は、本来の処理の開始に先立っ
て、予めノード間データ転送に必要な主記憶装置3上の
領域を指定して領域ロック手段11に要求を出す。領域
ロック手段11は、この指定された領域に対応するペー
ジを主記憶装置上に固定すべく、そのページの情報をペ
ージロックテーブル12に記録する。メモリスケジュー
ラ10は、プロセス8−1をスワップアウトする際に
は、ページロックテーブル12を参照し、プロセス8−
1に対応する主記憶装置3上のページのうち、ページロ
ックテーブル12に記録されているページ以外のページ
をスワップアウトする。これにより、ノード間データ転
送を行っているプロセスも、そのノード間データ転送を
妨害することなくスワップすることができる。
【0033】図4は本発明の分散記憶型並列コンピュー
タシステムにおけるメモリ管理方式の第3実施例のブロ
ック図であり、図3と同一符号は同一部分を示し、17
はページイン手段である。図3の第2実施例では、ノー
ド間データ転送に必要な領域をプロセス8−1が領域ロ
ック手段11に要求を出すことにより予め固定化してい
たのに対し、図4の第3の実施例では、分散記憶型並列
プログラム9の処理を行っているプロセス8−1がノー
ド間データ転送装置5に対してノード間データ転送要求
を発行した場合、および、他ノードのプロセスがプロセ
ス8−1の領域に対してノード間データ転送要求を発行
してきた場合に、ノード間データ転送装置5がそのデー
タの転送処理を開始する前に、ノード間データ転送要求
内の情報から認識したノード間データ転送に必要な領域
を領域ロック手段11により固定化してページロックテ
ーブル12に記録させる。メモリスケジューラ10は、
図3の第2実施例と同様に、プロセス8−1をスワップ
アウトする際には、ページロックテーブル12を参照
し、プロセス8−1に対応する主記憶装置3上のページ
のうち、ページロックテーブル12に記録されているペ
ージ以外のページをスワップアウトする。これにより、
ノード間データ転送を行っているプロセスも、そのノー
ド間データ転送を妨害することなくスワップすることが
できる。
【0034】また、ノード間データ転送装置5は、ノー
ド間データ転送が終了すると、領域ロック手段11によ
り、ノード間データ転送の終了した領域に対応するペー
ジの記録をページロックテーブル12から削除すること
によりその固定化を解除する。従って、ノード間データ
転送に必要な領域であっても実際にノード間データ転送
中でなければスワップアウトの対象となる。
【0035】なお、このようにノード間データ転送中で
なければノード間データ転送に必要な領域もスワップア
ウトされるので、プロセス8−1がノード間データ転送
装置5に対してノード間データ転送要求を発行した場
合、および、他ノードのプロセスがプロセス8−1の領
域に対してノード間データ転送要求を発行してきた場
合、そのノード間データ転送に必要な領域が二次記憶装
置4にスワップアウトされていることがある。このた
め、ノード間データ転送装置5は、ノード間データ転送
に必要な領域が二次記憶装置4にスワップアウトされて
いた場合はページイン手段17を用いて主記憶装置3に
スワップインし、その後に前述したように領域ロック手
段11による固定化を実施するようにしている。
【0036】図5は本発明の分散記憶型並列コンピュー
タシステムにおけるメモリ管理方式の第4実施例のブロ
ック図であり、図2と同一符号は同一部分を示し、13
はプログラム停止手段、14は転送リクエスト確認手段
である。この第4実施例では、図2の第1実施例と異な
り、図3および図4の実施例と同様に、OS7のメモリ
スケジューラ10は、プロセス8−1のように分散記憶
型並列プログラムの処理を実行しているプロセスをもス
ワップアウト対象とする。また、OS7は、プログラム
停止手段13と転送リクエスト確認手段14とを有して
いる。ここで、プログラム停止手段13は、プロセス8
−1のように分散記憶型並列プログラム9の処理を行っ
ている自ノード内のプロセス全てを停止し、さらに、ノ
ード間データ転送装置5を経由して、他ノードのプログ
ラム停止手段に指示を出し、他ノードで分散記憶型並列
プログラム9の処理を行っているプロセスも全て停止さ
せる手段である。また、転送リクエスト確認手段14
は、自ノードの転送リクエストテーブル16および他ノ
ードの転送リクエストテーブル16から、メモリスケジ
ューラ10がスワップアウト対象に選択したプロセスに
対するノード間データ転送要求を確認する手段である。
【0037】OS7のメモリスケジューラ10は、分散
記憶型並列プログラム9の処理を行っているプロセス8
−1をスワップアウトの対象に選ぶと、先ず、プログラ
ム停止手段13を起動する。プログラム停止手段13
は、プロセス8−1および同分散記憶型並列プログラム
9の処理を行っている自ノード内のプロセス全てを停止
し、さらに、ノード間データ転送装置5を経由して、他
ノードのプログラム停止手段に指示を出して、他ノード
で分散記憶型並列プログラム9の処理を行っているプロ
セスも全て停止する。このように、スワップアウトの対
象に選択したプロセス8−1に対してノード間データ転
送が新たに発行されない状態にした後、メモリスケジュ
ーラ10は転送リクエスト確認手段14およびノード間
データ転送装置5を用いて、全ノードの転送リクエスト
テーブル16を検索し、スワップアウトするプロセス8
−1に対するノード間データ転送要求が存在するか否か
を確認する。そして、存在しなければ、プロセス8−1
を実際にスワップアウトする。また、存在すれば、プロ
セス8−1のスワップアウトは中止する。このように、
本実施例では、ノード間データ転送を行う可能性のある
プロセス8−1を、ノード間データ転送処理を行ってい
ないことを条件にスワップアウトすることができる。
【0038】なお、メモリスケジューラ10は、プロセ
ス8−1のスワップアウトを中止した場合、プログラム
停止手段13によって、前記停止させた分散記憶型並列
プログラム9を処理する全プロセスを再開させる。ま
た、プロセス8−1をスワップアウトした場合、他のプ
ロセスの停止を解除する。
【0039】図6は本発明の分散記憶型並列コンピュー
タシステムにおけるメモリ管理方式の第5実施例のブロ
ック図であり、図5と同一符号は同一部分を示し、15
は転送待ち合わせ手段である。図5に示される第4実施
例では、スワップアウトの対象に選択したプロセス8−
1に対するノード間データ転送要求が存在した場合、そ
のスワップアウトを中止していたが、本実施例では、そ
の存在したノード間データ転送が終了するまで待ち合わ
せる転送待ち合わせ手段15をOS7に設け、メモリス
ケジューラ10はこの転送待ち合わせ手段15による待
ち合わせ後に、プロセス8−1を実際にスワップアウト
するようにしている。これにより、メモリスケジューラ
10は、分散記憶型並列プログラム9の処理を行ってい
るプログラム8−1をスワップアウト対象に選択した場
合、確実にスワップアウトすることができる。なお、転
送待ち合わせ手段15は、前記存在したノード間データ
転送要求の処理が終了したか否かを、転送リクエスト確
認手段14によりノード間データ転送要求の存否を繰り
返し確認することで判断している。
【0040】図7は本発明の分散記憶型並列コンピュー
タシステムにおけるメモリ管理方式の第6実施例のブロ
ック図であり、図5と同一符号は同一部分を示し、18
は転送ページ確定手段18である。図5に示される第4
実施例では、スワップアウトの対象に選択したプロセス
8−1に対するノード間データ転送要求が存在した場
合、そのスワップアウトを中止していたが、本実施例で
は、その存在したノード間データ転送要求がプロセス8
−1のどのページに当たるかを、転送リクエスト確認手
段14から取得した該当するノード間データ転送要求に
基づいて転送ページ確定手段18で判断し、メモリスケ
ジューラ10は、スワップアウトの対象に選択したプロ
セス8−1のページのうち、ノード間データ転送に関係
の無いページのみをスワップアウトするようにしてい
る。これにより、図6の第5実施例のようにノード間デ
ータ転送の終了を待ち合わせることなく、メモリスケジ
ューラ10は、分散記憶型並列プログラム9の処理を行
っているプログラム8−1をスワップアウトすることが
できる。
【0041】
【発明の効果】以上説明したように本発明によれば、以
下のような効果を得ることができる。
【0042】請求項1記載の構成によれば、自ノード内
だけで処理が行われているプロセスはスワップアウト対
象となるので、全プロセスをスワップアウト対象外にす
る場合に比べてプログラム実行の多重度が上がり、分散
記憶型並列プログラムを処理しているプロセスはスワッ
プアウトされないので、ノード間データ転送中の領域を
スワップアウトしてしまうことがなく、ノード間データ
転送が失敗しない。従って、非特権命令によるノード間
データ転送を行っている分散記憶型並列プログラムが存
在するシステムで、ノード間データ転送を妨害すること
なくスワップ処理が一部実現できる。
【0043】請求項2記載の構成によれば、分散記憶型
並列プロセスもスワップアウト対象としたことによりプ
ログラム実行の多重度が更に向上し、そして、分散記憶
型並列プログラムを処理するプロセスがノード間データ
転送に使う領域はスワップアウトされないので、ノード
間データ転送中の領域がスワップアウトされてしまうこ
とがなく、ノード間データ転送は失敗しない。
【0044】請求項3記載の構成によれば、分散記憶型
並列プロセスもスワップアウト対象としたことによりプ
ログラム実行の多重度が更に向上し、そして、分散記憶
型並列プログラムを処理するプロセスがノード間データ
転送に使う領域はスワップアウトされないので、ノード
間データ転送中の領域がスワップアウトされてしまうこ
とがなく、ノード間データ転送は失敗しない。また、請
求項2記載の構成に比べると、ノード間データ転送に使
う領域がノード間データ転送中に限って固定化されるた
め、ノード間データ転送中でない場合はノード間データ
転送にかかる領域もスワップアウト対象になり、その
分、プログラムの多重度を更に上げられる。
【0045】請求項4記載の構成によれば、分散記憶型
並列プロセスもスワップアウト対象としたことによりプ
ログラム実行の多重度が更に向上し、そして、ノード間
データ転送中のプロセスはスワップアウトされないの
で、ノード間データ転送は失敗しない。また、スワップ
アウト対象に選んだプロセスに関するノード間データ転
送要求が存在した場合にはスワップアウトを中止するの
で、スワップ処理のためにノード間データ転送のオーバ
ヘッドが増加することがない。
【0046】請求項5記載の構成によれば、分散記憶型
並列プロセスもスワップアウト対象としたことによりプ
ログラム実行の多重度が更に向上し、そして、ノード間
データ転送中のプロセスはスワップアウトされないの
で、ノード間データ転送は失敗しない。また、スワップ
アウト対象に選んだプロセスに関するノード間データ転
送要求が存在した場合には、それが終了するまで待ち合
わせてからスワップアウトするので、スワップアウト対
象に選択したプロセスは確実にスワップアウトできると
共に、スワップ処理のためにノード間データ転送のオー
バヘッドが増加することがない。
【0047】請求項6記載の構成によれば、分散記憶型
並列プロセスもスワップアウト対象としたことによりプ
ログラム実行の多重度が更に向上し、そして、スワップ
アウト対象に選んだプロセスに関するノード間データ転
送要求が存在した場合には、そのノード間データ転送要
求がどのページに該当するかを調べ、該当しないページ
のみをスワップアウトするので、ノード間データ転送は
失敗せず、また、ノード間データ転送の終了を待ち合わ
せることなく、スワップアウト対象にしたプロセスをス
ワップアウトできるので、スワップ処理が待ち合わせ処
理などによって必要以上に停止することがない。
【図面の簡単な説明】
【図1】本発明を適用する分散記憶型並列コンピュータ
システムのハードウェア構成例を示すブロック図であ
る。
【図2】本発明の第1実施例のブロック図である。
【図3】本発明の第2実施例のブロック図である。
【図4】本発明の第3実施例のブロック図である。
【図5】本発明の第4実施例のブロック図である。
【図6】本発明の第5実施例のブロック図である。
【図7】本発明の第6実施例のブロック図である。
【符号の説明】
1−1〜1−n…ノード 2−1〜2−m…プロセッサ 3…主記憶装置 4…二次記憶装置 5…ノード間データ転送装置 6…相互結合網 7…オペレーティングシステム(OS) 8−1…分散記憶型並列プログラムを処理するプロセス 8−1…自ノード内だけで処理が行われるプロセス 9…分散記憶型並列プログラム 10…メモリスケジューラ 11…領域ロック手段 12…ページロックテーブル 13…プログラム停止手段 14…転送リクエスト確認手段 15…転送待ち合わせ手段 16…転送リクエストテーブル 17…ページイン手段 18…転送ページ確定手段

Claims (6)

    (57)【特許請求の範囲】
  1. 【請求項1】 相互結合網により接続された複数台のノ
    ードから構成され、各ノードが、1台以上のプロセッサ
    と、主記憶装置と、該主記憶装置上のイメージをスワッ
    プする領域である二次記憶装置と、ノード間データ転送
    を非特権命令によって実行できるノード間データ転送装
    置とを有する分散記憶型並列コンピュータシステムにお
    けるメモリ管理方式であって、 各ノードに、自ノード上で実行されているプロセスのう
    ち、ノード間データ転送装置を用いて他ノード内のプロ
    セスとデータ交換しながら1つの分散記憶型並列プログ
    ラムを処理しているプロセスをスワップアウトの対象か
    ら除外し、自ノード内だけで処理が行われているプロセ
    スのみをスワップアウトの対象とするメモリスケジュー
    ラを備えることを特徴とする分散記憶型並列コンピュー
    タシステムにおけるメモリ管理方式。
  2. 【請求項2】 相互結合網により接続された複数台のノ
    ードから構成され、各ノードが、1台以上のプロセッサ
    と、主記憶装置と、該主記憶装置上のイメージをスワッ
    プする領域である二次記憶装置と、ノード間データ転送
    を非特権命令によって実行できるノード間データ転送装
    置とを有する分散記憶型並列コンピュータシステムにお
    けるメモリ管理方式であって、 各ノードに、主記憶装置上に固定するページを記録する
    ページロックテーブルと、ノード間データ転送装置を用
    いて他ノード内のプロセスとデータ交換しながら1つの
    分散記憶型並列プログラムを処理しているプロセスから
    指定されたノード間データ転送を行う領域に対応するペ
    ージを主記憶装置上に固定すべく前記ページロックテー
    ブルに記録する領域ロック手段と、自ノード上で実行さ
    れているプロセスのスワップアウト時、前記ページロッ
    クテーブルを参照し、そのプロセスに対応する主記憶装
    置上のページのうち、前記ページロックテーブルに記録
    されているページ以外のページをスワップアウトするメ
    モリスケジューラとを備えることを特徴とする分散記憶
    型並列コンピュータシステムにおけるメモリ管理方式。
  3. 【請求項3】 相互結合網により接続された複数台のノ
    ードから構成され、各ノードが、1台以上のプロセッサ
    と、主記憶装置と、該主記憶装置上のイメージをスワッ
    プする領域である二次記憶装置と、ノード間データ転送
    を非特権命令によって実行できるノード間データ転送装
    置とを有する分散記憶型並列コンピュータシステムにお
    けるメモリ管理方式であって、 各ノードに、主記憶装置上に固定するページを記録する
    ページロックテーブルと、前記ノード間データ転送装置
    がデータの転送処理を開始する前に、そのノード間デー
    タ転送に必要な領域がスワップアウトされていれば前記
    二次記憶装置から前記主記憶装置にスワップインするペ
    ージイン手段と、前記ノード間データ転送装置がデータ
    の転送処理を開始する前に、そのノード間データ転送に
    必要な領域に対応するページをそのノード間データ転送
    が終了するまで主記憶装置上に固定すべく前記ページロ
    ックテーブルに記録する領域ロック手段と、自ノード上
    で実行されているプロセスのスワップアウト時、前記ペ
    ージロックテーブルを参照し、そのプロセスに対応する
    主記憶装置上のページのうち、前記ページロックテーブ
    ルに記録されているページ以外のページをスワップアウ
    トするメモリスケジューラとを備えることを特徴とする
    分散記憶型並列コンピュータシステムにおけるメモリ管
    理方式。
  4. 【請求項4】 相互結合網により接続された複数台のノ
    ードから構成され、各ノードが、1台以上のプロセッサ
    と、主記憶装置と、該主記憶装置上のイメージをスワッ
    プする領域である二次記憶装置と、ノード間データ転送
    を非特権命令によって実行できるノード間データ転送装
    置とを有する分散記憶型並列コンピュータシステムにお
    けるメモリ管理方式であって、 各ノードに、任意の分散記憶型並列プログラムを実行し
    ているプロセス全てを停止させるプログラム停止手段
    と、システムに現在存在しているノード間データ転送要
    求を確認する転送リクエスト確認手段と、自ノード上で
    実行されている或るプロセスをスワップアウトの対象に
    選択したとき、そのプロセスが或る分散記憶型並列プロ
    グラムの処理を行っているプロセスの場合、その分散記
    憶型並列プログラムを処理している全てのプロセスを前
    記プログラム停止手段により停止させた後に、そのスワ
    ップアウトの対象に選択したプロセスに対するノード間
    データ転送要求が存在しているか否かを前記転送リクエ
    スト確認手段により調べ、存在していないことを条件に
    前記スワップアウトの対象に選択したプロセスを実際に
    スワップアウトするメモリスケジューラとを備えること
    を特徴とする分散記憶型並列コンピュータシステムにお
    けるメモリ管理方式。
  5. 【請求項5】 各ノードに、前記転送リクエスト確認手
    段による調査の結果、スワップアウトの対象に選択した
    プロセスに対するノード間データ転送要求が存在してい
    ることが確認された場合に、そのノード間データ転送が
    終了するまで待ち合わせる転送待ち合わせ手段を備え、
    前記メモリスケジューラは、前記転送待ち合わせ手段に
    よる待ち合わせ後に前記スワップアウトの対象に選択し
    たプロセスを実際にスワップアウトすることを特徴とす
    る請求項4記載の分散記憶型並列コンピュータシステム
    におけるメモリ管理方式。
  6. 【請求項6】 各ノードに、前記転送リクエスト確認手
    段による調査の結果、スワップアウトの対象に選択した
    プロセスに対するノード間データ転送要求が存在してい
    ることが確認された場合に、そのノード間データ転送に
    関係する主記憶装置上のページを確定する転送ページ確
    定手段を備え、前記メモリスケジューラは、前記スワッ
    プアウトの対象に選択したプロセスのページのうち、前
    記転送ページ確定手段で確定されたページ以外のページ
    をスワップアウトすることを特徴とする請求項4記載の
    分散記憶型並列コンピュータシステムにおけるメモリ管
    理方式。
JP7136079A 1995-05-10 1995-05-10 分散記憶型並列コンピュータシステムにおけるメモリ管理方式 Expired - Fee Related JP2746205B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7136079A JP2746205B2 (ja) 1995-05-10 1995-05-10 分散記憶型並列コンピュータシステムにおけるメモリ管理方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7136079A JP2746205B2 (ja) 1995-05-10 1995-05-10 分散記憶型並列コンピュータシステムにおけるメモリ管理方式

Publications (2)

Publication Number Publication Date
JPH08305667A JPH08305667A (ja) 1996-11-22
JP2746205B2 true JP2746205B2 (ja) 1998-05-06

Family

ID=15166756

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7136079A Expired - Fee Related JP2746205B2 (ja) 1995-05-10 1995-05-10 分散記憶型並列コンピュータシステムにおけるメモリ管理方式

Country Status (1)

Country Link
JP (1) JP2746205B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101276600B1 (ko) * 2011-10-13 2013-06-19 강릉원주대학교산학협력단 프로세서 간 데이터 통신방법, 이 방법을 구현하는 코드를 포함하는 컴퓨터로 읽을 수 있는 매체, 및 멀티 프로세서 컴퓨팅 시스템

Also Published As

Publication number Publication date
JPH08305667A (ja) 1996-11-22

Similar Documents

Publication Publication Date Title
EP0618532B1 (en) Deadlock detecting device
JP4252139B2 (ja) 記憶装置システム
US7870296B2 (en) High availability system and execution state control method
JP5213485B2 (ja) マルチプロセッサシステムにおけるデータ同期方法及びマルチプロセッサシステム
US5678062A (en) Input/output control method and data processor
JP2746205B2 (ja) 分散記憶型並列コンピュータシステムにおけるメモリ管理方式
US5613133A (en) Microcode loading with continued program execution
KR100978082B1 (ko) 공유 메모리형 멀티 프로세서에 있어서의 비동기 원격 절차 호출 방법 및 비동기 원격 절차 호출 프로그램을 기록한 컴퓨터로 판독 가능한 기록 매체
JP3698458B2 (ja) 多層バスシステムにおけるバストランザクションの順序付けの方法及びコンピュータシステム
JP2003271404A (ja) マルチプロセッサシステム
JPH04291660A (ja) プロセッサ間通信方法およびそのための並列プロセッサ
KR100978083B1 (ko) 공유 메모리형 멀티 프로세서에 있어서의 절차 호출 방법 및 절차 호출 프로그램을 기록한 컴퓨터로 판독 가능한 기록 매체
JP2677249B2 (ja) マルチプロセッサシステムのプログラムデバッグ方法およびデバッガ
JPH0666060B2 (ja) バス優先権制御方式
JP2972772B1 (ja) 系間通信システム及び系間通信制御方法
JP2825839B2 (ja) デッドロック検出処理方式
JP3324484B2 (ja) ファイル共有システム、排他制御方法、排他制御処理プログラムを記録した記録媒体
JPH07234848A (ja) 計算機システムにおける二重化方式
JPH07234850A (ja) マルチプロセッサの装置と方法
JPH0926907A (ja) ロック制御器
JPS6138504B2 (ja)
JPH1115700A (ja) 周辺処理装置における障害データ収集方式
JPH02129724A (ja) プログラム実行方式
JPH10161985A (ja) プロセッサ割付方法およびマルチプロセッサ計算機システム
JPH01280858A (ja) 主記憶装置のロック制御方式

Legal Events

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

Free format text: PAYMENT UNTIL: 20080213

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20090213

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20100213

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20100213

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20110213

Year of fee payment: 13

LAPS Cancellation because of no payment of annual fees