Results 1 - 10
of
19
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.
Experience with distributed programming in Orca
- in Proc. IEEE CS International Conference on Computer Languages
, 1990
"... Orca is a language for programming parallel applications on distributed computing systems. Although processors in such systems communicate only through message passing and not through shared memory, data types and create instances (objects) of these types, which may be shared among processes. All op ..."
Abstract
-
Cited by 39 (9 self)
- Add to MetaCart
Orca is a language for programming parallel applications on distributed computing systems. Although processors in such systems communicate only through message passing and not through shared memory, data types and create instances (objects) of these types, which may be shared among processes. All operations on shared objects are executed atomically. Orca’s shared objects are implemented by replicating them in the local memories of the proces-sors. Read operations use the local copies of the object, without doing any interprocess communication. Write operations update all copies using an efficient reliable broadcast protocol. In this paper, we briefly describe the language and its implementation and then report on our ex-periences in using Orca for three parallel applications: the Traveling Salesman Problem, the All-pairs Shortest Paths problem, and Successive Overrelaxation. These applications have different needs for shared data: TSP greatly benefits from the support for shared data; ASP benefits from the use of broad-cast communication, even though it is hidden in the implementation; SOR merely requires point-to-point communication, but still can be implemented in the language by simulating message passing.
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.
Replication Techniques For Speeding Up Parallel Applications On Distributed Systems
, 1992
"... This paper discusses the design choices involved in replicating objects and their effect on performance. Important issues are: how to maintain consistency among different copies of an object; how to implement changes to objects; and which strategy for object replication to use. We have implemented s ..."
Abstract
-
Cited by 30 (6 self)
- Add to MetaCart
This paper discusses the design choices involved in replicating objects and their effect on performance. Important issues are: how to maintain consistency among different copies of an object; how to implement changes to objects; and which strategy for object replication to use. We have implemented several options to determine which ones are most efficient.
A Distributed Implementation Of The Shared Data-Object Model
- IN USENIX WORKSHOP ON EXPERIENCES WITH BUILDING DISTRIBUTED AND MULTIPROCESSOR SYSTEMS
, 1989
"... The shared data-object model is designed to ease the implementation of parallel applications on loosely coupled distributed systems. Unlike most other models for distributed programming (e.g., RPC), the shared data-object model allows processes on different machines to share data. Such data are enca ..."
Abstract
-
Cited by 29 (8 self)
- Add to MetaCart
The shared data-object model is designed to ease the implementation of parallel applications on loosely coupled distributed systems. Unlike most other models for distributed programming (e.g., RPC), the shared data-object model 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 shared data-object model forms the basis of a new language for distributed programming, Orca, which gives linguistic support for parallelism and data-objects. A distributed implementation of the shared data-object model should take care of the physical distribution of objects among the local memories of the processors. In particular, an implementation may replicate objects in order to decrease access times to objects and increase parallelism. The intent of this paper is to show that, for several applications, the proposed model is both easy to use and efficient. We first give a brief description of the sh...
Accord: A Programming Framework for Autonomic Applications
- IEEE Transactions on Systems, Man and Cybernetics, Special Issue on Engineering Autonomic Systems, Editors: R. Sterritt and T. Bapty, IEEE Press
, 2006
"... Abstract—The emergence of pervasive wide-area distributed computing environments, such as pervasive information systems and computational Grids, has enabled new generations of applications that are based on seamless access, aggregation, and interaction. However, the inherent complexity, heterogeneit ..."
Abstract
-
Cited by 21 (5 self)
- Add to MetaCart
Abstract—The emergence of pervasive wide-area distributed computing environments, such as pervasive information systems and computational Grids, has enabled new generations of applications that are based on seamless access, aggregation, and interaction. However, the inherent complexity, heterogeneity, and dynamism of these systems require a change in how the applications are developed and managed. In this paper, we present a programming framework that extends existing programming models/frameworks to support the development of autonomic selfmanaging applications. The framework enables the development of autonomic elements and the formulation of autonomic applications as the dynamic composition of autonomic elements. The operation of the proposed framework is illustrated using a forest fire management application. Index Terms—Autonomic, dynamic composition, programming framework, self-management. I.
Enterprise: An Interactive Graphical Programming Environment For Distributed Software Development
, 1992
"... Workstation environments have been in use for more than a decade now. Although a network of workstations together represents a large amount of aggregate computing power, single users often cannot utilize these resources for their applications. Enterprise is a programming environment for designing, c ..."
Abstract
-
Cited by 5 (3 self)
- Add to MetaCart
Workstation environments have been in use for more than a decade now. Although a network of workstations together represents a large amount of aggregate computing power, single users often cannot utilize these resources for their applications. Enterprise is a programming environment for designing, coding, debugging, testing, monitoring, profiling and executing programs in a distributed hardware environment. Enterprise code looks like familiar sequential code; the parallelism is expressed graphically. The system automatically inserts the code necessary to handle communication, synchronization and fault tolerance, allowing the rapid construction of correct distributed programs. Enterprise programs run on a network of computers, absorbing the idle cycles on machines. The system supports load balancing, limited process migration, and dynamic distribution of work in environments with changing resource utilization. Enterprise offers a costeffective method for increasing the productivity of p...
A new look at mobile computing
- In Proceedings of Academic Network for Wireless Internet Research in Europe (ANWIRE) Workshop in
, 2004
"... kimmo.raatikainen @ cs.helsinki.fi,hiit.fi,nokia.com¡ Abstract — In the recent years we have seen enormous change in information technology. The Internet has, at least in developed countries, become a commodity; mobile phones are used almost by everyone. The technology created for professionals 10 ..."
Abstract
-
Cited by 3 (0 self)
- Add to MetaCart
kimmo.raatikainen @ cs.helsinki.fi,hiit.fi,nokia.com¡ Abstract — In the recent years we have seen enormous change in information technology. The Internet has, at least in developed countries, become a commodity; mobile phones are used almost by everyone. The technology created for professionals 10–20 years ago is used by laymen—unfortunately with serious problems in usability, robustness and reliability. Now it is the time to go back to the basics and rethink the fundamentals. We ask three primary questions related to adequacy of current operating systems, programming models, and middleware. In each case the answer is no: existing solutions are not sufficient for tomorrow. Based on our observations and expectations, we have formulated six key research challenges that will enable to turn the current no-answers to yes-answers. These challenges include reconfigurable systems, context modeling, security-trust-privacy, software development, programming models, and efficient always-on connectivity. Index Terms — Wireless Internet, reconfigurable systems, context modeling, security, trust, privacy, software development,
Extensions to VHDL for Abstraction of Concurrency and Communication
, 1998
"... ion of Concurrency and Communication * Peter J. Ashenden Dept. Computer Science University of Adelaide, SA 5005 Australia petera@cs.adelaide.edu.au Philip A. Wilsey Dept. ECECS, PO Box 210030 University of Cincinnati Cincinnati, OH 45221-0030, USA phil.wilsey@uc.edu Abstract This paper describes ..."
Abstract
-
Cited by 2 (1 self)
- Add to MetaCart
ion of Concurrency and Communication * Peter J. Ashenden Dept. Computer Science University of Adelaide, SA 5005 Australia petera@cs.adelaide.edu.au Philip A. Wilsey Dept. ECECS, PO Box 210030 University of Cincinnati Cincinnati, OH 45221-0030, USA phil.wilsey@uc.edu Abstract This paper describes extensions to VHDL to support system -level behavioral modeling by providing more abstract forms of communication and concurrency than those currently in the language. The report summarizes design objectives and issues that must be considered in developing such extensions, and presents definitions of our extensions. The extensions for communication consist of channel types, channel objects, dynamically allocated channels, and message passing statements. The extensions for concurrency consist of process declarations and static and dynamic process instantiation statements. Use of the extensions is illustrated with examples. 1. Introduction As the complexity of integrated hardware and softwar...
A Survey of Basic Issues of Parallel Execution on a Distributed System
- School of Computing and Mathematics, Deakin Universtiy
, 1995
"... This report examines the basic issues involved in implementing parallel execution in a distributed computational environment. The study was carried out by considering our claim that both a compiler should be directly involved in detecting processes of a program to run in parallel on a distributed sy ..."
Abstract
-
Cited by 2 (1 self)
- Add to MetaCart
This report examines the basic issues involved in implementing parallel execution in a distributed computational environment. The study was carried out by considering our claim that both a compiler should be directly involved in detecting processes of a program to run in parallel on a distributed system, and that a distributing operating system, in particular global scheduling should provide a support for such parallel execution. For this purpose, first of all the issues of parallelism of a program’s processes has been examined. Issues such as the granularity of parallelism, use of parallelism, the generality of parallelism and the programmer’s actions when writing parallel programs have been addressed. Possible future developments are then presented. Following this a support for parallel execution in distributed systems has also been discussed. In particular the issues of interprocess communication, process synchronisation, memory management, process management including global scheduling, reliability and distributed applications have been addressed. This report concludes with the major issues that need to be studied and implemented in future compilers and distributed operating system to allow transparent distributed processing to occur, and the benefits of such systems. Page 1 1

