2005/10/14

■UCBの研究教育について

 □数値計算とソフトウエア工学(9/30)

 ●背景

 LAPACKプロジェクトでは、DOEから研究費をとってきて
います。代表者はカルフォルニア大学バークレー校側が
Demmel教授で、テネシー大学ノックスビル校側がDongarra
教授です。期間は不明ですが、3年から5年のようです。

 DOEのプロジェクト評価は、3名程度の評価委員からなる
評価を毎年受けている模様です。以前報告したように、3名
の評価委員のうち一人は、LAPACKに敵対する人物のようで、
相当厳しい(場合によっては理不尽な)注文をつけてきています。
これが、問題となっています。

 このうち主な論点は、ソフトウエア工学の適用です。

 この背景を考慮した上で、今週、授業の一環として行われて
いるLAPACKセミナーにおいて、Demmel教授の講演が1時間ほど
あったので、その報告を聞きました。

 題名は、「The Future of LAPACK and ScaLAPACK」です。


 ●将来計画のキーワード

 Demmel教授の講演のなかで、彼は以下のキーワードを挙げて
いました。

(1)より良い数値アルゴリズム;
(2)内容の拡張;
(3)自動性能チューニング;
(4)利便性の改良;
(5)より良い保守と支援;
(6)利用コミュニティを増やす;

(1)のメインは、MRRRと呼ばれる新しい固有値解法アルゴリズム
であり、(3)のメインはATLASなどによる性能自動チューニング
機能の付加です。

 それ以外は、ソフトウエア工学の課題であるといえます。

 ですが、LAPACKやScaLAPACKに限定しても、すべての数値ライブラリ
に適用できるような、汎用的なソフトウエア工学の技術開発の話は、
最後まで聞くことができませんでした。


 ●ソフトウエア工学とLAPACK

 注目すべきは、ソフトウエア工学をLAPACKに使う結論として、以下
のことを主張していたことです。

  ○計算コアについてはFortran95を利用する。
   そのための、ラッパーを作る。

 この主な理由は、ユーザの中には動的メモリ管理をしたいという
要求があるからだそうです。

結論的に、

 ソフトウエア工学の利用 := 
  Fortran95の動的メモリ確保機能を使うこと;

というわけです。

 この結論は、ソフトウエア工学者の立場から考えなくても、かなり
疑問です。というのは、ソフトウエア工学の適用は、高度な計算機言語
を利用することではないからです。

----
脚注1:
オブジェクト指向言語を使うことが、そのままソフトウエア工学の研究に
貢献しないという問題と同じです。

注釈2:
仮に、過去のレガシーコードを再利用できるというソフトウエア再利用性の
立場にたっても、性能を重視する数値計算ライブラリで性能劣化を引き起こ
す可能性がある方式を採用することに、設計方針として矛盾があります。
----

 さらに、ラッパーを用いたメモリの動的確保により、実行性能が不安定と
なることが予想されます。なぜなら、静的にメモリをマネージできないため、
システム内部で(運悪く)キャッシュがミスヒットする領域を、動的確保する
可能性を増大させるからです。

 つまり、日本の自動チューニング・コミュニティで提唱してきた、<性能安
定性>が、次期リリースのLAPACK 4.0では大問題になるでしょう。


 ●ソフトウエア工学適用時の問題点

 ソフトウエア工学を数値ライブラリに適用する場合、以下のいくつかが考慮
されるべきと思います。

(1)自動性能チューニングを容易に達成できる
   方法論・言語・ツールの研究と開発;

(2)利便性の改良ができるツールやインターフェースの研究;

(3)ソースコード保守の方法論・ツール、および
   ユーザ支援のための方法論・ツールの研究;

 会場には数値解析の専門家が多く、数理的な質問は多く出ました。ですが、
ソフトウエア工学の観点からの質問は、殆どありませんでした。

 もっともLAPACKプロジェクトでは、UCB側は数値計算アルゴリズムの研究を
して、UTK側がソフトウエア開発と保守を行うという、<暗黙の了解>があり
ます。ですから、UCB側のDemmelがソフトウエア工学について、ほとんど考慮
しないのは理解できます。

 しかしながら、UCBはフリーな(まさにGPLの本家である)数値ライブラリ
