Results 1 - 10
of
10
Orca: A language for parallel programming of distributed systems
- IEEE Transactions on Software Engineering
, 1992
"... Orca is a language for implementing parallel applications on loosely coupled distributed systems. Unlike most languages for distributed programming, it allows processes on different machines to share data. Such data are encapsulated in data-objects, which are instances of user-defined abstract data ..."
Abstract
-
Cited by 307 (43 self)
- Add to MetaCart
Orca is a language for implementing parallel applications on loosely coupled distributed systems. Unlike most languages for distributed programming, it allows processes on different machines to share data. Such data are encapsulated in data-objects, which are instances of user-defined abstract data types. The implementation of Orca takes care of the physical distribution of objects among the local memories of the processors. In particular, an implementation may replicate and/or migrate objects in order to decrease access times to objects and increase parallelism. This paper gives a detailed description of the Orca language design and motivates the design choices. Orca is intended for applications programmers rather than systems programmers. This is reflected in its design goals to provide a simple, easy to use language that is type-secure and provides clean semantics. The paper discusses three example parallel applications in Orca, one of which is described in detail. It also describes one of the existing implementations, which is based on reliable broadcasting. Performance measurements of this system are given for three parallel applications. The measurements show that significant speedups can be obtained for all three applications. Finally, the paper compares Orca with several related languages and systems. 1.
Object Distribution in Orca using Compile-Time and Run-Time Techniques
, 1993
"... Orca is a language for parallel programming on distributed systems. Communication in Orca is based on shared data-objects, which is a form of distributed shared memory. The performance of Orca programs depends strongly on how shared dataobjects are distributed among the local physical memories of th ..."
Abstract
-
Cited by 77 (20 self)
- Add to MetaCart
Orca is a language for parallel programming on distributed systems. Communication in Orca is based on shared data-objects, which is a form of distributed shared memory. The performance of Orca programs depends strongly on how shared dataobjects are distributed among the local physical memories of the processors. This paper studies a new and efficient solution to this problem, based on an integration of compile-time and run-time techniques. The Orca compiler has been extended to determine the access patterns of processes to shared objects. The compiler passes a summary of this information to the run-time system, which uses it to make good decisions about which objects to replicate and where to store nonreplicated objects. Measurements show that the new system gives better overall performance than any previous implementation of Orca. 3333333333333333 1 This research was supported in part by a PIONIER grant from the Netherlands Organization for Scientific Research (N.W.O.). 2 This re...
Orca: A Language For Distributed Programming
- ACM SIGPLAN NOTICES
, 1990
"... We present a simple model of shared data-objects, which extends the abstract data type model to support distributed programming. Our model essentially provides shared address space semantics, rather than message passing semantics, without requiring physical shared memory to be present in the tar ..."
Abstract
-
Cited by 34 (0 self)
- Add to MetaCart
We present a simple model of shared data-objects, which extends the abstract data type model to support distributed programming. Our model essentially provides shared address space semantics, rather than message passing semantics, without requiring physical shared memory to be present in the target system. We also propose a new programming language, Orca, based on shared dataobjects. A compiler and three different run time systems for Orca exist, which have been in use for over a year now.
A comparison of two paradigms for distributed shared memory
- SOFTWARE– PRACTICE AND EXPERIENCE
, 1992
"... ..."
Programming a Distributed System Using Shared Objects
- In Proceedings of the Second International Symposium on High Performance Distributed Computing
, 1993
"... Building the hardware for a high-performance distributed computer system is a lot easier than building its software. In this paper we describe a model for programming distributed systems based on abstract data types that can be replicated on all machines that need them. Read operations are done loca ..."
Abstract
-
Cited by 9 (0 self)
- Add to MetaCart
Building the hardware for a high-performance distributed computer system is a lot easier than building its software. In this paper we describe a model for programming distributed systems based on abstract data types that can be replicated on all machines that need them. Read operations are done locally, without requiring network traffic. Writes can be done using a reliable broadcast algorithm if the hardware supports broadcasting; otherwise, a point-to-point protocol is used. We have built such a system based on the Amoeba microkernel, and implemented a language, Orca, on top of it. For Orca applications that have a high ratio of reads to writes, we have measured good speedups on a system with 16 processors. 1. Introduction As CPU prices continue to drop, more and more systems will be constructed from multiple CPUs. The techniques for building the hardware for such systems are beginning to be understood, but the software is in a more primitive state. In this paper we will describe our...
Report on the Programming Language Orca
, 1994
"... This report is a concise definition of Orca. It is not a tutorial on distributed programming in Orca. The language and its implementations are also covered in the book Programming Distributed Systems and several other publications (see the References section). The document is based on the Report on ..."
Abstract
-
Cited by 3 (0 self)
- Add to MetaCart
This report is a concise definition of Orca. It is not a tutorial on distributed programming in Orca. The language and its implementations are also covered in the book Programming Distributed Systems and several other publications (see the References section). The document is based on the Report on the programming language Modula-2, which is part of the book Programming in Modula-2 --- Third, corrected edition by N. Wirth (Springer-Verlag, Berlin, 1985). It has roughly the same structure as the Modula-2 report and uses a similar notation for the grammar rules. Square brackets [] denote optional entities; curly brackets fg denote zero or more occurrences of an entity. Terminal symbols are enclosed in single quotes. 2 Lexical rules
Analysis of Multicast-based Object Replication Strategies in Distributed Systems
- In Proceedings of the 13th International Conference on Distributed Computing Systems
, 1993
"... The paper presents an analysis of three object replication strategies based on reliable multicast protocols. A multi-class queueing model is used/or obtaining performance characteristics of each strategy. The strategics are compared /or a wide set of parameters showing the best strategy suitable for ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
The paper presents an analysis of three object replication strategies based on reliable multicast protocols. A multi-class queueing model is used/or obtaining performance characteristics of each strategy. The strategics are compared /or a wide set of parameters showing the best strategy suitable for a given situation: the parallel update strategy has good performance for medium and high load; the invalidation strategy is interesting for low load conditions and for the low read/write ra- tio.
Replication within Distributed Digital Document Libraries
"... Cooperative and interoperability aspects of distributed digital document libraries are discussed. The commitment of ERCIM institutions to the Dienst protocol raised the necessity of the development of general detailed architecture of Dienst. A new Dienst architecture augmented by replication service ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
Cooperative and interoperability aspects of distributed digital document libraries are discussed. The commitment of ERCIM institutions to the Dienst protocol raised the necessity of the development of general detailed architecture of Dienst. A new Dienst architecture augmented by replication service is suggested. Replication is described in details. An abstract Reference Model of distributed digital document libraries can be concluded as well. 1. Introduction Nowadays digital document libraries are under intensive research and development [Infmed,Stan,Umich]. There are numerous examples of such R&D projects [DigLib]. In these projects the search, retrieval and homogeneous user interface problems are mostly discussed. Little attention was devoted to cooperative and interoperability aspects of distributed digital document libraries. Digital libraries store documents in different ways, and provide various indexing and searching capabilities. At this moment no uniform and/or standardize...
From Centralized to Distributed CORBA: Experiences and Performances
"... this document, we will state, at section 2, our choices to verify our hypothesis. In section 3 we will relate our experience modifying our existing centralized application to a distributed ..."
Abstract
- Add to MetaCart
this document, we will state, at section 2, our choices to verify our hypothesis. In section 3 we will relate our experience modifying our existing centralized application to a distributed
Design and Evaluation of Mechanisms for a Multicomputer Object Store
, 1994
"... ... The distributed object server follows the client-server model, allows object replication, and uses binary semaphores as a concurrency control measure. Instrumentation of the server under these applications supports several conclusions: client space recovery should be dynamically controlled by th ..."
Abstract
- Add to MetaCart
... The distributed object server follows the client-server model, allows object replication, and uses binary semaphores as a concurrency control measure. Instrumentation of the server under these applications supports several conclusions: client space recovery should be dynamically controlled by the application, predictively prefetching object replicas yields benefits in restricted circumstances, object migration by storage unit (segment) is not generally suitable where there are many objects per storage unit, and binary semaphores are an expensive concurrency control measure in this environment.

