同志社大学工学部知識工学科/

Innovative Computing Laboratory,

University of Tennessee

廣安 知之

ちょっとHPCとは関係ない話

Great Smoky Mountain

Knoxville TNを訪れるのはやはり秋が最高です.Knoxvilleの南東にはGreat Smoky Mountain国立公園があります.ここは,アメリカでも人気の国立公園の一つで,世界遺産にも登録されているところです.10月には,この森が赤や黄色に葉が色づき非常に美しくなります.また,時々,霧で霞んだ状態になりこれがSmokyと呼ばれる所以でしょう.本来であればゆっくりと滞在して,キャンプをしたりトレッキングを楽しむのが王道です.

図1:Great Smoky Mountain

車での観光客があまりに多く,公害が発生しているのはちょっとした皮肉です.

この片田舎にいやっしゃる機会がありましたら,是非,秋をお勧めします.Great SmokyのTN側の入り口のGatlinburgはちょっとした西欧風の観光地です.そのまた一歩手前の Pigeon ForgeはSmoky Mountainへの登山基地となっていて,多くの宿があり,小さなテーマパークもあります.その中ではDolly Partonが作っているDolly Woodは有名です.巨大なOutlet Mallもあり,ショッピングも楽しめます.

図2:筆者の住んでいる付近の様子

ICLを選んでよかったこと

私のお世話になっているのは,The Innovative Computing Laboratory (ICL)というJack Dongarraの主催する研究室です.現在,ICLでは主に4つのカテゴリで研究が行われています.それらは

です.詳しくはWebのプロジェクトのページをご覧ください.

私はとりあえず,この中のDistributed ComputingのNetSolveのチームに所属させてもらっています.NetSolveについては本連載で触れさせていただいているので,ご興味があるかたはそちらをご覧いただくか,NetSolveのページにアクセスください.

さて,ICLにやってきてよかったことは数あるのですが,Jack Dongarraが非常に気さくな良い人であることが最大に良かったことです.

Jack DongaraはTop 500を始め,LAPACK, PVM, NetSolve, PAPIなど数々の重要なプロジェクトを進めてきた,いわばHPC界の巨人であると言っても過言ではないでしょう.HPCの分野にいて,Jackの名前を聞いたことがない人などいるでしょうか?

そのような人だからこそ,最初にICLを訪れてミーティングなどをする際には緊張しました.有名人であれば,きむずかしかったり,高飛車であったり,無理難題を押し付けられたりする場合も多々あるのでしょう.しかも,こちらは超無名で,かつ,大学名も世界的に名の通ったところではありあません.下手な英語がますますタドタドしく,何を言っているのか自分でもわけがわからない状態でした.

それが,しばらく時がたち,頻繁ではないにしろ,Jackと時間を過ごすようになると,その人となりがわかり,すっかり今では彼のファンになりました.何しろ,気さくな人です.日本人なみの細やかさも持っているのではと思うこともあります.

Jackはご存知のように世界中の国際会議を飛びあるいています.毎月,どこか海外の学会に行っているような状態です.そのため,ノックスビルにいるからと言って,頻繁に彼に会えるわけではありません.しかしながら,大学へいるときには,Jackはできるだけ時間を見つけて,彼のオフィスから出て,学生の部屋や私たちビジターの部屋を訪れて雑談して行きます.超多忙な人なのに,頭が下がります.

私が,彼と顔をあわせる主なミーティングは金曜日の昼にあるランチミーティングと2週間に1度程度開催されるNetSolveのミーティングです.

ランチミーティングは,週に1度,金曜のお昼に原則,メンバーの全員が集まってお昼ご飯を食べます.これは研究室が用意するバフェスタイルのランチで,ピザであったり,ハンバーガーであったり,カレーであったり,中華であったりを秘書の方がケイタリングを頼んで用意してもらいます.

図3:ランチミーティング

お昼を食べた後,研究室の予定を確認したり,参加した学会の報告などを行います.同志社で所属している研究室でも全体ゼミという週に1度,メンバーで集まるミーティングを行っているのですが,まさにそのような感じです.

報告の後,多くの場合,1件か2件のプレゼンがあります.その時に訪れているビジターの人の話であったり,学内の先生の話であったり,研究室内のメンバーの話であったりします.

図4:ランチミーティングでのJack Dongarra

Jackと過ごしていると驚くのは,時間をきちんと厳守することです.ミーティングにはほとんど遅れることはありません.NetSolveのミーティングも彼が司会で行っているのですが,いつも時間通りに現れます.スケジュールをちゃんと管理し,無理な予定を入れていないからでしょうか.

無理な予定をいれないという観点から言えば,研究のやり方もそうかもしれません.確かにプロジェクトの遂行上,それぞれの研究者,学生の研究員の人には,プレッシャーなりがかかっていると思います.

しかしながら,それは私の経験から言えば,そんなにひどいものではありません.これだけお金をかけていれば,もっともっと各研究員に多くを要求したり,早く作業を強いることもできるのかもしれません.もっともっと野心をもって新たなプロジェクトをつくったり,目標を設定したりできるのかもしれません.

