JPH0962522A - 情報処理方法及び情報処理システム - Google Patents

情報処理方法及び情報処理システム

Info

Publication number
JPH0962522A
JPH0962522A JP7211748A JP21174895A JPH0962522A JP H0962522 A JPH0962522 A JP H0962522A JP 7211748 A JP7211748 A JP 7211748A JP 21174895 A JP21174895 A JP 21174895A JP H0962522 A JPH0962522 A JP H0962522A
Authority
JP
Japan
Prior art keywords
information processing
processing unit
execution
page
storage
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
JP7211748A
Other languages
English (en)
Inventor
Yoshiaki Sudo
義明 数藤
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP7211748A priority Critical patent/JPH0962522A/ja
Publication of JPH0962522A publication Critical patent/JPH0962522A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【課題】並列計算機システムにおいて、同一の記憶ブロ
ックにアクセスが集中すると、キャッシュのライトバッ
クなどで処理のオーバーヘッドやトラフィックの輻輳が
生じる。 【解決手段】ブロックごとに、各スレッドのミスアクセ
スの頻度を調べ、所定のしきい値以上の頻度であり、他
に動作可能なスレッドがあれば、実行中のスレッドを中
断して、他の実行可能なスレッドを実行開始する。こう
することで、ひとつのブロックにアクセスが集中するこ
とがなく、アクセスに伴うブロックの転送やライトバッ
クのオーバーヘッドやトラフィックの輻輳を防止でき
る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、例えば分散した複
数の情報処理装置の分散共有記憶上で動作する分散タス
ク/スレッドモデルの情報処理システム及び情報処理方
法に関するものである。
【0002】
【従来の技術】情報処理装置間を高速なネットワークで
接続し、各情報処理装置の持つ主記憶を各情報処理装置
上のプロセッサが相互にアクセス可能である分散共有記
憶装置が開発されている。この分散共有記憶装置は、各
情報処理装置の主記憶をプロセッサのアドレス空間にマ
ッピングし、ある情報処理装置上のプロセッサが他の情
報処理装置上の主記憶を直接アクセス可能とするもので
ある。分散共有記憶においては、プロセッサの出力する
アクセス要求に対して、そのアクセスが他の情報処理装
置上の主記憶に対するものかを判定し、もしそうならば
ネットワークを介してアクセス対象の情報処理装置に対
してアクセス要求のパケットを出力する。さらに、アク
セス要求の届いた情報処理装置はそのパケットを解釈
し、アクセスされた主記憶のデータをアクセスの返答と
してパケットとして出力する。アクセス要求の返答のパ
ケットが戻ってきた情報処理装置は、プロセッサのアク
セスの結果としてそのパケット内のデータをプロセッサ
に対して出力する。このような制御を経て分散共有記憶
が実現される。
【0003】分散共有記憶においては、通常のマルチプ
ロセッサ情報処理装置で用いられているバススヌープに
よるキャッシュメモリの一貫性保持方式がそのままでは
不可能になる。そのために、主記憶にアクセスした情報
処理装置を記録しておくディレクトリを用意し、主記憶
のアクセスやキャッシュメモリの一貫性保持動作トラン
ザクションをディレクトリに登録されている情報処理装
置にマルチキャストすることによって、各情報処理装置
内のキャッシュメモリの一貫性を保持することが可能と
なる。キャッシュメモリの一貫性保持の方法として、現
在では一般的にWrite-Invalidate方式と呼ばれる方法が
行なわれている。この方法は、キャッシュメモリに読み
込まれたデータをある情報処理装置に書き戻した場合、
その書き戻されたデータを保持する他の装置では、その
データを無効化することで、データの一貫性を図るとい
うものである。主記憶にこのWrite-Invalidate方式によ
ってキャッシュメモリの一貫性を保持を行なう場合に
は、同じキャッシュブロックに対して同時に複数のプロ
セッサがアクセスすると、そのキャッシュブロックは読
み込んでもすぐ無効化されてキャッシュミスが多く発生
する。さらに、そのキャッシュブロックのデータが各プ
ロセッサのキャッシュ間を頻繁に移動すること(スラッ
シング)になり、アクセスするプロセッサが異なる情報
処理装置上にある場合には、その情報処理装置間のネッ
トワークの輻輳を発生する。これらは分散情報処理シス
テム全体の処理能力を著しく低下させる。
【0004】さらに、以上のような分散共有記憶装置を
持たずに、情報処理装置内のプロセッサの持つ記憶管理
装置(MMU)によるページ管理・保護機能を用い、ページ
単位で一貫性を保持するソフトウェアによる分散共有記
憶の実現方式も提案されている(B.Nitzberg and V.Lo,
"Distributed Shared Memory: A Survey of Issues an
d Aigoruthms," Computer, Vol.24, No.8, August 199
1, pp.52-60)。このような分散共有記憶を分散仮想共有
記憶と呼ぶ。この分散仮想共有記憶では、上記の分散共
有記憶のキャッシュメモリの一貫性保持制御を各情報処
理装置上の個々の主記憶に対して行ない、他の情報処理
装置上の主記憶にアクセスしなければならない場合や各
情報処理装置の主記憶間で一貫性を保持するための操作
を行なわなければならない場合に、MMUの機能を用いて
ページフォールトを発生させるように設定しておく。そ
のようなページフォールトが発生した場合に、分散仮想
共有記憶を管理するソフトウェアはネットワークを通し
て他の情報処理装置と通信し、他の情報処理装置の主記
憶からページデータを転送したり、主記憶に対する保護
の変更などの処理を行なう。このような一貫性保持の操
作を行なうことで、分散仮想共有記憶方式では、仮想的
な共有記憶を実現できる。ただし、上記の分散共有記憶
の場合と同様に、同時に同じ分散仮想共有記憶のページ
に対して複数のプロセッサがアクセスした場合には、ペ
ージフォールトが多く発生したり、ページデータが頻繁
にネットワーク上を転送され(ページスラッシング)たり
するため、分散情報処理システム全体の処理能力を著し
く低下させる。
【0005】一方、複数のプロセッサを1台の情報処理
装置内に持つマルチプロセッサ情報処理装置上で、これ
ら複数のプロセッサを単一のプログラムによって有効に
活用可能なタスク/スレッドモデルと呼ばれるプログラ
ム形態が提案されている。これは1つのプログラムをス
レッドと呼ばれる複数の実行モジュールと、タスクと呼
ばれる資源割り当ての単位に分割したモデルである。ス
レッドはプロセッサ資源の割り当て単位となり、その他
の記憶空間資源などはタスクに割り当てられ、タスク内
の全てのスレッドに解放されている。このようなタスク
/スレッドモデルは、マルチプロセッサの情報処理装置
において、プロセッサ資源を効率良く使用するプログラ
ムのためのモデルである。
【0006】さらに、通常のタスク/スレッドモデルの
プログラム上で利用者空間内でコンテキスト切り換えや
スレッド生成等を行なうことが可能な利用者レベルスレ
ッドが提案されている。これは通常のタスク/スレッド
モデルのスレッドの生成やコンテキスト切り換え等が、
オペレーティングシステムカーネル(OSカーネル)へのシ
ステムコールを必要とし速度が低いという欠点を改善す
るために考えられた物である。複数のコンテキストを持
つことが可能で、かつ利用者空間内でスレッド生成やコ
ンテキスト切り換え等が高速に行なえることが利点であ
る。このような利用者レベルスレッドに対して、従来の
OSカーネルに制御されるスレッドをカーネルスレッドと
呼ぶ。
【0007】このようなタスク/スレッドモデルのプロ
グラムを分散情報処理システム上で動作させるために、
ハードウェアによる分散共有記憶や、ソフトウェアによ
る分散仮想共有記憶を用いることが提案されている。こ
れは、分散した情報処理装置間でタスクの仮想記憶空間
をどちらかの方法によって共有し、そのタスク内のスレ
ッドを分散した情報処理装置内のプロセッサ上で動作さ
せるものである。このようなプログラムモデルを分散タ
スク/スレッドモデルと呼ぶ。また、その分散タスク/
スレッド上で利用者レベルスレッドを動作させるタスク
/スレッド制御方式も提案されている。分散共有記憶に
よって分散した情報処理装置のどこからでもタスクの主
記憶空間がアクセスできることから、記憶上の利用者空
間にコンテキストの保存を行なう利用者レベルスレッド
では、分散したどの情報処理装置にも移動して動作可能
となることを特徴としている。
【発明が解決しようとする課題】このような分散仮想記
憶上に分散タスク/スレッド方式のプログラムを実行す
る環境では、同時期に異なる情報処理装置内のプロセッ
サ上で動作するスレッドが同じ分散共有記憶の一貫性保
持の単位ブロック(キャッシュブロックやペ−ジ)をアク
セスすると、そのブロックに対するミスアクセスや、そ
のブロックのデータの頻繁な転送が発生し、その分散タ
スクの処理に大きな時間がかかったり、分散情報処理シ
ステム全体の処理能力を著しく低下させるという問題が
あった。
【0008】本発明は上記従来例に鑑みてなされたもの
で、分散共有記憶の一貫性保持動作による頻繁なメモリ
ブロックの転送、及び、ミスアクセスによるプロセッサ
の実行停止を低減する情報処理方法及び情報処理システ
ムを提供することを目的とする。
【0009】
【課題を解決するための手段】上記目的を達成するため
に本発明の情報処理方法は次のような構成からなる。す
なわち、複数の情報処理装置を相互に接続して成り、前
記各情報処理装置の有する記憶手段に記憶された内容
を、前記各情報処理装置のキャッシュに所定の記憶ブロ
ック単位でコピーして共有する情報処理システムにおい
て、共有される記憶手段を用いて前記情報処理装置の各
々の上に一連の処理の処理単位を分散して、処理単位を
実行して前記一連の処理を行う情報処理方法であって、
前記記憶手段に含まれる記憶ブロックに対する前記処理
単位ごとのキャッシュミス頻度を、記憶ブロックごとに
計測する計測工程と、前記計測工程により計測されたキ
ャッシュミス頻度に従って、当該処理単位の実行を中断
する中断工程と、前記中断工程により中断された処理単
位に変えて、他の動作可能な処理単位の実行を開始する
実行開始工程とを備える。
【0010】更に好ましくは、前記中断工程は、いずれ
かの記憶ブロックに対するキャッシュミス頻度が所定の
しきい値を越えた処理単位の実行を中断する。
【0011】更に好ましくは、前記中断工程は、実行を
中断しようとする処理単位の状態を退避して、実行され
ていない処理単位の待行列の末尾に登録し、前記実行開
始工程は、前記待行列の先頭の処理単位を取り出して、
その処理単位のために退避された状態を設定して実行を
開始する。
【0012】更に好ましくは、キャッシュミスを生じた
場合、キャッシュミスを生じた記憶ブロックを、当該記
憶ブロックを記憶手段に有する情報処理装置からキャッ
シュに読出す読出し工程を更に備え、該読出し工程によ
り前記記憶手段を接続された複数の情報処理装置で共有
する。
【0013】更に好ましくは、キャッシュミスを生じた
場合、キャッシュミスを生じた記憶ブロックを、当該記
憶ブロックを有する情報処理装置から、キャッシュミス
を生じた情報処理装置の記憶手段に読み込む第1の読み
込み工程と、該読込み工程により記憶手段に読み込まれ
た記憶ブロックをキャッシュに読み込む第2の読込み工
程とを更に備え、該第1及び第2の読み込み工程によ
り、接続された複数の情報処理装置で前記記憶手段を共
有する。
【0014】また、本発明の情報処理システムは次のよ
うな構成からなる。すなわち、複数の情報処理装置を相
互に接続して成り、前記各情報処理装置の有する記憶手
段に記憶された内容を、前記各情報処理装置のキャッシ
ュに所定の記憶ブロック単位でコピーして共有し、共有
される記憶手段を用いて前記情報処理装置の各々の上に
一連の処理の処理単位を分散して、処理単位を実行して
前記一連の処理を行う情報処理システムであって、前記
記憶手段に含まれる記憶ブロックに対する前記処理単位
ごとのキャッシュミス頻度を記憶ブロックごとに計測す
る計測手段と、前記計測工程により計測されたキャッシ
ュミス頻度に従って、当該処理単位の実行を中断する実
行制御手段と、前記実行制御手段により中断された処理
単位に変えて、他の動作可能な処理単位の実行を開始す
る実行開始手段とを備える。
【0015】更に好ましくは、前記実行制御手段は、い
ずれかの記憶ブロックに対するキャッシュミス頻度が所
定のしきい値を越えた処理単位の実行を中断する。
【0016】更に好ましくは、前記実行制御手段は、実
行を中断しようとする処理単位の状態を退避して、実行
されていない処理単位の待行列の末尾に登録し、前記実
行開始手段は、前記待行列の先頭の処理単位を取り出し
て、その処理単位のために退避された状態を設定して実
行を開始する。
【0017】更に好ましくは、キャッシュミスを生じた
場合、キャッシュミスを生じた記憶ブロックを、当該記
憶ブロックを記憶手段に有する情報処理装置からキャッ
シュに読出す読出し手段を更に備え、該読出し手段によ
り接続された複数の情報処理装置で前記記憶手段を共有
する。
【0018】更に好ましくは、キャッシュミスを生じた
場合、キャッシュミスを生じた記憶ブロックを、当該記
憶ブロックを有する情報処理装置から、キャッシュミス
を生じた情報処理装置の記憶手段に読み込む第1の読み
込み手段と、該読込み手段により記憶手段に読み込まれ
た記憶ブロックをキャッシュに読み込む第2の読込み手
段とを更に備え、該第1及び第2の読み込み手段によ
り、接続された複数の情報処理装置で前記記憶手段を共
有する。
【0019】また、本発明の情報処理方法は次のような
構成からなる。すなわち、複数の情報処理装置を相互に
接続して成り、前記各情報処理装置の有する記憶手段に
記憶された内容を、前記各情報処理装置の主記憶に所定
のページ単位でコピーして共有する情報処理システムに
おいて、共有される記憶手段を用いて前記情報処理装置
の各々の上に一連の処理の処理単位を分散して、処理単
位を実行して前記一連の処理を行う情報処理方法であっ
て、前記記憶手段に含まれるページに対する前記処理単
位ごとのページフォルト頻度を、ページごとに計測する
計測工程と、前記計測工程により計測されたページフォ
ルト頻度に従って、当該処理単位の実行を中断する中断
工程と、前記中断工程により中断された処理単位に変え
て、他の動作可能な処理単位の実行を開始する実行開始
工程とを備える。
【0020】更に望ましくは、前記中断工程は、いずれ
かのページに対するページフォルト頻度が所定のしきい
値を越えた処理単位の実行を中断する。
【0021】更に望ましくは、前記中断工程は、実行を
中断しようとする処理単位の状態を退避して、実行され
ていない処理単位の待行列の末尾に登録し、前記実行開
始工程は、前記待行列の先頭の処理単位を取り出して、
その処理単位のために退避された状態を設定して実行を
開始する。
【0022】更に望ましくは、ページフォルトを生じた
場合、ページフォルトを生じたページを、当該ページを
記憶手段に有する情報処理装置から主記憶に読出す読出
し工程を更に備え、該読出し工程により前記記憶手段を
接続された複数の情報処理装置で共有する。
【0023】また、本発明の情報処理システムは、次の
ような構成からなる。すなわち、複数の情報処理装置を
相互に接続して成り、前記各情報処理装置の有する記憶
手段に記憶された内容を、前記各情報処理装置の主記憶
に所定のページ単位でコピーして共有し、共有される記
憶手段を用いて前記情報処理装置の各々の上に一連の処
理の処理単位を分散して、処理単位を実行して前記一連
の処理を行う情報処理システムであって、前記記憶手段
に含まれるページに対する前記処理単位ごとのページフ
ォルト頻度をページごとに計測する計測手段と、前記計
測工程により計測されたページフォルト頻度に従って、
当該処理単位の実行を中断する実行制御手段と、前記実
行制御手段により中断された処理単位に変えて、他の動
作可能な処理単位の実行を開始する実行開始手段とを備
える。
【0024】更に望ましくは、前記実行制御手段は、い
ずれかのページに対するページフォルト頻度が所定のし
きい値を越えた処理単位の実行を中断する。
【0025】更に望ましくは、前記実行制御手段は、実
行を中断しようとする処理単位の状態を退避して、実行
されていない処理単位の待行列の末尾に登録し、前記実
行開始手段は、前記待行列の先頭の処理単位を取り出し
て、その処理単位のために退避された状態を設定して実
行を開始する。
【0026】更に望ましくは、ページフォルトを生じた
場合、ページフォルトを生じたページを、当該ページを
記憶手段に有する情報処理装置から主記憶に読出す読出
し手段を更に備え、該読出し手段により接続された複数
の情報処理装置で前記記憶手段を共有する。
【0027】また、本発明のコンピュータ制御装置は次
のような構成からなるすなわち、互いに接続され、メモ
リ媒体から所定のプログラムを読み込んでコンピュータ
を制御するコンピュータ制御装置であって、前記メモリ
媒体は、記憶手段に含まれる記憶ブロックに対する前記
処理単位ごとのキャッシュミス頻度を、記憶ブロックご
とに計測する計測工程のモジュールと、前記計測工程に
より計測されたキャッシュミス頻度に従って、当該処理
単位の実行を中断する中断工程のモジュールと、前記中
断工程により中断された処理単位に変えて、他の動作可
能な処理単位の実行を開始する実行開始工程のモジュー
ルとを備える。
【0028】上記構成により、同一の記憶ブロックにア
クセスが所定の水準を越えて集中することを防止する。
【0029】あるいは、互いに接続され、メモリ媒体か
ら所定のプログラムを読み込んでコンピュータを制御す
るコンピュータ制御装置であって、前記メモリ媒体は、
記憶手段に含まれるページに対する前記処理単位ごとの
ページフォルト頻度を、ページごとに計測する計測工程
のモジュールと、前記計測工程により計測されたページ
フォルト頻度に従って、当該処理単位の実行を中断する
中断工程のモジュールと、前記中断工程により中断され
た処理単位に変えて、他の動作可能な処理単位の実行を
開始する実行開始工程のモジュールとを備える。
【0030】
【発明の実施の形態】以下、図面を参照して本発明の実
施例であるマルチプロセサシステムを詳細に説明する。 [実施の形態1] <情報処理システムの構成例>図1は本発明を適用した
分散した情報処理装置から成る分散情報処理システムを
示す図である。各情報処理装置101は単独で一般的な
情報処理装置として動作することが可能であり、ネット
ワーク102によって接続され相互に通信可能である。
但し、各情報処理装置が全ての入出力装置を備えている
必要はない。
【0031】図2に情報処理装置101のブロック図を
示す。情報処理装置101内には単一または複数のプロ
セッサ201が存在し処理を行なう。このプロセッサ2
01上でOSカーネルやアプリケーションプログラムが
動作する。内部バス202はプロセッサからのアクセス
要求を転送し、主記憶203やI/Oコントローラ20
4、分散共有記憶制御部206に対するアクセス要求を
伝搬するために用いられる。I/Oコントローラ204
には2次記憶装置205に代表されるI/O装置が接続
され、プロセッサ201からの要求に従って入出力処理
を行なう。分散共有記憶制御部206は、プロセッサか
らのアクセス要求が、他の情報処理装置上の主記憶に対
するもの場合には、そのアクセスをネットワーク102
を通して行なうための機能をもつ。さらに、ディレクト
リ207は、他の情報処理装置上の主記憶に対してアク
セスでなくても、キャッシュメモリ208(プロセッサ
に内蔵されているものもある)の一貫性を保持するため
に、そのアクセスを転送する必要のある情報処理装置の
情報を保持している。分散共有記憶制御部206もしく
はディレクトリ207は、その情報処理装置内のプロセ
ッサの最近のミスアクセス情報を記録しておき、プロセ
ッサからの要求によってその情報を提供可能な手段をも
つ。 <メモリアクセスの制御>図8〜図13のフローチャー
トは、図2の装置によりメモリへのアクセスを行う際の
手順を示している。例えば、プロセッサからデータをメ
モリに書き込むストア処理は、キャッシュ208におい
ては図11のような手順となる。キャッシュ208は、
内蔵するキャッシュ制御シーケンサにより制御されてお
り、図11はその手順を示す。
【0032】まず、ストアしようとするアドレスを含む
データブロックをキャッシュ208に読み込む(ステッ
プS1101)。次に、プロセッサ201が書き込もう
とするデータをキャッシュ208に読み込んだデータブ
ロック上に書き込む(ステップS1102)。最後に、
キャッシュ208内にある、ストア対象となったデータ
ブロックを、記憶管理部208により、そのデータブロ
ックが本来格納されている装置の主記憶に書き戻させる
(ステップS1103)。
【0033】<キャッシュへの読込み手順>ステップS
1101によるキャッシュへの読込みは、詳しくは図8
の手順で実行される。まず、キャッシュ208に目的と
するデータブロックが格納されているか判定する(ステ
ップS801)。キャッシュは、データブロックととも
に、そのデータブロックがどの装置のどのアドレスに相
当するブロックかを管理している。キャッシュに目的の
ブロックがない、すなわちキャッシュミス(ミスアクセ
ス)であるならば、内部バス202を介して目的のブロ
ックをキャッシュ208に読み込む(ステップS80
2)。最後に、そのブロックについてキャッシュミスし
た回数を、ディレクトリ207または分散共有記憶管理
部206に記録しておく(ステップS803)。なお、
この回数の値はスレッドの切り替え時にリセットされ
る。
【0034】このステップS802による読込み処理に
伴い、分散共有記憶制御部206は図9のような処理を
開始する。まず、読み込むべきデータブロックが他の装
置にあるか判定する(ステップS901)。他の装置に
あれば、主記憶203から読み込むために記憶制御部2
06では何もしない。他の装置である場合には、目的ブ
ロックがある装置(目的装置)からアドレスなどを指定
してそのブロックを読込み(ステップS902)、それ
をキャッシュ208に転送して記憶させる(ステップS
903)。
【0035】なお、ステップS902における目的装置
側の処理は図10のようなものである。すなわち、目的
ブロックを主記憶から読出し(ステップS1001)、
それを読出す側の装置へと転送する(ステップS100
2)。最後に、読出した装置を、ブロックごとにディレ
クトリに登録しておく(ステップS1003)。
【0036】以上のようにしてキャッシュへのデータブ
ロックの読込みが行われる。
【0037】<キャッシュからの書き戻し手順>次に、
図11におけるステップS1103の書き戻し処理を、
図12を参照して説明する。図12は分散共有記憶制御
装置206により実行される。
【0038】まず、書き戻す先が他の装置であるか判定
し(ステップS1201)、そうであればその装置へと
書き戻すデータブロックを転送する(ステップS120
2)。一方、自装置であれば、データブロックを主記憶
へと書き戻し(ステップS1203)、ディレクトリ2
07から書き戻したブロックをキャッシュに読み込んで
いる装置の情報を得る(ステップS1204)。次に、
それら装置に対して、そのブロックを無効化する命令を
送付する(ステップS1205)。なお、ステップS1
202により書き戻しデータを送られた装置において
は、ステップS1203から処理が行われることにな
る。
【0039】また、無効化命令を受けた装置において
は、図13のように、キャッシュメモリ内の指定された
データブロックを消去するなりして無効化する。 <スレッド制御手順の動作例>図4に本実施形態におい
て用いられるスレッド制御手順の流れ図を示す。この手
順は、定期的に呼び出されるプログラムをプロセッサ2
01が実行することによって実現されている。図2に示
したような情報処理装置において、各プロセッサのミス
アクセスの情報は分散共有記憶管理部206もしくはデ
ィレクトリ207に、図8のステップS803において
記録されており、その情報はプロセッサからなんらかの
方法で読み出すことが可能である。また、現在動作して
いるスレッドと異なるスレッドのミスアクセスの情報が
蓄積されないように、OSカーネルはスレッドのコンテ
キストの切り換えの度に、そのミスアクセスの情報をク
リアする命令を発行する。
【0040】以下、流れ図に従って説明する。本流れ図
の処理が呼び出されると、まずプロセッサは分散共有記
憶管理装置206にプロセッサの起こしたミスアクセス
の頻度を問い合せ読み出す(ステップS401)。ミス
アクセスの情報がディレクトリ207に保持されている
場合は、ディレクトリ207から読み出す。そのミスア
クセスの頻度が予め決定しておいたしきい値よりも高い
場合、現在動作しているスレッドを中断しようとする
(ステップS402)。
【0041】そのために、まず、他に動作可能なスレッ
ドがあるかどうかを問い合せを行なう(ステップS40
3)。もしあれば現在実行中のスレッドを中断する(ス
テップS404)。動作可能スレッドが存在するかどう
かの問い合せや、スレッドの中断は、OSカーネルに要
求を出すこと、もし本実施例のソフトウェアがOSカー
ネル内で動作するものであれば、それぞれOSカーネル
内の動作可能状態にあるスレッドの待ち行列であるスレ
ッドキューの長さを調べること、現在のスレッドのコン
テキストスイッチングを行なうことで可能となる。そし
て、動作可能スレッドの一つを取り出して実行を再開す
る。いままで動作していたスレッドは、時間が幾らかた
った後、実行が再開されるように動作可能スレッドとし
て保持する。
【0042】一方、ミスアクセスの頻度があるしきい値
より小さかったり、他に動作可能スレッドがなければ、
現在動作しているスレッドを中断する必要はない。
【0043】以上のように処理することによって、ミス
アクセスが多いデータブロックにアクセスしようとする
スレッドを一旦中断するため、ひとつのデータブロック
に対する転送の頻度を、しきい値によって制御すること
ができる。こうして、特定のブロックへのミスアクセス
の集中を防止でき、処理効率を向上させることができ
る。
【0044】なお、図19はミスアクセスの頻度を計測
する手順と、計測されたミスアクセスの頻度に応じてス
レッドを一旦中断する手順と、他のスレッドの実行を開
始する手順とを、それぞれプログラムモジュールとして
記憶媒体上に格納した様子を示す図である。計測モジュ
ールは、図8,15の手順、中断モジュール及び実行開
始モジュールは、図4〜図7に記載された手順に対応し
ている。本実施形態の装置では、図19のような構成の
プログラムモジュールを各情報処理装置が実行すること
で本発明を適用したマルチプロセッサシステムを実現で
きる。
【0045】[変形例]図5は、分散共有記憶管理部2
06に割り込み機能が付属していて、分散共有記憶管理
部206が、ステップS803によるカウントの結果ミ
スアクセスの頻度があるしきい値以上になった時に割り
込みをプロセッサ201に対して発生する場合の流れ図
である。
【0046】プロセッサは割り込みが発生した場合に、
本流れ図のソフトウェアを起動する。これによって、定
期的にソフトウェアを起動する事なく、ミスアクセスが
多く発生した時だけ、本流れ図のソフトウェアが動作
し、本発明のスレッド制御方式が実現可能である。な
お、処理の手順は、図4のステップS402以降と同じ
ものである。 [実施の形態2]図6に、第2の実施形態として、図
1,図2の構成のマルチプロセッサシステムにおけるス
レッド制御手順の流れ図を示す。本実施例では、スレッ
ドの中断や再開を利用者レベルスレッドを用いて行な
う。なお、主記憶を共有する制御のしかたについては、
第1の実施の形態で示した図8〜図13の手順で行われ
る。
【0047】分散タスク/スレッドモデルのプログラム
上での利用者レベルスレッドは、ネットワーク102に
接続されたどの情報処理装置(ノード)のプロセッサ上
でも動作可能となっている。利用者レベルスレッドを管
理する手法としては、動作可能な利用者レベルスレッド
を一つのノードで管理する方法や、利用者空間上のキュ
ーで管理する方法、各ノード上で管理する方法などに分
かれるが、本実施例においては、利用者空間上のキュー
で管理されているものとする。図6の処理は、プログラ
ム中で利用者レベルスレッドが利用者レベルのスレッド
管理ライブラリをコールして、利用者レベルスレッドの
コンテキスト切り換えが可能な場合に呼び出される。ま
た、本方式では利用者レベルスレッドの切り換えはOS
カーネルに知らされないので、利用者レベルスレッドの
管理ライブラリで、利用者レベルスレッドのコンテキス
トの切り換えを行なう時に、OSカーネルにミスアクセ
ス情報のクリアをするためのシステムコールを行なう。
【0048】以下、図6の流れに従って説明する。ま
ず、ある利用者レベルスレッド(これを自スレッドと呼
ぶ)のミスアクセスの頻度を分散共有記憶管理装置に問
い合せ、読み出す(ステップS601)。そのミスアク
セスの頻度があるしきい値以上であるかテストし(ステ
ップS602)そうであれば、自スレッドの実行を中断
し他のスレッドを実行する。そのためにまず、他に利用
可能スレッドがあるか調べるために利用者空間上の動作
可能スレッドのキューの長さを調べる(ステップS60
3)。もし、動作可能スレッドのキューの長さが1以上
であれば、今動作している利用者レベルスレッドの実行
を中断するために、自スレッドの状態を利用者空間上の
メモリに待避する(ステップS604)。さらに、状態
を待避したスレッドを動作可能スレッドのキューに最後
尾にいれる(ステップS605)。これによって、その
スレッドは中断され、ある時間後に、他のスレッド上
で、もしくは本スレッド上で、実行を再開することにな
る。
【0049】さらに、動作可能スレッドのキューの先頭
から利用者レベルスレッドを一つ取り出し(ステップS
606)、その状態を自スレッドの状態としてセット
し、その利用者レベルスレッドの実行を再開する(ステ
ップS607)。
【0050】以上の手順によって、利用者レベルスレッ
ドについてもカーネルスレッドと同様に、特定のデータ
ブロックを共有してミスアクセスが高頻度で発生する場
合、そのスレッドを中断することでブロック転送のオー
バーヘッドやネットワーク上のトラフィックを減らし、
処理効率を低下させないマルチプロセサシステムを実現
することができる。
【0051】[実施の形態3]図3に第3の実施形態で
あるマルチプロセッサシステムにおける情報処理装置の
他の構成例のブロック図を示す。本図の情報処理装置1
10は、分散共有記憶を実現するための特殊なハードウ
ェアを持たず、共有記憶は分散仮想共有記憶によって実
現する。ネットワークインタフェース301は本図の用
に内部バス202に直結されているものや、I/Oコン
トローラに接続されているものもある。分散仮想共有記
憶はプロセッサ201に内蔵される仮想記憶管理部30
2(プロセッサの外部に接続されるものもある)によるペ
ージ管理・保護機能によるページフォールトに従ってネ
ットワークを通したページ転送によって共有記憶を実現
している。
【0052】本実施形態の装置では、メモリを複数の装
置で共有するための特別なハードウエアを有さず、分散
共有記憶をプログラムで実現する分散仮想共有記憶の場
合について説明する。分散仮想共有記憶の場合には、共
有記憶の一貫性を保持する分散仮想共有記憶管理プログ
ラムが存在し、各スレッドの発生するページフォールト
は全てその分散仮想共有記憶管理プログラムにより管理
され、分散仮想共有記憶の一貫性保持制御のために用い
られる。このページフォールト情報を記録しておくこと
で、各スレッドのページフォールトの頻度が計測でき
る。また、本実施例では、分散仮想共有記憶管理ソフト
ウェアはOSカーネル外に実装されていると仮定した
が、OSカーネルの内部に実装されていても、同様に本
実施例は実現可能である。 <分散仮想共有記憶の制御>以上説明した分散仮想共有
記憶管理プログラム(プロセッサ201により実行され
る)の手順の一例を、図14〜図17として示した。
【0053】例えばデータをプロセッサからメモリに書
き込むストア処理は、図16に示されている。ストア処
理を行う場合、まず、対象となるデータを含むページを
キャッシュに読込み(ステップS1601)、プロセッ
サからキャッシュにデータを書き込む(ステップS16
02)。その後、キャッシュから主記憶への書き戻し処
理を行って(ステップS1603)、終了する。
【0054】<キャッシュへのページの読込み>キャッ
シュへのページの読込みを行う場合、まずキャッシュに
目的のデータが格納されているか、すなわちキャッシュ
ミスが生じたか判定し(ステップS1401)、キャッ
シュミスが生じた場合には、目的のページが主記憶に存
在しているか判定する(ステップS1402)。主記憶
に目的のページが存在していないならばページフォルト
を行わせ(ステップS1403)、主記憶に目的のペー
ジが置かれてからそれをキャッシュにコピーする(ステ
ップS1404)。また、キャッシュにコピーするとと
もに、そのページのコピーを有する装置を登録しておく
(ステップS1405)。ページはスワップにより各ノ
ードを移動する可能性があるため、この登録した内容は
ページとともにスワップされる。
【0055】<ページフォルト処理>ステップS140
3におけるページフォルト処理は、図15の手順で行わ
れる。まず、主記憶中で置換されるページを選択する
(ステップS1501)。ここでは、例えばLRUアル
ゴリズム等を用いて選択する。次に、選択したページ
を、所望のページと置換するために、所望のページを有
する装置に対して、置換されるものとして選択したペー
ジとともに、スワップ要求を送付する(ステップS15
02)。送付先の装置がこれに応えて所望のページを送
り返すと、それを受信して(ステップS1503)、そ
のページについてのページフォルト回数を1加算する
(ステップS1504)。この回数は、ページとともに
スワップされる。
【0056】このようにして所望のページを得ると、そ
のページのコピーをキャッシュに保持する装置が他にあ
るか調べ(ステップS1505)、あればそのページを
『書き込み禁止』とし、更新を禁止する(ステップS1
506)。一方、他にコピーを保持する装置がなけれ
ば、『書き込み許可』として更新を許す(ステップS1
507)。ステップS1505のテストは、以前発生し
たページデフォルトにおいてステップS1405により
登録された内容を参照して判定する。
【0057】このように、ページフォルトが発生する
と、その回数とコピーを保持する装置とが登録されてい
く。ページのスワップが完了すると、所望されたページ
のページフォルト回数をチェックして(ステップS15
08)、あるしきい値以上であれば、図7のスレッド制
御手順を実行する(ステップS1509)。その後、ペ
ージフォルト回数をリセットする。
【0058】<書き戻し処理>図16ステップS160
3の書き戻し処理は、図17の手順で行われる。
【0059】まず、書き戻そうとするページが主記憶に
あるか判定し(ステップS1701)、なければそのペ
ージを主記憶に置くべくページフォルトを行う(ステッ
プS1702)。主記憶にあれば、またはページフォル
トを行ったならそのページが書込み許可となっているか
調べる(ステップS1703)。書込み禁止となってい
る場合には、そのページのコピーをキャッシュに有する
装置を調べ、それら装置に対してそのコピーの無効化命
令を発行する(ステップS1704)。最後に、キャッ
シュのページを主記憶に書き戻して終了する(ステップ
S1705)。
【0060】以上のようにして、ネットワークで接続さ
れた装置の主記憶装置を仮想記憶空間として、あるペー
ジにアクセスする際には仮想記憶管理部を利用してペー
ジフォルとを発生して主記憶に所望のページを持ってく
ることで、各装置の主記憶を複数の装置で共有すること
ができる。 <スレッド制御手順>次に、図7に図15ステップS1
509において用いられるスレッド制御手順の流れ図を
示す。本実施例では、この流れ図に示されるプログラム
は分散仮想共有記憶管理プログラム中にあり、上記の各
スレッドのページフォールトの頻度記録部分から、ペー
ジフォールトの頻度があるしきい値以上になった場合に
呼び出される。
【0061】以下、流れ図に従って説明する。図7の流
れ図の手順が呼び出されると、他に動作可能スレッドが
あるかどうかOSカーネルに問い合せる(ステップS7
01)。もし、他に動作可能スレッドがある場合には、
現在の動作スレッドの中断をOSカーネルに要求する
(ステップS702)。その後、他の動作可能スレッド
の実行を再開する(ステップS703)。中断されたス
レッドは、再び実行を開始するまで、動作可能スレッド
キューに格納される。
【0062】このようにして、所定頻度以上のページフ
ォルトを発生するスレッドを中断し、ページフォルトに
よるオーバーヘッドおよびデータの輻輳を防止して効率
良くマルチプロセッサ環境下で処理を実行することがで
きる。 [実施の形態4]実施形態3の変形例として、分散共有
記憶をプログラムで実現する分散仮想共有記憶を利用
し、スレッドの中断・再開を利用者レベルスレッドを用
いる場合の実施例について説明する。
【0063】分散仮想共有記憶管理プログラムでは、前
述のように、ページフォールトの頻度計測が行なわれ、
その結果、ページフォールトの頻度があるしきい値以上
になった場合に、利用者レベルのスレッド管理ライブラ
リに対してなんらかの通信手段を通して連絡が行く。こ
の場合の通信手段には、メッセージパッシングや共有メ
モリなどが用いられ、利用者レベルのスレッド管理ライ
ブラリから、ページフォールトの頻度情報からのスレッ
ドの中断すべきがそうでないかの情報が直接アクセス可
能となる。ただし、分散仮想共有記憶管理プログラム
は、現在動作しているスレッド上にどの利用者レベルス
レッドが動作しているかは認識不可能であるので、利用
者レベルのスレッド管理ライブラリが利用者レベルスレ
ッドのコンテキストスイッチングが発生する毎に、分散
仮想共有記憶管理ソフトウェアに対して、次にそのカー
ネルスレッド上で動作する利用者レベルスレッドの情報
を通知したり、もしくは、コンテキストスイッチの度に
ページフォールト情報のクリアを行なうなどのなんらか
の方法によって、別の利用者レベルスレッドの発生した
ページフォールトによって関係のない利用者レベルスレ
ッドが中断されるのを防止する必要がある。
【0064】プログラム中で、スレッドが利用者レベル
のスレッド管理ライブラリの関数をコールして、利用者
レベルスレッドのコンテキストスイッチが可能な場合
に、図8の流れ図で示されるプログラムルーチンが呼び
出される。以下、流れ図に従って説明する。まず、現在
の利用者レベルスレッドが中断すべきかどうかを、ペー
ジフォルトの頻度を参照して判断する(ステップS18
02)。これは、分散記憶管理プログラムに含まれる、
スレッドごとのページフォルトの頻度の問い合わせに対
して応答する手順によりえることで実現される(ステッ
プS1801)。もし、中断すべきであれば、利用者レ
ベルのスレッド管理ライブラリ内にある動作可能スレッ
ドキューの長さを調べて、他に動作可能なスレッドが存
在するかどうかをチェックする(ステップS180
3)。もし他に動作可能なスレッドが存在するならば、
現在のスレッドの状態を保存し(ステップS180
4)、状態を待避したスレッドを動作可能スレッドキュ
ーの最後尾にいれる(ステップS1805)。さらに動
作可能スレッドキューから、新たにスレッドを取り出し
(ステップS1806)、そのスレッドの状態を読み込
み、自スレッドの状態としてセットし、そのスレッドの
実行を再開する(ステップS1807)。
【0065】以上の手順によって、利用者レベルスレッ
ドについてもカーネルスレッドと同様に、特定のデータ
ブロックを共有してページフォルトが高頻度で発生する
場合、そのスレッドを中断することでページフォルトの
オーバーヘッドやネットワーク上のトラフィックを減ら
し、処理効率を低下させないマルチプロセサシステムを
実現することができる。
【0066】なお、本発明をプログラムにより実現する
場合、本発明を達成するためのプログラムを格納した記
憶媒体から、該プログラムを該システム或は装置に読み
出すことによって、そのシステム或は装置が、本発明の
効果を享受することが可能となる。
【0067】
【発明の効果】以上説明したように、本発明に係る情報
処理方法及び情報処理システムは、分散共有記憶の一貫
性保持動作による頻繁なメモリブロックの転送、及び、
ミスアクセスによるプロセッサの実行停止を低減するこ
とができるという効果を奏する。
【0068】また、利用者レベルスレッドについてもカ
ーネルスレッドと同様に、特定のデータブロックを共有
してページフォルトが高頻度で発生する場合、そのスレ
ッドを中断することでページフォルトのオーバーヘッド
やネットワーク上のトラフィックを減らし、処理効率を
低下させないという効果を奏する。
【0069】
【図面の簡単な説明】
【図1】分散情報処理システムの構成図である。
【図2】実施形態1,2の分散情報処理システムの情報
処理装置の構成図の一例である。
【図3】実施形態3分散情報処理システムの情報処理装
置の構成図の例である。
【図4】実施形態1のスレッド制御手受のフローチャー
トである。
【図5】実施形態1の変形例のスレッド制御手順フロー
チャートである。
【図6】実施形態2のスレッド制御手順のフローチャー
トである。
【図7】実施形態3のスレッド制御手順のフローチャー
トである。
【図8】実施形態1,2のキャッシュへの読込み制御手
順のフローチャートである。
【図9】実施形態1,2のキャッシュへの読込み制御手
順のフローチャートである。
【図10】実施形態1,2における他装置からのキャッ
シュへの読込み制御手順のフローチャートである。
【図11】実施形態1,2のストア処理の制御手順のフ
ローチャートである。
【図12】実施形態1,2の書き戻し処理の制御手順の
フローチャートである。
【図13】実施形態1,2の無効化処理の制御手順のフ
ローチャートである。
【図14】実施形態3,4のキャッシュへの読込み制御
手順のフローチャートである。
【図15】実施形態3,4のページフォルト処理の制御
手順のフローチャートである。
【図16】実施形態3,4のストア処理の制御手順のフ
ローチャートである。
【図17】実施形態3,4の書き戻し処理の制御手順の
フローチャートである。
【図18】実施形態4のスレッド制御手順フローチャー
トである。
【図19】本実施形態における処理手順を実行するプロ
グラムモジュールを格納する記憶媒体のメモリマップを
示す図である。
【符合の説明】
101 情報処理装置 102 ネットワーク 201 プロセッサ 202 内部バス 203 主記憶 204 I/Oコントローラ 205 2次記憶装置 206 分散共有記憶制御装置 207 ディレクトリ 208 キャッシュメモリ 301 ネットワークインタフェース 302 記憶管理装置(MMU)

