福井義成 委員
3.4.1.1 望ましいHECC
3.4.1.1.1 HECCのニーズ
HECCが必要な分野には
(1)ミクロな現象とマクロな現象が組み合わされている場合
・ミクロな原理からマクロな現象を解明する場合
・乱流計算
(2)リアルタイム性が要求される分野
・気象予測等
(3)多くのケースの計算が必要な場合
・1ケースの計算はそれほど大きくないが、
計算のケース数が数千から数万ケ−スの場合
のようなものがある。これを前提にどのようなシステムが望ましいかについて述べる。
3.4.1.1.2 人間にとって使い易いHECC
計算機のユーザが問題解決のために計算機を使う場合、モデル(プログラム)記述が容易なことが大切である。ユーザにとって、演算が速いことが必要なわけではなく、解きたい問題が速く解けることが必要ある。HECCでのモデル(プログラム)記述はどのようにするのが、望ましいのか?
ここでは、HECCは並列計算機と仮定する。現在、普通に使われている手続き型言語(Fortran,C等)はノイマン型計算機を前提にしている。プログラム(モデル)はどのデータをどのように加工するかの手順を計算機に指示することにより構成されている。現在のアプリケーションも多くのものはアルゴリズムもノイマン型計算機を前提にしている。手続き型言語での並列プログラムの作成はユーザにとって負担が大きい。また、並列計算機では、単独プロセッサでは問題とならない複数プロセッサ間のタイミングの問題も生じる(図1)。タイミングにからむ問題は再現性が容易でないことが多く、これが手続き型言語での並列プログラミングの困難さの一因である。さらに、現在の並列計算機は各計算機ごとに性能を発揮させるための手法が異なっていることが多く、ユーザにとって、負担となっている。
並列計算を使い易くするためには、並列計算機向きのモデル記述・アルゴリズムがあるべきである。 ユーザにとって、手続き型言語で並列プログラムを書くことは負荷が大きく、それが可能な人口は限られてしまう。並列処理のユーザを拡大するための障害になる。ユーザにとって、モデル記述とモデルの変更が容易で、並列性の抽出が計算機システムにとって容易であることが望ましい。
非手続き型でモデル(プログラム)を記述する方法も解決のための1つの方策である。非手続き型言語とは、プログラムを手続きではなく、関数型ないしはオブジェクト指向的に因果関係だけを任意の順序で記述することである(図2)。関数型ないしはオブジェクト指向的な非手続き型言語で、並列プログラム(モデル)を記述することは人間の思考にあっており、非常に容易である。制御系で良く使用されるブロックダイアグラムが良い例である(図3)。
![]() |
手続き型言語ではモデルの計算順序を使用者が考慮しなければならず、小さなモデルでは容易であるが、大きなモデルでは難易度が増す。アプリケーションを開発するときのネックとなる。
別角度から計算の手順を考える。計算機でのシミュレーション手順(現象から計算結果の認識まで)を考えると図4のようになる1)。
図4でHECCが有効なのは、計算の部分であり、計算を効果的に進めるためには計算の前後の作業が効率的に行われなければ、全体として良い結果は得られない。特に、 HECCで計算の部分が高速化されることにより、計算の前後の使い易さがますます重要になる。 HECCの性能を十分発揮させるためには、計算だけの高速化だけではなく、計算の前後の処理の高速化が重要である。
計算機が高速化し、計算手法も高度化することにより、問題解決のフローの中で計算の占める比重が段々低下している。自動車の車体強度解析(衝突解析)では、計算よりもメッシュ作成の比重のほうが大きくなっている。計算は数日あれば終了するが、メッシュ作成には数ヶ月が必要になっている。このような部分にも計算機パワーを利用して短縮することも重要になっている。計算の高速化により、計算そのものよりも、モデル作成(メッシュ)に比重が移る。今後は、ますます、問題解決の全体の時間が重要になり、問題解決の手順の中で最も時間の掛かる部分を速くすることが重要となる(モグラたたき)。そのためには、数値的計算だけではなく、数式処理、人工知能等の非数値的処理も組み合わせて、お互いの良いところを利用し、問題解決の全体の時間を短縮することが重要となる
3.4.1.1.3 並列化の方向
今後の高性能の計算機を構成するには並列化は不可欠である。そのため、並列化を推進するには、現在、高価な並列計算機の価格を安くする必要がある。 並列計算機を普及させて、価格を低減させることが重要である。そのためには並列化が行い易い分野から、並列化を行うべきである。パラメトリック・スタディなどは並列化しやすい分野である。現実的には、疎粒度の問題から手をつけることも必要である。(これは細粒度の並列化を否定しているのではない。並列処理を普及させると細粒度の並列化がより重要になる。まずは並列処理の普及という意見である。)
3.4.1.1.4 まとめ
HECCを使用するであろうユーザが本質的(直接的)に欲しいものは下記のようなものである。
(1)速く正しい結果の得られる道具
(2)問題の処理過程全体が速くなること
これを実現するためには、 HECCのような速い計算機とモデル(プログラム)記述手法(非手続き型、マクロレベルなど)の変更と大規模計算の前後の処理の高速化・高度化である。前後の処理の高速化・高度化には数値的処理だけではなく、非数値処理の高速化・高度化、認識(せまくは可視化)の高速化・高度化も重要である。
また、HECCが実現すると、現在、想定していた用途以外にも新たな用途が必ず出現する。それは過去の例が実証している。そのためには、 HECCが多くの人に利用可能となり、アプリケーションから見て有用なものであることが重要である。
3.4.1.1.5 付録(具体的に欲しい機能)
進展著しいデバイス技術で今後実現して欲しいこと(あるべき姿)とHPC分野で欲しい技術について述べる。また、記号処理についてもふれる2)。
(1)データの移動の構造を記述する手段
現在の計算機で大規模な計算(特に、ランダムなデータを扱う場合)を行っていて、最大の問題は演算ではなく、データの移動である。ノイマン型計算機ではメモリー内の番地を指定し、そのデータをメモリーからプロセッサ内のレジスターに移動する。レジスター内のデータ同士を演算し、結果を別のレジスターに格納し、その後、レジスターからメモリーにデータを転送するのが一般的である。演算は最近のプロセッサの高速化により、ほとんど問題とならない。メモリーとレジスター間の転送時間が最大の問題である。これはプロセッサに比べて、メモリーの遅さに原因がある。演算や分岐制御は完全にメモリーとレジスター間の転送に隠れてしまう場合もある。プロセッサとメモリーの速度差があることを是認すれば、この速度差を避ける手段を考える必要がある。普通、よく行われる計算機アーキテクチャ的解決方法はメモリー遅延の隠蔽である。
ソフトの面から考えると現在のプログラミング環境にはデータの移動の構造を明示的に記述する手段がない。そのため、必要以上にデータ移動の回数(データを示す番地データも含めて)が増えてしまうことがある。データの移動構造を明示的に記述できれば、計算機アーキテクチャ的にメモリー遅延の隠蔽も容易になる。
これを実現するにはソフト的な開発とそれを支援するハード的な開発が必要となる。
(2)可変データパス計算機
前項で述べたハード的な開発に利用できそうな技術がFPGAであろう。FPGAを利用したシステムでは命令体系等を可変にする研究は目にしているが、アプリケーションの性能を上げるためには、命令体系だけではなく、データパスを可変にした計算機が望まれる。可変データパスとは表現しているが、本当にデータパスを変更しないまでも、キャッシュの制御アルゴリズムやプリフェッチのアルゴリズムを指定できるだけでも非常に有効であろう。
(3)記号処理について
記号処理の場合、浮動小数点演算は非常に少ないので、文字処理が高速に行える計算機であることが必要である。具体的にはLISPのような言語が高速に処理できる計算機である。記号処理の1分野である数式処理においては、ベクトル計算のような連続的なメモリーアクセスは少なく、多くの場合、ランダムなメモリーアクセスを行わなければならない。数式処理ではランダムなメモリーアクセスが高速な計算機が望ましい。
数式処理にはアルゴリズムを書いて計算するものと、「公式」を用意しておき、パターン認識で行うものがある。後者の場合、パターン処理が高速な計算機が必要になる。この点は翻訳や音声認識と共通な部分があるのではなかろうか。
大規模な科学技術計算に戻って考えると、数値的処理だけでは収束等に非常に時間のかかる計算も数式処理を上手く組み合わすことにより、収束性などを大幅に改善できる場合もある3)、4)。
3.4.1.2 仕組みへの要望
上で述べたように、計算機を使って問題を解くという原点に戻ると、計算そのものだけではなく、モデル化の問題、アルゴリズム、計算結果を正しく認識させる技術も重要である。基本的なモデリングについては、企業では難しいため、大学や政府の研究所での研究が必要である。
日米比較では多く(ほとんど)のアプリケーションが欧米製であり、日本はお寒い状況である。上記のモデリングについても、米国、欧州での研究に遅れをとっている。米国の大学の場合、モデルを開発し、それをアプリケーションにのせるまでの仕事を行っている。日本でもそこまでやれるような体制(仕事の評価まで含めて)が必要である。また、すべての分野で欧米と対抗することは不可能であり、日本が得意とする分野で自主性を発揮すべきである。
今後は下記のような基礎的な分野での研究投資が重要である。
・計算機を構成する素子の基礎
・基本的なアーキテクチャ
・大規模計算のためのアルゴリズム(数値計算を含む)
・詳細な現象を表現できるようなモデル化技術(物理的面が大きい)
また、シミュレーション分野ではソフトの重要性が大きく、それも理論的なものだけではだめで、実際に利用可なレベルまでのソフトの開発が重要である。しかし、日本では大学等でのソフトに対する評価がされていないのが問題である。米国との比較においても最大の問題である。
技術開発にあたり、米国優位となる日米の差はソフト開発に対する評価と新しいソフトに対する先取性の有無であろう。これは、これまで日本が欧米に追いつくことだけに重点をおいてきたことの弊害であろう。
参考文献
[1] 福井義成,HPCを目指して,情報処理学会HPC研究会資料93-HPC-46,pp.1-6,1993.
[2] 福井,野寺,久保田,戸川,新数値計算,共立出版,1999.
[3] Lecture Notes in Computer Science Vol.378 (Ed.)J.H.Davenport, Springer-Verlga 1989. pp.163-171. M.Suzuki, T.Sasaki, M.Sato and Y.Fukui : A Hybrid Algebraic-Numeric System ANS and Its Preliminary Implementation
[4] Journal of INFORMATION PROCESSING, Vol.13, No.4, pp.529-533, 1990. T.Sasaki, Y.Fukui, M.Suzuki and M.Sato: Proposal of a Scheme for LInking Different Computer Languages -from the Viewpoint of Algebraic- Numeric Computation
3.4.2 非数値計算の現状から見たハイエンドコンピューティング
久門耕一 委員
科学技術計算、特に基礎科学に属する分野に必要な高性能計算を行なうハイエンドコンピューティング向きの計算機は、商業的利益を見込むことが難しいため、長期的計画の元に公的機関が中心となって技術開発を進めて行く事が重要である。
現在まで、ベクトル計算機に代表されるモノリシックな構造を持つ計算手法が、科学技術計算における高性能計算の手法として、もっとも有効であった。ベクトル計算機は高性能技術計算に頻繁に出現する行列計算を効率良く実現するアーキテクチャであったためである。
一方、計算機の商業利用の分野では、高性能計算とは、データベースシステムによるオンライントランザクション処理が重要であり、近年ではインターネットなどの通信基盤整備のために、計算能力要求の増大が飛躍的に増大してきた。オンライントランザクション処理は、科学技術計算とは動作が全く異なるものと考えられているが、実際には、以下に述べるように、離散系のシミュレータの動作と類似する点も多い。
本節では、代表的なオンライントランザクション処理ベンチマークであるTPC-Cベンチマークにみる処理内容を特徴づけ、さらに、高性能科学技術計算との関係について検討を行なう。
3.4.2.1 ビジネスアプリケーションと従来型科学計算の相違
現在生産されている高性能計算機(サーバ)のほとんどは、技術系計算ではなくデータベースシステム(DBMS)によるオンライントランザクション処理に用いられている。一般に、オンライントランザクション処理は、I/Oボトルネックにより性能が律速され、CPUアーキテクチャ的には改善の余地がないと考えられやすいが、十分に性能チューニングされたシステム、その中でもトランザクション処理のベンチマーク測定を行なうような環境では、CPUの命令実行速度が性能を決定している。科学技術計算では、メモリがCPUにデータを供給するバンド幅で性能が律速されるが、オンライントランザクション処理でも同様に、キャッシュミスヒットによるCPUのパイプラインストールで処理性能が律速されるようなメモリバウンドな処理である。
他方、科学技術計算とは異なり、浮動小数演算の比重は小さく、命令のほぼすべてが整数系の演算に限られる。
3.4.2.2 オンライントランザクション処理と離散系シミュレーション
オンライントランザクション処理では、処理要求はシステム外部の端末から発生し、定められた時間(数秒)内に処理結果の応答を返す作業を繰り返す。個々のトランザクションは独立して処理ができるが、トランザクション単位で、扱うデータに対しての排他制御を頻繁に行なう。また、各々のトランザクション間の並列度を向上させるため、全体の排他制御は極力行なわず、扱う個々のデータ単位に排他制御を行なう。データベースシステム固有の基本特性としては、システムダウン時にもトランザクションは完全に実行されたか、まったく実行されなかったかのどちらかで無ければならない(原子性)ことや、全トランザクションに対するログを記録することが要求される。
オンライントランザクションでは、どのような要求がいつ端末から出されるのかは、確率的にしか与えられておらず、処理のスケジューリングは、動的に行なわざるを得ない。後に述べる代表的なベンチマークであるTPC-Cベンチマークでは、外部からの1つのトランザクションを処理するために、ディスクアクセスが必須となる。ディスクへのアクセスを減らすため、システム内には膨大なキャッシュを持ってはいるが、1トランザクション当たり数十回のアクセスは必要になる。このディスクアクセスレイテンシは、ソフトウェアによるマルチスレッディング処理で隠蔽される。その結果、システム内のトランザクション処理の多重度は、プロセッサあたり100から数100程度は必要となる。
技術計算においても、このような構造を持つ計算として、分散非同期の離散的シミュレーションを行なうシミュレータが知られている。
3.4.2.3 オンライントランザクションベンチマーク(TPCC)における性能
オンライントランザクションベンチマークのひとつである、TPC-Cベンチマーク処理における並列効果を実際のベンチマーク結果から引用すると、以下の表にまとめられる。ここでは、比較を容易にするため、現状でもっとも高い性能値を持ち、かつ、同一CPUで同一ソフトウェアによるベンチマーク結果が数多く提出されているIntelのPentium-III 550MHz CPUを使用したシステムの実行結果を引用した。
表1と表2でCPUは同じだが、OSとDBMSが異なっているので、相互比較はできない。前半の表では、CPU数を多くしていった時の単一CPU当たりの性能劣化、後半の表では、クラスタ構造を用いた場合の性能劣化を知ることができる。
TPMC=システムが1分間に処理したトランザクション数。
表1 Pentium‐III 550MHz使用のSMPシステムのTPCC性能
システム名 | TPMC | CPUs | TPMC/CPU | OS/DBMS | |
Compaq |
ProLiant 8500-550-4P |
26,686 | 4 | 6,671 | MS SQL-EE7.0/NT4.0 |
HP |
NetServer LH 6000 |
33,136 | 6 | 5,522 | MS SQL-EE7.0/NT4.0 |
Compaq |
ProLiant 8500-550-8P |
40,697 | 8 | 5,087 | MS SQL-EE7.0/NT4.0 |
表2 Pentium‐III 550MHz使用のSMP/クラスタシステムのTPCC性能
システム名 | TPMC | CPUs | TPMC/CPU | OS/DBMS | クラスタ? | |
Unisys |
e-@ction ES5085R Ent |
48,768 | 8 | 6,096 | MS SQL2000/Win2000 | SMP |
Compaq |
ProLiant 8500-64P |
152,208 | 64 | 2,378 | MS SQL2000/Win2000 | クラスタ |
Compaq |
ProLiant 8500-96P |
227,079 | 96 | 2,365 | MS SQL2000/Win2000 | クラスタ |
この表から、CPU数が増加すると、システム性能は向上するが、SMP構造であっても単一CPU当たりの性能は低下していることが分かる。この性能低下は、複数のCPU間での排他制御の多発によるバストラフィックの増加により説明され、平均メモリアクセスレイテンシの増大による平均命令実行時間(CPI: Clock Per Instruction)の増加が主な要因である。
メモリアクセスレイテンシが増大した結果、キャッシュミスヒットによるパイプラインストールにより、スーパースカラ構造のCPUでも、CPI(平均命令実行クロック数:Clock Per Instruction)は1を切ることは出来ない。上記のベンチマーク実行時には、推定でCPIは2.5‐3.5に達しており、CPUの稼働時間の6割以上は、メモリ待ちによるインターロック状態にある。
TPCCベンチマークプログラムでは、各端末から発行されるトランザクションの90%は、あらかじめ決められたデータベースにアクセスするよう局所化されているため、トランザクションの局所性は比較的高い。その結果、クラスタ構造による性能向上を見込むことができるが、SMPの場合の性能に比べ1CPUあたり、約1/3程度の性能しか得られず、疎結合システムにするためのオーバヘッドが大きいことが分かる。しかし、この局所性を生かすためには、データの配置、スレッドの配置が難しく、この配置如何により性能が大きく左右されるため、SMP構造でのシステム性能に比べ現実の性能を向上させるための手間が極めて大きい。
3.4.2.4 オンライントランザクションと大規模科学技術計算の相違
TPC-Cベンチマークの他の技術計算系ベンチマークとは異なる特徴として、計算能力の増大が実行速度の短縮ではなく、処理量の増大に向けられている事があげられる。現状の数千倍の演算能力を目指す高性能技術計算においても、計算時間の短縮だけではなく、正確な結果を得るために計算規模の増大に向かうと考えるのは自然である。
![]() |
局所性の向上とレイテンシの隠蔽は背反の関係であり、キャッシュの性能を期待する限り、最適な多重度はアプリケーション毎に異なるため、明確なターゲットアプリケーションを仮定しないと、各ハードウェアパラメータの設定は不可能である。
オンライントランザクションでは、端末からの要求により処理が開始されるが、トランザクション要求は統計的分布が与えられており、先行して実行を開始することが出来ない。
また、一つのトランザクションを実行する際のメモリアクセスも、非反復的で、統計的にしか振る舞いを知る方法が無いのでプリフェッチは困難である。他方、行列要素をすべてアクセスするような行列演算とは異なり、メモリアクセスの局所性はある程度確保できる。従って、キャッシュメモリによる主記憶アクセスの削減は可能で、現在の数MBのキャッシュメモリでのミスヒット率は0.5%前後である。キャッシュサイズの増大とともにミスヒット率は漸減するが、その減少率はあまり大きくない。
3.4.2.5 超高性能計算機構築に向けての課題
オンライントランザクション処理を非数値計算の代表例として考えると、現状の科学技術計算手法とは似た、あるいは異なった限界が分かる。
・全体の動作がモノリシック構造ではなく、疎粒度ながらかなりの分散処理が行われている結果、処理は全体としては同期的に行われておらず、競合するデータへのアクセスを調停するためのオーバヘッドが大きい。
・プリフェッチによるレイテンシ隠蔽はできず、マルチスレディングでの隠蔽を取らざるを得ない。元のプログラムに多くの並列度が含まれていたとしても、複数CPUに複数の比較的独立なスレッドを割り当てるだけの並列度を抽出することが難しい。
・外部とのやり取りを基本としているため、実時間上の制約が加わる。
・クラスタ構造を取る事で、絶対的な性能向上を図る事が出来るが、性能を得るための手間が格段に大きくなる。
これらの事から、高性能技術計算においても、大規模な分散システムを作成するためのソフトウェア基盤の整備が必須であることが分かる。
現在まで、高性能並列計算機システムを構築する、大学間あるいは、国家プロジェクトが日本でも実施されてきた。それらは、CPU数が数百台の規模ではあったが、ハードウェア主導型で作成された事が多く、ソフトウェア作成の段階で問題を生じた。ソフトウェアがわの立場からは、存在しない大規模ハードウェア向けのソフトウェア開発は不可能であるという見方もある。しかし、目標とすることは、高性能計算を必要とするアプリケーションに対し、要求に見合う高性能システムを提供することである。汎用計算機を目標とすることは、何のとりえもない計算機を作ることに等しい。従って、高性能並列計算機システム構築の最初の課題は、高性能計算機を必要とするアプリケーションを定め、そのアプリケーションに対し必要とされるシステムの設計を始めると言う手順でなければならない。
米国のASCI計画では、軍事目的の核兵器シミュレーションがこのようなアプリケーションとして筆頭に上げられている。ひとつでも成功例を作成することにより、そのシステム性能に対し魅力を感じる研究者を引き付け、周辺に応用を広げてゆくと言う戦略と考えられる。
日本において、アプリケーション主導型のシステム開発を進めるため、ソフトウェアとハードウェアの協調開発に適したアプリケーションの選定が高性能計算機システム作成への最初の課題だと考える。
横川三津夫 委員
3.4.3.1 はじめに
1992年リオデジャネイロで開催された地球サミット(UNCED)において、温室効果ガス排出の影響をより正確に把握するための気候変動に関する国際連合枠組条約(UNFCCC:United Nations Framework Convention on Climate Change)が署名された、この動きは、1990年に気候変動に関する政府間パネル(IPCC:International Panel on Climate Change)が発表した第一次評価報告書が契機となっている。1995年の第二次評価報告書では、「中位のシナリオを用いれば、100年後には地球全体平均気温が2℃上昇し、平均海面水位は約50cm上昇する」という衝撃的な内容が述べられており、人類の社会経済活動において発生する温室効果ガスが地球環境に多大な影響を与えることを警告している。UNFCCCの目的を具体化するために開催された温暖化防止京都会議(COP3:The Third Conference on the Parties)では、2008年から2012年までの間に6種類の温室効果ガスの全体排出量を、1990年比で少なくとも5%削減するという目標に同意しており、温室効果ガスの排出抑制による実質的な経済活動への影響が懸念される。地球温暖化の影響をより詳しく把握するためにも、地球規模の数値モデルによる数値シミュレーションの重要性が認識されており、この分野の研究開発の進展が望まれている。地球温暖化予測の最近の話題は、文献[1]、[2]に詳しい。
一方、世界各地で発生する異常気象についても解明されることが期待されており、特にエルニーニョ現象との関連性について関心が高い[3]、[4]。異常気象は、社会経済活動に影響を与えるばかりでなく、洪水や熱波による人的被害も大きい。このような現象に対しても数値モデルによる予測は重要さを増してきている。1992年のブラジル北東部に出されたエルニーニョ現象による干ばつ予報によって、干ばつに強い作物の選択がなされ収穫を維持したという例が報告されており、これは数値モデル(数値シミュレーション)による異常気象予測が有効であることを示している。
ここ数年、地球環境変動に関する研究が注目されている背景には、地球温暖化予測や異常気象解明が、ある程度数値シミュレーションによって可能であると考えられているからであろう。しかし、地球規模の現象は、時間的、空間的にもスケールの極端に異なる現象が複雑に絡み合って生じており、これらの複雑な現象のメカニズム解明は非常に困難である。また、気象現象は本質的にカオスの性質をもっており、初期値依存性が大きいため、長期予報には本質的に限界がある。すなわち、「バタフライ効果」と呼ばれる例え(ブラジルで一羽の蝶が羽ばたけばテキサスでトルネードが生じることがある)どおり、気象現象はある場所のちょっとした空気の流れの違いが遠く離れた気象現象に影響を与えうる性質を持っており、数値シミュレーションにおける初期値(多くは観測地からの推定値)の与え方によっては長期予報の結果が大きく異なってしまう。
しかし、気象や気候に関する数値シミュレーションがこのような性質を内包していたとしても、実験では現象の再現が極めて困難であるし、また理論的解析が不可能であるため、数値シミュレーションが唯一の解析方法と云える。数値シミュレーションの精度を向上させるためには、離散化空間の解像度を高くする必要があるが、現在のスーパーコンピュータにおいてさえ、その能力が十分でない。21世紀に向けて、ハードウェア性能の強化ばかりか、効率よいソフトウェア開発環境など広範囲のハイエンドコンピューティング技術の重要性は言うまでもない。
3.4.3.2 気象、気候シミュレーションに関する米国の開発状況
米国においても、大気、海洋モデルに関する研究が進められている。IT2イニシアチブに関するBluebook2000には、大気、海洋モデルに関する研究開発として、
・NOAAによる分散主記憶型並列計算機向け海洋大循環シミュレーション用プログラムMOM3(Modular Ocean Model, version 3)の開発
・地球流体力学モデルを並列化するためにNOAA / FSLが開発している気象モデリング用スケーラブルツールSMS(Scalable Modeling System)の開発
・気象、海洋研究のコミュニティで広く利用されているデータ標準フォーマットnetCDFについて、NOAA / GFDLとLBNLが行っている並列I/O機能の研究
・NOAA / NCEPによる並列計算機向けの気象予測モデルの開発
・NOAA / FSLが行っている飛行機に影響を与える気象の予測モデルRCU-2の開発
・NOAA / NCEPによるハリケーン予測
・実時間気象予測
についての記述があるが、詳しい内容が書かれていない。ここでは、IT2イニシアチブの一部であるDOEのSSI(Scientific Simulation Initiative)のパンフレットに沿って、DOEが実施している気象、気候シミュレーションについて概観してみる。
当然の事ながら、地球環境変動の予測を行うことは緊急を要するとの立場であり、質的にも量的にも信頼のある予測が要求されている。このため、以下に示すような大気、海洋、海氷域および地表面を考慮した解像度の高い地球気候モデルの開発が目標となっている。
@信頼度の高い予測が可能なモデル
モデルに含まれる物理的プロセス、化学的プロセス及び生物学的プロセスは、十分理解が進んでいることが条件で、現在及び過去の気候データとの比較によって、モデルの妥当性が十分検証されている必要がある。
A定量的に評価可能なモデル
気候変動の予測値は、カオス的変動に基づく不確実さを集合(アンサンブル)平均によって評価でき、将来の経済成長予測とそれに起因する二酸化炭素や他の化学物質の放出予測が評価可能なモデルが必要である。
B解像度の高い局所域モデル
現状モデルでは解像度が低く、その予測値は地域的、地形、土壌、植生、工業地域などの要因で大きく変わってしまう。現在の大気モデルでは水平方向300km格子及び鉛直方向20層の格子、海洋モデルでは水平方向100-200km格子及び鉛直方向30-40層が用いられているが、細かい計算格子間隔が取れるかどうかは、局所的気候変動予測を精度良く行う上で重要である。現在のモデルでは、100年の気候数値シミュレーションを行うのに最新のスーパーコンピュータでも1ヶ月は必要である。この格子間隔を現在の10分の1となる30kmにするのが長期的目標である。
スーパーコンピュータに対する要求性能については、「現在のモデルで高い解像度を達成しようとすると、計算機は現在の少なくとも100倍が必要である。また、現在のモデルに大気の化学変化及び海洋の生化学変化等のプロセスの追加を行うためには、さらに5倍以上の能力が必要である。さらに水平方向の格子数を2倍にし、それに応じて鉛直方向の格子を増加させるためには、数10倍の能力が必要である。結果として、1ペタフロップス以上の計算機が必要であると予測されるが、あと5年間では達成不可能と思われる。」と述べられている
ハードウェアだけではなくソフトウェアの進展も必要としており、その場合には、応用科学者と計算機科学者の協力が重要であるとしている。以下の内容が研究すべき課題としてリストアップされている。
・マイクロプロセッサの効率を30%から50%にあげるプログラミング手法
・モデル方程式に対する計算が簡単となる定式化
・並列計算機上の気候モデルに特化した数値解法
・高度なコンパイラ
・高度な数学ライブラリと通信方法
各論として、次のモデルに関する記述がある。
(1)高解像度大気モデル
NCAR開発のCCM3.6.6を用いた高解像度シミュレーション結果
(2)高解像度海洋モデル
POP(Parallel Ocean Program)を用いた0.1度格子のシミュレーション結果。衛星による観測結果と比較している。
(3)海氷域モデル
気候シミュレーションにおける海氷域モデルの重要性を示す記述とロスアラモス国立研究所で開発されたCICE(Sea Ice Model)によるシミュレーション結果
(4)並列気候モデル(PCM:Parallel Climate Model)
大気海洋結合モデルPCM(CCM3+POP+改良モデル)の開発
(5)局所モデル
3.4.3.3 数値モデルの開発について
日本においても、地球変動の解明を目標とした研究組織が発足している[5]。そこでは、
(1)アジア・太平洋域における気候変動の予測
(2)アジア地域における水循環の予測
(3)地球温暖化の予測
(4)アジア・太平洋域における大気組成変動の予測
(5)アジア地域における生態系の変動の予測
(6)地球内部変動メカニズムの解明
が具体的目標として設定されており、次世代の数値モデル開発も含まれている。数値モデルは今後の研究に欠くことの出来ない研究手段であるが、高性能計算を行う上では並列計算機の利用技術、もっと言うならば並列計算機そのものの知識が必要であり、計算機科学者との連携が重要となっている。
しかしながら、米国と比較して日本はソフトウェア開発の重要性の認識、大規模高性能計算への要求が低いように感じられる。とりわけ、適切な応用ソフトウェア開発体制を取ることができず、応用分野の研究者と計算機科学分野の研究者の協力関係が築けないように思う。
米国では、既に述べたようにDOEだけでも気象、気候分野の数値シミュレーションが組織間の連携の下、またはDOE以外の組織との連携を取りながら、精力的に研究開発が実施されている。それらの開発の多くは米国の研究コミュニティにおける数値シミュレーションのための共通基盤モデル(コミュニティモデル)と言えるものである。SC99(米国ポートランド)のパネル討論において、2つのコミュニティモデル構築の紹介があったが、米国ではコミュニティモデルを共同で開発し、それを育成する体制が取れるようである。
2つのコミュニティモデルの内、一つは宇宙気象学分野のNSFプロジェクトGEM(Geospace Environment Modeling)計画で開発されているGGCMであり、太陽風の地球周辺部での挙動解明と宇宙気象予測を行うためのシミュレーションモデルである。もう一つは、地震機構の解明を目的に開発されている地震の大規模数値シミュレーションモデルGEMである。GEMでは、オブジェクト指向プログラミングの考え方を取り入れ、計算手法としてFast multipole method、3次元有限要素法、適応的格子生成法を用いている。
他方、日本ではコミュニティモデルの開発体制が取れない。応用分野の研究者と高性能計算分野の研究者の連携はその重要性が認識されておらず、並列計算のためのプログラミングは計算機メーカのSE頼みになっているのが現状である。これは、省庁間や研究コミュニティの壁、開発ソフトウェアの所有権帰属の問題等、複雑な問題に一部依るところが大きい。また、強力なリーダが欠如している。より高性能計算を追求していく上では、応用ソフトウェア開発体制を整備していくことが望まれる。
3.4.3.4 まとめ
今回の報告書をまとめるにあたって、米国の気候モデルに関する資料を読み返した。概して、パンフレット等はわずかな成果を大げさに記述するのが普通であり、実際どの程度有効なソフトウェア開発が行われているかは明らかでないが、応用ソフトウェア開発プロジェクトの旗の下、研究者が参集し、協力しながら成果を出していく体制を取っていることには感心している。
応用ソフトウェア開発の重要性を認識しつつ、望ましい開発体制、開発をリードできる人材の育成、開発資金の投入方法について見直す必要があると思う。
参考文献
[1] 三村,地球温暖化の影響,気象42.9 (1998)
[2] 真鍋,地球温暖化予測の現状,気象42.8 (1998)
[3] 木本,世界各地で発生する異常気象,気象43.9 (1999)
[4] 藤吉,異常気象の社会経済への影響,気象43.10 (1999)
[5] 松野,地球フロンティア研究システムの発足,天気,Vol.45, No.4 (1998)
三菱電機 田中秀俊 講師
ネットワーキングの普及と記憶装置の低価格化から、情報流通はその速度も量も指数関数的な増加を見せている。例えばコンビニエンスストアの中枢データウェアハウスには日に何百万ものトランザクションがひたすら堆積し、その解析をするにあたってさまざまな課題が生じている。理論的には、従来の統計手法を使えば、データがあればあるだけ強力な推定ができることになっている。しかし実際はそう簡単な話ではないらしい。問題は、統計手法でも学習手法でも何を使うにしても、とにかく予測をする、すなわち正解と過去事例が一緒に格納されているデータを元に、パターンを見つけ、新たな事例で正解を出す、それにはどうするか、という点に尽きる。それには何テラバイトもの高速処理という量の壁と、真に有用なパターンの抽出という質の壁を乗り越えて、死蔵データを財産に変える技術が求められている。前者はまさに高性能コンピュータの仕事であり、後者は人間と高性能コンピュータの協同作業になるだろう。
本項では、データマイニングと呼ばれて注目を集めている、上記のような大量データに基づく予測問題について、最近の研究動向を簡単に紹介する。そして筆者らの、テラバイトなどとはとても言えない小規模な人間とパソコンの協同作業の例として、健康診断データと気象データの解析例を紹介し、データマイニング最大の問題とも言われる、需要について触れる。
3.4.4.1 データマイニングの現況
データマイニングには予測と知識発見とがあると言われる[1]。予測問題は事例と解答がペアで蓄積されたデータベースを前提としていて、目標はそのデータベースにおける解答に相当するものを新事例から当てることにある。そしてデータベースあるいは分野の知識が未整理で予測には不十分な場合、知識発見問題と呼ばれるようである。アプリオリ法[2]はデータマイニング流行のきっかけを作り、並列処理技術も広く研究され、量の壁への挑戦がもっとも進んでいると考えてよいが、これは知識発見問題の解法であって、予測の前段階であるにすぎない。
一方、予測法として注目されているのは、分類問題ではサポートベクターマシン[3]、バギングやブースティングに代表されるコミッティー学習[4,5]、時系列予測問題においてはGARCH法[6]ではないかと思われる。筆者らは時系列予測問題に隠れマルコフモデル[7]を適用する方向で研究を行っている。
3.4.4.2 健康診断データマイニング
本例はまさにデータベースも分野の知識も未整理で予測には不十分な、知識発見問題の例である。対象に考えたのは、半年に一度の定期健康診断における各種検査結果と、その際に回収される生活習慣アンケートである。本格的に収集すれば数千人の結果を数年分というオーダーは可能だったが、とりあえず5000人分あまりを借りて、アプリオリ法を若干改良しその評価を行った。
一般にデータマイニングは、データの獲得、削減、データからのルール抽出、ルールの削減や解釈、そしてルール適用の5段階からなると言われている。本章ではその順に簡単に手法と結果の紹介を行う。
対象データ数は5770レコード、属性数561で、その大半はアンケート項目回答(「いつも」「ときどき」「いいえ」からの三者択一)である。ここから、データのクリーニングとして5770レコードすべてにおいて値の記述されていない属性、値が1種類の属性など、属性出現頻度の観察には不要と思われるものを取り除いた。このときは、検査・アンケート・追加検診・体力測定などの複数の属性集合ごとに用意されたデータから、手間をかけて被験者毎の全属性に対応する長いレコードを作成した。しかし後の別データからの同様な作業との共通性を検討した結果、属性集合識別子、被験者識別子、属性集合に対応した値集合の三者からなるレコードを作成するのが、アプリオリ法のような属性値の同時出現頻度を観察するようなルール抽出には適しているとの結論を得ている[8]。
量の壁への挑戦自体も重要だが、併せてデータ量の削減の重要性も指摘される。これは質にも影響する本質的なものである。データ削減はデータ数の削減、データの属性の削減、データ属性のもつ値の種類の削減の3種類からなる。健康診断データにおいては、前述のような最低限の属性削減をした上で、連続値の離散化をユーザと対話的に実施することを試みた。データの平均と標準偏差から得られる適当なデフォルトの離散化用閾値をユーザに提示し、ユーザはそれを上書きできる。検査結果の中で異常値範囲が既知のものを、この機能を用いて修正した。さらに、不健康な被験者に対象をしぼるべく、検査結果の頻度を分析して9以下のものをすべて削除して実験を行った。
ルール抽出については、アプリオリ法を改良して用いた[9]。データ削減を徹底的に行ったためPentium Pro 200MHzからPentiumIII 400MHz程度の計算機を用いて数分という程度の問題になった。ちなみにデータ削減を行わない場合は、数日〜1週間かかる。
ルールは、アプリオリ法のパラメータ設定にもよるが、数万のオーダーで得られた。この中から有用なルールだけを残す方法として、ユーザによるルール削減とルール検索の手段を用意した。ユーザが一度見て不要と判断したルールを削除するフィルターや、ルールで言及する項目が互いに包含関係にある場合に、基準を設けて一方を削除する方式を試作した。
得られたルールは産業医に確認を求め、有用そうに見えるルールがいくつかあるという指摘をしてもらった。白血球数と喫煙習慣の関係など、検査と生活習慣の関係を示したルールには有用なものが多そうだという見通しは得られた。しかしながら、ルールの形式的な削除では除けない大量の「あたりまえ」のルールに阻まれ、真に有用なルールを指摘しつくすことはできなかった。
高度20km付近の比較的風速の弱い成層圏に飛行船を浮かべ、そこを無人基地として局所的な観測や情報通信中継に役立てようという計画がある[10]。このような飛行船の運航、停留、回収には、風速の予測が不可欠である。この予測に用いることのできるデータには、地表付近に関してはアメダス、気象レーダ、GPV[11]などがあり、高層については高層気象観測ゾンデ[12]と、信楽にあるMUレーダ[13]とがある。この中から入手の容易な高層気象観測ゾンデに基づき、風速予測問題を設定して実験を行った[14]。
気象庁が気象業務支援センターを通じて公開している観測資料CDROMには、気象ロケット観測で得られた高度20km〜約60kmにおける気温・風向・風速等の資料や、日本国内の高層気象観測官署におけるレーウィンゾンデ観測とレーウィン観測で得られた観測資料などが収録されている。この中からレーウィンゾンデ観測による上空約30kmまでの指定気圧面における風速観測結果を解析に用いた。
統計手法には均質な母集団を前提としたものが多いが、母集団の均質性に基づかないデータモデルを用いた解析手法もよく用いられる。例えば複数の性質のデータが混合した母集団を想定するものがあり、音声認識の分野などでよく使われている。このような混合母集団モデルの中で、均質とみなせるデータ集団ひとつひとつを、本稿では要素母集団と呼ぶことにする。混合母集団モデルにおいて推定すべきパラメータは、均質とみなせる各要素母集団の平均や標準偏差と、それら要素母集団の混合比になる。このような要素母集団の性質とこの混合比とを同時に求める方法として、EM法(Expectation Maximization Algorithm, 期待値最大化法)が知られている[15]。
実験では混合母集団モデルに対角共分散混合ガウシアンモデルを選択した。これは各要素母集団が共分散成分のない多次元正規分布をとるという、混合母集団モデルの中では非常に単純なモデルである。結果の例として、高層気象観測データを混合数20で分類した結果を図1に示す。これは指定気圧面22ヶ所の風速、計3652回分のデータを20種類に分類したものである。図1において、横軸は指定気圧面、縦軸には風速をとっている。凡例の部分の数字は何回分がその分類に帰属するかを表している。
また、各データがどの要素母集団に属する確率が最も高いかによって分類帰属を決め、データを分類の変遷の形に直して図2に示す。図2では横軸に5年分の時系列をとり、縦軸に20種類の分類を平均風速の順に並べている。
![]() |
||
![]() |
図1 鹿児島上空1993〜1997年の風速分布の20分類結果(左)
図2 鹿児島上空1993〜1997年の風速分布の20分類の変遷(右)
図2で示した分類変遷は各分類が確率的な出力分布を持つので、この上でマルコフ性を仮定した解析、例えば「ある分類のx回後の分類」の分布を調べることは、隠れマルコフモデル[7]を想定して解析していることになる。この分布から、ある分類に属するデータのx回後のデータについて区間推定ができる。図3はその例として、図1や図2の20分類に基づき、各分類から1回後〜28回後にどの分類になるかをぞれぞれ集計して、その比率を用いて1回後〜28回後に風速が地表から高度20kmまでにわたって20m/s以下である確率を示した。図3によれば、1回後には分類1,3,4が80〜95%、一方28回後には分類1,2,4が60〜65%の高い確率を示している。最も平均風速の低い分類0に属する8回は、実際に風の弱い時と、観測不能で0が記録されている時が混在していることが図2から窺える。
![]() |
図3 20の分類のそれぞれについてn回後の観測で全観測値が20m/s以下である確率
本節ではデータマイニングの一実施例として、健康診断データと気象データの解析例を紹介した。健康診断データにアプリオリ法を適用した例では、データ削減を徹底的に行ったためPentium Pro 200MHzからPentiumIII 400MHz程度の計算機を用いて数分という程度の問題になったが、削減をしなかった場合にはすぐ数日を要する規模となった。これを例えば企業従業員全員を対象にするだけで、計算機への要求性能は数桁はねあがる。ただ、アプリオリ法に代表される知識発見段階の手法は、具体的応用までにもう一段階必要なことがほとんどで、現段階ではユーザを見つけるのが困難という問題がある。実際、データマイニングで成功している企業は、別の製品等の付属物として扱って成功しているだけとまで言われている。別の製品とは例えば、高性能並列計算機であったり、高性能データ可視化ソフトウェアやグラフィクスマシンであったり、統計パッケージであったり、経営コンサルテーション業務だったりする。このことから、データマイニングはケーキのチェリーに過ぎないという言われ方もする。一方、気象データを例にとった予測問題は、そのまま応用が見えるため、需要が高くユーザがつきやすいと考えられる。気象データに限った話でも、今後局地予報や航空予報の分野に需要が高まると予想されており、その際には今回とは桁違いに大量の観測データについて同様の解析を行う必要が発生すると期待されている。
[1] Weiss, S.M. and Indurkhya, N. Predictive Data Mining. Morgan Kaufmann Publishers Inc. (1998).
[2] Agrawal, R. Apirori. (1993).
[3] Schoelkopf,Burges & Smola(Ed.) Advances in Kernel Methods. The MIT Press. (1999).
[4] Breiman, L., Bagging Predictors. Machine Learning. 24 (2)123-140, (1996).
[5] Freund, Y. and Schapire, R.E., Experiments with a New Boosting Algorithm. Proc. of the Thirteenth Intl. Conf. on Machine Learning, Morgan Kaufmann, San Francisco, California. pp.148-156, (1996).
[6] 三浦. デリバティブの数理. 臨時別冊数理科学SGCライブラリ6. サイエンス社. (1999).
[7] 中川. 確率モデルによる音声認識. 電子情報通信学会. (1988).
[8] 田中他. データマイニングのできるデータ形式について. データ工学研究会(1999).
[8] 三石他. Knodiasにおけるデータマイニング方式. 第56回情処全国大会 (1998).
[9] 第1回成層圏プラットフォームワークショップ予稿集(1999)
[10] http://www.jmbsc.or.jp/(気象業務支援センター)
[11] 高層気象観測データ(CDROM付属マニュアル)
[12] 廣田. 気象解析学. 東京大学出版会. (1999).
[13] 田中. 高層大気の風速解析と予測. 情処 数理モデル化と問題解決研究会 99-MPS-26 (1999).
[14] McLachlan, G.J. and Krishnan, T. The EM Algorithm and Extensions. John Wiley & Sons, Inc. (1997).