いつか触れようと思っていますが,例えばNetSolveの場合には,基本的には1年の前半で新しいバージョンを用意し,後半でSCのデモを用意するといった具合です.私がマネージャであれば,半年で1からすべてを作り変えろと無理を言うかもしれません.なので,忙しさで言えば,私の無給で卒論や修論に励んでいる日本の学生の方が,ICLの学生よりも忙しいかもしれません.

Jackは非常にデジタルガゼット好きです.上述したわれわれの部屋に降りてくる際にも,何か面白いToyを最近買ったか?と聞いてきます.デジカメも数種類持っていますし,あちこちで写真をとっています.ちょっと日本人チック?iPAQでもLinpack計算を行い,最近では,携帯付のPDAを使用しているようです.

このようにJackには十分に私の立場を理解していただいて,好きなようにさせてもらっています.Jackの紹介であちこちに見学へいくこともできました.Jackの紹介であれば,どこでも,どこの馬の骨ともわからない私でも暖かく対応していただけます.日本では,私は新参者でどこから沸いて出てきたのかわからないものですから,寂しい思いをすることも多々あるのですが,そのようなこともなく,こちらが戸惑ってしまう程です.

私の仕事

もともと私のバックグラウンドは機械系のコンピュータシミュレーションによる設計支援などの研究にありました.それが,同志社の知的システムデザイン研究室に移ってから本格的に並列処理などを行い始めました.そのため,まだまだHPC初心者です.

設計支援などをコンピュータシミュレーションにて行うためのツールの一つに最適化という技法があります.ある評価関数を設定し,それを制約条件内で最大になったり最小になったりする変数の値を探索する手法です.これは大まかに説明すると,対象となる問題を何度も解析してみてその中から,もっとも良い変数を決定するということになります.そのため,設計の対象が大規模な構造や流体の問題になると,ただでさえ,その1解析には時間がかかるので,さらに計算負荷の必要なることになります.そのため,並列計算やグリッドコンピューティングの出番となるわけです.

最近では,遺伝的アルゴリズムやアニーリングなどいったヒューリスティック手法の範疇にある手法に注力しています.これは,アルゴリズムそのものに並列性を内在するため,並列処理に非常に適していることや,多くの問題に対して柔軟に対応できること,グリッドなどの特性に非常にマッチしていることなどが挙げられます.

我々の開発した手法で,さまざまな問題を解いていくことが目標となるわけですが,そこで必要な並列処理ができる環境も簡単に手に入るわけではないので,それらを用意することも必要になります.主に対象としている計算機対象はPCクラスタです.先日,構築した64ノードのクラスタはLinpackで323.40flop/sを出し,無事TOP500のリストに入ることができました.

クラスタを導入すると,そのインストールや管理もしなければなりませんので,インストーラやPCクラスタのための管理ツールの構築なども行っています.

システムの構築はMPIを中心にGlobusなどといった既存のミドルウエアを利用しているのですが,並列処理,特にグリッド関連のミドルウエアはなかなか我々にあったものが多いわけではありませんので,ミドルウエアの構築も行っています.進化計算のアプリケーションを構築するためのミドルウエアであるEvolve/Gやツリー構造で動的なトポロジーを持ち,通信が非常に荒いものを想定しているDNASというシステムも構築中です.

現在のところ対象としている問題は,

などがあります.いずれも評価方法の部分は他大学や多研究グループとの共同研究の形をとっています.最適化手法は非常に広範囲に使用できるツールだと思っています.かつ,計算規模が増大している今だからこそ,やっと利用できるところがあります.また,問題を最適化問題として定式化するという作業の際に,その問題について理解が深まるという面白さもあります.

進化的計算,特に遺伝的アルゴリズムに興味をお持ちの方は是非,ご連絡ください.手前味噌ですが,我々のグループでもGAのアプリを開発しており,Webからダウンロードすることが可能となっています.是非,一度,試してみてご意見ください.

ではICLで私が何をしているのかといえば,これらの我々の開発したアプリをICLで開発しているNetSolveにのせるという作業をしています.簡単に思えた仕事なのですが,我々がNetSolveが想定していた使い方とは違った使い方をしなければならないため,苦戦しています.また,なんとかグリッドのスケジューリングをわれわれの最適化ツールで解決できないかについても模索しています.

おわりに

アプリケーションに関連したHPCの研究ができるところ,若い研究者がたくさんいるところということで数人の先生に,ここKnoxville, TNのICLにやってきました.最初はどんなところか緊張しましたが,Knoxvilleという土地柄,それから,Jack Dongarraという人柄によって,ギスギスしたことなくゆったりと過ごすことができています.(日本からの仕事のためにのんびり暮らすことは到底不可能なのですが...)

私には把握できないのですが,Suthern Accentというのがあるらしく,Chicagoなどでの英語とは違うようです.ミーティングでは,そのような英語でジョークも頻繁に交わされます.私はほとんど理解不能なのですが...

本当にここを選んで正解だったなと感じています.

図5:ICLのあるClaxton校舎