著者
佐藤憲一郎 松井 祥悟
出版者
一般社団法人情報処理学会
雑誌
情報処理学会論文誌プログラミング(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.
著者
佐藤憲一郎 松井 祥悟
雑誌
情報処理学会論文誌プログラミング(PRO) (ISSN:18827802)
巻号頁・発行日
vol.45, no.SIG12(PRO23), pp.93-93, 2004-11-15

UNIX等のマルチプロセスOSに実装されているプロセス生成用システムコールのforkを用いて,並列ガーベジコレクション(GC)を実現した.forkによって生成されたGCプロセスがコピーされたヒープ空間上で印付けを行うために,ライトバリアが不要となる.ごみ情報を通知するためにプロセス間通信が必要となるが,一般的な停止-回収型マークスイープGCは容易にこの方法へ変更することができる.パイプおよび共有メモリを用いた本GCをLispインタプリタに実装し,停止-回収型マークスイープGCと比較評価を行った.