Article View: fj.lang.lisp
Article #291Re: Local GC (Re: Distributed Lisp)
From: Yoshio Tanaka
Date: Fri, 26 Apr 1996 00:00
Date: Fri, 26 Apr 1996 00:00
42 lines
2621 bytes
2621 bytes
田中@RWCPです. 六沢さんからのフォローと,田浦さんからのフォローの両方に(おそらく理由 が同じであろう)疑問がありますので,どちらの方でも構いませんので教えて 下さい. 両方の方とも 六沢さん>> 単純な「メモリ食い潰し&一括GC方式」だと、データセル割付時に (メモリの 六沢さん>> 食い潰し領域の先頭を指す) ポインタをすすめる *だけ* で済むのですが、 六沢さん>> フリーリスト管理をしていると、データセル割付時だけでなく回収時にも、 六沢さん>> 「ポインタをすすめる」よりコストの高い処理が必要であるということです。 田浦さん>> それぞれの方式の問題点をまとめると, 田浦さん>> 田浦さん>> Mark Sweep + write barrier: allocationが遅い のように,例えばmark & sweepをインクリメンタルに行なった場合に allocationが遅いと書かれていますが,これは「allocation時に回収 の処理も行なうから」と解釈してよろしいですか? ということは,インクリメンタルではなく並列に行なった場合はその ような問題は回避されると考えてもよろしいのでしょうか? 六沢さんの「割付時だけでなく回収時にもコストの高い処理が必要」 というのは,別の問題なのでしょうか? 自分がmark & sweepをベースに並列GCを実装した時には,フリーリス トの先頭(head)と末尾(tail)を指すポインタを用意し,mutatorは headからセルを取り出し,collectorはtailに加えていくという方法 をとりました.ダミーセルを1つ用意してやれば,headとtailのアク セスにlockをかける必要はなく,mutatorは一括GC方式の場合と同じ 処理でallocationができます. 自分は何かを見落としているのかなぁ...とちょっと不安なので. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 新情報処理開発機構 (Real World Computing Partnership) 超並列研究部 超並列パフォーマンス研究室 田中良夫 yoshio@trc.rwcp.or.jp
Technical Details
Message-ID:
<YOSHIO.96Apr26184230@u71.trc.rwcp.or.jp>Path:
arc1-ca.pugleaf.net!unknown!not-for-mailReferences:
<YOSHIO.96Apr17132425@u71.trc.rwcp.or.jp>Show Full Headers
Complete Article Headers
X-Google-Language: Japanese,JIS X-Google-Thread: 1421c0,1a067ea48d9340f4 X-Google-Attributes: gid1421c0,public From: yoshio@trc.rwcp.or.jp (Yoshio Tanaka) Subject: Re: Local GC (Re: Distributed Lisp) Date: 1996/04/26 Message-ID: <YOSHIO.96Apr26184230@u71.trc.rwcp.or.jp> X-Deja-AN: 151818256 distribution: fj references: <YOSHIO.96Apr17132425@u71.trc.rwcp.or.jp> followup-to: fj.lang.lisp content-type: text/plain; charset=ISO-2022-JP organization: Tsukuba Research Center, Real World Computing Partnership, JAPAN mime-version: 1.0 newsgroups: fj.lang.lisp