第1章 まえがき
本節では、第3章に記載する各委員および外部講師による調査報告の概要を示す。
1.2.1 アーキテクチャ&新計算モデル
(1)粗粒度Reconfigurable Deviceの挑戦
天野 英晴 委員
Reconfigurable SystemはFPGA/PLDなどの書き換え可能なデバイスを用いて問題アルゴリズムを直接ハードウェアで実行するシステムである。最近、実用化が進んでいるものの、構成情報の書き換えに時間を要するため、汎用の書き換えデバイスを用いた場合の限界が見え始めた。そこで、最近、高速に構成を変更可能な動的適応型デバイスが登場した。NECのDRP、IP FlexのDN Matrix、QuicksilverのACMなどがこの代表であり、高速な書き換え機能に加えて、粗粒度のアーキテクチャ、高位言語によるプログラムなどの能力を持つ。これらのデバイスの動向をまとめると共に、特にNECのDRPを用いた動的適応型ハードウェアについて紹介する。
(2)CPUの高速化とアプリケーション性能の高速化
久門 耕一 委員
CPUの周波数、トランジスタ数はムーアの法則にほぼ従い向上してきた。しかし、計算機の性能という意味では必ずしも上記の法則にしたがった向上が得られているとは言えない。良く知られた原因として、メモリアクセス時間がクロック周波数の向上に見合うだけ短縮していないことが挙げられている。しかし、これ以外にも、高周波数を達成するための長大なパイプライン構造が原因となった非通常処理時のパイプラインブレークによるペナルティの増加が挙げられる。この状況は、HPCアプリケーションではなくビジネス向のサーバ処理に頻繁に出現するため、ビジネスサーバの性能向上に大きいな障害となる。
このレポートでは、Linuxオペレーティングシステムを使ったサーバシステムにおける、計算機アーキテクチャの持つ役割について述べる。
(3)高性能プロセッサの高速シミュレータ
中島 浩 委員
マイクロプロセッサの高度化・複雑化に伴い、複数のパイプラインの動作など、ハードウェア機構の挙動をクロックレベルで忠実に再現する cycle accurate なシミュレーションには、非常に長い時間を要するようになっている。たとえば最も広く用いられている SimpleScalar では、実機との実行時間比 (slow down) が 5,000〜10,000 と極めて大きく、実用的なアプリケーションはもちろん、SPEC などのベンチマークの実行でさえ膨大な時間が必要である。そのため、アーキテクチャレベルのシミュレータの高速化については様々な研究がなされている。
今回の報告では Wisconsin 大学の FastSim や筆者らが開発中の高速シミュレータを中心に、高速性と正確性の両立をめざしたシミュレータの研究動向について概観する。
(4)大規模アプリケーションと大規模計算に望ましいプロセッサ
− 計算機アーキテクチャに対する素朴な疑問 −
福井 義成 委員
計算機の歴史、アプリケーションの開発・保守、高速化などの立場から見た現在の計算機への素朴な疑問について述べる。計算機が開発されて以来、計算機の歴史は高速化の歴史でもあった。計算機を高速化する手段はいくつか考えられる。(1)素子の高速化、(2)メモリの大容量化、(3)キャッシュメモリ、(4)命令バッファ、(5)メモリのインタリーブ、(6)ループを効果的に行う命令、(7)ベクトル命令、(8)パイプライン化等があったが、この中で、すべての問題(プログラム)に満遍なく効果があるのは(1)素子の高速化だけである。その他の項目は、何らかの「仮定」を満足した場合のみに高速化の効果があるものばかりである。
このようなことを考慮して、1つの計算機のアイデアを考えて見た。計算機設計の素人の発想であるので、具体的なことはともかくとして、1つの考えかたとして見ていただきたい。対象は科学・技術計算のハイパフォーマンスコンピューティング(HPC)を対象に考える。
プロセッサに比較して、メモリが遅いことは残念ながら受け入れることとする。従ってなんらかの形での階層的なメモリ構造は受け入れざるを得ないと考える。しかし、キャッシュ機構は投機的で、HPC分野では障害が多い。そこで、場所により速度に差のあるメモリ構成を考え、番地が小さいところほど速いメモリを配置する。半導体技術の進歩したときに、速度差のあるメモリ間の境界が変わるだけなので、そのことを考慮したプログラムにすることで、その恩恵が自然な形でユーザに得られるアーキテクチャを狙う。ベクトル機構も従来のような重厚長大なものではなく、数%のゲートの増加で、150%の性能向上が得られれば良いとする発想である。利用可能なゲートを如何に使うかという視点が重要であると考える。
(5)ソフトウェア可制御オンチップメモリを用いた高性能・低消費電力プロセッサ
中村 宏 講師
近年のマイクロプロセッサにおいて、キャッシュメモリと主記憶からなるメモリシステムは性能上のボトルネックであると同時に消費電力が大きい。そこで、高性能かつ低消費電力なマイクロプロセッサを目的として、ソフトウェアから制御可能なオンチップメモリを採用するアーキテクチャSCIMAを提案している。このオンチップメモリは、通常のキャッシュメモリと同じハードウェア機構で実現されており、オンチップメモリとキャッシュメモリは再構成可能である。従って、オンチップメモリとキャッシュメモリの総容量は実装時に決定されるものの、処理の特徴に応じて両者の容量を変更することが可能である。
SCIMAのオンチップメモリは、ソフトウェアによる明示的なデータのアロケーションとリプレースメントが可能であり、データの再利用性を最大限に活用することができる。このため、性能低下と消費電力増大を招くチップ間のトラフィックを低減することができる。また、SCIMAのオンチップメモリは、キャッシュと違い与えられたアドレスにより格納場所が一意に決まるため、全てのウェイをアクセスしたりタグ部をアクセスする必要がなく、低消費電力化を実現できる。NAS PARALLELベンチマーク、および計算物理学の実アプリケーションを用いて、従来のメモリ階層を持つプロセッサに対するSCIMAが性能と消費電力の優位性を定量的に評価した。その結果、SCIMAは性能と消費電力の両面で優れていることがわかった。
1.2.2 基本ソフトウェア&ミドルウェア
(1)アドバンスト並列化コンパイラプロジェクトにおけるマルチグレイン並列処理
笠原 博徳 委員
ここでは、経済産業省ミレニアムプロジェクト官民共同研究開発プロジェクトとして、新規産業創出型産業科学技術研究開発制度(産技制度)に基づき、新エネルギー・産業技術総合開発機構(NEDO)からアドバンスト並列化コンパイラ技術研究研究体が委託を受け、2000年9月より3年度計画で活動を行っているアドバンスト並列化コンパイラ技術研究開発プロジェクトにおけるマルチグレイン並列処理について述べる。
(2)HPFの10年と並列プログラミングインタフェース
妹尾 義樹 委員
分散メモリ並列システム向けの並列プログラミング言語HPF(High Performance Fortran)について、その最初の仕様が定められてから、この春でちょうど10年になる。昨年11月に米国バルチモアで行われたSC2002国際会議において、地球シミュレータ上でHPFを用いたプラズマシミュレーション並列化の成果がGordon Bell Awardの言語賞を受賞した。陽解法のTVD差分スキームを用いたプログラムで、14.9テラフロップスを達成したことが認められた。ようやくここまで来たか、と感慨深いものがあるが、HPFの本当の実用化という意味では、まだまだ課題が残っているのも事実である。
本報告では、この10年間のHPFの歩みを総括するとともに、最近の並列プログラミングインタフェースの話題と、今後の方向について、私見を述べる。特に、HPFとMPIの中庸を狙ったといえる、Co-Array FortranやGA (Global Arrays)を紹介し、MPIやOpenMPを含めた種々のプログラミングインタフェースの比較を行い、今後の方向性について考えてみたい。
(3)Software Design and Productivity (SDP) Coordination Groupが目指すもの
近山 隆 委員
米国の政府機関であるInteragency Working Group for Information Technology Research and Development (ITRD) 傘下のSoftware Design and Productivity(SDP) Coordinating Groupの活動の方向性を定めるため、2001年8月18日〜19日にArlingtonにおいて行なわれた“Planning Workshop on New Visions for Software Design and Productivity”について紹介する。
このワークショップでは、
の4領域について、様々な研究テーマが提案された。どの領域についても、提案の中心は抽象化を武器に複雑性・規模・不均質等の実世界の問題に挑戦する課題で、従来乖離していたソフトウェアの理論と実践を止揚し、新たな枠組を構築しようとするものである。
1.2.3 応用システム&応用分野
(1)センサ・データ処理の高速化
佐藤 裕幸 委員
レーダなどのセンサからのデータ処理と言えば、従来は、DSP(Digital Signal Processor)を用いた処理やFFT(Fast Fourier Transform)などの信号処理が中心であった。すなわち、信号レベルでのデータをいかに高速に処理するかが課題であった。一方近年では、信号レベルではなく、より抽象度の高いデータを処理することが多くなってきている。例えば、観測された信号データを位置情報として扱い、目標追尾を行うことが挙げられる。目標追尾とは、レーダ等のセンサの観測結果から目標の航跡を抽出し、位置、速度等の運動諸元を推定する問題である。目標追尾の抱える課題の1つに、追尾目標の近傍に他の目標やクラッタ等の不要信号が存在する高密度環境下での追尾性能の確保が挙げられる。高密度環境下では、センサから得られた観測値のいずれが各追尾目標のものであるかを判定する相関処理が重要となる。この相関処理は、いわゆる組み合わせ問題であり、従来の情報処理の分野で用いられてきた手法が適用でき、それらを用いて高速化・並列化が試みられている。
(2)グリッド技術の概要と動向
関口 智嗣 委員
昨年あたりから、グリッド・コンピューティングという言葉が、科学技術専門メディアのみならず、一般のメディア上にも頻繁に登場するようになった。大学・公的研究機関などの大規模な計算機システムを対象としたものばかりでなく、一般家庭のパソコンを対象としたグリッド技術が構築され、また、科学技術計算の分野で始まったグリッドの波が、徐々にビジネスの世界にも押し寄せてきている。すなわち、従来から科学技術における応用としてバイオインフォマティクス、創薬デザイン、ライフサイエンス、高エネルギー物理や天文観測などの大規模科学実験などが知られていたが、今後はWebサービス、ユーティリティ提供、アミューズメントなどが次のターゲットになると考えられている。
本報告では、こうした大きな構想とは別に、現実の問題としてグリッドをどうすれば毎日の研究生活に使えるようになるのか、そうした日々のグリッドを作るためには何が必要なのかを念頭に置きながら、技術の現状を整理し、今後のグリッド技術動向全般について概観する。
(3)非圧縮性一様等方性乱流の大規模直接数値シミュレーション
横川 三津夫 委員
近年のスーパーコンピュータの発展により、ナビエ・ストークス方程式の大規模な直接数値シミュレーション(DNS)が可能となってきた。しかし、乱流現象の解明とそのモデル化のためには、さらに大規模なDNSを行う必要がある。ピーク性能40Tflopsの地球シミュレータのハードウェアの性能評価を行うと共に、超大規模な乱流DNSを実現することを目指し、地球シミュレータ用に最適化したDNSコードを開発した。このコードにより、512ノードを用いた格子点数20483のDNSにおいて16.4Tflopsの超高速計算と、従来のDNSと比較して桁違いに大規模な格子点数40963のDNSを実現することができ、SC2002においてゴードンベル賞特別賞を受賞した。大規模DNSによって得られた乱流場が、乱流の統計力学の構築など今後の乱流研究において大きな成果が期待される。
(4)Webサービスの技術動向
藤田 悟 講師
近年、サービス指向アーキテクチャという言葉の下、インターネットを通した疎結合のシステム統合技術である Webサービスが注目を集めてきた。これまでのソフトウェアコンポーネントを束ねたシステム統合技術に比べると、サービスという、より抽象度の高いコンポーネントのレベルの部品を統合することと、インターネットのような制限の多いネットワークの接続環境を前提にしていることが特徴的である。基盤となる標準化技術としては、XML(データ表現)、SOAP(メッセージング)、WSDL(インタフェース定義)、UDDI(サービスディレクトリ)があり、それぞれ、現在も改訂が進んでいる。しかし、これらの基盤技術だけでは、実ビジネスで利用するシステムとしては課題も多い。そこで、セキュリティ、信頼性、相互接続性などについても、様々な技術開発と標準化活動が並行して進められている状況にある。本報告では、Webサービスを取り巻く技術開発の動向について紹介し、今後への期待について述べる。