計算システム研究室 2017年度

Last update: 13-April-10

研究室

計算システム

室名

8号棟(理学部棟)

665,666,522

電話(内線)

3168,3164,3097

WWW

tmubdell.math.se.tmu.ac.jp/

担当者

福永 力

所属学生

下木 健太(M2), 藤森 祐太(M2), 恵羅 浩平(M1), 紫藤 穣(M1), 田中 基之(M1)
秋山 裕太(卒研), 石田 希望(卒研), 志賀 大矩(卒研), 福地 凌(卒研)

研究分野

情報システム論、並列処理技法、応用情報学

研究活動の概要

計算システム研究室の現在の活動は、

  1. 並列処理技法の基礎的研究(ハードウェアの製作およびソフトウェアの実装)
  2. 並列処理技法の応用研究
  3. 素粒子・宇宙線物理実験への情報技術支援、
にまとめられます。

このうち項目1と2はほとんど表裏一体をなすもので同じ研究テーマと 考えてもらって結構です。項目3は担当者(=研究室主催者)の趣味の問題ですが、実態は 現在ジュネーブにある CERN研究所での素粒子物理実験プロジェクト ATLASに担当者が参加しているということです。 よほど興味があればというのならかまいませんが この研究に当研究室所属の院生を直接積極的に参加させようとは 今は考えていません。ただヨーロッパを中心として、北米、ブラジル、日本、 ロシアなどのさまざまな国からの物理学者、情報科学者、エンジニアとの 共同研究・作業なのでものすごくエキサイティング ではあります。宇宙を構成している成分の根源を探る、ビッグバンの実験室での再現などと称して盛り上がっています。日本政府はこのプロジェクトの大切さを理解してくださっていて、とても大きな予算をつけていただいております。

具体的には観測装置制御の実時間処理プログラムの開発、 信号処理システムの開発、GRID(グリッド)技術を駆使した分散データ処理技法の応用研究などに 担当者は関与しています。もちろんこれらの研究は情報科学の研究者にとっても 修士論文、博士論文のねたを大いに提供してくれるのはいうまでもありません。

並列処理計算技法の研究

したがって当研究室がスタッフ、学生一緒になって総力をあげて研究に取り込んでいるのが さまざまな角度からの並列処理計算技法の研究ということになります。一般的に なにか計算を行うのにたくさんの CPUが協力して行えばひとつのスーパーコンピュータが行うのと同じ、あるいはそれ以上のパフォーマンスを発揮できる場合があるかもしれません。しかし参加するCPUが多くなるとそれらを制御させる(協調させ、同期をとらせる) ことはとても難しくなります。あるひとつのCPUがしきりに結果を他のCPUに伝達したくても 他のCPUが聞く耳を持たなければシステムはそれ以上先に進めなくなりデッドロックに陥って しまいます。他にもいろいろな障害が予想されます。誰かが新しい結果をどこか(メモリとか周辺装置)に書き出している 途中なのに、他のCPUがそれを最新値として参照してしまったりしたら予想もつかないことが起き得ます。多重CPU システムではそのようなことがおきたとき、システムのデバックを行って誤り部分を特定するのはほとんど不可能です。 このような問題を回避させるには数学的、情報科学的に多重プロセスの協調・同期の原理を研究し、より理論的に安全な方法論を見いだすこと、よりすぐれた正当性解明手続き理論を得ること、そしてその上にハードウェア、ソフトウェアを実装させることです。

研究手法

我々はCommunicating Sequential Processes(CSP)という理論を研究しています。理論そのものはいまから四半世紀ほど前、Oxford大学のHoareという人が提唱したものです。そしてその後、さまざまな改良が施されています。異なるプロセス間に共有メモリをおいてセマフォア制御で情報交換をするのではなく、連絡しあうプロセス間で仮想的チャンネルを構築、それを通してメッセージ(情報)を交換しようというものです。そのメッセージ交換をイベントとして2つのプロセスの同期もあわせてとるようにします。この原理を用いて多重プロセスシステムを記述する言語も1980年代にやはりイギリスで開発されました。Occamと呼びます。ちなみにこの研究室の主催者は大学院でこのCSPの授業を開講しています。

問題はそのOccamで記述されたシステムを実行させるハードウェアが現在作成されていないということです。一時期TransputerというCPUチップが作成され、市販されましたがいつのまにか消滅してしまいました。そこで我々はTransputerの復興をめざし、そのアセンブリ言語(機械語)を徹底的に研究しました。そしてそのアセンブリ言語が完全にコンパティブルに実行できるCPU、名付けてTPCoreを数年前に完成させました。その結果Occam言語での多重並列プロセスの開発ができるようになりました。TPCoreは、同じ機械語が実行できるけれど内部のアーキテクチャはまったくTransputerとはかけ離れたもので、我々独自のアイデアでできているものです。この研究成果はCSP、Occamの発祥の地イギリスの研究会で口頭発表し、また論文にもして盛んな評価を得ました(と思います)。

大木君の発表風景と参加者の記念撮影 CPA2004@Oxford

研究の進展

TPCoreはXilinx社製のFPGA(Field Programmable Gate Array)という素子の中に組み込まれています。2005年3月時点大木君の修士論文ではその素子の名前はVirtex-IIというものでした。この中にTPCoreを4個組み込むことができました。4個でネットワークを構成させ、多重CPUシステムを構成、さらに各TPCore(つまりCPU)にも複数プロセスを実行させるシステムを作り上げ、いくつかの基礎整数計算を実行させそのパ フォーマンスを測定したのが彼の修士論文の概要です。

それから2年後の現在、Xilinx社のもっとも進んだFPGA素子は Virtex-IV あるいは Spartan3と呼ばれているものです。今我々はこれらの素子にTPCoreを組み込ませネットワークを作り上げ、より進んだ多重CPUシステムを作り上げることに取り組んでいます。VLSIを作成するハードウェア技術の進展により、1つのVirtex-IVにTPCoreは全部で20個以上は載せることができると考えており、そうするとシステムの構成もより大規模になり、より大きなネットワークを組むこともできます。アプリケーションの範囲も大きく広がっていくと考えています。今もっとも力をいれているのがVirtex-IVであれSpartan3であれ1FPGAに最大何個のTPCoreを組み込めるかということといって過言ではありません。

今後の研究の動向

研究の最前線に立っているのは修士課程、博士課程(どちらも現在積極募集中)の学生の皆さんです。その人たちがどのような興味を抱いているか、どのような分野で学位論文を書きたいかということで今後の研究の動向は変わってきます。しかし動向としては

に分類されるのではないかと思っています。2項目めの動きの分析、予測は大規模なソフトウェアを進展させなければならないので、また、意外とこのようなシステムは世の中にあまり存在しないようなのでおもしろいのではないかと研究室担当者は思っております。

しかし、まぁそれらをきっちり分けるのではなくそれらが複雑に絡み合ってまた新しい研究の芽が萌え出てくるものだろうし、新しい流れに乗ったりするのかもしれません。いずれにせよ情報数学、ハードウェア、ソフトウェアの基本をしっかり身につけていただければ、当研究室において世界第一線の研究ができることはまちがいありません(と思います)。最後は研究に対するがんばりと熱意ですけれど。

2006年5月


Top Pageへ戻る