Next: Up: Previous:

局所ごみ集め+参照数え

分散メモリ計算機において参照数え方式を拡張する提案が多数なされている [7], [19], [35], [36]. 分散プログラミング言語の実装は典型的には参照数え方式を好み [8], [26], いくつかの並列言語もそれらを採用している [25], [39]. 分散マーキング方式に 比べると, 参照数え方式は多くの明らかな利点を持っている. 例えば, プロセッ サは同期をする必要がなく, 参照を使用したプロセッサのみがオブジェクトの 回収にたずさわればよい [6], [49]. しかしこれらの利点は表面的であり, 実験 によって証明されているわけではない. それが本当に高性能並列計算 のためにうまく働くのかどうかについては示されていな い. 現在存在する性能についての研究 [39] は, 消去メッセージの数やごみ集めスケジュー リングが性能に与える概観的な影響などの表面的なオーバヘッド に集中している.

参照数え方式にはいくつかの欠点が存在する. すべてのポインタ複製と消去に ともなう参照数の操作が非常に大きなオーバヘッドを招くため, 分散環境に おける参照数え方式はしばしば局所追跡ごみ集め器と組み合わせられ, 遠隔参照に対する参照数のみを追跡する. 各プロセッサは独立に局所ごみ集 めを行ない, 局所ごみ集め器は各被遠隔参照プロセッサについて, どれだけの遠隔 参照を自分のプロセッサが保持しているのかを数える [1], [7], [25], [31], [39]. これは必然的に(少 なくともデフォルトでは)局所ごみ集めが独立であることを意味する. 3.3.4 (3).a節で見るように, 独立ごみ集めは同期アプリケーションでは非常に悪い 性能を示す. 参照数え方式のもう一つの潜在的な欠点は, データを所有 しているプロセッ サが他のプロセッサのごみ集めを起動しないという点において, 回収が非常 に「受け身的」に起こることである. これはより早く回収できたごみの回収を 不必要に遅らせる可能性がある. 例えば, N プロセッサに渡って広がるデータ 構造の回収には, それらの N プロセッサが, データ構造が定義された順番で局所ごみ集め を行なうのを待たなければならない. 不必要に長く残るデータ構造は局所ごみ 集め器の性能を落とし, さらには全体の性能に大きな影響を与える.



Mitsubishi Research Institute,Inc.
Mon Feb 24 19:27:36 JST 1997