JPH07152710A - マルチプロセサシステム - Google Patents

マルチプロセサシステム

Info

Publication number
JPH07152710A
JPH07152710A JP5296473A JP29647393A JPH07152710A JP H07152710 A JPH07152710 A JP H07152710A JP 5296473 A JP5296473 A JP 5296473A JP 29647393 A JP29647393 A JP 29647393A JP H07152710 A JPH07152710 A JP H07152710A
Authority
JP
Japan
Prior art keywords
page
data
secondary storage
local memory
storage device
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.)
Withdrawn
Application number
JP5296473A
Other languages
English (en)
Inventor
Toru Kitamura
徹 北村
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.)
Sanyo Electric Co Ltd
Original Assignee
Sanyo 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 Sanyo Electric Co Ltd filed Critical Sanyo Electric Co Ltd
Priority to JP5296473A priority Critical patent/JPH07152710A/ja
Publication of JPH07152710A publication Critical patent/JPH07152710A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 【構成】 或る要素プロセサ(#1)が要求するデータ
がその要素プロセサと接続されるローカルメモリ(#
1)に存在しない、いわゆるページフォルトが生じた場
合、ローカルメモリ(#1)の1つのページ内のデータ
をインタリーブして複数の2次記憶装置#1〜#10に
蓄えてページアウトし、同じように、要素プロセサが要
求するデータを2次記憶装置から当該ローカルメモリに
取り込む、いわゆるページインについても、インタリー
ブして蓄えられたデータをそのローカルメモリに順次読
み出す。 【効果】 ページフォルトが生じたときの処理の高速化
が図れる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明はマルチプロセサシステ
ムに関し、特にたとえば各要素プロセサにそれぞれ接続
される分散メモリ(ローカルメモリ)と各要素プロセサ
が共有するデータを蓄える共有メモリ(2次記憶)とを
有し仮想記憶を用いる超並列システムに適用される、マ
ルチプロセサシステムに関する。
【0002】
【従来の技術】近年、要素プロセサを複数台接続し、そ
れらの複数の要素プロセサを用いて並列処理を行うこと
によって、計算機の高速化および高機能化を達成しよう
とする研究、すなわちマルチプロセサシステムに関する
研究が盛んである。このようなマルチプロセサシステム
の1つに仮想記憶を用いたものがある。仮想記憶を用い
ることによって、各要素プロセサに個別に接続される分
散メモリの物理的な大きさを意識せずにプログラミング
が行えるような環境を提供できる。一般的には、図6に
示すマルチプロセサシステム1のように、仮想記憶を行
う際に補助記憶装置としてハードディスクのような2次
記憶装置2が用いられる。
【0003】仮想記憶を用いたマルチプロセサシステム
1において、膨大なデータを扱うためには、図6に示す
ように、膨大なデータを蓄えるための複数の2次記憶装
置2および多数の要素プロセサ4が必要となる。すなわ
ち、図6に示すマルチプロセサシステム1では、各要素
プロセサ4にはローカルメモリ5が接続され、ローカル
メモリ5は相互に相互結合網8で接続される。そして、
相互結合網8には複数の2次記憶装置2が接続される。
【0004】図7に示すように、ローカルメモリ3およ
び2次記憶装置2のそれぞれの物理アドレスは、複数の
領域に分割され(分割された各領域を「ページ」とい
う)、ローカルメモリ3上の各ページは2次記憶装置2
上のページにマッピングされている。ローカルメモリ3
上に存在するデータは大きな仮想アドレス空間上の一部
である。
【0005】要素プロセサ4が要求する仮想アドレス空
間上のデータがローカルメモリ3上に存在しないとき
(「ページフォルト」という)は、ローカルメモリ3上
の1つのページ5を2次記憶装置2上の対応するページ
6に書き込み(「ページアウト」という)、ローカルメ
モリ3上のページ5に必要なデータをページ単位で2次
記憶装置2から(ここでは2次記憶装置2上のページ7
から)読み出す(「ページイン」という)。
【0006】
【発明が解決しようとする課題】このような仮想記憶を
用いるマルチプロセサシステム1においては、要素プロ
セサ4の各々についてはページフォルトの起こる頻度が
少ないものであっても、多数の要素プロセサ4が用いら
れるため、マルチプロセサシステム1全体としてはペー
ジフォルトが頻繁に起こることが予想される。したがっ
て、ページフォルトによるデータの転送が頻繁に行われ
ることになる。
【0007】このような場合、相互結合網8の通信速度
を向上させることによって、データ転送の高速化を図る
ことは可能である。しかし、一般的に2次記憶装置2と
して用いられるハードディスクなどは、データアクセス
速度が高速ではない。したがって、ページフォルトが起
こるたびに、すなわち頻繁に、ページフォルトを起こし
た要素プロセサ4は、処理を待たなければならない。特
に、同一ページ内のデータが同一の2次記憶装置に書き
込まれるので、1つのデータを書き込むたびに、そのデ
ータの書き込みが終了するのを要素プロセサは待たなけ
ればならず、したがって、1つのページを全て書き込む
には多くの時間を必要とする。その結果、システムの性
能低下を招くという問題点があった。
【0008】それゆえに、この発明の主たる目的は、ペ
ージフォルトが生じても高速に処理できる、マルチプロ
セサシステムを提供することである。
【0009】
【課題を解決するための手段】この発明は、複数の要素
プロセサ、複数の要素プロセサにそれぞれ接続されかつ
ページングされる複数のローカルメモリ、複数のローカ
ルメモリを相互に接続する相互結合網、および相互結合
網に結合される複数の2次記憶装置を含み、仮想記憶を
用いるマルチプロセサシステムにおいて、ページフォル
トを生じたローカルメモリ上の或るページのデータを複
数の2次記憶装置に順次インタリーブして蓄えるように
ページアウトし、複数の2次記憶装置にインタリーブし
て蓄えられたデータをローカルメモリ上の或るページに
順次書き込むようにページインするようにしたことを特
徴とする、マルチプロセサシステムである。
【0010】
【作用】或る要素プロセサが要求するデータがその要素
プロセサと接続されるローカルメモリに存在しない場
合、すなわちページフォルトが生じた場合、そのローカ
ルメモリ上の1つのページをページアウトするとき、そ
のページ内のデータをたとえば1ワードずつ複数の2次
記憶装置にインタリーブして蓄えるので、或る2次記憶
装置へのデータの書き込みが終了しないうちに、次のデ
ータを次の2次記憶装置に書き込むことができ、ページ
アウトに要する時間が大幅に短縮される。また、ページ
インについても同様である。
【0011】
【発明の効果】この発明によれば、ローカルメモリ上の
データを複数の2次記憶装置にインタリーブして蓄える
ので、ページフォルト時のページアウトを複数の2次記
憶装置に並行して、またページインを複数の2次記憶装
置から並行して行える。したがって、ページフォルトに
伴うページアウトおよびページインの処理を高速に行え
る。特に、要素プロセサおよびそれに接続されるローカ
ルメモリの数が多い超並列マルチプロセサシステムにお
いて、ページフォルトがシステム全体として頻繁に起こ
る場合であっても、ページフォルトによる性能低下を大
幅に抑えることができる。
【0012】この発明の上述の目的,その他の目的,特
徴および利点は、図面を参照して行う以下の実施例の詳
細な説明から一層明らかとなろう。
【0013】
【実施例】図1を参照して、この実施例のマルチプロセ
サシステム10は複数の要素プロセサ12を含み、それ
ぞれの要素プロセサ12にはそれぞれローカルメモリ1
4が接続される。この実施例では説明を簡単にするため
に、要素プロセサ12およびローカルメモリ14の数を
それぞれ#1〜#100の100個とする。ローカルメ
モリ14はページングされ、各ページが後述する複数の
2次記憶装置18のキャッシュメモリとして利用され
る。この実施例では、ローカルメモリ14は、P1〜P
4の4つの領域(ページ)に分割(ページング)され、
表1に示すページテーブル1で、ローカルメモリ14上
の各ページと仮想アドレス空間との対応がとられてい
る。ここで、ローカルメモリ14のページサイズはたと
えば100ワードとする。したがって、たとえば表1の
ローカルメモリ番号#1,ページ番号P1の仮想アドレ
ス範囲は、「9900〜9999」となる。
【0014】
【表1】
【0015】それぞれのローカルメモリ14は、相互に
相互結合網16によって接続され、相互結合網16には
複数の2次記憶装置18が結合される。複数の2次記憶
装置18は、複数の要素プロセサ12が共有するメモリ
システムとして利用される。説明を簡単にするため、こ
の実施例では2次記憶装置18の数は#1〜#10の1
0個とする。2次記憶装置18上の各ページについても
仮想アドレス空間との対応が、表2のページテーブル2
のようにとられている。すなわち、表2に、仮想アドレ
スと実際にデータが蓄えられている2次記憶装置18上
の物理アドレスとの対応を示す。ただし、2次記憶装置
18のページ数および物理アドレスは非常に膨大である
ので、仮想アドレス空間と2次記憶装置18の物理アド
レスとを1対1に対応させ、計算式によって両者の対応
を求めてもよい。
【0016】
【表2】
【0017】なお、ページテーブル1およびページテー
ブル2は、それぞれたとえばローカルメモリ14の余っ
た領域に格納される。そして、ページアウト時には、図
2に示すように、ローカルメモリ14の或るページ内の
データが、第1ワードから1ワード単位で、10個の2
次記憶装置18にインタリーブして蓄えられていく。ま
た、ページイン時には、10個の2次記憶装置18にイ
ンタリーブして蓄えられたデータが、1ワード単位で順
次ローカルメモリ14に読み出されていく。
【0018】このように構成されるマルチプロセサシス
テム10の動作を、図3ないし図5を参照して説明す
る。なお、動作の説明にあたり、要素プロセサ,ローカ
ルメモリおよび2次記憶装置を「#1」等で示す。ま
ず、図3に示すステップS1において、要素プロセサ#
1に必要なデータの仮想アドレスが、要素プロセサ#1
上で決定される。ステップS3において、要素プロセサ
#1に接続されるローカルメモリ#1上のページテーブ
ル1を参照する。ステップS5において、ローカルメモ
リ#1上に必要なデータがあるか否かを判断し、必要な
データがあれば、ステップS7に進む。ステップS7に
おいて、ページテーブル1から必要なデータが存在する
ページ番号を得る。そして、ステップS9において、ス
テップS7で得られたページに存在する必要なデータを
アクセスし、ページテーブル1の対応するアクセス回数
を1つインクリメントして、終了する。
【0019】一方、ステップS5において、ローカルメ
モリ12上に必要なデータがない場合には、ページフォ
ルトとなりステップS11に進む。ステップS11にお
いて、ページテーブル1を参照して、ローカルメモリ#
1上に空いているページが存在するかどうかを調べる。
ステップS13において、空いているページがあるか否
かを判断し、空いているページがあれば図4に示すステ
ップS15に進み、ページアウトされることなく、ペー
ジインの動作を行う。
【0020】たとえば、電源をオンした直後の初期状態
では、各ローカルメモリ#1〜#100にはデータが何
ら格納されていない場合があり、この場合にはページア
ウトすることなくページインされる。そして、ステップ
S15において、ページテーブル2を参照し、必要なデ
ータの仮想アドレスから必要なデータの存在する2次記
憶装置上の物理アドレスを求める。ステップS17にお
いて、2次記憶装置#1上の求めた物理アドレスからデ
ータを読み出し、ローカルメモリ#1上の空きページに
そのデータを書き込む。次いで、ステップS19におい
て、次の2次記憶装置#2の同じ物理アドレスからデー
タを読み出し、ローカルメモリ#1上の空きページの次
のアドレスにそのデータを書き込む。
【0021】ステップS21において、最後の2次記憶
装置#10まで読み出しが終わったか否かを判断する。
最後の2次記憶装置#10まで読み出しが終わっていな
ければステップS23に進む。読み出しが終わっていれ
ばステップS25に進む。ステップS25において、最
初の2次記憶装置#1に戻り、物理アドレスをインクリ
メントし、ステップS23に進む。ステップS23にお
いて、1ページ分のデータを読み出したか否かを判断す
る。1ページ分のデータを読み出していなければステッ
プS19に戻る。ステップS23において、1ページ分
のデータを読み出したと判断すれば、ステップS27に
進む。ステップS27において、ローカルメモリ#1の
ページテーブル1に、データを書き込んだページのペー
ジ番号とその仮想アドレスとを書き込む。そして、ステ
ップS29において、必要なデータが書き込まれたロー
カルメモリ#1上のページから必要なデータをアクセス
し、アクセス回数を1にして、終了する。
【0022】図3に戻って、ステップS13において空
いているページがなければ、図5に示すステップS31
に進み、まずページアウトする。ステップS31におい
て、ページテーブル1のアクセス回数を参照して、ペー
ジアウトすべきページを決定する。このときアクセス回
数の少ないページが選択される。そして、ステップS3
3において、ページテーブル1より、ページアウトすべ
きページの仮想アドレスを求める。ステップS35にお
いて、ページテーブル2を参照し、求めた仮想アドレス
から対応する2次記憶装置の物理アドレスを求める。ス
テップS37において、2次記憶装置#1の求めた物理
アドレスに、ローカルメモリ#1のページアウトすべき
ページの最初のデータを書き込み、ステップS39に進
む。ステップS39において、次の2次記憶装置#2の
同じ物理アドレスにローカルメモリ#1上の次のデータ
を書き込む。ステップS41において、最後の2次記憶
装置#10にまで書き込みが終わったか否かを判断す
る。書き込みが終わっていれば、ステップS43におい
て、最初の2次記憶装置#1に戻り、物理アドレスをイ
ンクリメントし、ステップS45に進む。ステップS4
1において、書き込みが終わっていなければ、ステップ
S45に進む。ステップS45において、1ページ分の
データを書き込んだか否かを判断する。書き込んでいな
ければステップS39に戻り、書き込んでいればステッ
プS47に進む。ステップS47において、ローカルメ
モリ#1のページテーブル1から、ページアウトしたペ
ージを削除し、アクセス回数を0にし、図4に示すステ
ップS15に進む。以下、上述したページインの動作を
行う。
【0023】さらに具体例を挙げて動作を説明する。マ
ルチプロセサシステム10の動作中に、たとえば要素プ
ロセサ#1が演算処理等の過程で、仮想アドレス105
0番地から1080番地までのデータが必要になった場
合、要素プロセサ#1はローカルメモリ#1に対して、
仮想アドレス1050番地から1080番地までのデー
タを要求する。しかし、ページテーブル1を参照したと
き、ローカルメモリ#1上の各ページに必要な仮想アド
レスのデータが存在しないため、ページフォルトを起こ
す。
【0024】ページフォルトを起こした場合、複数のペ
ージ(この実施例では4つ)のうちの1つのページをペ
ージアウトしなければならないが、この実施例では、ペ
ージテーブル1に蓄えられた各テーブルのアクセス回数
から、最もアクセス回数(要素プロセサから要求された
回数)の少ないページをページアウトする。したがっ
て、P3のページをページアウトする。ページアウトす
るページの仮想アドレスは、ページテーブル1を参照す
ると2600番地から2699番地であるので、まず、
各2次記憶装置#1〜#10の物理アドレスが260番
地のエリアにP3のページのデータを書き込んでいく。
すなわち、仮想アドレスが2600番地のデータを2次
記憶装置#1の260番地(物理アドレス)に書き込
み、書き込み終了の信号が2次記憶装置#1から転送さ
れる前に、2601番地のデータを2次記憶装置#2の
260番地に、引き続き2602番地のデータを2次記
憶装置#3の260番地に書き込む。したがって、10
個の2次記憶装置#1〜#10に対して並行に、データ
の書き込みを行うことができるため、高速にページアウ
トを行うことができる。なお、この書き込み終了の信号
は1ワードを書き込む毎に出力される。
【0025】また、要素プロセサ#1が要求する仮想ア
ドレス1050番地から1080番地までのデータは、
2次記憶装置#1〜#10の100番地から始まるペー
ジに存在するので、順次、ローカルメモリ#1のページ
(ページ番号P3)に読み出すが、ページアウトと同様
に10個の2次記憶装置#1〜#10から並行に読み出
すことができるため、ページインも高速に行うことがで
きる。
【0026】このように、この実施例によれば、1つの
ページ内のデータを複数の2次記憶装置18に少しずつ
インタリーブして蓄えているので、ローカルメモリ14
と複数の2次記憶装置18との間で、データの入れ換え
を高速に行うことができる。なお、上述の具体例では、
ページインおよびページアウトの両方において、データ
を並行に読み書きする例を挙げたが、ページアウトおよ
びページインのいずれか一方のみにおいて並行処理を行
うだけでも大きな効果が得られる。
【0027】また、ローカルメモリ14として、各要素
プロセサ12に1対1の対応で接続されている例を挙げ
たが、要素プロセサ12をクラスタ化し、各クラスタ内
で共通にアクセスする共有メモリが存在する場合も、こ
の共有メモリを各クラスタのローカルメモリと位置付け
れば、同様の効果が得られる。
【図面の簡単な説明】
【図1】この発明の一実施例を示す図解図である。
【図2】2次記憶装置上にインタリーブして蓄えられた
データの例を示す図解図である。
【図3】この実施例の動作を示すフロー図である。
【図4】図3の動作の続きを示すフロー図である。
【図5】図4の動作の続きを示すフロー図である。
【図6】従来技術を示す図解図である。
【図7】仮想記憶の構成例を示す図解図である。
【符号の説明】
10 …マルチプロセサシステム 12 …要素プロセサ 14 …ローカルメモリ 16 …相互結合網 18 …2次記憶装置

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】複数の要素プロセサ、前記複数の要素プロ
    セサにそれぞれ接続されかつページングされる複数のロ
    ーカルメモリ、前記複数のローカルメモリを相互に接続
    する相互結合網、および前記相互結合網に結合される複
    数の2次記憶装置を含み、仮想記憶を用いるマルチプロ
    セサシステムにおいて、 ページフォルトを生じたローカルメモリ上の或るページ
    のデータを前記複数の2次記憶装置に順次インタリーブ
    して蓄えるようにページアウトし、前記複数の2次記憶
    装置にインタリーブして蓄えられたデータをローカルメ
    モリ上の或るページに順次書き込むようにページインす
    るようにしたことを特徴とする、マルチプロセサシステ
    ム。
JP5296473A 1993-11-26 1993-11-26 マルチプロセサシステム Withdrawn JPH07152710A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5296473A JPH07152710A (ja) 1993-11-26 1993-11-26 マルチプロセサシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5296473A JPH07152710A (ja) 1993-11-26 1993-11-26 マルチプロセサシステム

Publications (1)

Publication Number Publication Date
JPH07152710A true JPH07152710A (ja) 1995-06-16

Family

ID=17834014

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5296473A Withdrawn JPH07152710A (ja) 1993-11-26 1993-11-26 マルチプロセサシステム

Country Status (1)

Country Link
JP (1) JPH07152710A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6473840B2 (en) 1998-06-19 2002-10-29 International Business Machines Corporation Data processing system having a network and method for managing memory by storing discardable pages in a local paging device
JP2017515242A (ja) * 2014-05-06 2017-06-08 華為技術有限公司Huawei Technologies Co.,Ltd. メモリ管理方法およびデバイス
JP2021039656A (ja) * 2019-09-05 2021-03-11 富士通株式会社 ファイルデータ管理装置,ファイルデータ管理プログラム及びファイルデータ管理方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6473840B2 (en) 1998-06-19 2002-10-29 International Business Machines Corporation Data processing system having a network and method for managing memory by storing discardable pages in a local paging device
JP2017515242A (ja) * 2014-05-06 2017-06-08 華為技術有限公司Huawei Technologies Co.,Ltd. メモリ管理方法およびデバイス
US10552337B2 (en) 2014-05-06 2020-02-04 Huawei Technologies Co., Ltd. Memory management and device
JP2021039656A (ja) * 2019-09-05 2021-03-11 富士通株式会社 ファイルデータ管理装置,ファイルデータ管理プログラム及びファイルデータ管理方法

Similar Documents

Publication Publication Date Title
US5230045A (en) Multiple address space system including address translator for receiving virtual addresses from bus and providing real addresses on the bus
US5123101A (en) Multiple address space mapping technique for shared memory wherein a processor operates a fault handling routine upon a translator miss
EP0175080B1 (en) Microcomputer memory and method for its operation
EP0130349B1 (en) A method for the replacement of blocks of information and its use in a data processing system
US5371870A (en) Stream buffer memory having a multiple-entry address history buffer for detecting sequential reads to initiate prefetching
US6546471B1 (en) Shared memory multiprocessor performing cache coherency
JPS589277A (ja) デ−タ処理装置
US7590802B2 (en) Direct deposit using locking cache
US20160291881A1 (en) Method and apparatus for improving disk array performance
US6381686B1 (en) Parallel processor comprising multiple sub-banks to which access requests are bypassed from a request queue when corresponding page faults are generated
JP3439167B2 (ja) コンピュータ・システムにおいてディレクトリ構造を含むメイン・メモリの内容にアドレスするための方法および装置
EP0284751B1 (en) Cache memory
US5796979A (en) Data processing system having demand based write through cache with enforced ordering
JPH07120312B2 (ja) バッファメモリ制御装置
US5452418A (en) Method of using stream buffer to perform operation under normal operation mode and selectively switching to test mode to check data integrity during system operation
CN111611223B (zh) 非易失性数据的访问方法、系统、电子设备和介质
US4400793A (en) Method and arrangement for fast access to CCD-stores
JPH07152710A (ja) マルチプロセサシステム
US5983307A (en) Electrical circuit for exchanging data between a microprocessor and a memory and computer comprising a circuit of this type
JPS6194159A (ja) メモリ装置
US6496904B1 (en) Method and apparatus for efficient tracking of bus coherency by using a single coherency tag bank
CN112988074B (zh) 一种存储系统管理软件适配方法及装置
GB2037466A (en) Computer with cache memory
JPH0427583B2 (ja)
JPH0863397A (ja) ディスクキャッシュ制御方法

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20010130