An Efficient Implementation of Exception Handling for Fine - grained Multithreaded Languages
Bibliographic Information
- Other Title
-
- 細粒度マルチスレッド言語における例外処理の効率良い実装
Search this article
Description
本発表では,細粒度マルチスレッド言語における例外処理を効率良くポータブルに実装するための手法について提案し,性能評価を行う.我々は,動的スコープを利用し,同期処理・例外処理を階層的に構造化したオブジェクト指向並列言語OPAを実装している.OPAコンパイラはOPAのソースコードをCコードに変換することで,高いポータビリティを実現している.また,値ベースのサスペンドチェックなどの実装手法を用いている.本提案では例外のチェックをサスペンドチェックと同時に行うことで,通常処理時の例外チェックのオーバヘッドをなくした.またtry-catch,try-finally構文をC言語によって実装する手法についても提案する.さらに,細粒度マルチスレッド言語においては,多数のスレッドが生成され,fork-joinのネストが深くなる.並列実行中の例外に対しては,仕事を分担した全スレッドの実行が中断または完了するのを待つのが望ましい.中断可能なスレッドをなるべく早く中断することができれば,無駄な計算が行われず,処理全体の効率が上がる.本発表では,そのための手法についても提案する.また,OPA処理系には遅延タスク生成(LTC)が実装されているが,このようなLTCが導入された処理系における実装上の工夫についても述べる.
In this presentation we propose an efficient and portable implementation scheme of exception handling for fine-grained multi-threaded programming languages, and evaluate its performance. We are implementing an object-oriented parallel language OPA which features hierarchically structured synchronization and exception handling using dynamic scope. OPA compiler translates source code in OPA into C code for portability. The OPA system employs a value-based suspension check method, and overhead for exception checks can be eliminated by unifying suspension checks and exception checks. We also propose C code generation techniques for implementing the try-catch construct and the try-finally construct. In fine-grained multi-threaded programs, a lot of threads are created, and the nest of fork-join becomes deeper. Before handling an exception thrown in the course of parallel execution, it is desired to wait for all threads sharing the goal of the parallel execution to abort or finish their execution. If we can abort execution of threads that can be aborted as soon as possible, useless computation is not performed and the total efficiency is improved. In this presentation we propose techniques for such case. Since OPA is implemented using Lazy Task Creation (LTC), we also describe the implementation issues on such language systems.
Journal
-
- 情報処理学会論文誌プログラミング(PRO)
-
情報処理学会論文誌プログラミング(PRO) 45 (SIG09(PRO22)), 82-82, 2004-07-15
情報処理学会
- Tweet
Keywords
Details 詳細情報について
-
- CRID
- 1050001337890553472
-
- NII Article ID
- 110002712425
-
- NII Book ID
- AA11464814
-
- ISSN
- 18827802
-
- Text Lang
- ja
-
- Article Type
- journal article
-
- Data Source
-
- IRDB
- CiNii Articles