Results 1 - 10
of
24
Legion: The Next Logical Step Toward a Nationwide Virtual Computer
, 1994
"... The coming of giga-bit networks makes possible the realization of a single nationwide virtual computer comprised of a variety of geographically distributed high-performance machines and workstations. To realize the potential that the physical infrastructure provides, software must be developed that ..."
Abstract
-
Cited by 100 (8 self)
- Add to MetaCart
The coming of giga-bit networks makes possible the realization of a single nationwide virtual computer comprised of a variety of geographically distributed high-performance machines and workstations. To realize the potential that the physical infrastructure provides, software must be developed that is easy to use, supports large degrees of parallelism in applications code, and manages the complexity of the underlying physical system for the user. This paper describes our approach to constructing and exploiting such "metasystems". Our approach inherits features of earlier work on parallel processing systems and heterogeneous distributed computing systems. In particular, we are building on Mentat, an object-oriented parallel processing system developed at the University of Virginia. This report is a preliminary document. We expect changes to occur as the architecture and design of the system mature.
Metasystems: an approach combining parallel processing and heterogeneous distributed computing systems
- J. PARALLEL & DISTRIBUTED COMPUT
"... A metasystem is a single computing resource composed of a heterogeneous group of autonomous computers linked together by a network. The interconnection network needed to construct large metasystems will soon be in place. To fully exploit these new systems, software that is easy to use, supports larg ..."
Abstract
-
Cited by 59 (16 self)
- Add to MetaCart
A metasystem is a single computing resource composed of a heterogeneous group of autonomous computers linked together by a network. The interconnection network needed to construct large metasystems will soon be in place. To fully exploit these new systems, software that is easy to use, supports large degrees of parallelism, and hides the complexity of the underlying physical architecture must be developed. In this paper we describe our metasystem vision, our approach to constructing a metasystem testbed, and early experimental results. Our approach combines features from earlier work on both parallel processing systems and heterogeneous distributed computing systems. Using the testbed we have found that data coercion costs are not a serious obstacle to high performance, but that load imbalance induced by differing processor capabilities can limit performance. We then present a mechanism to overcome load imbalance that utilizes user-provided callbacks.
Portable Run-Time Support for Dynamic Object-Oriented Parallel Processing
- ACM Transactions on Computer Systems
, 1993
"... Mentat is an object-oriented parallel processing system designed to simplify the task of writing portable parallel programs for parallel machines and workstation networks. The Mentat compiler and run-time system work together to automatically manage the communication and synchronization between obje ..."
Abstract
-
Cited by 57 (24 self)
- Add to MetaCart
Mentat is an object-oriented parallel processing system designed to simplify the task of writing portable parallel programs for parallel machines and workstation networks. The Mentat compiler and run-time system work together to automatically manage the communication and synchronization between objects. The run-time system marshals member function arguments, schedules objects on processors, and dynamically constructs and executes large grain data dependence graphs. In this paper we present the Mentat runtime system. We focus on three aspects --- the software architecture, including the interface to the compiler and the structure and interaction of the principle components of the runtime system; the run-time overhead on a component by component basis for two platforms, a Sun SparcStation 2 and an Intel Paragon; and an analysis of the minimum granularity required for application programs to overcome the run-time overhead. Keywords: object-oriented, parallel processing, dataflow, distribu...
Increasing Application Performance in Virtual Environments through Run-time Inference and Adaptation
- In Proceedings of the 14th IEEE International Symposium on High Performance Distributed Computing (HPDC
, 2005
"... Virtual machine distributed computing greatly simplifies the use of widespread computing resources by lowering the level of abstraction, benefiting both resource providers and users. Towards that end our Virtuoso middleware closely emulates the existing process of buying, configuring and using physi ..."
Abstract
-
Cited by 33 (13 self)
- Add to MetaCart
Virtual machine distributed computing greatly simplifies the use of widespread computing resources by lowering the level of abstraction, benefiting both resource providers and users. Towards that end our Virtuoso middleware closely emulates the existing process of buying, configuring and using physical machines. Virtuoso's VNET component is a simple and efficient layer two virtual network tool that makes these virtual machines (VMs) appear to be physically connected to the home network of the user while simultaneously supporting arbitrary topologies and routing among them. Virtuoso's VTTIF component continually infers the communication behavior of the application running in a collection of VMs. The combination of overlays like VNET and inference frameworks like VTTIF has great potential to increase the performance, with no user or developer involvement, of existing, unmodified applications by adapting their virtual environments to the underlying computing infrastructure to best suit the applications. We show here how to use the continually inferred application topology and traffic to dynamically control three mechanisms of adaptation, VM migration, overlay topology, and forwarding to significantly increase the performance of two classes of applications, bulk synchronous parallel applications and transactional web ecommerce applications.
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...
Campus-Wide Computing: Early Results Using Legion at the University of Virginia
, 1995
"... The Legion project at the University of Virginia is an architecture for designing and building system services that provide the illusion of a single virtual machine to users, a virtual machine that provides both improved response time via parallel execution and greater throughput. Legion targets ..."
Abstract
-
Cited by 29 (11 self)
- Add to MetaCart
The Legion project at the University of Virginia is an architecture for designing and building system services that provide the illusion of a single virtual machine to users, a virtual machine that provides both improved response time via parallel execution and greater throughput. Legion targets workstation clusters and larger wide area assemblies of workstations, supercomputers, and parallel supercomputers. We have built a working Legion prototype, called the Campus-Wide Virtual Computer (CWVC). The CWVC extends an existing object-oriented parallel processing system by aggressively incorporating lessons learned in the last twenty years of heterogeneous distributed computing. In this paper, we describe the challenges that we overcame to realize a working CWVC, and we characterize the performance of a production biochemistry application. 1. Introduction Computationally demanding applications challenge organizations to provide powerful computing resources. Traditionally, expens...
A Synopsis of the Legion Project
, 1994
"... The coming of giga-bit networks makes possible the realization of a single nationwide virtual computer comprised of a variety of geographically distributed high-performance machines and workstations. To realize the potential that the physical infrastructure provides, software must be developed that ..."
Abstract
-
Cited by 20 (0 self)
- Add to MetaCart
The coming of giga-bit networks makes possible the realization of a single nationwide virtual computer comprised of a variety of geographically distributed high-performance machines and workstations. To realize the potential that the physical infrastructure provides, software must be developed that is easy to use, supports large degrees of parallelism in applications code, and manages the complexity of the underlying physical system for the user. This short paper briefly describes our approach to constructing and exploiting such "metasystems". Our approach inherits features of earlier work on parallel processing systems and heterogeneous distributed computing systems. In particular, we are building on Mentat, an object-oriented parallel processing system developed at the University of Virginia. A more detailed presentation can be found in technical report CS 94-21, "Legion: The Next Logical Step Towards a Nationwide Virtual Computer".
Parallelizing I/O Intensive Image Access Processing Applications
- IEEE Concurrency
, 1999
"... . We propose a new approach for developing parallel I/O- and computeintensive applications on distributed memory PC. Using the CAP Computer-Aided Parallelization tool, application programmers create separately the serial program parts and express the parallel behavior of the program at a high lev ..."
Abstract
-
Cited by 13 (12 self)
- Add to MetaCart
. We propose a new approach for developing parallel I/O- and computeintensive applications on distributed memory PC. Using the CAP Computer-Aided Parallelization tool, application programmers create separately the serial program parts and express the parallel behavior of the program at a high level of abstraction. This highlevel parallel program description (CAP) is preprocessed into a compilable and executable C++ source parallel program. Low-level parallel file system components can, thanks to the CAP formalism, be combined with processing operations in order to yield efficient pipelined parallel I/O and compute intensive programs. These programs may run on multiple PC servers offering their access and processing services to clients located over the network. The applicability of the CAP tools on a real application is demonstrated with a parallel 3D tomographic image server application enabling clients to specify and access in parallel image slices having any desired posit...
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...
Parallel Object-Oriented Computation Applied to a Finite Element Problem
, 1993
"... The conventional wisdom in the scientific computing community is that the best way to solve largescale numerically-intensive scientific problems on today's parallel MIMD computers is to use Fortran or C programmed in a data-parallel style using low-level message-passing primitives. This approach ine ..."
Abstract
-
Cited by 6 (4 self)
- Add to MetaCart
The conventional wisdom in the scientific computing community is that the best way to solve largescale numerically-intensive scientific problems on today's parallel MIMD computers is to use Fortran or C programmed in a data-parallel style using low-level message-passing primitives. This approach inevitably leads to non-portable codes and extensive development time, and restricts parallel programming to the domain of the expert programmer. We believe that these problems are not inherent to parallel computing but are the result of the programming tools used. We will show that comparable performance can be achieved with little effort if better tools that present higher level abstractions are used. The vehicle for our demonstration is a 2D electromagnetic finite element scattering code we have implemented in Mentat, an object-oriented parallel processing system. We briefly describe the application, Mentat, the implementation, and present performance results for both a Mentat and a hand-cod...

