WEKO3
アイテム
CプログラムにおけるLazy Task Creation
https://ipsj.ixsq.nii.ac.jp/records/30236
https://ipsj.ixsq.nii.ac.jp/records/3023691a2d945-1e68-47d8-8332-ba8bfcd304d9
名前 / ファイル | ライセンス | アクション |
---|---|---|
![]() |
Copyright (c) 1997 by the Information Processing Society of Japan
|
|
オープンアクセス |
Item type | SIG Technical Reports(1) | |||||||
---|---|---|---|---|---|---|---|---|
公開日 | 1997-08-21 | |||||||
タイトル | ||||||||
タイトル | CプログラムにおけるLazy Task Creation | |||||||
タイトル | ||||||||
言語 | en | |||||||
タイトル | Lazy Task Creation for C Programs | |||||||
言語 | ||||||||
言語 | jpn | |||||||
資源タイプ | ||||||||
資源タイプ識別子 | http://purl.org/coar/resource_type/c_18gh | |||||||
資源タイプ | technical report | |||||||
著者所属 | ||||||||
東京大学大学院理学系研究科情報科学専攻 | ||||||||
著者所属 | ||||||||
東京大学大学院理学系研究科情報科学専攻 | ||||||||
著者所属 | ||||||||
東京大学大学院理学系研究科情報科学専攻 | ||||||||
著者所属(英) | ||||||||
en | ||||||||
Department of Information Science, The University of Tokyo | ||||||||
著者所属(英) | ||||||||
en | ||||||||
Department of Information Science, The University of Tokyo | ||||||||
著者所属(英) | ||||||||
en | ||||||||
Department of Information Science, The University of Tokyo | ||||||||
著者名 |
田端, 邦男
× 田端, 邦男
|
|||||||
著者名(英) |
Kunio, Tabata
× Kunio, Tabata
|
|||||||
論文抄録 | ||||||||
内容記述タイプ | Other | |||||||
内容記述 | 共有メモリマシンにおけるCプログラム上の関数呼び出しに対し、動的負荷分散を目的としたLazy Task Creationを実装した。細粒度並列処理において、負荷分散に要するオーバヘッドが処理全体の効率に大きく影響する。Lasy Task Creationという方法は、プロセッサがアイドル状態になった時のみに仕事を生成することで、負荷分散のオーバヘッドを小さく押えられる。基本的なアイデアは、スタックフレームにある情報から仕事を生成するということである。既存の実装ではスタックフレームのフォーマットやランタイムシステムなどコンパイラ全体を特定のプログラミングシステムのためにはじめから作り出しており、この方法では、C言語に対しLazy Task Creationを実装することができなかった。本研究では、標準的なスタックフレームのフォーマットに対し、既存のCコンパイラを変更することなく実装する方法を示す。この方法は、既存のコンパイラの逐次実行の最適化を最大限に生かすことができる。実験を通して効率の高い動的負荷分散を実現できることも確かめられた。 | |||||||
論文抄録(英) | ||||||||
内容記述タイプ | Other | |||||||
内容記述 | We have implemented a Lazy Task Creation scheme for C programs on shared memory machines. On finegrain pararell programs, overhead of dynamic load-balancing has a large impact on overall performance of applications. Lazy Task Creation (LTC) is a method that reduces this overhead by generating work on demand, only when some processors are idle. The key idea is to generate work from information present in stack frames. To make work generation as simple as possible, LTC or similar schemes have traditionally been implemented with stack frame formats, calling conventions, runtime systems, and code generators desigined from scratch for a particular programming system. This prevents language implementers from targetting their languages to C. This paper shows that an LTC-like mechanism can be implemented with unmodified sequential C compilers, with standard stack frame formats and calling conventions. Therefore, our method takes advantage of optimizations already implemented in C compilers. Moreover, because it isolates a machinedependent part, it is easy to apply our implementation to various platforms. Through the experiments, we confirm our implementation has good performance. | |||||||
書誌レコードID | ||||||||
収録物識別子タイプ | NCID | |||||||
収録物識別子 | AN10485570 | |||||||
書誌情報 |
情報処理学会研究報告プログラミング(PRO) 巻 1997, 号 78(1997-PRO-014), p. 79-84, 発行日 1997-08-21 |
|||||||
Notice | ||||||||
SIG Technical Reports are nonrefereed and hence may later appear in any journals, conferences, symposia, etc. | ||||||||
出版者 | ||||||||
言語 | ja | |||||||
出版者 | 情報処理学会 |