[平木研助手さんインタビュー]
お話:松本尚助手
(1996年に収録)
Q この研究室でめざしていることはなんでしょうか?

高速化ですね。高性能化、高機能化もふくまれますが、速度をおとしてまで やろうという気はありません。 ハードをいじってもよいし、OSをいじってもいいし、トータルに考えて 高速化ができればいいと思っています。

Q そうすると具体的に作りたいと思っているのはどういったものなのでしょうか?

1台から何百万台まで、インターフェイスを変えずに使えて、性能は 台数が増えればそれだけよくなっていくような、コンパイラもOSも持っているような システムをめざしています。 最近はじめていることなんですが、アプリケーションが数値計算ばかりではつまらない、 いままでのアプリケーションで、いままで数値計算と関係ないと思われていた分野に 応用していきたいと思っています。 もっとインテリジェントなものが数値計算でできるんじゃないかと思うんです。 そういう応用には高速化が必要だというわけです。 最近のウィンドウシステムだって、計算機の高速化があったから実現されたわけですよね。 つぎは3次元とかいろいろあるでしょうけど、そういったことをトータルに考えていきたいのです。

Q それでは、現在研究室ですすめている具体的なプロジェクトを教え下さい。

並列化をメインにしています。人間だって、仕事を多人数でやったほうが仕事は 早くかたづくでしょう。それと同じですよね。 しかし、仕事を多人数でやると、コミュニケーションなどめんどうなことが出てくる。 そういったことを解決することがテーマであるわけです。 各プロッセサが最大限に働けるように、ハードなりOSなりを作っていくことが大きな目標です。 1人でやっていようが、100万人でやっていようが通用するような方法論ができれば いいなと思っています。

具体的には、 人間が組み立てるプログラム等のロジックってのはある意味シーケンシ ャルなものをベースにしているんだと思うんですが、 そういうのをうまく処理して並列化して、オーバーヘッドなしに実行できるようにしたい。 そいうことで、並列化コンパイラを作っています。 以前は細かいレベルで並列化してそこそこパフォーマンスがでたのですが、 現在はもうちょっと大きなレベルで並列化するようなものを考えています。

それから、情報処理振興事業協会(IPA)の資金援助を受けて 「SSS-CORE(スリーエス・コア)」という 汎用超並列OSの研究開発を行なっています。 これは京都の有限会社「アックス」との共同研究プロジェクトで、 他の大学や研究機関等で広く行なわれているような UNIXやMachの改造/改良ではなく、効率良く並列・ 分散処理ができるOSをゼロからすべて(デバイスドライバや ページ管理コードからshellまで)独自開発を行なっています。 いくら並列といってもバッチ処理ではしょうがない、ある人が2日かかるジョブを 投入し次の人が1時間かかるジョブを投入したとしたとき、いまの並列システム は後の人は2日と1時間待たなければならない。そういうのでは困るので、 後の人が2時間くらい待てば仕事が終わるもの、つまりちゃんとタイムシェアリングする 並列OSを作りたいのです。 本当に分散処理がなされると、プロセッサ間の距離というのはまちまちになるけれども、 それをうまく処理するようにしなければなりません。 そういうのはOSが実行時にやるのが理想なのだけれども、それはコンパイル時にユーザ なりコンパイラから「ヒント」をもらってやればうまくいく、また逆に プログラムもOSから実行時の情報をうけとってそれをうまく利用できるような、 そういった並列OSをめざしています。

実はこのプロジェクト、完成はしていないのですが、結構うまくいっているので、 1年後にはコアの完成を、あともう1年で、XやUNIXがうごくようなシステムに もっていきたいと思っています。

Q ハードウェアの方では何かありますか?

