Results 1 -
8 of
8
SSP chains: Robust, distributed references supporting Acyclic Garbage Collection
, 1992
"... SSP chains are a novel technique for referencing objects in a distributed system. To client software, any object reference appears to be a local pointer; when the target is remote, an SSP chain adds an indeterminate number of levels of indirection. Copying a reference across the distributed system e ..."
Abstract
-
Cited by 79 (18 self)
- Add to MetaCart
SSP chains are a novel technique for referencing objects in a distributed system. To client software, any object reference appears to be a local pointer; when the target is remote, an SSP chain adds an indeterminate number of levels of indirection. Copying a reference across the distributed system extends an SSP chain at one end; migrating the target object extends it at the other end. Invocation through an SSP chain is efficient: each stage of an SSP chain contains location information and long chains are short-cut at invocation time. These actions require (almost) no extra messages in addition to those of the client application. The rules for creating, using, modifying and deleting SSP chains are stated precisely and maintain well-defined invariants. The invariants hold even in the presence of message failures (loss, duplication, late delivery); after a crash, the existence invariants must be re-established. SSP chains support distributed garbage collection (GC); we present a robust ...
Smart Pointers: They're Smart, but They're Not Pointers
- IN C++ CONFERENCE
, 1992
"... There are numerous times when a C ++ user could benefit from a pointer variant that has more functionality than is provided by the basic, language-defined pointer. For example, type-accurate garbage collection, reference counting, or transparent references to distributed or persistent objects, mig ..."
Abstract
-
Cited by 25 (0 self)
- Add to MetaCart
There are numerous times when a C ++ user could benefit from a pointer variant that has more functionality than is provided by the basic, language-defined pointer. For example, type-accurate garbage collection, reference counting, or transparent references to distributed or persistent objects, might be implemented with classes that provide pointer functionality. The C ++ language directly supports one kind of pointer substitute, the smart pointer, in the form of overloadable indirection operators: -? and . In this paper we evaluate how seamlessly smart pointers can replace raw pointers. The ideal is for client code not to care whether it is using raw pointers or smart pointers. For example, if a typedef selects whether raw or smart pointers are used throughout the program, changing the value of the typedef should not introduce syntax errors. Unfortunately, C ++ does not support pointer substitutes well enough to permit seamless integration. This paper presents the desired behavi...
A Refinement of the Fragmented Object Model
- In Third International Workshop non Object-Orientation in Operating Systems
, 1992
"... Fragmented Objects offer an interesting alternative to the use of uniform transparent object references in distributed systems. This novel paradigm for distributed programming provides facilities for the encapsulation of policy issues, as well as implementation details such as communication mechanis ..."
Abstract
-
Cited by 5 (0 self)
- Add to MetaCart
Fragmented Objects offer an interesting alternative to the use of uniform transparent object references in distributed systems. This novel paradigm for distributed programming provides facilities for the encapsulation of policy issues, as well as implementation details such as communication mechanisms and consistency requirements. At the same time a clean and comprehensible model is offered to both FO designers and client programmers. A number of omissions in earlier papers on this topic are rectified here, and certain mechanisms are generalised to increase both the power and the expressiveness of the model. In particular, FO interfaces are extended to include upcalls and a new internal model, based on the fragment factory, is introduced. 1 Introduction Fragmented Objects were first introduced as a result of work on the SOS system [14] and elaborated in [8]; for an accessible overview of the concept see [7]. We present here a refinement of the idea, which originated in Shapiro's Proxy...
Quilici R.: Programming, Composing, Deploying for the Grid
- in "GRID COMPUTING: Software Environments and
, 2006
"... Abstract. Grids raise new challenges in the following way: heterogeneity of underlying machines/networks and runtime environments (types and performance characteristics), not a single administrative domain, versatility. So the need to have appropriate programming and runtime solutions in order to wr ..."
Abstract
-
Cited by 3 (0 self)
- Add to MetaCart
Abstract. Grids raise new challenges in the following way: heterogeneity of underlying machines/networks and runtime environments (types and performance characteristics), not a single administrative domain, versatility. So the need to have appropriate programming and runtime solutions in order to write, deploy then execute applications on such heterogeneous distributed hardware in an effective and efficient manner. We propose in this article a solution to those challenges which takes the form of a programming and deployment framework featuring parallel, mobile, secure and distributed objects and components.
A Generic Fragmented Object Structured Framework for Distributed Storage Support
- In Proc. Third Int’l Workshop on Object Orientation in Operating Systems
, 1992
"... We propose a generic framework for storage support in a distributed environment. This comprises a set of storage abstractions and storage policies: data clusters, cluster containers, and container domains, supporting sharing, caching, and replication. These abstractions and these policies are struct ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
We propose a generic framework for storage support in a distributed environment. This comprises a set of storage abstractions and storage policies: data clusters, cluster containers, and container domains, supporting sharing, caching, and replication. These abstractions and these policies are structured as fragmented objects (FOs), such that each storage system designer can offer the appropriate tradeoffs to its targeted applications. The core set of abstractions is discussed, their interfaces are presented, and the FOstructuring of the cluster abstraction is detailed. 1 Introduction Despite the availability of a large number of distributed storage systems, for a number of reasons there is still a need to design new ones. One reason is to explore new technologies, such as disks arrays [1]. Another is because of evolving application needs. Finally, this is to combine into a single system interesting features implemented by different storage systems. A brief survey of existing storage s...
Distribution and Persistence in Multiple and Heterogeneous Address Spaces
, 1993
"... We present a flexible design for clustering, storing, naming, and accessing objects in a large scale distributed system. The system is logically divided in zones, i.e., groups of machines with an homogeneous address space organization. Both uniform (64-bit) zonewide and partitioned (32 or 64-bit) ad ..."
Abstract
- Add to MetaCart
We present a flexible design for clustering, storing, naming, and accessing objects in a large scale distributed system. The system is logically divided in zones, i.e., groups of machines with an homogeneous address space organization. Both uniform (64-bit) zonewide and partitioned (32 or 64-bit) address space organizations are supported. For clustering purpose objects are allocated within segments. Segments are logically grouped into bunches. User-provided bunch managers implement the policies related to persistence and distribution: allocation, garbage collection, mapping and unmapping, function shipping or data shipping, consistency, migration, etc. Objects are referenced by maillons and SSP chains. These mechanisms are scalable and are well adapted to support distributed garbage collection, migration and compaction. 1 Introduction We present an architectural model that supports clustering, storing, naming, and accessing objects in a large scale distributed This work has been d...
Operating-System Support for Distributed Multimedia
- In USENIX High-Speed Networking Symposium Procceedings
, 1994
"... Multimedia applications place new demands upon processors, networks and operating systems. While some network designers, through ATM for example, have considered revolutionary approaches to supporting multimedia, the same cannot be said for operating systems designers. Most work is evolutionary in n ..."
Abstract
- Add to MetaCart
Multimedia applications place new demands upon processors, networks and operating systems. While some network designers, through ATM for example, have considered revolutionary approaches to supporting multimedia, the same cannot be said for operating systems designers. Most work is evolutionary in nature, attempting to identify additional features that can be added to existing systems to support multimedia. Here we describe the Pegasus project's attempt to build an integrated hardware and operating system environment from the ground up specifically targeted towards multimedia. 1 Introduction Since the invention of electronic computers in the forties, every decade has been characterized by new ways in which they were used. In the fifties, people used sign-up sheets to reserve the computer for an hour's work; in the sixties batch processing was introduced; time sharing became pervasive in the seventies; the PC and networking came in the eighties; and now, in the nineties, we see the in...
A Methodology For Statically Clustering Active Objects In Distributed Systems
, 1994
"... The complexity inherent in large scale distributed systems accounts for the difficulty in engineering applications on such platforms. The difficulty primarily arises from having to partition an application to exploit concurrency and minimize the overhead due to communication across the network. The ..."
Abstract
- Add to MetaCart
The complexity inherent in large scale distributed systems accounts for the difficulty in engineering applications on such platforms. The difficulty primarily arises from having to partition an application to exploit concurrency and minimize the overhead due to communication across the network. The challenge in building a powerful development environment which simplifies the task of application development therefore lies in the degree to which application partitioning and distribution can be automated or made transparent. Transparency requires powerful static semantic analysis that can massage any given application into a state which an appropriate run time model can then execute efficiently on a distributed architecture. The object model with it's software engineering advantages presents an attractive alternative to the task/process based computational model for distributed systems. A fine grained active object model presents a powerful computational paradigm to engineer a wide variet...

