学位論文要旨



No 112649
著者(漢字) 佐藤,充
著者(英字)
著者(カナ) サトウ,ミツル
標題(和) 並列計算機におけるネットワーク仮想化機構を用いた高機能ノード間接続方式
標題(洋)
報告番号 112649
報告番号 甲12649
学位授与日 1997.03.28
学位種別 課程博士
学位種類 博士(工学)
学位記番号 博工第3927号
研究科 工学系研究科
専攻 情報工学専攻
論文審査委員 主査: 東京大学 教授 田中,英彦
 東京大学 教授 武市,正人
 東京大学 教授 井上,博允
 東京大学 助教授 喜連川,優
 東京大学 助教授 相田,仁
内容要旨

 現在,並列計算機は科学技術計算の分野をはじめ,さまざまな分野で利用されている.しかしその形態は,特定のアプリケーションに依存したものや,数〜数十のプロセッサを結合した小規模なものに限定されており,多様な用途に使われる大規模な並列計算機はまだ実用化の段階には至っていない.そこで本研究では,多様な用途に対応した並列計算機の構築可能にするためのノード間接続方式について研究を行なった.その結果,1)アドレス変換を利用した,複数ユーザをサポートしより一般的な並列計算機の構成を可能にするネットワーク仮想化機構,2)さまざまなアプリケーションに対して最適な通信方式を自動的に選択するキャッシュプロトコルであるダイナミックプロトコル方式,3)ハードウェアによるノード間通信ユニットの実装および評価の3つの成果を得た.

 従来,並列計算機のノード間接続方式としては,相互結合網アーキテクチャを差す場合がほとんどであったが,本研究ではノードと相互結合網を結ぶ「ノード間通信ユニット」の重要性を明らかにし,より高速・高性能なノード間通信を実現するためのノード間通信ユニットのアーキテクチャについて検討を行なった.これまでの並列計算機でのノード間通信ユニットとしては,DMAやFIFOなどの単純なメッセージパッシング用インタフェースか汎用プロセッサである場合が多かったが,それでは将来的に並列計算機に必要とされるマルチユーザ機能や高速な通信処理に対応できない.そこで本研究では,高速かつ高機能を実現するためのノード間接続ユニットとして専用ハードウェアを採用し,それをNetwork Interface Unitと名付けた.そしてNetwork Interaface Unitが持つべき機能としてa)高速な通信,b)分散共有メモリ,c)複数ユーザのサポート,d)高速なメモリ処理,e)低レベルネットワーク処理をあげ,これらの機能を効率良く実現するアーキテクチャについて検討を行なった.

 ネットワーク仮想化機構は,Network Interface Unitの機能のうちc)複数ユーザのサポートに対応するものである.ネットワーク仮想化機構は,アドレス変換を利用してネットワークノード番号変換を行ない,各ユーザに対してそれぞれの論理ノード空間を提供するものである.この手法は,ソフトウェアによる同様の変換に対して,高速な変換が可能であり,ハードウェアトラップによるユーザ間のプロテクションも実現できる.また,ハードウェアで実装することによってキャッシュなどのノード間通信の高速化機構とも共存することが可能である.この機構を応用すると,1)相互結合網上の物理的な複数のノードに対して論理的に1つのノードを割り当てることによって,ノードと相互結合網間のスループットをソフトウェア的に変更する方法(ノード番号エイリアス),2)ユーザに対して物理的なトポロジとは違う論理的なトポロジ空間を提供するトポロジ変換機能などを提供することができる.シミュレータを用いた評価では,ノードと相互結合網間のスループットがボトルネックになっているアプリケーションにおいてノード番号エイリアスを用いると,適切なスループットを選択することができ,アプリケーションの実行速度を向上できることが確認された.

 並列計算機では,通信を高速に行なうことが特に重要な課題である.特に,ハードウェアで実現するために比較的軽い処理であるとはいえ,ネットワーク仮想化機構などの高機能通信方式を組み込んだ場合,それが通信の速度低下につながることもあるため,これまで以上に通信の高速化が重要になってくる.ノード間キャッシュは,この通信のレイテンシを隠蔽する手段として有効な手段である.しかし大規模な並列計算機におけるキャッシュには,コンシステンシ管理という問題が存在し,これまで実用的なシステムで用いられたことはほとんどなかった.本研究では,まず従来のキャッシュシステムの評価を通じて,大規模な並列計算機にノード間キャッシュを適用した場合の問題点を明らかにした.分散メモリ型並列計算機でのキャッシュコンシステンシ管理方式には,主にディレクトリ方式が用いられるが,このディレクトリをどのように構成するかにさまざまなバリエーションがある.本研究では,シミュレーションを行ない,相互結合網の階層構造を利用したディレクトリ保持方式の利点として,1)ディレクトリが少数のビットですむ,2)相互結合網の機能を利用して高速なコンシステンシ管理を行なうことができる,3)Acknowledgeのコンバイニングを行ない,相互結合網の負荷を低減することができるという点を明らかにした.また同じシミュレーションにおいて,同時にコンシステンシ管理の際にはアプリケーションに適したコンシステンシ管理プロトコルが重要となることも示した.

 従来のノード間キャッシュでは,コンシステンシ管理プロトコルとして,単純な無効化型プロトコルを用いるか,ソフトウェアで最適なプロトコルを埋め込むという方法が主に用いられてきた.しかし単純な無効化型プロトコルでは,それに適していないアプリケーションに適用すると,かえって効率が落ちることもある.またソフトウェアによってプロトコルを指定する方法では,ユーザに指定させる場合はプログラマに余計な負担をかけ,コンパイラで自動的に判断する場合は最適なものを見つけにくいという問題があった.ダイナミックプロトコルは,アプリケーションに応じて,ハードウェアで自動的に,動的な最適コンシステンシ管理プロトコルを選択する方式である.ダイナミックプロトコルは,Self-InvalidationとAuto-Invalidationの2つの方式から構成される.ダイナミックプロトコルでは,基本的には更新型をベースとしたコンシステンシ管理を行ないながら,コピーノード(Self-Invalidation)およびホームノード(Auto-Invalidation)で,メモリのアクセスパタンの解析を行なう.解析の結果,無効化型に適しているデータを見つけ出した場合には,そのデータのコンシステンシ管理プロトコルを無効化型に切替える.この方式を用いることによって,ユーザプログラムはキャッシュプロトコルを意識する必要がなく,データに応じた最適なプロトコル選択を行なうことができる.本研究ではこのダイナミックプロトコルの有効性を確認するため,実用的なアプリケーションを実行することができる並列計算機シミュレータを構成し,評価を行なった.その結果,無効化型に適したアプリケーションでは無効化型に対して,更新型に適したアプリケーションでは更新型に対して,それぞれ遜色ない性能を示した.また無効化型に適したアプリケーションでは更新型よりも,更新型に適したアプリケーションでは無効化型よりも,はるかに高速にコンシステンシ管理を行なうことができることも明らかになった.

 最後に,本研究で提案するNetwork Interface Unitの実用的有効性を確認するため,Network Interface Unitの核となるメモリアクセスブロックをハードウュアに実装した.この実装は文部省重点領域研究「超並列原理に基づく情報処理基本体系」で開発中のJUMP-1およびJUMP-.5に用いられるMMC(Main Memory Controller)という,実際の並列計算機システムに組み込まれる形で行なわれた.MMCはCMOSゲートアレイで実現され,ハードウェア記述言語VHDLで記述されている.VHDLシミュレーションによるMMC単体の性能評価では,メモリブロックの読みだしレイテインシが最小25クロック,メモリ読み出しのスループットは最大160Mbytes/secであることがわかった.このことから,専用ハードウェアで構成されるノード間接続ユニットの実現性,およびそれが充分実用的な性能を発揮できることがわかる.また,システムに組み込まれた場合の性能として,JUMP-1のMBPの性能評価を行なった.その結果,MBPと同様の機能をもつ市販のシステムよりも,ゲート数的,速度的にも優れていることを確認した.

