24 citations found. Retrieving documents...
T. Chikayama and Y. Kimura. Multiple reference management in Flat GHC. ICLP, pages 276-293, 1987.

 Home/Search   Document Not in Database   Summary   Related Articles   Check  

This paper is cited in the following contexts:
Resource-Passing Concurrent Programming - Ueda   (2 citations)  (Correct)

....to handle them so that they may remain consistent with the above intuitive meaning. 1. The annotations of constructors in program clauses and initial goal clauses are given according to how the structures they represent are implemented. For instance, consider the following goal clause: p([1,2,3,4,5],X) q( 1,2,3,4,5] X) If the implementation chooses to create a single instance of the list [1,2,3,4,5] and let the two goals share them, the constructors (there are 11 of them including [ must be given #. If two instances of the list are created and given to p and q, either annotation is ....

....so that they may remain consistent with the above intuitive meaning. 1. The annotations of constructors in program clauses and initial goal clauses are given according to how the structures they represent are implemented. For instance, consider the following goal clause: p( 1,2,3,4,5] X) q([1,2,3,4,5],X) If the implementation chooses to create a single instance of the list [1,2,3,4,5] and let the two goals share them, the constructors (there are 11 of them including [ must be given #. If two instances of the list are created and given to p and q, either annotation is compatible with the ....

[Article contains additional citation context not shown here]

Chikayama, T. and Kimura, Y., Multiple Reference Management in Flat GHC. In Logic Programming: Proc. of the Fourth Int. Conf. (ICLP'87), The MIT Press, 1987, pp. 276--293.


An on-the-fly Reference Counting Garbage Collector for Java - Levanoni, Petrank (2001)   (6 citations)  (Correct)

....paper [28] 1.4 Cycle collection A major disadvantage of reference counting is that it does not collect cycles. We have chosen to collect cycles with an on the y mark and sweep collector. The Mark and sweep algorithm is run seldom to collect cycles and restore stuck reference counts. Like in [33, 42, 38, 8, 8], we use only two bits for the reference count and thus, stuck counters are created on the y, and are restored by the mark and sweep algorithm. We use a novel on the y mark and sweep collector that we have designed especially for our reference counting algorithm. Note that it is quite natural ....

....the delay introduced by recursive deletion. Deutsch and Bobrow [14] eliminated the need for a write barrier on local references (in stack and registers) This method was later adapted for Modula 2 [12] Further study on reducing work for local variables can be found in [6] and [31] Several works [33, 42, 38, 8, 8] use a single bit for each reference counter with a mechanism to handle over ows. The idea being that most objects are singly referenced, except for the duration of short transitions. DeTreville [12] describes a concurrent multiprocessor reference counting collector for Modula 2 . This algorithm ....

T. Chikayama and Y. Kimura. Multiple reference management in Flat GHC. ICLP, pages 276-293, 1987.


I/O Mode Analysis in Concurrent Logic Programming - Ueda (1995)   (Correct)

....communication becomes unnecessary, it can be reclaimed (compile time garbage collection) or destructively updated to create a new datum. Update in place is extremely important for the efficient support of arrays. Previous implementations of KL1 featured a one bit reference counting scheme [2]. The reference counting worked quite efficiently on Parallel Inference Machines, but a static scheme is clearly more desirable on stock microprocessors. Analysis of the mode and the number of receivers enables a sophisticated implementation technique that we call message oriented implementation ....

Chikayama, T. and Kimura, Y., Multiple Reference Management in Flat GHC. In Proc. 4th Int. Conf. on Logic Programming, MIT Press, Cambridge, MA, 1987, pp. 276--293.


Optimizing KLIC Generic Objects by Static Analysis - Kazunori Ueda And   (Correct)

....possibly shared and f 1 ( means that f( is never shared. The annotations are managed as follows: 1. Annotations in program clauses and initial goal clauses are given according to how the structures are implemented. For instance, suppose two processes p and q in a goal clause : p([1,2,3],X) q( 1,2,3] Y) share a single list [1,2,3] in an ac 3 ffl fi (BF ) p) shared, for a function symbol f occurring at p in B, LV ) For a linear variable with two occurrences at p 1 and p 2 , 8q 2 PTerm (m(p 1 q) in (p 1 q) shared ) p 2 q) shared) when p 1 is a head ....

....and f 1 ( means that f( is never shared. The annotations are managed as follows: 1. Annotations in program clauses and initial goal clauses are given according to how the structures are implemented. For instance, suppose two processes p and q in a goal clause : p( 1,2,3] X) q([1,2,3],Y) share a single list [1,2,3] in an ac 3 ffl fi (BF ) p) shared, for a function symbol f occurring at p in B, LV ) For a linear variable with two occurrences at p 1 and p 2 , 8q 2 PTerm (m(p 1 q) in (p 1 q) shared ) p 2 q) shared) when p 1 is a head path) 8q 2 PTerm ....

