@article{oai:ipsj.ixsq.nii.ac.jp:00018466, author = {八杉, 昌宏 and 小宮, 常康 and 湯淺, 太一 and Masahiro, Yasugi and Tsuneyasu, Komiya and Taiichi, Yuasa}, issue = {SIG11(ACS7)}, journal = {情報処理学会論文誌コンピューティングシステム(ACS)}, month = {Oct}, note = {本論文では,GNU CコンパイラなどがC言語の拡張機能として提供する入れ子関数を利用して,呼び出し元の変数にアクセスすることで,遅延タスク生成に基づく負荷分散を行うプログラムが書けることを示す.また,バックトラックに相当する動作の記述も可能であることを示す.ただし本記述方式では,オリジナルの遅延タスク生成より低水準な記述が可能であり,タスクは継続を処理するものとは限らず,明示された並列実行可能部分を処理するものとする.このため,クラスタなどの分散環境でも利用できる.一方,低水準な記述が望ましくない場合もあるので,高水準な記述についても考察する.また,GNU Cコンパイラの入れ子関数の生成・維持コストが少なくなるよう実装を改良した.共有メモリ型並列計算機上での予備的性能評価により,理想的な台数効果と低い並列化オーバヘッドが確認できた., In this paper, we show that we can write a program with “Lazy Task Creation”-based load balancing where callers’ variables are accessed by using nested functions provided as an extension to C by the GNU C compiler. We also show that we can describe a behavior corresponding to backtracking. Our scheme accepts a lower-level description than the original LTC. A task can be created not only to process a continuation but also to process a specified part for parallel execution. The low-level description can be used for the distributed computing such as cluster computing. Since the low-level description is sometimes undesirable, we also discuss its high-level description. We also enhanced GCC to reduce allocation overhead and maintenance overhead of nested functions. The results of preliminary performance measurements on various shared-memory parallel computers exhibit near-ideal speedups and quite low parallelization overhead.}, pages = {368--377}, title = {入れ子関数を利用する動的負荷分散と高水準記述}, volume = {45}, year = {2004} }