- 研究の目的は?
超並列計算機で実行されるアプリケーションは、実世界を対象とした大規模なシミュレーションや画像認識、大規模なデータベース処理など、その多くは大量のデータを扱うものです。超並列計算機にはそれらのデータを蓄えるための大規模な「記憶システム」が必要です。そして、超並列計算機と記憶システムとの間で、超並列計算機の演算能力に見合うスピードで、大量のデータを転送できなければなりません。
また、多数のプロセッサ上でデータが並列に処理されるわけですから、記憶システムは、プロセッサからの要求に対し多数のデータを同時にアクセスできることが必要です。つまり、我々の目指す「並列記憶システム」とは、図1に示すようなたくさんの「データの出入り口」を持つ「大容量の記憶装置」です。
- 研究のアプローチは?
これを実現するために、たくさんのディスクを並列に並べる方法が考えられます。従来のように "並列に接続する"
ディスクの台数が10台や20台の場合には、アクセス要求やデータ位置を集中的に管理することも可能です。しかし、並列に接続するディスクの台数をさらに増やした場合、アクセス要求やデータ位置を集中的に効率良く管理することは、最早、不可能となります。例えば、1000台のディスクに対するデータアクセスをどこか一箇所で管理すると効率は非常に劣化します。我々は図2に示すようにディスク同志が情報をお互いに交換し、協調して動作するような、「並列記憶システム」を目指しています。
図 1.は、構築する予定の「並列記憶システム」の具体的な構成を示したものです。多数
のディスクが
I/Oネットワークを介して超並列計算機に接続される構成をとります。これらのディスクは、数台のディスクを一つのクラスタとし、ディスクシステム全体はいくつかのディスククラスタ(並列ディスクモジュールと呼ぶ)から構成されます。また、各ディスククラスタは一つのディスクノードを持ち、プロセッサからのアクセス要求やデータ位置などをディスクノードが分散管理します。ディスクノードは、お互いに各ディスククラスタのアクセス状況などに関する情報を交換します。
「並列記憶システム」は、このように多数のディスクから構成されますので、当然、信頼性を損なわない配慮も必要となります。
- 研究状況は?
ここで我々の研究活動に関する最近の話題について述べたいと思います。一般的には、ディスクの数が増えるにつれて全てのディスクを効率的に動作させることは困難になります。つまり、アクセス要求がいくつかのディスクに集中したり、逆に負荷がほとんどない(暇な)ディスクがあったりで、例えば、1000台のディスクで1000倍の効果とはいかなくなります。
このような「超並列ディスクシステム」を効率的に動作させるために、我々は、全てのディスクに対して、アクセス要求を均等に配分するための手法を確立しました。この手法を用いることにより、一部のディスクに負荷が集中し、それがボトルネックになることを防ぐことができます。この手法については、シミュレータを作成しその上で有効性も確認しました(参考文献[1][2])。
一方、超並列計算機と記憶システムの間のデータ転送路となる「I/Oネットワーク」も我々の目的を達成するための重要な構成要素となります。「I/Oネットワーク」についても、高速に多数のデータを並列転送できることが要求されます。これを実現するためにネットワークトポロジーやデータ転送方式等についても検討を進めてきました。(参考文献[3])
- 今後の予定は?
我々の検討してきた方式の有効性、性能を実機上で確かめていきたいと思っています。そのために、今年度は動作検証を行なうためのテストシステムを構築しています。8台のディスクとディスクノードを含む最小構成の並列記憶システム(並列ディスクモジュール)を作製します。また、平成8年度以降には「並列記憶システム」のプロトタイプを構築して、RWC-1と接続し、実アプリケーション上での性能評価を行ないたいと考えています。