研究課題/領域番号 |
04235104
|
研究機関 | 九州大学 |
研究代表者 |
雨宮 真人 九州大学, 大学院総合理工学研究科, 教授 (90202697)
|
研究分担者 |
相田 仁 東京大学, 工学部, 助教授 (00175712)
湯浅 太一 豊橋技術科学大学, 工学部, 助教授 (60158326)
萩原 兼一 奈良先端科学技術大学院大学, 情報科学研究科, 教授 (00133140)
牧之内 顕文 九州大学, 工学部, 教授 (30221576)
佐藤 雅彦 東北大学, 電気通信研究所, 教授 (20027387)
|
キーワード | 超並列計算機 / C言語 / SIMD / SPMD / MIMD / オブジェクト並列 / データフロー解析 / 同期点解析 |
研究概要 |
本研究では、「超並列原理による新しい計算機システムのプロトタイプ開発を目指す本重点領域研究の一環として、実用的な超並列言語・処理系のプロトタイプ開発を行なう」ことを目的として次の2つの観点から言語仕様と処理系構成の基本設計を行なった。 [1]多くのユーザを開拓するために、超並列言語のプロトタイプは広く使用されている既存の言語をベースにして開発する。言語の適用領域を科学技術計算や画像処理のようなデータ並列の効果が顕著と思われる分野に絞る。また、将来上位言語への拡張性や発展性を考慮して言語レベルを比較的低位なものに設定する。この方針のもとに、超並列言語設計のベース言語をC言語と定め、これを超並列記述言語に拡張することにした。この言語を超並列C言語NCXと名付け、言語仕様の設計を進め、現在、仕様第3版を定めた。また、並列入出力機能の仕様検討を行なった。 本言語の意味論はSIMDベースであるが、処理系では効率的実行を実現するためSPMDとし、そのためデータフロー解析、同期点解析を精密化して行なうこととし、処理系構成の具体化を進めた。処理系の概略は以下の通りである。第1フェーズで、SIMD型のソースコードを中間言語のコードに変換する。次のフェーズで実マシンコードに変換する。このフェーズでは実マシンにおける同期制御コードへの変換、実マシン上での仮想プロセッサのマッピング,(多重)スレッド化、スレッド切替え制御、実プロセッサ間通信制御などが重要な処理となる.最後に,ターゲットマシンのC言語コンパイラによって実行形式のプログラムを生成する. [2]一方、第2の言語案として、もう少し広い領域を対象として考え、データ並列とオブジェクト並列を包含した言語の設計とその処理系を開発することにした。本言語を超並列処理の新しいパラダイムの開拓とそのフィジビリティの検証を行なうための実験言語と位置付け、その処理系を本重点領域研究で開発するマシンJumpl上に実装する。(この言語を超並列V言語と名付けた。)超並列V言語は[1]のNCXとは対照的なものであり、その意味論はMIMDをベースとする。 本年度はこの方針に沿って処理系構成法を具体化させた。処理系の概略は以下の通りである。第1フェーズで中間言語コードに変換する。超並列V言語の中間コードは仮想マシンとして多重スレッド高速処理演算部と通信制御部、メモリアクセス制御部を持ったプロセッサの結合体を想定する。この仮想マシンは細粒度のスプリットフェーズ型多重スレッド実行機構をもったものを前提としている。第2のフェーズで、この中間コードから同期点解析を行ない、超並列マシンの特性に合わせたSPMDコードを抽出する。 また、探索的研究として研究班メンバー各自の研究を個別に進めた。研究班メンバーによる個別研究の成果については後掲の発表論文リストに示す。
|