Claims (20)

    【特許請求の範囲】
  1. 【請求項1】 複数の情報処理装置を相互に接続して成
    り、前記各情報処理装置の有する記憶手段に記憶された
    内容を、前記各情報処理装置のキャッシュに所定の記憶
    ブロック単位でコピーして共有する情報処理システムに
    おいて、共有される記憶手段を用いて前記情報処理装置
    の各々の上に一連の処理の処理単位を分散して、処理単
    位を実行して前記一連の処理を行う情報処理方法であっ
    て、 前記記憶手段に含まれる記憶ブロックに対する前記処理
    単位ごとのキャッシュミス頻度を、記憶ブロックごとに
    計測する計測工程と、 前記計測工程により計測されたキャッシュミス頻度に従
    って、当該処理単位の実行を中断する中断工程と、 前記中断工程により中断された処理単位に変えて、他の
    動作可能な処理単位の実行を開始する実行開始工程と、
    を備えることを特徴とする情報処理方法。
  2. 【請求項2】 前記中断工程は、いずれかの記憶ブロッ
    クに対するキャッシュミス頻度が所定のしきい値を越え
    た処理単位の実行を中断することを特徴とする請求項1
    に記載の情報処理方法。
  3. 【請求項3】 前記中断工程は、実行を中断しようとす
    る処理単位の状態を退避して、実行されていない処理単
    位の待行列の末尾に登録し、前記実行開始工程は、前記
    待行列の先頭の処理単位を取り出して、その処理単位の
    ために退避された状態を設定して実行を開始することを
    特徴とする請求項1または2に記載の情報処理方法。
  4. 【請求項4】 キャッシュミスを生じた場合、キャッシ
    ュミスを生じた記憶ブロックを、当該記憶ブロックを記
    憶手段に有する情報処理装置からキャッシュに読出す読
    出し工程を更に備え、該読出し工程により前記記憶手段
    を接続された複数の情報処理装置で共有することを特徴
    とする請求項1乃至3いずれかに記載の情報処理方法。
  5. 【請求項5】 キャッシュミスを生じた場合、キャッシ
    ュミスを生じた記憶ブロックを、当該記憶ブロックを有
    する情報処理装置から、キャッシュミスを生じた情報処
    理装置の記憶手段に読み込む第1の読み込み工程と、該
    読込み工程により記憶手段に読み込まれた記憶ブロック
    をキャッシュに読み込む第2の読込み工程とを更に備
    え、該第1及び第2の読み込み工程により、接続された
    複数の情報処理装置で前記記憶手段を共有することを特
    徴とする請求項1乃至3いずれかに記載の情報処理方
    法。
  6. 【請求項6】 複数の情報処理装置を相互に接続して成
    り、前記各情報処理装置の有する記憶手段に記憶された
    内容を、前記各情報処理装置のキャッシュに所定の記憶
    ブロック単位でコピーして共有し、共有される記憶手段
    を用いて前記情報処理装置の各々の上に一連の処理の処
    理単位を分散して、処理単位を実行して前記一連の処理
    を行う情報処理システムであって、 前記記憶手段に含まれる記憶ブロックに対する前記処理
    単位ごとのキャッシュミス頻度を記憶ブロックごとに計
    測する計測手段と、 前記計測工程により計測されたキャッシュミス頻度に従
    って、当該処理単位の実行を中断する実行制御手段と、 前記実行制御手段により中断された処理単位に変えて、
    他の動作可能な処理単位の実行を開始する実行開始手段
    と、を備えることを特徴とする情報処理システム。
  7. 【請求項7】 前記実行制御手段は、いずれかの記憶ブ
    ロックに対するキャッシュミス頻度が所定のしきい値を
    越えた処理単位の実行を中断することを特徴とする請求
    項6に記載の情報処理システム。
  8. 【請求項8】 前記実行制御手段は、実行を中断しよう
    とする処理単位の状態を退避して、実行されていない処
    理単位の待行列の末尾に登録し、前記実行開始手段は、
    前記待行列の先頭の処理単位を取り出して、その処理単
    位のために退避された状態を設定して実行を開始するこ
    とを特徴とする請求項6または7に記載の情報処理シス
    テム。
  9. 【請求項9】 キャッシュミスを生じた場合、キャッシ
    ュミスを生じた記憶ブロックを、当該記憶ブロックを記
    憶手段に有する情報処理装置からキャッシュに読出す読
    出し手段を更に備え、該読出し手段により接続された複
    数の情報処理装置で前記記憶手段を共有することを特徴
    とする請求項6乃至8いずれかに記載の情報処理システ
    ム。
  10. 【請求項10】 キャッシュミスを生じた場合、キャッ
    シュミスを生じた記憶ブロックを、当該記憶ブロックを
    有する情報処理装置から、キャッシュミスを生じた情報
    処理装置の記憶手段に読み込む第1の読み込み手段と、
    該読込み手段により記憶手段に読み込まれた記憶ブロッ
    クをキャッシュに読み込む第2の読込み手段とを更に備
    え、該第1及び第2の読み込み手段により、接続された
    複数の情報処理装置で前記記憶手段を共有することを特
    徴とする請求項6乃至8いずれかに記載の情報処理シス
    テム。
  11. 【請求項11】 複数の情報処理装置を相互に接続して
    成り、前記各情報処理装置の有する記憶手段に記憶され
    た内容を、前記各情報処理装置の主記憶に所定のページ
    単位でコピーして共有する情報処理システムにおいて、
    共有される記憶手段を用いて前記情報処理装置の各々の
    上に一連の処理の処理単位を分散して、処理単位を実行
    して前記一連の処理を行う情報処理方法であって、 前記記憶手段に含まれるページに対する前記処理単位ご
    とのページフォルト頻度を、ページごとに計測する計測
    工程と、 前記計測工程により計測されたページフォルト頻度に従
    って、当該処理単位の実行を中断する中断工程と、 前記中断工程により中断された処理単位に変えて、他の
    動作可能な処理単位の実行を開始する実行開始工程と、
    を備えることを特徴とする情報処理方法。
  12. 【請求項12】 前記中断工程は、いずれかのページに
    対するページフォルト頻度が所定のしきい値を越えた処
    理単位の実行を中断することを特徴とする請求項11に
    記載の情報処理方法。
  13. 【請求項13】 前記中断工程は、実行を中断しようと
    する処理単位の状態を退避して、実行されていない処理
    単位の待行列の末尾に登録し、前記実行開始工程は、前
    記待行列の先頭の処理単位を取り出して、その処理単位
    のために退避された状態を設定して実行を開始すること
    を特徴とする請求項11または12に記載の情報処理方
    法。
  14. 【請求項14】 ページフォルトを生じた場合、ページ
    フォルトを生じたページを、当該ページを記憶手段に有
    する情報処理装置から主記憶に読出す読出し工程を更に
    備え、該読出し工程により前記記憶手段を接続された複
    数の情報処理装置で共有することを特徴とする請求項1
    1乃至13いずれかに記載の情報処理方法。
  15. 【請求項15】 複数の情報処理装置を相互に接続して
    成り、前記各情報処理装置の有する記憶手段に記憶され
    た内容を、前記各情報処理装置の主記憶に所定のページ
    単位でコピーして共有し、共有される記憶手段を用いて
    前記情報処理装置の各々の上に一連の処理の処理単位を
    分散して、処理単位を実行して前記一連の処理を行う情
    報処理システムであって、 前記記憶手段に含まれるページに対する前記処理単位ご
    とのページフォルト頻度をページごとに計測する計測手
    段と、 前記計測工程により計測されたページフォルト頻度に従
    って、当該処理単位の実行を中断する実行制御手段と、 前記実行制御手段により中断された処理単位に変えて、
    他の動作可能な処理単位の実行を開始する実行開始手段
    と、を備えることを特徴とする情報処理システム。
  16. 【請求項16】 前記実行制御手段は、いずれかのペー
    ジに対するページフォルト頻度が所定のしきい値を越え
    た処理単位の実行を中断することを特徴とする請求項1
    5に記載の情報処理システム。
  17. 【請求項17】 前記実行制御手段は、実行を中断しよ
    うとする処理単位の状態を退避して、実行されていない
    処理単位の待行列の末尾に登録し、前記実行開始手段
    は、前記待行列の先頭の処理単位を取り出して、その処
    理単位のために退避された状態を設定して実行を開始す
    ることを特徴とする請求項15または16に記載の情報
    処理システム。
  18. 【請求項18】 ページフォルトを生じた場合、ページ
    フォルトを生じたページを、当該ページを記憶手段に有
    する情報処理装置から主記憶に読出す読出し手段を更に
    備え、該読出し手段により接続された複数の情報処理装
    置で前記記憶手段を共有することを特徴とする請求項1
    5乃至17いずれかに記載の情報処理システム。
  19. 【請求項19】 互いに接続され、メモリ媒体から所定
    のプログラムを読み込んでコンピュータを制御するコン
    ピュータ制御装置であって、前記メモリ媒体は、 記憶手段に含まれる記憶ブロックに対する前記処理単位
    ごとのキャッシュミス頻度を、記憶ブロックごとに計測
    する計測工程のモジュールと、 前記計測工程により計測されたキャッシュミス頻度に従
    って、当該処理単位の実行を中断する中断工程のモジュ
    ールと、 前記中断工程により中断された処理単位に変えて、他の
    動作可能な処理単位の実行を開始する実行開始工程のモ
    ジュールと、を備えることを特徴とするコンピュータ制
    御装置。
  20. 【請求項20】 互いに接続され、メモリ媒体から所定
    のプログラムを読み込んでコンピュータを制御するコン
    ピュータ制御装置であって、前記メモリ媒体は、 記憶手段に含まれるページに対する前記処理単位ごとの
    ページフォルト頻度を、ページごとに計測する計測工程
    のモジュールと、 前記計測工程により計測されたページフォルト頻度に従
    って、当該処理単位の実行を中断する中断工程のモジュ
    ールと、 前記中断工程により中断された処理単位に変えて、他の
    動作可能な処理単位の実行を開始する実行開始工程のモ
    ジュールと、を備えることを特徴とするコンピュータ制
    御装置。
