Results 1 - 10
of
17
Fine-grained Mobility in the Emerald System
- ACM Transactions on Computer Systems
, 1988
"... Emerald is an object-based language and system designed for the construction of distributed programs. An explicit goal of Emerald is support for object mobility; objects in Emerald can freely move within the system to take advantage of distribution and dynamically changing environments. We say that ..."
Abstract
-
Cited by 493 (23 self)
- Add to MetaCart
Emerald is an object-based language and system designed for the construction of distributed programs. An explicit goal of Emerald is support for object mobility; objects in Emerald can freely move within the system to take advantage of distribution and dynamically changing environments. We say that Emerald has fine-grained mobility because Emerald objects can be small data objects as well as process objects. Fine-grained mobility allows us to apply mobility in new ways but presents imple-mentation problems as well. This paper discusses the benefits of tine-grained mobility, the Emerald language and run-time mechanisms that support mobility, and techniques for implementing mobility that do not degrade the performance of local operations. Performance measurements of the current implementation are included.
A Survey of Distributed Garbage Collection Techniques
, 1995
"... This paper is organised as follows. Section 2 first introduces our object model. Section 3 describes the reference count-based approach. In particular, we compare those techniques according to their resilience to message failures. Such counting-based techniques are unable to collect cycles of garbag ..."
Abstract
-
Cited by 69 (5 self)
- Add to MetaCart
This paper is organised as follows. Section 2 first introduces our object model. Section 3 describes the reference count-based approach. In particular, we compare those techniques according to their resilience to message failures. Such counting-based techniques are unable to collect cycles of garbage and must assume that they are rare enough to minimize memory leakage. A number of hybrid proposals as explained in 5 which combine counting-based techniques with a global (tracing-based) technique. Section (explained in Section 6) surveys some enhanced techniques well suited to distributed settings. Section (explained in Section 7) sums up our conclusions and proposes taxonomy of the reviewed techniques. 2 Model
The Design And Implementation of Distributed Smalltalk
, 1987
"... Distributed Smalltalk (DS) is an implementation of Smalltalk that allows objects on different machines to send and respond to messages. It also provides some capability for sharing objects among users. The distributed aspects of the system are largely user transparent and preserve the reactive quali ..."
Abstract
-
Cited by 51 (3 self)
- Add to MetaCart
Distributed Smalltalk (DS) is an implementation of Smalltalk that allows objects on different machines to send and respond to messages. It also provides some capability for sharing objects among users. The distributed aspects of the system are largely user transparent and preserve the reactive quality of Smalltalk objects. Distributed Smalltalk is currently operational on a network of Sun workstations. The implementation includes an incremental distributed garbage collector and support for remote debugging, access control, and object mobility. This paper concentrates on the important design issues encountered and some of the more interesting implementation details. Performance measurements of the current implementation are included. 1 Introduction Smalltalk [Ingalls 78, Goldberg and Robson 83] is a language and highly interactive programming environment originally developed for the Xerox family of personal workstations and now implemented on a variety of different hosts. The Smalltalk...
A garbage detection protocol for a realistic distributed object-support system
, 1990
"... We present a new protocol for the distributed detection of garbage, suitable for a low-level distributed object-support system. It is based on realistic assumptions: messages may be lost or duplicated; sites may crash; an object may migrate or be deleted. The protocol uses only information local to ..."
Abstract
-
Cited by 44 (12 self)
- Add to MetaCart
We present a new protocol for the distributed detection of garbage, suitable for a low-level distributed object-support system. It is based on realistic assumptions: messages may be lost or duplicated; sites may crash; an object may migrate or be deleted. The protocol uses only information local to each site, or exchanged between pairs of sites; no global mechanism is necessary. It is parallel and should scale to extremely large systems. It takes into account the object-finding protocol. Its interface is designed for maximum independence from other components.
Fault-tolerant distributed garbage collection in a client-server object-oriented database
- In Third PDIS Conference
, 1994
"... quirement faced by the design is that it minimize the delay added to fetch and commit operations invoked by clients. We have devised techniques that eliminate major overheads when a client fetches a block of objects from a server: no extra messages need be sent, the server need not record the refere ..."
Abstract
-
Cited by 38 (11 self)
- Add to MetaCart
quirement faced by the design is that it minimize the delay added to fetch and commit operations invoked by clients. We have devised techniques that eliminate major overheads when a client fetches a block of objects from a server: no extra messages need be sent, the server need not record the references contained in the objects in the block, and no stable-storage write is required. However, when a client commits a transaction, extra messages and stable-storage writes may be required for garbage collection purposes. We propose a scheme that masks the delay by performing garbage collection work in parallel with normal commit-time work. The rest of the distributed garbage collection protocol is devised so that it works in the background; the protocol uses only unreliable messages and tolerates node crashes and network partitions. Since our design is based on keeping a record of remote references, it does not collect distributed cyclic garbage. The thesis includes a discussion of various
Error-Free Garbage Collection Traces: How to Cheat and Not Get Caught
- IN PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON MEASUREMENT AND MODELING OF COMPUTER SYSTEMS (SIGMETRICS 2002
, 2002
"... Programmers are writing a large and rapidly growing number of programs in object-oriented languages such as Java that require garbage collection (GC). To explore the design and evaluation of GC algorithms quickly, researchers are using simulation based on traces of object allocation and lifetime beh ..."
Abstract
-
Cited by 21 (5 self)
- Add to MetaCart
Programmers are writing a large and rapidly growing number of programs in object-oriented languages such as Java that require garbage collection (GC). To explore the design and evaluation of GC algorithms quickly, researchers are using simulation based on traces of object allocation and lifetime behavior. The brute force method generates perfect traces using a whole-heap GC at every potential GC point in the program. Because this process is prohibitively expensive, researchers often use granulated traces by collecting only periodically, e.g., every 32K bytes of allocation.
A Fault-Tolerant, Scalable, Low-Overhead Distributed Garbage Detection Protocol
- IN TENTH SYMP. ON RELIABLE DISTRIBUTED SYTEMS
, 1991
"... We present a protocol for the distributed detection of garbage in a distributed system subject to common failures such as lost and duplicated messages, network partition, dismounted disks, and process, site and disk crashes. The protocol uses only information local to each site, or exchanged between ..."
Abstract
-
Cited by 10 (3 self)
- Add to MetaCart
We present a protocol for the distributed detection of garbage in a distributed system subject to common failures such as lost and duplicated messages, network partition, dismounted disks, and process, site and disk crashes. The protocol uses only information local to each site, or exchanged between pairs of sites; no global mechanism is necessary. Overhead is low. The protocol is parallel and should scale to extremely large systems.
Generating object lifetime traces with Merlin
- ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS (TOPLAS
, 2006
"... Programmers are writing a rapidly growing number of programs in object-oriented languages, such as Java and C#, that require garbage collection. Garbage collection traces and simulation speed up research by enabling deeper understandings of object lifetime behavior and quick exploration and design o ..."
Abstract
-
Cited by 6 (2 self)
- Add to MetaCart
Programmers are writing a rapidly growing number of programs in object-oriented languages, such as Java and C#, that require garbage collection. Garbage collection traces and simulation speed up research by enabling deeper understandings of object lifetime behavior and quick exploration and design of new garbage collection algorithms. When generating perfect traces, the brute-force method of computing object lifetimes requires a whole-heap garbage collection at every potential collection point in the program. Because this process is prohibitively expensive, researchers often use granulated traces by collecting only periodically, for example, every 32 KB of allocation. We extend the state of the art for simulating garbage collection algorithms in two ways. First, we develop a systematic methodology for simulation studies of copying garbage collection and present results showing the effects of trace granularity on these simulations. We show that trace granularity often distorts simulated garbage collection results compared with perfect traces. Second, we present and measure the performance of a new algorithm called Merlin for computing object lifetimes.
Hierarchical Garbage Collection in Scalable Distributed Systems
, 1992
"... ing Local Garbage Collection : : : : : : : : : : : : : : : : : : : : 128 8.3 Discussion : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 128 vii Part 3: A Formal Model : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 130 9 A Theoretical Framew ..."
Abstract
-
Cited by 5 (4 self)
- Add to MetaCart
ing Local Garbage Collection : : : : : : : : : : : : : : : : : : : : 128 8.3 Discussion : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 128 vii Part 3: A Formal Model : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 130 9 A Theoretical Framework for Memory Management : : : : : : : : : : : : : : : : : : : 131 9.1 Model of a Multicomputer System : : : : : : : : : : : : : : : : : : : : : : : : : : 132 9.1.1 The Computation Model : : : : : : : : : : : : : : : : : : : : : : : : : : : 132 9.1.2 The Memory Model : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 132 9.1.3 The Communication Model : : : : : : : : : : : : : : : : : : : : : : : : : : 132 9.1.4 Timing Considerations : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 133 9.1.5 System Considerations : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 133 9.2 Terminology and Notation : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 134 9.3 F...
Contrasting Fragmented Objects with Uniform Transparent Object References for Distributed Programming
- In SIGOPS 1992 European Workshop on Models and Paradigms for Distributed Systems Structuring
, 1992
"... The fragmented object model is compared with the more usual paradigm of uniform transparent references to objects in a distributed system. Having considered both models in terms of a variety of issues, the impact on system builders and application programmers is briefly noted. Although the fragmente ..."
Abstract
-
Cited by 5 (1 self)
- Add to MetaCart
The fragmented object model is compared with the more usual paradigm of uniform transparent references to objects in a distributed system. Having considered both models in terms of a variety of issues, the impact on system builders and application programmers is briefly noted. Although the fragmented object model is somewhat more powerful, in particular in its support for replicated objects, it is also more costly. The possibility of combining the two models to form a new hybrid is considered. 1 Introduction This section contains extremely brief overviews of two paradigms for designating, accessing and constructing shared objects in a distributed system. The first is that of the uniform transparent object reference (UTOR), which is widely used in current distributed systems, whilst the second is that of the fragmented object (FO). The presentation of fragmented objects draws heavily on recent work [8], in which the model is refined, providing rather more detail than has previously be...

