学位論文要旨



No 111135
著者(漢字) 小口,正人
著者(英字)
著者(カナ) オグチ,マサト
標題(和) 広域環境における分散共有メモリの研究
標題(洋) A Study on Distributed Shared Memory in a Widely Distributed Environment
報告番号 111135
報告番号 甲11135
学位授与日 1995.03.29
学位種別 課程博士
学位種類 博士(工学)
学位記番号 博工第3379号
研究科 工学系研究科
専攻 電子工学専攻
論文審査委員 主査: 東京大学 助教授 相田,仁
 東京大学 教授 斉藤,忠夫
 東京大学 教授 田中,英彦
 東京大学 教授 安達,淳
 東京大学 助教授 喜連川,優
 東京大学 助教授 瀬崎,薫
内容要旨

 広域環境において機能分散処理を行うシステムの構築を考えた場合、分散したノード間でメモリ内容を共有することにより協調して処理を行う分散共有メモリは、一つの有力な方式であると考えられる。理由として、メモリを介して互いにデータの受渡しを行える分散共有メモリはプログラミングの面で有利であること、ノードを追加したり削除したりといったシステム構成の変更に対して柔軟性があること、処理データをモニタリングしたり機能モジュールを追加するといったようなアプリケーションの変更に関して柔軟性があることなどがあげられる。

 分散共有メモリの研究は、仮想共有メモリモデルを始めとして、システムの構成方法やメモリ内容のコンシステンシなど様々な角度から検討が行われてきた。しかしこれらの研究はローカルな環境におけるシステムの構成を前提としており、すべてをそのまま広域分散環境に当てはめることはできない。何故なら広域環境の場合、距離による遅延時間という重要なファクターがあり、どれだけ無駄な通信を減らしたりプロトコル処理を高速化しても、あるいはどれだけネットワークのバンド幅を広げても、結局伝播遅延時間そのものを克服することはできないからである。

 本研究は、広域環境に適した分散共有メモリの実現方法を検討するものである。まず最初に、解析的な手法を用いていくつかの分散共有メモリモデルの評価を行った。取り上げたモデルは、分散共有メモリの代表的な実現法である仮想共有メモリ、これと対極的な性質を持つ複製型共有メモリ、そしてこれらの複合型モデルである。複製型共有メモリの構成を図1に示す。複製型共有メモリは計算機の外部バスを用いて構成され、共有メモリであるグローバルメモリもこの外部バスに接続される。メモリ内容の読み出しは各ノードが自分のメモリから行い、一方書き込みがなされると、この内容がFIFOに取り入れられ、その後ネットワークを通じて他のノードのグローバルメモリへブロードキャストされる。FIFOの存在により各ノードのホスト計算機は、書き込みデータのブロードキャストを待つことなくアプリケーションの実行を再開できるという特徴を持つ。

図1:Basic operations of replicated shared memory

 各モデルの評価手法としては、並列処理を行う評価プログラムのトレースの解析を行った。結果の一例を図2に示す。図中でModel Iは仮想共有メモリ、Model IIは複製型共有メモリ、Model IIIは複合型モデルである。これよりネットワーク長が長い時、すなわち広域環境においては、仮想共有メモリより複製型共有メモリの方が適しているということがわかる。また複合型モデルはネットワーク長に関わらず良いパフォーマンスを示しており、さまざまな場合に適応できるモデルであるということがいえる。