JP7211748A 1995-08-21 1995-08-21 情報処理方法及び情報処理システム Withdrawn JPH0962522A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7211748A JPH0962522A (ja) 1995-08-21 1995-08-21 情報処理方法及び情報処理システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7211748A JPH0962522A (ja) 1995-08-21 1995-08-21 情報処理方法及び情報処理システム

Publications (1)

Publication Number Publication Date
JPH0962522A true JPH0962522A (ja) 1997-03-07

Family

ID=16610936

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7211748A Withdrawn JPH0962522A (ja) 1995-08-21 1995-08-21 情報処理方法及び情報処理システム

Country Status (1)

Country Link
JP (1) JPH0962522A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005250830A (ja) * 2004-03-04 2005-09-15 Hitachi Ltd プロセッサおよび主記憶共有マルチプロセッサ
CN111338831A (zh) * 2020-02-10 2020-06-26 北京字节跳动网络技术有限公司 一种多线程运行性能的处理方法、装置、介质和电子设备

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005250830A (ja) * 2004-03-04 2005-09-15 Hitachi Ltd プロセッサおよび主記憶共有マルチプロセッサ
CN111338831A (zh) * 2020-02-10 2020-06-26 北京字节跳动网络技术有限公司 一种多线程运行性能的处理方法、装置、介质和电子设备