審査要旨

 本論文は、「並列計算機におけるネットワーク仮想化機構を用いた高機能ノード間接続方式」と題し、6章と付録からなる。並列計算機は、現在様々な分野で使われ始めているが、より広く普及するためには、応用の様々な特性に合わせて容易に設計・利用することができる必要があり、そのキーとなる技術は並列計算機に於ける多くのプロセッサを相互に結合するための接続方式である。本研究は、そのような高度な接続方式を検討したものである。

 第1章「序論」は、本研究の背景と目的について述べ、さらに本論文の構成をまとめている。

 第2章「並列計算機の構成方式と通信ユニット」は、大規模で実用的な並列計算機を実現するための構成方式について論じ、プロセッサとしては、実用性から従来の逐次型マイクロプロセッサを用い、メモリ構成としては、分散型共有メモリを想定し、ノード間接続ユニットとしては、専用のハードウエアを設けることがよいことを述べている。また、ノード間の相互結合網に関しては、応用目的に応じて適切なものを選択可能であることが望ましいと述べている。更にこの章では、このノード間接続ユニットをNetwork Interface Unit(NIU)と呼び、それが持つべき機能を分析するとともに、その内部構成を論じている。

 第3章「ネットワーク仮想化機構」は、並列計算機を同時に複数の利用者から利用可能とするために、相互結合網と他ノード空間を仮想化して利用者に見せるネットワーク仮想化機構について論じたもので、ハードウエアによる完全2段階アドレス変換機構を用いることにより、複数の物理ノードに一つの論理ノード番号を付与できるノード番号エイリアス機能や、利用者毎に異なるトポロジを提供する機能が可能となることを示している。更に、ノード番号エイリアスを用いることにより、複数の物理ノードを一つの論理ノードと見なすことが可能となり、それによって、大きなノード間スループットを必要とする応用に対して実行速度の向上が望めることをシミュレーションで示している。

 第4章「ノード間キャッシュシステム」は、ノード間通信を高速化するための手法として、通信時間を隠蔽して疑似的に高速化するためのノード間キャッシュシステムについて論じたものである。まず、大規模なシステム向けの方式としてディレクトリ方式があるが、コピーデータのディレクトリ管理用情報が非常に大きくなるその問題点を指摘し、それを解決するための方法として、疑似フルマップディレクトリ構成方式を提案し、その有効性をシミュレーションにより確認している。次に、従来のキャッシュプロトコルは、無効化型と更新型に分けられるが、これらの適性は、応用問題によって大きく異なり、動的に最適プロトコルを選択する必要があることを述べ、ハードウエアによって自動最適プロトコル選択を行うダイナミックプロトコルを提案している。これは、コピーの更新型を基本とし、その効率を下げないために無効化型を動的に挿入する方式で、コピーの存在するノードで自からコピーの無効化を行うSelf-Invalidation方式と、コピーのホームノードから無効化に適したブロックを選定して無効化要求を送るAuto-Invalidation方式の組み合わせを取る。この方式に対して詳細なシミュレーションを行い、様々な応用プログラムに対して、単なる無効化型や更新型よりも常に性能の高い方式となっていることを示している。

 第5章「ハードウエアへの実装」は、以上のような機能を備えたノード間接続ユニットの中核となる部分を実際にLSIとして実装したことについて述べたもので、並列計算機JUMP-1の主記憶制御装置として実装された。本章では、その内部構成や実装上の問題について論じ、20クロックのレイテンシ、160Mbyte/secのスループットを持ったLSIを、38kgateのLSIとして実現することによって、並列計算機の基本要素として十分な性能を持っていることを明らかにしている。

 第6章は、結論および今後の課題をまとめたものである。

 以上、これを要するに本論文は、並列計算機を柔軟且つ高性能に構成するための基本要素技術としてノード間接続ユニットの構成方式について論じ、新しい方式を提案するとともにその性能を明らかにしたもので、情報工学上貢献する所少なくない。

 よって、本論文は、博士(工学)の学位請求論文として合格と認められる。

UTokyo Repositoryリンク