うちの研究室では現在、お茶の水5号というのをつくっていまして、過去には お茶の水1号というのもつくっていました。 お茶の水1号はMIPS社のプロセッサをつないで、集中共有メモリを実装した、 密結合なアーキテクチャのマシンです。つまり、どのプロセッサからも同じように メモリがアクセスできるマルチプロセッサです。 同期の方式とか通信の方式とかにいくつかオリジナルなアイディアをつぎこんで作っています。
次に、小さな部分では密結合なメモリから等距離なマルチプロセッサで、それを階層化 していく、いくらか粗な結合をしたものが、お茶の水5号です。

一方、専用のハードもつくっています。 FPGAというのがでてきたのでそういうのを利用して、画像処理とか、遺伝アルゴリズムとか を高速に計算する計算機を作っています。 遺伝子アルゴリズムのためのハードを、実際つくってみたところ、一枚のボードで ワークステーションの約1000倍くらいのパフォーマンスをだしています。

Q それらは実際にちゃんと動いていると考えてよろしいわけですか?

はい。お茶の水1号はちゃんとうごいていましたし、専用計算機のほうも、 画像処理や遺伝子アルゴリズムはちゃんとうごいています。 しかも専用ハードは卒論レベルで動いています。

Q ほかには何か?

ほかに、「制約解消系アプリケーション」というのもやっています。 これは何かというと、これはまだプロジェクトとしてはあまり完成してはいなくって、 私が最近個人的にやっているものなのですけども、まあ結構つかえるものになっています。 お絵かきプログラムで、例えば、「この円とこの円は接していて、この線は垂直である」 とか指定しておくと、 てきとうなラフスケッチを書いてもきちんと清書してくれる、そういう プログラムなんです。 世の中に出回っているAIプログラムのほとんどは、 ロジックベースすなわち if then else のプログラムで、いいとこ1階の述語論理プログラムぐらいしかないのですが、 そういうのでは大したことができない。 たとえばこのようなことをやるにも、数値計算ベースの最適化や制約解消 を行えばもっと複雑なことができるということです。 実際このプログラムではたとえば81本の連立方程式を解いて動いている。 そういうところにロジックではないインテリジェンスがあるような気がしています。 人間にはプログラムをつくるときとかロジックベースなところがあるかもしれないけど、 普通はそうじゃないことが多い。そういうのを表すのがこういった数値計算とか なんじゃないかなと思うんです。 なおかつ、こういうアプリケーションとかは裏で数値計算が動いているとは思えない。

Q それではちょっと話を変えて、この研究室に来たら何ができるか。
  この研究室にくるメリットというのを教えて下さい。

まあ、研究さえやってくれていれば、自由が保証されているってことですかね。 ここには、CADとかのソフトウェアがあって、ちょっとしたものなら 来てくれた人はだれでも作ることができるという環境がありますけど、 それが自由に使える。 簡単にハードを作る環境がきた人には提供できますよ。 あと、ハードがいやなら自由にソフトをつくっていてもよい。 平木先生も私もリベラルさはもっているとおもいます。 そういうほうがいいでしょう? まあ、自由でかえって困ってしまう人がいるかもしれませんが。

Q では最後にこのホームページで対象としている高校生などにひとこと。

まあ、東大に入ってくるのだから、ある程度のレベルがあるわけでしょうけど、 できればあまり受験勉強してこなかったような人に来てほしいですね。 ちょっと応用力が欠けている人ってのが多いように思うのですが、 あまり参考書とかに頼らなくてもできる人が来てほしいと思います。 ユニークな人に来てほしいですね。

Q ではここに来たい人に身に付けておいてほしいこととかありますか?

コンピュータの知識はほどほどでいいと思います。 それより数理的な把握力が必要なんじゃないでしょうか。 例えば、中学校の幾何で補助線を引くような能力、ああいうのが望まれている のではないでしょうか。 あと、ものの考え方っていうのは大事ですが、専門とは関係ないたとえば物理とかを みにつけておいたほうがいいようにおもいます。 まあ、コンピュータ関係の知識はここへくれば優秀な先生方が教えて くださいますから、 あまりいらないんじゃないですか。


戻る