開発を主導してきた大学なだけに、この決定は今後の数値ライブラリ開発に
大きな影響を及ぼします。

 数値計算の研究においては、ソフトウエア工学の研究はメインストリーム
でないため、ソフトウエア工学が考慮されることが殆どありません。

 (もっと言うと、研究者によっては、ソフトウエア工学すら認めていませ
ん。というか、その重要性が理解できません。私が数値ソフトウエアにおける
ソフトウエア自動チューニングの重要性を提唱したとき、そんなことは業者が
やることだ、東大で博士号をとった人がやることでない、とまで言い切った言
った先生がいます。ですが、その先生の研究発表でも、提案するアルゴリズム
上のパラメタ・チューニングに困っていました。)

 さらに、数値解析屋は、計算機システムの話が理解できません。ところが矛盾
するかのように、数値アルゴリズムを実装した数値ライブラリ開発においては、
ソフトウエア工学の活用が必須となります。


 ●結論

 結論として、米国の数値計算コミュニティにおいては、ソフトウエア工学の研究
がまだ未発達であるといえます。逆に言うと、わが国が数値計算の分野で米国を先駆
けるためには、数値計算ライブラリ開発においてソフトウエア工学の適用をいち早く
試みる必要があります。

 我々の開発している自動チューニング言語ABCLibScriptの研究は、LAPACKの目標の
1つである性能自動チューニングにおける、ソフトウエア工学の観点からの研究であ
るといえます。

 この点で、米国に対抗できる、日本独自の研究シーズとなることを確信しました。

-----
脚注:
 ソフトウエア工学の事例と同様に、Demmel教授に低電力と数値計算ライブラリの
方向性をミーティングで聞きました。回答は、低電力はハードウエアの領域であり
適用の仕方が不明、また、他のプロジェクトで扱っているのでLAPACKプロジェクト
では考慮しない、とのことです。

 この発言から、あと数年は米国で低電力数値計算ライブラリが開発されることは
ないと確信しました。逆に言うと、低電力を考慮した数値計算ライブラリは、米国
に先駆ける日本独自の技術シーズとなります。今後、低電力な数値計算ライブラリ
開発を国策として推進させるべきです。


 □UCBのTAについて(その2)(9/30)

 UCBのTAにおける講義の補助が、日本のそれに比べてかなり洗練されていることを、
以前に述べました。ところが講義に伴う演習においても、UCBのTAはかなり洗練され
ています。

 私の隣の席に座っているアーノルドという大学院生は、ソフトウエア工学の授業の
TAをしています。この講義では、演習のプロジェクト(講義プロジェクト)として、
何でもいいのでソフトウエア開発をさせる、ということをやっています。

 学生は開発したいソフトウエアについて、(顧客における)要求仕様の記述をUML
を用いて行います。本日、このTAの学生が仕様のチェックをしていました。

 この演習はかなりの驚きです。なぜなら日本におけるソフトウエア工学の講義は、
ほとんど演習がないからです。

(ソフトウエア工学演習と銘打って、C++を教える演習を多く見かけますが、これは
ニセモノのソフトウエア工学演習です。オブジェクト指向言語を習うことと、ソフト
ウエア工学の手法を学ぶことは(まったく)の別事象です。

 たとえば、本当のソフトウエア工学演習とは、ウォーターフォールモデルによって
ソフトウエア開発をする場合と、アジャイルモデルによってソフトウエア開発をする
場合について、どのような問題が生じるか、などの実習をしなくてはなりません。)

 私の場合、高専でソフトウエア工学を学んだとき、教条的な内容が多く、その理由が
多くの場合不明なので、面白くない上に実用的でない講義という印象をうけました。

 この理由は、学部程度のソフトウエア開発能力では内容が理解できないことと、ちゃ
んとした演習が無いことによります。ソフトウエア工学は、経験的な知識の集積に伴う
実学ですので、当然、計算機言語を用いたソフトウエア開発の経験が必要になります。

 日本の大学でも、演習を必須とするソフトウエア工学の授業と演習をすべきです。