Similar Documents

Publication Publication Date Title
US5251308A (en) Shared memory multiprocessor with data hiding and post-store
US6871219B2 (en) Dynamic memory placement policies for NUMA architecture
US5946711A (en) System for locking data in a shared cache
EP0349122B1 (en) Method and apparatus for filtering invalidate requests
US5884077A (en) Information processing system and method in which computer with high load borrows processor of computer with low load to execute process
US7380039B2 (en) Apparatus, method and system for aggregrating computing resources
TWI526829B (zh) 電腦系統、用於存取儲存裝置之方法及電腦可讀儲存媒體
KR100457146B1 (ko) 비정형 메모리 액세스 데이터 프로세싱 시스템을 위한 인터럽트 아키텍쳐
US7624236B2 (en) Predictive early write-back of owned cache blocks in a shared memory computer system
EP0817060B1 (en) A hierarchical SMP computer system
US8832174B2 (en) System and method for dynamic task migration on multiprocessor system
JP2819982B2 (ja) 範囲指定可能なキャッシュ一致保証機能を有するマルチプロセッサシステム
KR20210158430A (ko) 차용된 메모리를 이용한 지능형 콘텐츠 마이그레이션
JPH05127995A (ja) ローカルキヤツシユに共通のページ間の一貫性を確保する方法
WO2015169145A1 (zh) 内存管理方法和设备
JPH11232173A (ja) ローカルメモリに組み込んでいるリモートキャッシュとcc−NUMA(キャッシュ整合型の不均一メモリアクセス)アーキテクチュアを有するデータ処理システム
US20040162952A1 (en) Global pointers for scalable parallel applications
JPH05225048A (ja) 分散メモリシステムを備えるディジタルデータプロセッサ
JP2010517184A (ja) スヌープ要求キャッシュを用いたスヌープ・フィルタリング
KR20220000415A (ko) 서비스로서의 메모리에 기초한 분산 컴퓨팅
US6457107B1 (en) Method and apparatus for reducing false sharing in a distributed computing environment
JP2024098944A (ja) ストレージシステム及び記憶制御方法
CA2019300C (en) Multiprocessor system with shared memory
JPH05210584A (ja) 改善されたぺージングを有するディジタルデータプロセッサ
JPH0962522A (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: 20021105