1996 Fiscal Year Annual Research Report
同期チャネルとオブジェクトを持つ並列言語の分散共有記憶型並列計算機上の高効率実現
Project/Area Number |
08408008
|
Research Category |
Grant-in-Aid for Scientific Research (A)
|
Research Institution | The University of Tokyo |
Principal Investigator |
米澤 明憲 東京大学, 大学院・理学系研究科, 教授 (00133116)
|
Co-Investigator(Kenkyū-buntansha) |
田浦 健次朗 東京大学, 大学院・理学系研究科, 助手 (90282714)
増原 英彦 東京大学, 大学院・総合文化研究科, 助手 (40280937)
小林 直樹 東京大学, 大学院・理学系研究科, 講師 (00262155)
松岡 聡 東京工業大学, 大学院・情報理工学研究科, 助教授 (20221583)
|
Keywords | 並列プログラミング言語 / 並列オブジェクト / 同期チャネル / 型システム / デッドロック / 部分計算 / マルチスレッド / 分散GC |
Research Abstract |
並列オブジェクトと同期チャネルに基づく並列言語の設計、実装、および理論的な解析の3面に渡って広く研究を行なった。設計に関しては、同期チャネルに基づく並列オブジェクト指向言語HACLおよびSchematicの設計をおこない、プロトタイプを実装した。実装面では、論文[4]に示されているように、同期チャネルに基づく言語を効率的にコンパイルするための、基本的なコンパイルの枠組を定式化した。これに基づいたSchematicのコンパイラがICPUのワークステーション上および並列計算機AP1000/AP1000+で稼働している。また、論文[6]に示されているように、高効率なマルチスレッディングを高い逐次性能と両立させ、かつ既存の逐次コンパイラを再利用する方法を確立した。そして、同言語内で大域的なGC(ゴミ集め)を記述し、AP1000/AP1000+上で、実装および評価を行なった(論文[7])。理論的な解析に関しては、まず、ある同期チャネルがlinearチャネル(生成してから一度しか使用されない同期チャネル)であるかどうかを型システムによってコンパイル時に判定するための型システム(linear type system)を設計し、その正しさを証明した。さらにそのための型推論器を設計、実装した。これによってプログラマからの指示なしにlinearチャネルを検出し、一度使われた時点で回収することが可能になった。それをさらに発展させた型システムとして、型付けされたプログラムがデッドロックに陥らないことを保証する型システムを設計した(論文[2])。また、論文[1]ではHACLにおいて、種々のプログラム変換の正さを議論する上の基礎となる新しいプロセスの等価性である、barb-agreed simulationを定義し、その等価性のもとで、HACLのための部分計算を設計し、その正しさを証明した。
|
Research Products
(9 results)
-
[Publications] Haruo Hosoya: "Partial evaluation scheme for concurrent languages and its correctness." Lecture Notes in Computer Science. 1123. 625-632 (1996)
-
[Publications] Naoki Kobayashi: "A Partially Deadlock-free Typed Process Calculus(I)-A Simple System-." University of Tokyo,Technical Report. 96-02. (1996)
-
[Publications] Naoki Kobayashi: "Towards foundations for concurrent object-oriented programing-types and language design-." Theory and Practice of object Systems. 1(4). 243-268 (1996)
-
[Publications] Hidehiko Masuhara: "Implementing parallel language constructs using a reflective object-oriented language." In Reflection Symposium'96. (1996)
-
[Publications] Yoshihiro Oyama: "動的なスレッド生成をサポートする言語のコンパイル技法" In Proceedings of Swopp '96. (1996)
-
[Publications] Toshihiro Shimizu: "並列言語の高レベルなデータの通信における型を利用した最適化について" コンピュータソフトウェア. 14(2)(to appear). (1997)
-
[Publications] Kenjiro Taura: "Fine-grain multithreading with minimal compiler support-a cost effective approach to implementing efficient multithreading languages." In Proceedings of Conference on Programming Languages Design and Implementation. (to appear). (1997)
-
[Publications] 増原英彦: "並列自己反映言語システムの部分計算によるコンパイル技法" 情報処理学会論文誌. 37(7). 1290-1298 (1996)
-
[Publications] 遠藤 敏夫: "Portableでrobustなglobal garbage collectorの構築について" In Proceedings of SWoPP '96. (1996)