2024-03-29T03:38:36Zhttps://ipsj.ixsq.nii.ac.jp/ej/?action=repository_oaipmhoai:ipsj.ixsq.nii.ac.jp:000167032020-10-27T05:02:43Z00934:00935:00963:00964
A Concurrent Real - time Garbage CollectorA Concurrent Real - time Garbage Collectoreng通常論文http://id.nii.ac.jp/1001/00016703/Articlehttps://ipsj.ixsq.nii.ac.jp/ej/?action=repository_action_common_download&item_id=16703&item_no=1&attribute_id=1&file_no=1Copyright (c) 2003 by the Information Processing Society of JapanThe University of Electro - CommunicationsNTTNTT - ITNTT DoCoMoIKUO, TAKEUCHIYOSHIJI, AMAGAIMASAHARU, YOSHIDAKENICH, YAMAZAKIIn this presentation we report on the microprogramming implementation and its evaluation of a concurrent real-time garbage collector (GC)for the rea-time symbolic processing system TAO/SILENT. Our real-time GC is implemented as a set of GC processes which run concurrently with other Lisp processes. It is based upon a sort of well-known incremental update algorithm and it brings in only a little overhead to Lisp primitives. We embedded a scheduling mechanism that is speci fic to GC process scheduling since it is indispensable to devise a good cooperation scheme between the operating system kernel and concurrent GC. We also developed a good deal of tiny techniques to make the GC processes as swift as possible. As a result our concurrent GC achieves a very small response delay for external events that is when an interrupt event takes place the corresponding urgent Lisp process can wake up in less than 131 microseconds for the worst case where more than ten thousand memory-consuming Lisp processes are concurrently running and surely in less than 50 microseconds if those Lisp processes are made with real-time consciousness. These figures are more than a hundred times as good as most of those appeared in the literature. Our GC can be said “transparent”in the sense that real-time processes would not be aware of the GC whether it runs or not at least with respect to response delay.In this presentation,we report on the microprogramming implementation and its evaluation of a concurrent real-time garbage collector (GC)for the rea-time symbolic processing system TAO/SILENT. Our real-time GC is implemented as a set of GC processes which run concurrently with other Lisp processes. It is based upon a sort of well-known incremental update algorithm, and it brings in only a little overhead to Lisp primitives. We embedded a scheduling mechanism that is speci fic to GC process scheduling, since it is indispensable to devise a good cooperation scheme between the operating system kernel and concurrent GC. We also developed a good deal of tiny techniques to make the GC processes as swift as possible. As a result, our concurrent GC achieves a very small response delay for external events, that is, when an interrupt event takes place, the corresponding urgent Lisp process can wake up in less than 131 microseconds for the worst case where more than ten thousand memory-consuming Lisp processes are concurrently running, and surely in less than 50 microseconds if those Lisp processes are made with real-time consciousness. These figures are more than a hundred times as good as most of those appeared in the literature. Our GC can be said “transparent”in the sense that real-time processes would not be aware of the GC whether it runs or not, at least with respect to response delay.AA11464814情報処理学会論文誌プログラミング(PRO)44SIG16(PRO20)41552003-12-151882-78022009-06-30