| R. D. Lins. Cyclic Reference Counting with Lazy Mark-Scan. Information Processing Letters, 44(4):215--220, 1992. Also as Technical Report. Federal University of Pernambuco, Brazil. |
....terminate, and proved it correct. However, Pepels algorithm is complicated, and its time complexity is exponential in the worst case. Christopher [4] designed a simple partial mark sweep algorithm wherein a mark sweep collector is invoked to reclaim the cycles missed by reference counting. Lins [8] created a hybrid reference counting mark sweep algorithm which is O(n ) in the worst case, based on an algorithm of Martinez [10] Bacon et al. 1] designed an O(V E) variant of the Lin s algorithm for the IBM Jalape no Java Virtual Machine. This was further improved upon by Lins in [9] ....
Rafael D. Lins. Cyclic reference counting with lazy mark-scan. Information Processing Letters, 44(4):215-220, 1992.
....avoids the need for ancillary tables. The concurrent cycle collector is the first fully concurrent algorithm for the detection and collection of cyclic garbage in a reference counted system. It is based on a new synchronous algorithm derived from the cyclic reference counting algorithm of Lins [23]. Our algorithm reduces asymptotic complexity from O(n ) to O(n) and also significantly reduces the constant factors. When the system runs too low on memory, or when mutators exhaust their trace buffer space, the Recycler forces the mutators to wait until it has freed memory to satisfy their ....
....Christopher [10] in which garbage cycles are identified by tentatively subtracting internal references, and observing whether the resulting structure has regions with zero reference count. Our algorithm is based variant of the coloring algorithm proposed by Martnez et al. [25] and extended by Lins [23]. An excellent description of the latter algorithm is contained in the book by Jones and Lins [20] we will briefly describe our algorithm and highlight the differences with Lins algorithm. The basic approach is based on the fact that a live cycle must contain at least one object with a ....
[Article contains additional citation context not shown here]
LINS, R. D. Cyclic reference counting with lazy mark-scan. Inf. Process. Lett. 44, 4 (Dec. 1992), 215--220.
.... and algorithms is in chapter 3 ( Reference Counting ) of the book by Jones and Lins [17] The first algorithm for cycle collection in a reference counted system was devised by Christopher [6] Our synchronous cycle collection algorithm is based on the work of Martnez et al. [22] as extended by Lins [20], which is very clearly explained in the chapter of the book just mentioned. There are two observations that are fundamental to these algorithms. The first observation is that garbage cycles can only be created when a reference count is decremented to a non zero value if the reference count ....
....This is a depth first search which subtracts out counts due to internal pointers. If the result is a collection of objects with zero reference counts, then a garbage cycle has been found and is collected; if not, then another depth first search is performed and the counts are restored. Lins [20] extended the original algorithm to perform the search lazily by buffering candidate roots instead of exploring them immediately. This has two advantages. Firstly, after a time, the reference count of a candidate root may reach zero due to other edge deletions, in which case the node can simply be ....
LINS, R. D. Cyclic reference counting with lazy mark-scan. Inf. Process. Lett. 44, 4 (Dec. 1992), 215--220.
....is necessary because cycles are likely to happen in the graph and as explained in Section 2.2 neither reference listing nor reference counting can collect garbage cycles of nodes. Some methods based on reference counting and reference listing where garbage cycles can be collected can be found [Lin92, JL93] In the LIGIA case, the benefit of implementing a more complicated algorithm does not repay its costs since one could expect that the reference listing would collect most of the garbage making the tracing phase a plus that can be used whenever necessary. Additionally, the standard ....
R. D. Lins. Cyclic Reference Counting with Lazy Mark-Scan. Information Processing Letters, 44(4):215--220, 1992. Also as Technical Report. Federal University of Pernambuco, Brazil.
....be unreachable from the persistent root, and therefore be garbage. However, a number of extensions of the basic referencing counting algorithm to handle cyclic data have been proposed in the programming language community, including: Bro85, Bro84, PvEP88] More recent work in this area includes [Lin90, MWL90, JL91] In this paper, we consider a version of reference counting, proposed by Brownbridge [Bro85, Bro84] for functional programming languages, which handles self referential cycles of garbage. We present an algorithm, called Transactional Cyclic Reference Counting (TCRC) based on ....
Rafael D. Lins. Cyclic reference counting with lazy mark-scan. Technical report 75, University of Kent, Canterbury, United Kingdom, June 1990.
....avoids the need for ancillary tables. The concurrent cycle collector is the rst fully concurrent algorithm for the detection and collection of cyclic garbage in a reference counted system. It is based on a new synchronous algorithm derived from the cyclic reference counting algorithm of Lins [17]. Our algorithm reduces asymptotic complexity from O(n 2 ) to O(n) and also signi cantly reduces the constant factors. When the system runs too low on memory, or when mutators exhaust their trace bu er space, the Recycler forces the mutators to wait until it has freed memory to satisfy their ....
....presence of dynamic class loading our more restrictive formulation must be used, since an acyclic class could later be subclassed with a cyclic class. For those objects that are potentially cyclic, we use a variant of the coloring algorithm proposed by Mart nez et al. [19] and extended by Lins [17]. An excellent description of the Black Purple White Gray Green DF FOLF#QHZ GHF### LQF GHF # PDUN GHF # LQF##GHF##XQVFDQ GHF# ## LQF LQF##GHF### VFDQ PDUN LQF##GHF# XQVFDQ##IUHH Orange FROOHFW GHF### Figure 2: State transition graph for cycle collection. latter algorithm is ....
[Article contains additional citation context not shown here]
Lins, R. D. Cyclic reference counting with lazy mark-scan. Inf. Process. Lett. 44, 4 (Dec. 1992), 215-220.
.... collectors has fallen into three categories: special programming idioms, like Bobrow s groups [4] or certain functional programming styles; use of an infrequently invoked tracing collector to collect cyclic garbage [6] or searching for garbage cycles by removing internal reference counts [19, 17]. An excellent summary of the techniques and algorithms is in chapter 3 ( Reference Counting ) of the book by Jones and Lins [14] Our synchronous cycle collection algorithm is based on the work Mart nez et al. [19] as extended by Lins [17] which is very clearly explained in the chapter of the ....
.... garbage cycles by removing internal reference counts [19, 17] An excellent summary of the techniques and algorithms is in chapter 3 ( Reference Counting ) of the book by Jones and Lins [14] Our synchronous cycle collection algorithm is based on the work Mart nez et al. [19] as extended by Lins [17], which is very clearly explained in the chapter of the book just mentioned. There are two properties that are fundamental to these algorithms. The rst property is that garbage cycles can only be created when a reference count is decremented to a non zero value if the reference count is ....
[Article contains additional citation context not shown here]
Lins, R. D. Cyclic reference counting with lazy markscan. Inf. Process. Lett. 44, 4 (Dec. 1992), 215-220.
....be unreachable from the persistent root, and therefore be garbage. However, a number of extensions of the basic referencing counting algorithm to handle cyclic data have been proposed in the programming language community, including: Bro85, Bro84, PvEP88] More recent work in this area includes [Lin90, MWL90, JL91] In this paper, we consider a version of reference counting, proposed by Brownbridge [Bro85, Bro84] for functional programming languages, which handles self referential cycles of garbage. We present an algorithm, called Transactional Cyclic Reference Counting (TCRC) based on ....
Rafael D. Lins. Cyclic reference counting with lazy mark-scan. Technical report 75, University of Kent, Canterbury, United Kingdom, June 1990.
....group GCs are longer than smaller ones and therefore retain more floating garbage. For that reason, the authors assume that large group GCs are rare compared to small group GCs. In [Lins 1992] Lins and Jones combine Weighed Reference Counting with Lins local algorithm for Cyclic Reference Counting [Lins 1991] to address distribution issues. As a result, they propose a simple algorithm to garbage collect cycles in a distributed environment. The general idea of the algorithm is to perform a local mark scan whenever a reference to a shared graph is deleted. That is, a mark scan is initiated each time an ....
....object is suspected of belonging to a garbage cycle (i.e when its counter is decremented down to one) The mark phase decrements counters each time it visits an object belonging to the subgraph. At the end, all nodes with counters equal to zero are part of a dead cycle and may be safely reclaimed. Lins [Lins 1991] improves the basic idea to perform the mark scan lazily. Spurious objects are not scanned at once but instead they are queued in a special list. When the allocator fails to supply memory the corresponding list is scanned in order to reclaim potential garbage cycles. Unfortunately, mark scan of ....
R. D. Lins. Cyclic reference counting with lazy mark-scan. Technical Report TR-77, University of Kent, Computing Labotory Canterbury (England), August 1991.
....pointer deletion is clearly not acceptable. Furthermore, the distributed tracing is poorly concurrent with mutator activity. If the frequency of pointer deletion is high enough, the mutator may be suspended most of the time by the cyclic collector. These shortcomings were later corrected in part [Lins, 1990] by queueing suspected objects and batching tracing on several subgraphs. Second, concurrent tracing of overlapping subgraphs necessitates either some form of locking or extra data fields to manage a counter per tracing. If the graph of objects is distributed then the algorithm requires some form ....
Rafael D. Lins. Cyclic reference counting with lazy mark-scan. Technical Report 75, University of Kent, Canterbury, United Kingdom, June 1990. To appear in Information Processing Letters.
....large group GCs are longer than smaller ones and therefore retain more floating garbage. For that reason, the authors assume that large group GCs are rare compared to small group GCs. In [8] Lins and Jones combine Weighed Reference Counting with Lins local algorithm for Cyclic Reference Counting [7] to address distribution issues. As a result, they propose a simple algorithm to garbage collect cycles in a distributed environment. The general idea of the algorithm is to perform a local mark scan whenever a reference to a shared graph is deleted. That is, a mark scan is initiated each time an ....
....is suspected of belonging to a garbage cycle (i.e when its counter is decremented down to one) The mark phase decrements counters each time it visits an object belonging to the subgraph. At the end, all nodes with counters equal to zero are part of a dead cycle and may be safely reclaimed. Lins [7] improves the basic idea to perform the mark scan lazily. Spurious objects are not scanned at once but instead they are queued in a special list. When the allocator fails to supply memory the corresponding list is scanned in order to reclaim potential garbage cycles. Unfortunately, mark scan of ....
Lins, R. D. Cyclic reference counting with lazy mark-scan. Tech. Rep. TR-77, University of Kent, Computing Labotory Canterbury (England), Aug. 1991.
....logic and process algebras. The verification of such algorithms is an area of ongoing research. This paper starts by examining those simpler algorithms upon which the CWRC has been built, namely standard recursive marking [McCarthy, 1960] and Cyclic Reference Counting [Martinez et al. 1990; Lins, 1990] In Section 2 we consider garbage collection from an abstract point of view. These abstract requirements are formally described in temporal logic. Two specifications in CCS are then given, each involving different amounts of parallelism. In Section 2 we present the Cyclic Reference Counting ....
....references are copied in a manner similar to the standard reference counting algorithm [Collins, 1960] as is the deletion of the last reference to an object. However, if the target of a deleted pointer is shared then it may be part of an isolated, and hence garbage, cycle. In the lazy algorithm [Lins, 1990], a reference to the cell is placed on a control queue but no further action is taken until either the free list becomes empty or the control queue is full. In the original algorithm [Martinez et al. 1990] the cell is examined immediately to determine whether it is garbage. In either case, ....
Rafael D. Lins. Cyclic reference counting with lazy mark-scan. Technical Report 75, The University of Kent at Canterbury Computing Laboratory, The University, Canterbury, Kent, July 1990. to appear in Information Processing Letters.
....pointer deletion is clearly not acceptable. Furthermore, the distributed tracing is poorly concurrent with mutator activity. If the frequency of pointer deletion is high enough, the mutator may be suspended most of the time by the cyclic collector. These shortcomings were later corrected in part [Lins, 1990] by queueing suspected objects and batching tracing on several subgraphs. Second, concurrent tracing of overlapping subgraphs necessitates either some form of locking or extra data fields to manage a counter per tracing. If the graph of objects is distributed then the algorithm requires some form ....
Rafael D. Lins. Cyclic reference counting with lazy mark-scan. Technical Report 75, University of Kent, Canterbury, United Kingdom, June 1990. To appear in Information Processing Letters.
....collectors share the same workspace. This generalisation is simple and keeps the properties of the one mutator one collector architecture [8] 1 A Shared Memory Architecture In this section we describe the architecture presented in [8] for Parallel Cyclic Reference Counting with Lazy Mark Scan [7]. There are two processors P 1 and P 2 , which will perform graph rewriting and garbage collection simultaneously. Both processors share the same memory area, the working space which is organised as a heap of cells. We assume that the mutator will never point at a garbage node. However, by ....
....algorithm presented in [2] with the addition of some synchronisation elements. This was exactly the strategy adopted by the author in the development of his one mutator one collector shared memory architecture [8] which was based on the sequential algorithms for uniprocessors presented in [10, 7]. The architectures presented herein also follow the same philosophy: we parallelise the original mutator algorithm and then we apply the same technique to the collector algorithm. The Multi Mutator Architecture The existence of a partial ordering on the synchronisation of mutator operations is ....
R.D.Lins. Cyclic reference counting with lazy mark-scan. Technical Report 75, UKC Computing Lab. Report, The University of Kent at Canterbury, July 1990. to appear in Information Processing Letters.
....domain, Friedman Wise [8] Bobrow [4] and Hughes [13] have solved this problem in the context of implementing Lisp and functional languages such as Miranda. A general uniprocessor algorithm for cyclic reference counting with local mark scan was presented in [19] and substantially improved in [17]. Two algorithms made standard reference counting suitable for use in loosely coupled multiprocessor architectures: weighted reference counting [3, 24] and generational reference counting [9] However , as in sequential standard reference counting, these both algorithms are also not able to ....
....and generational reference counting [9] However , as in sequential standard reference counting, these both algorithms are also not able to reclaim cyclic data structures. A multiprocessor algorithm that merges weighted reference counting with Lins cyclic reference counting with lazy mark scan [17] was described in [18] This method can reclaim cyclic data structures. Plainfoss e and Shapiro [20] pointed out that this algorithm is simple but does not allow several processors to invoke mark scan simultaneously. A first attempt to solve this problem is presented in [14] However, this new ....
[Article contains additional citation context not shown here]
R.D.Lins. Cyclic reference counting with lazy mark-scan. Information Processin Letters 44:215--220, 1992.
....management, based on reference counting yet able to collect cycles. Our scheme was inspired by two algorithms. Weighted Reference Counting [35; 1] makes reference counting practical for use in distributed systems by reducing the amount of communication necessary; Lazy Cyclic Reference Counting [19] extended the standard reference counting algorithm [9] to deal with cyclic structures simply and efficiently in a uni processor environment. David Plainfoss e and Marc Shapiro [28] emphasised that an earlier version of our algorithm [21] was simple but not truly concurrent under certain ....
....to this problem. 3 Lazy Cyclic Reference Counting A promising scheme for uni processors has been developed by Lins and his colleagues [23] Its most sophisticated form, the Lazy Cyclic Reference Counting algorithm, combines reference counting with lazy four colour mark scan garbage collection [19]. The New and Copy operations are similar to those of the standard reference counting algorithm, as is the deletion of the last reference to an object. However, if the target of the pointer being deleted is shared (it has reference count greater than one) then it may be part of an isolated cycle ....
Rafael D. Lins. Cyclic reference counting with lazy mark-scan. Technical Report 75, The University of Kent at Canterbury Computing Laboratory, The University, Canterbury, Kent, July 1990. Submitted to Information Processing Letters.
....of a pointer to a shared structure increases the complexity of the local mark scan to O(n) where n is the size of the shared subgraph. Unfortunately, the overhead of this algorithm is too high for applications that make extensive use of sharing and of cyclic data structures. Making mark scan lazy [6] removes the drawback of running mark scan every time a pointer to a cell with multiple references is deleted, by placing a reference to these cells onto a queue. The deletion of the last pointer to a shared cell will recycle it immediately, regardless of whether there is a reference to it on the ....
....reference count. These are cells to which there are external references. They are re marked as ordinary cells and their counts are reset. All other nodes are marked as garbage. Finally, in phase three all marked cells are returned to the free list. The algorithm above was optimised in reference [6] allowing mark scan to take place lazily. The deletion of a pointer to a shared cell pushes a reference to this cell on a queue Q and mark scan is postponed. This delay has the effect of recycling some of the shared cells directly, without performing mark scan. We use the notation R,S to ....
[Article contains additional citation context not shown here]
R.D.Lins. Cyclic Reference Counting with Lazy Mark-Scan. to appear in Information Processing Letters.
No context found.
R. D. Lins. Cyclic Reference Counting with Lazy Mark-Scan. Information Processing Letters, 44(4):215--220, 1992. Also as Technical Report. Federal University of Pernambuco, Brazil.
No context found.
Rafael D. Lins. Cyclic reference counting with lazy mark-scan. Information Processing Letters, 44(4):215--220, 1992.
No context found.
LINS, R. D. Cyclic reference counting with lazy mark-scan. Inf. Process. Lett. 44, 4 (Dec. 1992), 215--220.
No context found.
Rafael D. Lins. Cyclic reference counting with lazy mark-scan. Information Processing Letters, 44(4):215--220, 1992.
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC