教室だより(1)
洛友会会報 217号


ハイパフォーマンスコンピューティング雑感

島崎 眞昭(昭41年卒)

 この3月末日に 無事京都大学を定年退職し、名誉教授となりました。電子工学科を卒業してから46年になります。最後の1年間は教室選出の洛友会副会長を仰せつかりましたが、十分働けたかどうか反省しているところです。
 振り返ってみますと、昭和41年に大学院に進学、昭和46年工学部情報工学科助手に採用され、その後情報工学科助教授、大型計算機センター助教授、九州大学教授を経て、平成9年に電気工学教室に戻りました。この間、良き先生方や同僚、後輩、学生に恵まれ今日があると感謝しております。
 研究面では、ハイパフォーマンスコンピューティング(HPC)向き科学技術計算アルゴリズムと関連ソフトウェア、計算電磁気学の研究と教育に従事してきました。この間の計算機特にHPCシステムの進歩には目覚しいもがあり、その進歩とともに研究できたことは幸運というべきで、特に京都大学大型計算機センターに異動して、京都大学での始めてのスーパーコンピュータ導入に関与したことは苦労はあったものの印象的でした。
 HPCならびに、有限要素法による計算電磁気学の進歩や想い出については、それぞれの学会の研究会の招待講演をする機会がありましたのでご興味のある方にはそれぞれ文献[1],[2]をご参照いただくとして、ここではHPCのためのプログラム言語について触れ、日米の違いなどについて述べることとします。1980年代は日本のベクトル計算機の全盛時代で、大型汎用計算機と共通のハードウェア技術が用いられ、HPCで先端的な技術開発が行われ、その結果が汎用機に還元されました。汎用機を収益源とし、HPCが技術開発を先導し、産業として栄えました。一方米国のHPC専門ベンダーはHPC市場の狭さに苦労し、日米貿易摩擦も発生しました。1990年代になって、半導体技術についてECL(Emitter-Coupled Logic)からCMOSへの決定的なシフトがあり、またPC(パーソナルコンピュータ)、ワークステーションの進歩とともに汎用機の全盛時代は終わりました。そしてPC、 ワークステーション用の安価な多数のCPUをネットワークで結合した分散記憶の超並列計算機やPCクラスタがHPCでのシェアを増大させていきました(文献[3])。
 「アルゴリズム+データ構造=プログラム」というN. Wirthの著名なプログラミングの教科書がありますが、分散記憶の並列計算機では1)データの各CPUへの分散、2)命令のCPUへの分割とCPU間通信をどのようにプログラムとして記述するかの問題があります。それぞれの問題は計算量理論的には困難な問題で、かつ二つの困難な問題が関与するとアルゴリズム的には大変困難な問題となります。実際のプログラミングとしては
   I) HPF(High Performance Fortran)に代表される並列処理用高水準プログラム言語を用いるか
  II) FortranまたはCのような既存のプログラム言語とMPI(Message Passing Interface)に代表されるCPU間でのメッセージ通信ライブラリとを用いてプログラムを作成する方法がありました。
 MPIを用いる方法ではプログラマがデータの分散から、命令の分割、CPU間通信まですべてを記述する必要があり、アセンブラ的でプログラマの負担が大きすぎるという意見が多数で、1990年代中頃以降米国を中心にHPFの言語とその処理システムに関する大規模の研究開発プロジェクトが実施され、またわが国では地球シミュレータのプロジェクトの中で独自の開発が行われました。わが国からの提案もHPFの仕様書の中で、Approved ExtensionとしてHPF-JAが規定され、わが国の核融合の分野では現在もHPF普及の活動が続いています。米国では大規模プロジェクトの実施にもかかわらず、2000年代になり、利用者のコミュニティーのHPFへの興味が消滅し、現在応用プログラムではHPFはほとんど使われなくなり、もっぱらMPIによるプログラム開発が行われています。ここで注目したいのは人間のプログラム開発能力の高さで、将来その仕組みが認知科学的または脳科学的な面から解明され、並列プログラム言語処理系開発に生かせないかと漠然と考えています。
 さて、計算機のプログラム言語の歴史に関しては米国の計算機科学に関する学会ACM(Association for Computing Machinery)にHOPL(History of Programming Languages)という不定期開催の会議があり、第3回の会議が本年6月9-10日に開催されました。筆者は都合でこの会議には参加できませんでしたが、HPCに直接的に関係した論文として、
 K. Kennedy, C. Koelbel, H. Zima: “The Rise and Fall of High Performance Fortran: An Historical Object Lesson,” pp.7-1-7-22, Proceedings HOPL, acm, 2007.
がありました。著者のKennedyは筆者が1974-75年留学したニューヨーク大学クーラント研究所の研究室の先輩でしたし、今年春癌でなくなったところでもあり、またもう一人の著者のH. Zimaとは並列処理に関する国際学術誌Parallel Computingの特集号を共同で編集したことなどもあり、この論文には特別の関心がありました。ただし論文の内容の紹介は本稿の目的ではないので詳細は述べませんが、ここで注目したいのは米国ではプログラム言語の歴史を記録し、その失敗も含めた教訓を生かすために会議が開催されているということです。また並列処理用専用高水準プログラム言語HPFの試みは米国では成功しませんでしたが、そこで断念するのでなく、DARPA(Defence Advanced Research Project Agency)のプロジェクトHPCS(High Productivity Computing System)では2つの新しいプログラム言語開発(X10およびChapel)の試みが行われていることです。我が国でも当然ながらこのプロジェクトの行方を注視しているところですが、単に注視しているだけでなく、もっと積極的な関心、関与が望まれるように感じています。

文献
[1] 島崎 眞昭:HPC研究を振り返って,情報処理学会ハイパフォーマンスコンピューティング研究会,2006-HPC-108, pp.49-54, 2006年10月.

[2] 島崎 眞昭,松尾 哲司,岩下 武史,美舩 健:有限要素磁界解析と大規模線形方程式の高速解法の進展,電気学会静止器,回転機合同研究会資料SA-06-75, RM-06-77, pp.95?100,2006年8月.
[3] Editors: G. R. Joubert, W. Ronsch , B. Hiromoto , L. Grandinetti , J. Kowalik, K. Miura , M. Shimasaki, D. Trystram : “Special Anniversary Issue,” Parallel Computing Volume 25, Issue 13-14, December 1999.

 

  ページ上部に戻る
217号目次に戻る



洛友会ホームページ