| Item type |
Trans(1) |
| 公開日 |
2023-01-13 |
| タイトル |
|
|
タイトル |
並列言語処理系で利用可能な移植性に優れた計算状態操作機構の改善に向けて |
| タイトル |
|
|
言語 |
en |
|
タイトル |
Towards Improving Portable Mechanisms for Legitimate Execution Stack Access for Parallel Language Systems |
| 言語 |
|
|
言語 |
jpn |
| キーワード |
|
|
主題Scheme |
Other |
|
主題 |
[発表概要, Unrefereed Presentatin Abstract] |
| 資源タイプ |
|
|
資源タイプ識別子 |
http://purl.org/coar/resource_type/c_6501 |
|
資源タイプ |
journal article |
| 著者所属 |
|
|
|
九州工業大学大学院情報工学府 |
| 著者所属 |
|
|
|
九州工業大学大学院情報工学研究院 |
| 著者所属 |
|
|
|
京都橘大学工学部情報工学科 |
| 著者所属(英) |
|
|
|
en |
|
|
Graduate School of Computer Science and Systems Engineering, Kyushu Institute of Technology |
| 著者所属(英) |
|
|
|
en |
|
|
Department of Computer Science and Networks, Kyushu Institute of Technology |
| 著者所属(英) |
|
|
|
en |
|
|
Department of Information and Computer Science, Faculty of Engineering, Kyoto Tachibana University |
| 著者名 |
竹内, 千裕
八杉, 昌宏
平石, 拓
|
| 著者名(英) |
Chihiro, Takeuchi
Masahiro, Yasugi
Tasuku, Hiraishi
|
| 論文抄録 |
|
|
内容記述タイプ |
Other |
|
内容記述 |
計算状態操作機構は,C言語の実行スタック中に眠る呼び出し元の変数の値への合法的アクセスを提供し,実行中のソフトウェアの動的再構成や保全を可能とする.これにより,並列言語TascellやHOPEの言語処理系では,各ワーカは原則spawnなどせずに逐次実行としつつ,呼び出し元の変数の値へのアクセスを要する負荷分散を実現している.GCCが提供する入れ子関数は,計算状態操作機構の一種として利用できるもののクロージャの生成コストが高いなどの問題がある.このため,計算状態操作機構L-closureやclosureは性能改善のためCコンパイラの改造として提案されたが,近年は標準C言語への変換に基づくCL-SC2などと名付けた実装方式もある.本研究では,特に移植性に優れた変換に基づく計算状態操作機構を,GCCの入れ子関数などと比較しつつ,ARMアーキテクチャであるFX700サーバやXeon Phiサーバといった多様な共有メモリ環境あるいは分散メモリ環境で評価するとともに,その改善に向けての知見を得る.本研究では,計算状態操作機構の新しい形態である持続型例外処理機構の変換による実装も視野に入れている.その効率的実装として,C++言語のサブセットヘの変換を検討する.これはC++の例外処理の利用のためであるが,別途C++のラムダ式についても移植性に優れた計算状態操作機構の候補として検討する. |
| 論文抄録(英) |
|
|
内容記述タイプ |
Other |
|
内容記述 |
Mechanisms for legitimate execution stack access (LESA for short) provide legitimate access to values of caller's variables slept deeply in C's execution stack, and enable dynamic rearrangement of running software. In the language systems of parallel languages Tascell and HOPE, each worker basically performs a computation sequentially without spawning, and the load balancing which needs access to values of caller's variables is achieved. Nested functions provided by GCC can be utilized as LESA mechanisms, but they incur high costs of creating closures. In this background, L-closures and closures were proposed as efficient LESA mechanisms implemented by enhancing GCC. However, transformation-based implementations of LESA mechanisms such as CL-SC2, where standard C is used as a target language, are also developed recently. In this study, we compare portable LESA mechanisms with nested functions of GCC and evaluate them in various shared memory environments and/or distributed memory environments such as a Xeon Phi server and a FX700 server based on ARM architecture, in order to obtain insights for improving them. In this study, we also consider the implementation of restartable exception handling mechanisms as new LESA mechanisms. As an efficient implementation, we consider translating them into a subset of the C++ language for utilizing exception handling in C++; in addition, we consider lambda expressions in C++ as new portable LESA mechanism candidates. |
| 書誌レコードID |
|
|
収録物識別子タイプ |
NCID |
|
収録物識別子 |
AA11464814 |
| 書誌情報 |
情報処理学会論文誌プログラミング(PRO)
巻 16,
号 1,
p. 21-21,
発行日 2023-01-13
|
| ISSN |
|
|
収録物識別子タイプ |
ISSN |
|
収録物識別子 |
1882-7802 |
| 出版者 |
|
|
言語 |
ja |
|
出版者 |
情報処理学会 |