図2:Execution time of the Gaussian elimination method

 次に複製型共有メモリの同期やメモリコンシステンシに関する検討を行った。ここではセマフォコントローラを用いた集中型の同期方式と、集中管理ノードを持たない分散型の同期方式の提案を行った。また、メモリ内容の一貫性に関する検討を行い、複製型共有メモリにおいて特定の条件が満たされればrelease consistencyが保たれるということを明らかにした。さらに数台のワークステーションを用いて提案した同期方式の実装と評価を行い、セマフォリクエストの頻度と同期処理にかかる時間との関係などを示した。

 解析的な評価により複製型共有メモリが広域環境に適したモデルであるということが示されたが、複製型共有メモリにはいくつかの問題点がある。問題点の一つは外部メモリとして実現されているグローバルメモリに対するアクセス時間が、計算機の内部メモリであるローカルメモリへのアクセスの場合に比べて非常に長いという点である。またもう一つの問題は、複製型共有メモリにおいて用いられるネットワークは独自の仕様のものであり、特に広域環境においては、標準ネットワーク以外に独自のネットワークを構築するのは困難であるという点である。

 これらの問題点を解決するために、広域環境に適した新しい複製型共有メモリのアーキテクチャを提案した。これはグローバルメモリの領域をローカルメモリ内に割り付けるというものであり、ブロードキャストはマルチスレッドプログラミングにより実現される。外部メモリを用いた複製型共有メモリの場合、ブロードキャストはメモリへの書き込みのたびになされていたが、このモデルの場合ブロードキャストは同期機構と組み合わされており、同期点に達した時点で他のスレッドとして実現されているマルチキャストサーバにより実行される。ネットワーク環境としては、今後幅広く用いられることが予想され、LAN環境からWAN環境までシームレスに接続でき、マルチキャスティングもサポートしているなどの点から、ATMネットワークが最適であると考えられる。本研究においては、このモデルのプロトタイプシステムを複数台のワークステーション上に実装した。このプロトタイプのアーキテクチャを図3に示す。

図3:Architecture of prototype implemented on SPARCstations

 プロトタイプはユーザライブラリにより実現されており、アプリケーションプログラムは初期化や同期に関するいくつかのライブラリ関数を呼び出すだけで良い。アプリケーション側とマルチキャストサーバ側とはFIFOにより接続されており、従ってこのシステムがマルチCPUの計算機上にインプリメントされた場合には、ブロードキャストは他のCPUにより自動的に実行されるため、アプリケーションは同期のアドレス範囲をFIFOに伝えるだけですぐジョブを再開することができる。

 広域環境における分散処理の評価は、計算機における処理とネットワーク上での伝達処理という互いに関連した二つの要素を考慮しなければならないため、イベントドリプンやトレースドリプンなどのシミュレーションで評価を行うのは難しい。先述の解析的な手法は、これに対する一つの解決策であるが、この手法はやや決定的であるため、確率的に動作する現実のシステムをシミュレートする評価手法が望まれる。

 そこで、それ自身が複製型共有メモリに基づいて動作しているSCRAMNetTMを用いて広域分散処理のシミュレートを行った。広域環境の仮想的な実現には、ネットワーク上に遅延フードを設け、SCRAMNetTMの割り込み機能などを利用して広域環境をシミュレートした。評価したメモリモデルは、仮想共有メモリ、外部メモリを用いた複製型共有メモリ、そして新たに提案された内部メモリを用いる複製型共有メモリである。この評価システムはSCRAMNetTMにより接続された5台のワークステーション上に実装した。

 アプリケーションモデルとしては、典型的な分散処理のパターンをモデル化して用いた。すなわちあるノードでデータが発生し、それが他のノードに送られ一定の演算がなされた後また別のノードに送られる、という処理が繰り返される。そして一定数のノードにおいて処理が行われると、最終結果が最初のノードに戻ってくる。このようなジョプがネットワーク上でいくつも同時に発生し、並行して処理されるというものである。

 図4に評価結果の一例を示す。これによると外部メモリを用いた複製型共有メモリは、広域環境においては仮想共有メモリより適しているということがわかる。また外部メモリを用いた複製型共有メモリのパフォーマンスは、メモリアクセスのローカル・グローバル比、リード・ライト比に大きく影響されるが、内部メモリを用いた複製型共有メモリはこのようなことがなく、さまざまな場合に適用できる優れたモデルであるということがいえる。

図4:Execution time vs. Network length

 複製型共有メモリは、特に広域環境でリアルタイム性を必要とするアプリケーションに向いていると考えられる。何故ならコンテキスト・スイッチングのようなlatency hidingテクニックは、リアルタイム処理においては効果がなく、複製型共有メモリのようなネットワーク遅延のオーバーヘッドを最小限にすることを考慮したシステムが必要となるからである。