[Article contains additional citation context not shown here]

Chikayama, T. and Kimura, Y., Multiple Reference Management in Flat GHC. In Logic Programming: Proc. of the Fourth Int. Conf (ICLP'87), The MIT Press, 1987, pp. 276--293.


Linearity Analysis of Concurrent Logic Programs - Ueda (1999)   (2 citations)  (Correct)

....to handle them so that they may remain consistent with the above intuitive meaning. 1. The annotations of function symbols in program clauses and initial goal clauses are given according to how the structures they represent are implemented. For instance, consider the following goal clause: p([1,2,3,4,5],X) q( 1,2,3,4,5] Y) If the implementation chooses to create a single instance of the list [1,2,3,4,5] and let the two goals share them, the function symbols (there are 11 of them including [ must be given #. If two instances of the list are created and given to p and q, either annotation is ....

....that they may remain consistent with the above intuitive meaning. 1. The annotations of function symbols in program clauses and initial goal clauses are given according to how the structures they represent are implemented. For instance, consider the following goal clause: p( 1,2,3,4,5] X) q([1,2,3,4,5],Y) If the implementation chooses to create a single instance of the list [1,2,3,4,5] and let the two goals share them, the function symbols (there are 11 of them including [ must be given #. If two instances of the list are created and given to p and q, either annotation is compatible with ....

[Article contains additional citation context not shown here]

Chikayama, T. and Kimura, Y., Multiple Reference Management in Flat GHC. In Logic Programming: Proc. of the Fourth Int. Conf (ICLP'87), The MIT Press, 1987, pp. 276--293. Linearity Analysis of Concurrent Logic Programs 15


Message-Oriented Parallel Implementation of Moded Flat GHC - Ueda, Morita (1992)   (6 citations)  (Correct)

....kind of type inference. Other applications include the static identification of single reference positions, namely positions whose values are not read by more than one goal and hence can be discarded or destructively updated after use. This could replace the MRB (multiple reference bit) scheme [Chikayama and Kimura 1987], a runtime scheme adopted in current KL1 implementations for the same purpose. 3. Message Oriented Sequential Implementation In a process oriented sequential implementation of concurrent logic languages, goals ready for execution are put in a queue (or a stack or a deque, depending on the ....

T. Chikayama and Y. Kimura, Multiple Reference Management in Flat GHC. In Proc. 4th Int. Conf. on Logic Programming, MIT Press, 1987, pp. 276--293. -- 15 --


Moded Flat GHC for Data-Parallel Programming (Extended Abstract) - Ueda   (Correct)

.... on Flat GHC, already provided array features based on this principle [7] At the language level, KL1 provided array operations within the framework of logic programming, while at the implementation level, one bit reference counting was employed for the efficient update of single reference arrays [2]. They achieved the same time and space complexities as those of procedural languages. Moded Flat GHC aims to go further and establish language constructs in which we can analyze the number of references statically and efficiently. The purpose is not to detect all single reference cases, which is ....

Chikayama, T. and Kimura, Y., Multiple Reference Management in Flat GHC. In Proc. 4th Int. Conf. on Logic Programming, MIT Press, Cambridge, MA, 1987, pp. 276--293.


A Scalable Reference Counting Garbage Collector - Levanoni, Petrank (1999)   (3 citations)  (Correct)

....associated with pointer manipulation in order to maintain the reference count invariant and the inability to reclaim cyclic datastructures. The space overhead issue is ameliorated by the fact that a two bit heap reference count field is more than enough in the striking majority of cases (c.f. [11, 27, 32, 6, 18]) While the computational overhead is reduced by some 80 using Dutsch and Bobrow s Deferred Reference Counting [11] Only the inability to reclaim cyclic structures does not have a satisfactory solution intrinsic to reference counting [31, 21] and therefore reference counting systems are usually ....

....the delay introduced by recursive deletion. Deutsch and Bobrow [11] eliminated the need for a write barrier on local references (in stack and registers) This method was later adapted for Modula 2 [9] Further study on reducing work for local variables can be found in [4] and [26] Several works [27, 33, 28, 6, 6] use a single bit for each reference counter with a mechanism to handle overflows. The idea being that most objects are singly referenced, except for the duration of short transitions. DeTreville describes in [9] a concurrent multiprocessor reference counting collector for Modula 2 . This ....

T. Chikayama and Y. Kimura. Multiple reference management in Flat GHC. In 4th International Conference on Logic Programming, pages 276--293, 1987.


The Three-Register Garbage Recycler, or Nodes for Free - Wise (1998)   (Correct)

....space in situ like this Other references inside the reused node will be handled later as they, themselves, are subsequently initialized assigned [22, 26] 5 One bit reference counting. The smallest possible reference count is a single bit [25, 18] also called the multiple reference bit (MRB) [3, 12]. Of course, such a count distinguishes between only two values: unique and sticky, or 1 and . The original proposal for 1 bit reference counts [25] located the count at the referenced node. A much better strategy [18] is to place this bit as a tag on each reference to the node illustrated in ....

T. Chikayama & Y. Kimura. Multiple reference management in flat GHC. In J.--L. Lassez (ed.), Logic Programming, Proc. 4th Intl. Conf. 1. Cambridge, MA: M.I.T. Press (1987), 276--293.


Garbage Collecting The Internet - Abdullahi, Ringwood   (Correct)

....byte is negative. This only allows a count to accurately record up to 127 references. Clark s measurements of LISP programs [Clark, 1979] show that about 97 of list cells have a reference count of 1. This suggests an extreme form of saturation using a single bit count [Friedman and Wise, 1977; Chikayama and Kimura, 1987]. A clear bit is used to indicate a single reference to a cell. When a second reference to the cell is created the bit is set. Once set the bit cannot be cleared because, without tracing from the root, it cannot be determined if the cell has more than one reference. To reclaim cells that acquire ....

Chikayama T and Kimura Y (1987) Multiple Reference Management in Flat GHC, ICLP, MIT Press, 276-293.


A Garbage Collection Algorithm for Tricia - Barklund (1987)   (1 citation)  (Correct)

....a list whose head is an unbound variable. Both variable and list tagged pointers to the first word of the list object may appear. This can be avoided, at a price, by always moving unbound variables out of lists and other compound terms. There may be other reasons than garbage collection to do this [7]. The ideal garbage collection would progress in parallel with the computation, without interfering with it. This is sometimes referred to as real time garbage collection. It requires using several processors or simulation by time sharing on one processor [10, 18] The algorithm described below is ....

T. Chikayama, Y. Kimura, Multiple Reference Management in Flat GHC, 4th International Conference on Logic Programming, pp. 276--293, Melbourne, May 1987.


Enhancing the AKL compiler using global analysis - Brand (1994)   (Correct)

....single threaded and bound to a list then the list frame also has no other references. Note that it is perfectly possible for V to be s threaded and V1 to be m threaded. Threadedness information is used in a wide range of languages. The MRB bit scheme for flatGHC calculates threadedness at run time [8]. Janus is a language that basically forbids m threaded terms [9] Threadedness in analyzed in [10] The analyzer guarantees that if a program variable is found to be s threaded, that it cannot possibly be m threaded at runtime. The analyzer may erroneously categorize variables as m threaded. ....

: Chikayama T. and Kimura Y. Multiple Reference Management in Flat GHC. In International Conference on Logic Programming, pages 276-293. University of Melbourne, MIT Press, May 1987.


One-bit Counts between Unique and Sticky - Roth, Wise (1998)   (4 citations)  (Correct)

....space in situ like this Other references inside the reused node will be handled later as they, themselves, are subsequently initialized assigned [24, 28] 5 One bit reference counting. The smallest possible reference count is a single bit [27, 20] also called the multiple reference bit (MRB) [4, 13]. Of course, twoRef registers twoRef registers twoRef registers S U U U S S Figure 1: One bit tag for reference counting: UNIQUE, STICKY, and cached count of two. such a count distinguishes between only two values: UNIQUE and STICKY, or 1 and . The original proposal for 1 bit reference ....

....count and the stack protocol of the previous section. The second entry is from a simple Cheney twosemispace collector. For the measures in this table, a Pointer is half of a CONS box. With capacity for recovering only one node at a time, we nearly reproduce the 30 40 recovery of others [20, 4, 13]. Certainly there are more nodes to be recovered via the limited queue of Section 2. The collector has the additional burden of restoring accurate one bit counts. Still, in the AVL tests, the real time recovery more than compensated for the time in the slower collection. Even this payoff is not ....

T. Chikayama & Y. Kimura. Multiple reference management in flat GHC. In J.--L. Lassez (ed.), Logic Programming, Proc. 4th Intl. Conf. 1. Cambridge, MA: M.I.T. Press (1987), 276--293.


Stop-and-copy and One-bit Reference Counting - David Wise (1993)   (4 citations)  (Correct)

....in the figures. The first proposal for one bit reference counting [31] only addresses the need to save space for the counter; it uses the mark bit, already in every node, as a reference count between garbage collections. The second formulation [24] is far superior. It has since been rediscovered [9] and developed [18, 23, 19] in logic programming, where it is called a multiple reference bit or MRB. Stoye, Clarke, and Norman [24] designated one bit within every pointer (rather than one at every node) thus, a binary node has two such bits. Similar to run time tags that identify type, it ....

T. Chikayama & Y. Kimura. Multiple reference management in flat GHC. In J.--L. Lassez (ed.), Logic Programming, Proc. 4th Intl. Conf. 1. Cambridge, MA, M.I.T. Press (1987), 276--293.


Prolog with Arrays and Bounded Quantifications - Barklund, Bevemyr (1993)   (7 citations)  (Correct)

....to obtain an array that differs somewhat from a given array, possibly in a single element. Constant time mechanisms with a reasonable overhead for that operation have been investigated, e.g. by Eriksson Rayner [12] note also the work on multiple reference management by Chikayama and Kimura [10]. The cost for supporting such declarative updates is not motivated for arbitrary data structures. ffl Arrays may be multidimensional, which is awkward to accomplish when arrays are represented by ordinary terms; at the very least one should extend arg or provide another predicate for convenient ....

Chikayama, T. and Kimura, Y., Multiple Reference Management in Flat GHC, in: J.-L. Lassez (ed.), Logic Programming---Proc. Fourth Intl. Conf., MIT Press, Cambridge, Mass., 1987.


A Pipelined Microprocessor for Logic Programming Languages - Hiroshi Nakashima   (Correct)

....fetches the operand in the case of the dereference from memory. In both cases, the S stage examines the tag of fetched data, and repeatedly reads memory until a non reference data is obtained. In the KL1 execution, the state of the reference path is examined using MRB (Multiple Reference Bit)[7], during the dereference. MRB is a part of the tag, and indicates that there are (or may be) other pointers to same data object, as shown in Figure 4. Thus, if the MRBs of all the pointers on a reference path are off, the pointers and the terminal data can be reclaimed as garbage, when the ....

T. Chikayama, et al., Multiple Reference Management in Flat GHC. Proc. 4th Intl. Conf. on Logic Programming, 1987.


Data-parallel Implementation of Prolog - Bevemyr (1996)   (Correct)

.... done in IC Prolog by Clark and McCabe [51] and in Relational Language by Clark and Gregory [52] These ideas were adopted by others and resulted in the concurrent logic languages: Concurrent Prolog [173] FCP [175] Parlog [53, 60] Strand [77] Guarded Horn Clauses (GHC) 201, 202] and Flat GHC [50, 205]. These languages are also referred to as de evolutioned by Tick [194] since they have been significantly restricted to allow efficient implementation. Most of the AND parallel systems described above are implemented as extensions of WAM. Hermenegildo, Cabeza and Carro [97] recently proposed an ....

....order to obtain an array that differs somewhat from a given array, possibly in a single element. Constant time mechanisms with a reasonable overhead for that operation have been investigated, e.g. by Eriksson Rayner [74] note also the work on multiple reference management by Chikayama Kimura [50]. The cost for supporting such declarative updates is not motivated for arbitrary data structures. ffl Arrays may be multidimensional, which is awkward to accomplish when arrays are represented by ordinary terms; at the very least one should extend arg or provide another predicate for convenient ....

T. Chikayama, Y. Kimura, Multiple Reference Management in Flat GHC, Logic Programming---Proc. Fourth Intl. Conf., MIT Press, 1987. --16, 104


Ports for Objects in Concurrent Logic Programs - Janson, Montelius, Haridi (1993)   (10 citations)  (Correct)

....stored in some other data structure, the new end of stream variable has to be stored in the data structure after one round of sending is completed. Usually this means copying parts of the data structure (but if some form of single reference optimisation is employed by the language implementation [2, 10, 4], this would not necessarily be the case) Even worse, to enable sharing of this data structure with another process object, where the possibility of the other object sending messages on the embedded streams cannot be excluded, two copies of the data structure have to be created (allocating new ....

....objects, and treat them appropriately. Reference counting is more incremental, and is therefore seemingly nicer for our purposes, but the technique is inefficient, it does not rhyme well with parallelism, and it does not reclaim cyclic structures. MRB and compile time GC are also of limited value [2, 4], as we often want ports to be multiply referenced. 4 Concurrent Objects Returning to our main objective, object oriented programming, we develop some programming techniques for ports, and discuss implementation techniques for objects based on ports. Given ports, it is natural to retain the by ....

[Article contains additional citation context not shown here]

T. Chikayama and Y. Kimura. Multiple reference management in flat GHC. In Proceedings of the Fourth International Conference on Logic Programming, volume 2, pages 276--293. MIT Press, 1987.


Architecture and Implementation of PIM/m - Nakashima, Nakajima, Kondo.. (1992)   (2 citations)  (Correct)

....al. 1988, Uchida et al. 1988] which contains 64 PEs connected by two dimensional mesh network. Each PE consists of PSI II s CPU kernel [Nakashima and Nakajima 1987] a network controller, and an 80 MB local memory. KL1 programs are compiled to WAM like machine instructions for KL1 [Kimura and Chikayama 1987] executed by a microprogrammed emulator. The large machine scale and high performance, owing to the improvement of the processor architecture and implementation technology, make Multi PSI v2 the first practical parallel inference machine. Its operating system, PIMOS [Chikayama et al. 1988] also ....

....Both buffers also have the capability to compose decompose a 40 bit word from into packet bytes. 2. 3 Processing Unit (PU) Figure 5 shows the configuration of the processing unit, PU [Nakashima et al. 1990, Machida et al. 1991] PU executes WAM like instructions for KL1, named KL1 B [Kimura and Chikayama 1987, Warren 1983] with the following registers. A n X n : Argument and temporary registers. PC : Program counter. AP : Alternate clause pointer. CGP : Current goal record pointer. GSP : Goal stack pointer. SST : Suspension stack top. HP : Heap ....

[Article contains additional citation context not shown here]

T. Chikayama and Y. Kimura. Multiple Reference Management in Flat GHC. In


Working Within the FGCS National Project - Tick (1992)   (Correct)

....and lack of backtracking. ICOT has developed an integrated solution for garbage collection at three levels within the PIMs. Locally, incremental collection is performed with approximative reference counting. Specifically, Chikayama s Multiple Reference Bit (MRB) is incorporated in each data word [14]. Distributed data is reclaimed across clusters via their export tables. Finally, if local memory expires, a parallel stop copy garbage collector is invoked in the cluster [41] The effort in designing and evaluating alternative garbage collection methods is one of the most extensive of all ICOT ....

T. Chikayama and Y. Kimura. Multiple Reference Management in Flat GHC. In International Conference on Logic Programming, pages 276--293. University of Melbourne, MIT Press, May 1987.


Parallel Basic Software - Takashi Chikayama Institute (1994)   (1 citation)  Self-citation (Chikayama)   (Correct)

....than doubled in two years of the project period, smoothing out rough edges, making evaluation of the implementation scheme more reliable. 2. 1 Memory Management All the KL1 implementations on PIMs adopted a reference count memory management scheme with a single reference count bit in pointers [4]. Through analyses of the implementation, the following were found. ffl Management of MRB was made quite efficient with slight architectural implementation supports. ffl It was effective in allowing destructive updates of singly referenced data structures without disturbing the pure semantics of ....

Takashi Chikayama and Yasunori Kimura. Multiple reference management in flat GHC. In Proceedings of 4th International Conference on Logic Programming, 1987.


Integrating Generations with Advanced Reference - Counting Garbage Collectors   (Correct)

No context found.

T. Chikayama and Y. Kimura. Multiple reference management in Flat GHC. ICLP, pages 276-293, 1987.


Integrating Generations with Advanced Reference Counting.. - Azatchi, Petrank (2003)   (3 citations)  (Correct)

No context found.

T. Chikayama and Y. Kimura. Multiple reference management in Flat GHC. ICLP, pages 276-293, 1987.


Minimizing Reference Count Updating with Deferred and Anchored.. - Baker (1994)   (2 citations)  (Correct)

No context found.

Chikayama, T., and Kimuar, Y. "Multiple Reference Management in Flat GHC". Logic Programming, Proc. 4th Intl. Conf., MIT Press, 1987, 276-293.

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