そのためには、TAの運用をちゃんとして、演習に対応できるものにする必要があります。


 □学生が主催するお茶会(ソーシャル・アワー)(9/30)

 大学院生を対象とするお茶会(ソーシャル・アワー)が週に1度開催されています。
私と同室のMarkという大学院生が世話役のため、毎週、私は学生でもないのに参加し
ています。

 このソーシャル・アワー、なんと学科から費用がでているそうです。また世話役とな
る学生は、選挙によって決めるそうです。この理由は、少なからずお金を扱うからだそ
うです。

 月に1回以上、なぜかフリー・フードがあります。これは、インド料理やタイ料理が
多いのですが、味は本格的なものです。おそらくSODA HALLで行われている学会などで
提供された昼食の余りが回ってきているものと思います。学生は無料で昼飯にありつけ
ることがあるわけて、大変うれしい制度(?)です。

日本でも大学院生になると研究室に篭りがちになり、他の研究室の大学院生との付き合い
が希薄になることがあるでしょう。学科サポートによるお茶会などの企画は、とてもいい
制度だと思いました。


 □UCBの教員の肩書き(2005/10/6)

 UCBの計算機科学科(Computer Science Division)の教員の構成を調べてみました。

 ●学科の構成員(Faculty)

 名誉教授(Professor Emeritus)9名
 教授(Professor)33名
 准教授(Associate Professor)7名
 見習い教授(Assistant Professor)4名

 33名が教授で、日本の講師・助手相当の見習い教授は4名という構成。ほとんどが
教授で、見習い教授ポストが少ないのは、米国の大学の特徴か?

 ちなみに、見習い教授の1名は、スタンフォード大学で博士号を取ったばかりの人で
ある。(もっとも米国では成果主義なので、年齢に関係なく、若くても業績がある人は
教授になれるようである)

 一方、講義を主な職業とするLecturerという肩書きの職業がある。日本語訳に相当する
<講師>は、日本では研究を主に行うので、米国ではAssistant Professor かAssociate
Professorが相当と思われる。

 講師(Lecturer)2名
 主任講師(Senior Lecturer)1名
  :彼らは、4個-9個の授業を持っている。

 また、非常勤職員(Visiting Faculity)という肩書きがある。これは、授業の補助の
ため、学科長などが招待している教員である。

 ●教員以外の構成員

 授業の補佐として、TA(Teaching Assistant)がある。TAは大学院生で構成される。

 教授が研究の遂行のため、自分の研究費から雇う博士研究員(Postdoctorate、PD)が
別にある。訪問博士研究員(Visiting PostDoc)という肩書きもある。両者の差は不明で
ある。

 訪問学者(Visiting Scholar)という肩書きがある。これは、博士号所有者で短期滞在
する人の肩書きである。私は、訪問学者という肩書きとなる。

 企業から派遣される研究員は、訪問企業者(Visiting Industrialer)という肩書きがあ
る。おそらく、企業から相当額の寄付をUCBにして、派遣されている研究員である。

 ●日本の助手相当のポスト

 日本の助手に相当するRA(Research Associate)という肩書きはUCBに限らず米国の
大学に存在するが、これは博士研究員相当のポストである。正式には、Postdoctoral
Research Associateである。これは、プロジェクト研究を遂行するための職種である。

 RAは日本の助手と異なり、講義をもつとか、大学院生の研究指導を行うということは
無い。PD(博士研究員)との違いは、お金の出所と雇用期間の長さだと思われる。つま
り、PDは教授の取ってきた研究費から費用が捻出され、その研究費がなくなると解雇さ
れるが、RAの場合は学科等から支給される。だがRAはテニュアな職でなく、長くても
2年程度の雇用期間が普通のようである。

 以上の点から、学位をもつ技官に近いのポストといえるかもしれない。(技官
(普通は学位なし)は、Technicianという肩書きが別にある。)

 日本の助手は名称が<助教>に変わり、その役割が従来と変わる。助教は、今まで
