並列処理を誰でも自在に使えるものにしたい
電子情報学専攻 田浦健次朗 准教授

東大、NIIなど6研究拠点を結び、グリッド環境を構築
情報爆発時代に備え、情報検索や自然言語処理に

田浦健次朗 准教授 「誰でもいつでも、並列処理を自在に使えるようにしたい」。田浦准教授が最も注力しているのはこの点だ。それも、各地に点在する複数の計算機をネットワークで結び、計算機に仕事を割り当てて同時並行に処理させることで、あたかも1台のスーパーコンピューターのように利用するグリッド・コンピューティング環境用の並列処理ソフトウェアの構築にある。並列処理は高速、大量処理が可能という利点があるが、大規模な科学技術計算など一部に限られている。それを広く普及させるには、性能の異なる計算機を使いこなすプログラミング言語など、グリッド環境用のソフトウェアを整える必要がある。田浦准教授は、多くのプログラマーに支持されているスクリプト言語を使い、東大内外の多数の計算機を結んだグリッド・コンピューティング環境によって、医学テキストを超高速に解析できることを辻井研究室(コンピュータ科学専攻)との共同研究で明らかにした。科学技術計算の分野だけでなく、情報検索、自然言語処理、データ・マイニングなどにも計算機資源を有効活用できる見通しをつけたもので、情報爆発時代に備えた新しい処理モデルとして定着を目指している。

研究者が馴れ親しんだスクリプト言語を採用

※画面をクリックすると、
動画をご覧になれます

 動画を見ていただこう。カラフルな棒が上下に忙しく動いている。「上下する棒の長さは、ネットワークで結ばれた研究拠点で使用中のCPUやメモリーの量を表しています」。棒の動きから、ネットワークで結んだ研究拠点の計算機を使って処理を行っている様子がひと目でわかるのだ。

 個々の小さな四角は1台の計算機(1-4CPU)を示し、四角の塊になったところが東大の本郷、柏キャンパス(千葉)と国立情報学研究所(NII、千葉)、京大(京都)、東工大、早大(いずれも東京)の6研究拠点を表している。総数500台近いCPUが広域ネットワーク上にあり、計算プログラムを送り込むと、瞬時にCPUが接続されて動き始める。自分の計算機だけではこなしきれない膨大な計算も、他のところにある計算機を利用することでスーパーコンピューターを仮想的につくり上げ、高度な計算処理が可能になる。

 計算機の処理性能が大幅に向上したことで、利用する環境に変化が現れたのである。通常の計算ならフルに性能を使わなくても処理してしまうので、空き時間が出てくる。その空き時間を膨大なデータ処理を必要とする気象、遺伝子、津波、タンパク質解析など、他の大規模な計算にシェアし合う考えが生まれた。このグリッド・コンピューティングの仕組みを構築するには、解決すべき課題がある。

田浦健次朗 准教授 複数台の計算機を同時に動かす場合、データ処理を1つの計算機の中で行っているのか、近くの計算機か遠くの計算機で行っているのかなどをきちんと押さえておく必要がある。計算機の性能のばらつき、ネットワークの速さの違いから生じる遅延やバンド幅の問題、計算処理の割り振り方など複雑な並列処理管理が欠かせず、これらをプログラムで制御しないといけない。「情報検索などにタッチしている一般の研究者にとって、グリッド環境、特に、並列処理のプログラミングは敷居が高い。これを下げたいのです」。それを目標に、田浦准教授は、複雑な処理管理をしなくても、通常のOSや馴れ親しんでいるプログラミング言語で簡単に実行できる“並列処理の普及版”の構築を目指している。プログラミングするのに、機械語への変換作業を省略し、ソフトウェアの動作内容を台本のようにわかりやすく記述するスクリプト言語を使えるようにした。科学技術計算に使われるフォートランやC言語より実行時間は遅いが、情報検索や自然言語処理の分野で多くの研究者に愛されている点を重視したのである。

高速推論の特徴をブロードキャストなどに応用

 このシステムの実効性は、コンピュータ科学専攻の辻井潤一教授(2007/8/01フォーカス登場)グループと共同で、1600万件という医学テキスト検索のための構文解析で実証された。システムの処理自体は並列処理としては単純なもので、拠点を結ぶネットワークのような遅延の大きい環境でも並列化の効果を比較的得やすい。ただ、もっと複雑な問題を効率的に処理するには、CPU同士を結ぶネットワークの性能を考慮し、それに応じた負荷分散やデータの移動を、与えられた環境に応じてプログラムが自律的に行う必要がある。

トポロジー推定(概念図) 実験環境(4拠点. 256台の計算機)
トポロジー推定(概念図) 実験環境(4拠点. 256台の計算機)
※画面をクリックすると、拡大画像をご覧になれます

 そのために田浦准教授は、ネットワークのトポロジーやホスト-スイッチ、スイッチ-スイッチ間の遅延を自動的かつ高速に推論するアルゴリズムの研究を行った。小さなメッセージの往復時間だけを用いるので高速で、ネットワークに負荷をかけないことが特徴だ。本郷キャンパス2ヵ所、千葉の柏キャンパス、NIIの計4ヵ所(計算機総数256台)を結んだグリッド・ネットワークで実験を試みた。ここにプログラムを投入したところ、約15秒で計算機256台と約35のスイッチを結ぶネットワークの図が得られた。「これだけ高速にトポロジーを推論できるグリッド環境を実現したものはありません」。この推論結果を並列処理の基本オペレーションの1つであるブロードキャストの最適化に使えるメドも得ている。

 学生時代に情報科学の魅力に惹かれ、プログラミングに興味を覚えた研究者が、多くの人に役に立つ研究をしたいと考えた。「知らないうちに、これを使わなくては何も動かせないといった、根っこのところを追求したい」とプログラミングの研究を中心に据えた。それが並列処理の活躍の場を広げる普及版という発想を生み、IT基盤技術の1つとして実現へ弾みをつけている。現在、6つの研究拠点で行っているネットワーク化も、最終的には20以上の拠点に拡大する方向にある。大学間は、すでに40Gbps の高速ネットワーク「SINET 3 」で結ばれているし、拠点間で並列処理を行う環境は整備されてきた。並列処理を特殊な研究者だけのものではなく、「誰もが自在に使えるものにすることが私たちの役割。情報爆発時代にふさわしいツールに仕上げたいですね」と語った言葉に固い意欲が読み取れる。

ISTyくん