審査要旨

 本論文は「A Study on Distributed Shared Memory in a Widely Distributed Environment(広域環境における分散共有メモリの研究)」と題し、英文で書かれ、7章より構成されている。

 第1章は序論であり、近い将来高速の広域ネットワークが利用可能となると、このようなネットワークを用いて地域的に分散配置された計算機を相互接続し、機能分散処理を行うことが各種のシステムを組む上で有利であることを述べている。また、このような分散処理システムを実現する場合の情報交換のメカニズムとしては、共有メモリ方式が柔軟性の観点で有利であることを述べ、本論文の研究の背景および動機を明らかにしている。

 次いで第2章では、これまで提案されている分散共有メモリの諸方式を紹介している。仮想共有メモリ(Shared Virtual Memory)方式は各計算機が共有メモリに置かれたデータにアクセスしようとした時に、そのデータの置かれているページをネットワーク経由で読み込む方式である。これに対して、複製形共有メモリ(Replicated Shared Memory)方式は共有メモリに対する書き込みが起こるたびに、すべての計算機に対してワード単位で更新された値を放送する方式である。

 第3章では、従来提案されているこれらの方式について、定量的な解析による評価を行っている。その結果、複製形共有メモリでは計算機の外部バス上に共有メモリ領域を設けるため内部メモリに比べてアクセスタイムが長くなるものの、ネットワーク長が長くなるにつれて仮想共有メモリ方式においてページングに要する時間が長くなり、ネットワーク長が104〜105mに達すると、複製形共有メモリの方が有利であることを示している。また、複製形共有メモリにおいてアクセスされたページを内部メモリに取り込み、同期が必要となった段階で更新情報をまとめて放送することにより、ネットワーク長に関係なく、高い性能を実現できることを示している。

 第4章では、分散共有メモリとして複製形共有メモリを用いた際の同期機構の効率的な実現法について論じている。すなわち、同期のためのセマフォ機構を一カ所に集中させたのでは性能のボトルネックとなるため、セマフォ機構を全ての計算機に分散して持たせる方式を提案し、シミュレーション評価によりその有効性を示している。また、メモリ内容の一貫性との関係から、セマフォ獲得要求は共有メモリに対する更新情報を追い越しても良いが、セマフォ解放要求は更新情報を追い越してはならないことを述べている。

 第5章では、前章までに述べたような複製形共有メモリの機能を市販のワークステーション上に効率よく実現する方法について述べている。すなわち、共有メモリにアクセスするアプリケーションプログラム本体と並行に、共有メモリに対する書き込みを他の計算機に放送するためのサーバをスレッドとして実現する。今後、複数のCPUを持ったワークステーションが広く用いられるようになれば、このようなサーバ機能をアプリケーションプログラム本体とは別のCPUで動かすことができるので、アプリケーションプログラムはネットワークへのアクセスの完了を待つことなく、直ちに次の作業に取りかかることができ、分散共有メモリを実現するためのオーバーヘッドを隠蔽することができる。

 第6章では、市販の複製形共有メモリシステム上に遅延ノードを設けて広域環境を仮想的に実現することにより、第5章で提案した方式の広域環境における性能を評価している。仮想共有メモリ方式ではネットワーク長が長くなるにつれて性能が悪化し、また、従来の複製形共有メモリ方式では共有メモリに対する書き込みの比率が大きくなると性能が悪化するのに対して、提案した方式では、ネットワーク長、読み書きの比率に関わりなく、高い性能を実現できることを示している。

 第7章は結論であり、本論文で得られた成果をまとめている。

 以上これを要するに、本論文は広域分散環境において共有メモリを効率よく実現するための方式を提案し、各種の評価を行ってその有効性を示したものであって、電子情報工学上貢献するところが少なくない。

 よって著者は東京大学大学院工学系研究科における博士の学位請求論文審査に合格したものと認める。

UTokyo Repositoryリンク http://hdl.handle.net/2261/1863