Results 1 - 10
of
10
The Cascade High Productivity Language
- in Ninth International Workshop on High-Level Parallel Programming Models and Supportive Environments (HIPS’04
, 2004
"... The strong focus of recent High End Computing efforts on performance has resulted in a low-level parallel programming paradigm characterized by explicit control over message-passing in the framework of a fragmented programming model. In such a model, object code performance is achieved at the expens ..."
Abstract
-
Cited by 35 (3 self)
- Add to MetaCart
The strong focus of recent High End Computing efforts on performance has resulted in a low-level parallel programming paradigm characterized by explicit control over message-passing in the framework of a fragmented programming model. In such a model, object code performance is achieved at the expense of productivity, conciseness, and clarity. This paper describes the design of Chapel, the Cascade High Productivity Language, which is being developed in the DARPA-funded HPCS project Cascade led by Cray Inc. Chapel pushes the state-of-the-art in languages for HEC system programming by focusing on productivity, in particular by combining the goal of highest possible object code performance with that of programmability offered by a high-level user interface. The design of Chapel is guided by four key areas of language technology: multithreading, locality-awareness, object-orientation, and generic programming. The Cascade architecture, which is being developed in parallel with the language, provides key architectural support for its efficient implementation. 1.
Efficient Support of Location Transparency in Concurrent Object-Oriented Programming Languages
- In Supercomputing '95
, 1995
"... We describe the design of a runtime system for a fine-grained concurrent object-oriented (actor) language and its performance. The runtime system provides considerable flexibility to users; specifically, it supports location transparency, actor creation and dynamic placement, and migration. The runt ..."
Abstract
-
Cited by 31 (14 self)
- Add to MetaCart
We describe the design of a runtime system for a fine-grained concurrent object-oriented (actor) language and its performance. The runtime system provides considerable flexibility to users; specifically, it supports location transparency, actor creation and dynamic placement, and migration. The runtime system includes an efficient distributed name server, a latency hiding scheme for remote actor creation, and a compiler-controlled intra-node scheduling mechanism for local messages and dynamic load balancing. Our preliminary evaluation results suggest that the efficiency that is lost by the greater flexibility of actors can be restored by an efficient runtime system which provides an open interface that can be used by a compiler to allow optimizations. On several standard algorithms, the performance results for our system are comparable to efficient C implementations. Key Words: Concurrent Object-Oriented Programming, Actors, Location Transparency, Migration 1 Introduction We argue t...
Thal: An Actor System For Efficient And Scalable Concurrent Computing
, 1997
"... Actors are a model of concurrent objects which unify synchronization and data abstraction boundaries. Because they hide details of parallel execution and present an abstract view of the computation, actors provide a promising building block for easy-to-use parallel programming systems. However, the ..."
Abstract
-
Cited by 11 (0 self)
- Add to MetaCart
Actors are a model of concurrent objects which unify synchronization and data abstraction boundaries. Because they hide details of parallel execution and present an abstract view of the computation, actors provide a promising building block for easy-to-use parallel programming systems. However, the practical success of the concurrent object model requires two conditions be satisfied. Flexible communication abstractions and their efficient implementations are the necessary conditions for the success of actors. This thesis studies how to support communication between actors efficiently. First, we discuss communication patterns commonly arising in many parallel applications in the context of an experimental actor-based language, THAL. The language provides as communication abstractions concurrent call/return communication, delegation, broadcast, and local synchronization constraints. The thesis shows how the abstractions are efficiently implemented on stock-hardware distributed memory mul...
On the Addition of Properties to Components
- ObjectOriented Technology: ECOOP'97 Workshop Reader, volume 1357 of Lecture Notes in Computer Science
"... The design of components for open systems has led to the study of new systems and their properties, like the independently extensible systems. Most of these systems try to facilitate the design of components by incorporating new features, services and utilities that solve the basic problems of ope ..."
Abstract
-
Cited by 10 (2 self)
- Add to MetaCart
The design of components for open systems has led to the study of new systems and their properties, like the independently extensible systems. Most of these systems try to facilitate the design of components by incorporating new features, services and utilities that solve the basic problems of open systems: heterogeneity, partial knowledge of the components, and dynamic changes in the system's configuration. However, our approach is not focused on the system, but on the components themselves. The present paper defines the properties that components of those systems should have, and introduces a components' design methodology based on the modular addition of properties. 1 Introduction There is now an increasing interest in the study of Open Systems, and in particular in the Independently Extensible systems [21] as the base for a component market. In this market users are able to buy or rent reusable components o# the shelf and compose them to build their applications. Extensibl...
An Adaptive Resource Management Architecture for Global Distributed Computing
- Ph.D thesis, UIUC, IL
, 1998
"... Advances in networking, communication, storage, computing, and multimedia technologies coupled with many emerging application areas is fueling the merger of computing and communication systems. This will result in a global information infrastructure of the size and magnitude erstwhile unimaginable. ..."
Abstract
-
Cited by 9 (6 self)
- Add to MetaCart
Advances in networking, communication, storage, computing, and multimedia technologies coupled with many emerging application areas is fueling the merger of computing and communication systems. This will result in a global information infrastructure of the size and magnitude erstwhile unimaginable. Such an infrastructure will have numerous services and hundreds of thousands of subscribers. A key issue in developing a global information infrastructure is that of effective management and utilization of resources. Increasingly, applications require delivery of multifaceted digital information services with stringent requirements on the delivery of information. For instance, multimedia applications have QoS (Quality of Service) parameters that define the extent to which performance specifications such as responsiveness, reliability, availability, security and cost-effectiveness may be violated. Varying requirements posed by applications, customers, and service providers makes the task of resource management in the evolving global information infrastructure a challenging research problem- one with significant commercial impact as well. In this thesis, we present a new paradigm for developing safe, customizable middleware
Parallel Implementations of Irregular Problems using High-level Actor Language
- In Proceedings of IPPS '96
, 1996
"... In this paper we present performance results of several irregular parallel algorithms implemented using a high-level actor language and its runtime kernel. The problems studied require dynamic computation of the placement of objects and may create load imbalance as the computation proceeds thereby r ..."
Abstract
-
Cited by 6 (3 self)
- Add to MetaCart
In this paper we present performance results of several irregular parallel algorithms implemented using a high-level actor language and its runtime kernel. The problems studied require dynamic computation of the placement of objects and may create load imbalance as the computation proceeds thereby requiring dynamic load balancing. We express the algorithms as fine grained computation, which allows us to rearrange objects in various ways and to compose the same algorithm with different partitioning and distribution strategies (PDS's). The PDS's are implemented for specific data structures or algorithm structures and are reusable for different parallel algorithms. We demonstrate how our methodology provides portability of algorithm specification, reusability and ease of expressibility without significantly sacrificing efficiency. 1 Introduction In parallel computing, the set of operations and the partial order in which they may be carried out define an ideal algorithm [10]. This ideal ...
A Reflective Component Model for Open Systems
- Workshop on Reflective Object-Oriented Programming and Systems, ECOOP'98
, 1998
"... This paper introduces a component model that allows the modular design and development of components and applications for Open and Distributed Systems. It defines the concepts of components and reusable controllers, permits their modular composition to build up applications, and it is devised to add ..."
Abstract
-
Cited by 3 (2 self)
- Add to MetaCart
This paper introduces a component model that allows the modular design and development of components and applications for Open and Distributed Systems. It defines the concepts of components and reusable controllers, permits their modular composition to build up applications, and it is devised to address in an independent manner many of the specific issues of these systems, like heterogeneity, evolution and dissemination of their components, dynamic reconfiguration, or environment-awareness. The model o#ers a basic communication infrastructure and a reflective mechanism to modify the behavior of components according to the user requirements. The main features of the model are presented in this work, together with an example that shows its expressiveness and capabilities. Keywords: open and distributed systems, reusable components, middleware architectures, reflection, distributed applications, Internet. 1 Introduction There are many di#cult issues related to the development of softwa...
Efficient Compilation of Concurrent Call/Return Communication in Actor-Based Programming Languages
"... Concurrent call/return communication (CCRC) allows programmers to conveniently express a communication pattern where a sender invokes a remote operation and uses the result to continue its computation. The blocking semantics requires context switching for efficient utilization of computation resourc ..."
Abstract
- Add to MetaCart
Concurrent call/return communication (CCRC) allows programmers to conveniently express a communication pattern where a sender invokes a remote operation and uses the result to continue its computation. The blocking semantics requires context switching for efficient utilization of computation resource. We present a compilation technique which allows programmers to use CCRC with the cost of non-blocking asynchronous communication plus minimum context switch cost. The technique transforms CCRCs into non-blocking asynchronous sends and encapsulates continuations into separate objects. A data flow analysis is used to guarantee that only necessary context is cached in continuation objects. 1 Introduction Actors are fine-grained active objects which encapsulate a thread as well as data and procedures. Computation is expressed in terms of actors communicating each other via asynchronous message passing. Since communication abstracts computation, the efficiency of communication and scheduling ...
Un Modelo de Adicion de Propiedades a Componentes Software
"... Dentro de las metodologas de diseno de software, la programacion orientada a componentes (COP) comienza a mostrarse como una extension natural de la programacion orientada a objetos (OOP) que potencia la reusabilidad del software. Ademas, el diseno de software para sistemas abiertos y distribuido ..."
Abstract
- Add to MetaCart
Dentro de las metodologas de diseno de software, la programacion orientada a componentes (COP) comienza a mostrarse como una extension natural de la programacion orientada a objetos (OOP) que potencia la reusabilidad del software. Ademas, el diseno de software para sistemas abiertos y distribuidos se enfrenta a problemas complejos y particulares como son la dispersion fsica de los componentes y su adaptacion a entornos heterogeneos y cambiantes. El presente trabajo describe las habilidades que los componentes deben desarrollar para adaptarse a estos sistemas, as como un modelo general que permite anadir tales propiedades a componentes existentes. El modelo da lugar a dos resultados adicionales: por un lado una metodologa general de diseno de componentes basados en la adicion modular de propiedades; por otro, una vision distinta de la coordinacion (autocoordinacion), en donde son los propios componentes, y no el sistema, quienes se responsabilizan de conseguir coordinar a los ...
Integrating Components Into Open Systems
"... The design of components for open systems has led to the study of new systems and their properties, like the independently extensible systems. Most of these systems try to facilitate the design of components by incorporating new features, services and utilities that solve the basic problems of op ..."
Abstract
- Add to MetaCart
The design of components for open systems has led to the study of new systems and their properties, like the independently extensible systems. Most of these systems try to facilitate the design of components by incorporating new features, services and utilities that solve the basic problems of open systems: heterogeneity, partial knowledge of the components, and dynamic changes in the system's configuration. However, our approach is not focused on the system, but on the components themselves. The present paper defines the properties that components of those systems should have, and introduces a components' design methodology based on the modular addition of properties. 1 . INTRODUCTION There is now an increasing interest in the study of Open Systems, and in particular in the Independently Extensible systems (Szyperski 1996) as the base for a component market. In this market users are able to buy or rent reusable components off the shelf and compose them to build their applicat...

