Research Project
Grant-in-Aid for Exploratory Research
計算中のプロセスの計算状態を安全に操作可能にすることで、高い実行性能と安全性・正当性を両立させるための拡張C言語の仕様設計、実装技術および応用手法を提案し、それらを評価することで、多数のプロセッサやノードから成るシステムを統合できることを示そうとしている。提案方式は、言語仕様としては入れ子関数(クロージャ)をベースとし、関数呼出しの呼出し元のフレームで眠っている変数の値への正式なアクセスを可能としている。これを、L-closureと呼ぶ、高い実行性能を得るためのクロージャとして提案している。平成19年度は以下の成果を得た。1.提案手法の評価環境の構築提案する仕様と実装技術を、実動するコンパイラとして実現した。平成18年度までに、通常のC言語へのトランスレータとしての実装と、GNU C Compiler(GCC)のバージョン3.2を改造した実装を行ったが、平成19年度はさらにGCC3.4.6を用いた環境を構築した。また、GCC4対応に向けての調査を行った。2.応用プログラムの開発・提案手法の検証特にマルチスレッド、負荷分散、実行状態の保存・変更・復元、自動メモリ管理のポインタ補正を中心として応用プログラムを作成し、これらを用いた提案手法の有用性の検証を行った。結果として、特にレジスタ数の多い計算機において、高性能が達成されることが示された。3.言語仕様の改良L-closureへのポインタ(や型)を構造体メンバ、関数、配列、型定義などでも利用できるように、キーワードを付与した入れ子関数の定義についての構文の修正を行ってきた。平成19年度はさらに構文の修正を行い、L-closureを返すL-closure定義(意味的にはエラーになるが構文としては認められる)、関数プロトタイプ宣言における"*"記号の省略などに対応した。
All 2008 2007 2006
All Journal Article (6 results) (of which Peer Reviewed: 2 results) Presentation (1 results)
情報処理学会論文誌:プログラミング 49・SIG1(PRO35)
Pages: 63-83
110006594925
Proc. of International Lisp Conference 2007
Pages: 103-113
IPSJ Digital Courier 2
Pages: 262-279
130000058356
Pages: 238-247
130000058354
コンピュータソフトウェア 23・2
Pages: 225-238
130004892059
Proceedings of 15th International Conference on Compiler Construction. Lecture Notes in Computer Science Vol.3923
Pages: 170-184