- 著者
-
佐藤憲一郎
松井 祥悟
- 出版者
- 一般社団法人情報処理学会
- 雑誌
- 情報処理学会論文誌プログラミング(PRO) (ISSN:18827802)
- 巻号頁・発行日
- vol.45, no.12, pp.93, 2004-11-15
UNIX等のマルチプロセスOSに実装されているプロセス生成用システムコールのforkを用いて,並列ガーベジコレクション(GC)を実現した.forkによって生成されたGCプロセスがコピーされたヒープ空間上で印付けを行うために,ライトバリアが不要となる.ごみ情報を通知するためにプロセス間通信が必要となるが,一般的な停止-回収型マークスイープGCは容易にこの方法へ変更することができる.パイプおよび共有メモリを用いた本GCをLispインタプリタに実装し,停止-回収型マークスイープGCと比較評価を行った.We implemented the parallel garbage collection using fork system call for process generation supported in the multi-processes OS, such as UNIX. The GC does not need a write barrier because the gc process generated by fork system call performs marking the duplicated heap. Although Inter-Process Communication is needed in order to notify garbage cells, the general stop and collect mark-sweep GC can be easily changed to this method. We implemented the GC using the pipe and shared memory and compared with the original mark-sweep GC.