の教授の研究補佐を主任務とせず、自ら独立して研究・教育にかかわるポストである
と定義されている。

 このことから、助教は米国におけるTAやPD相当のポストではない。また、助教は正式
な学科の教員(Faculty)でもあるから、PDやRAとも違う。


 ●提言

 結論として、助教は米国ではAssistant Professor相当とするのが妥当である。

 さいごに、米国における教員の肩書きと活動実態を考慮した日本の教員の英語名
として、以下を提言したい。

教授: Professor
准教授: Associate Professor
講師: Senior Assistant Professor
助教: Assistant Professor
助手: Technician, もしくはResearch Associate


■米国の生活について

 □UCBの教授宅訪問

 8月の末だったかに、Demmel、Yelick両教授の招待によるホームパーティがありま
した。このホームパーティには、ポスドクと訪問学者の家族が呼ばれていました。

 こちらに来た当初は、DemmelとYelick教授は両方とも多忙なため、ホームパーティ
などやらないと思っていました。でもこの読みは正解で、呼ばれていたポスドクの
Christofに聞いたところ、UCBに2年近くいるが、今回が初めてだそうです。

それで、どのような家だったかというと、かなりの豪邸でした。UCBの教授の収入は
高いので、みんな豪邸に住んでいるという噂をきいたことがありましたが、まさに
その通りです。Demmel家の場合、夫婦ともに教授なので、相当の収入があるのでは
ないでしょうか。

パークレーなどのベイエリアでは、海沿いの平地は地価が低く、山側は高騰してい
ます。治安もそれに準じています。これは、米国一般でそうなっているようです。
(我々は、海側の平地に住んでいます。)

Demmel家は山の上側にあります。大学からは、車で10分ほどの市に位置しています。
家からは、ゴールデンゲートブリッジとアルカトラズ島が一望できます。つまり、典
型的なサンフランシスコの風景が毎日見れます。

家は1階建てが多い米国では珍しく、3階立てのようです。庭には、ブランコと滑り
台が設置されていました。

Demmelの話によると、6年前にこの家を購入したそうです。そのときには、今ほど
地価は高騰していなかったそうです。

気候が良いうえに、眺めのいい家に住めるUCBの教授は、研究成果が上がって当然、
という気がします。

----
注釈:
 評価されている教授に限っての話のようです。米国の大学の
評価システムは、かなり厳しいという噂もききました。というのは、
成果があがらないと年収がだんだんカットされ、それに伴い、
住む場所も大学からどんどん離れた地価の安いところに移ることを
余儀なくされる、という話を聞いたことがあります。

 教授の収入に関しては、最近UCサンタバーバラに移った話題の
中村修二教授も、9ヶ月で$160,000程度だという記事を読んだこと
があります。ですが、米国教授は企業のコンサルタントを兼務する
ので、それをあわせると$220,000以上の収入になるそうです。

 いずれにせよ、日本の教授に比べると格段に多いのではないで
しょうか。
---

■米国の休日

 米国にも、いろいろな記念日と休日があるのですが、そのなかでも、
10月の第二月曜日のColumbus Dayという記念日が異色です。
これは、コロンブスによってアメリカ大陸が発見された記念日です。

 この記念日は当初は、当然、休日だとおもっていました。しかし、
どうやらこのColumbus Day、市によって休日となったり、ならな
かったりする変な休日のようです。日本にはこのような休日の制度は
ないため、とても戸惑います。

(というか、カレンダーに記念日が太文字で書いてあっても、休日か
どうか、知識がないのですぐにはわかりません。

たとえば、10月31日のハロウィーンも、最初は休日かと思って
いました。)

 我々が住んでいる、El Cerrito市は、Columbus Dayは休日ではありません。
ですから、子供のプリスクールがあります。しかし、UCBのあるBerkeley市
は休日指定です。ですから、大学は休みとなります。でも、Berkeley市で
はコロンブスに敬意を表したくないためか、インディアン感謝デーという
ような名前をつけて、休日指定にしています。

 ご存知のとおり、米国では夏休みの期間も市によって決まっているので、
小学校や高校なども、休日の期間がばらばらです。しかし、休日まで市
によって違うというのは、驚きです。