Results 1 - 10
of
61
Models and Languages for Parallel Computation
- ACM COMPUTING SURVEYS
, 1998
"... We survey parallel programming models and languages using 6 criteria [:] should be easy to program, have a software development methodology, be architecture-independent, be easy to understand, guranatee performance, and provide info about the cost of programs. ... We consider programming models in ..."
Abstract
-
Cited by 121 (4 self)
- Add to MetaCart
We survey parallel programming models and languages using 6 criteria [:] should be easy to program, have a software development methodology, be architecture-independent, be easy to understand, guranatee performance, and provide info about the cost of programs. ... We consider programming models in 6 categories, depending on the level of abstraction they provide.
Exploiting Task and Data Parallelism on a Multicomputer
- In ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming
, 1993
"... For many applications, achieving good performance on a private memory parallel computer requires exploiting data parallelism as well as task parallelism. Depending on the size of the input data set and the number of nodes (i.e., processors), different tradeoffs between task and data parallelism are ..."
Abstract
-
Cited by 86 (21 self)
- Add to MetaCart
For many applications, achieving good performance on a private memory parallel computer requires exploiting data parallelism as well as task parallelism. Depending on the size of the input data set and the number of nodes (i.e., processors), different tradeoffs between task and data parallelism are appropriate for a parallel system. Most existing compilers focus on only one of data parallelism and task parallelism. Therefore, to achieve the desired results, the programmer must separately program the data and task parallelism. We have taken a unified approach to exploiting both kinds of parallelism in a single framework with an existing language. This approach eases the task of programming and exposes the tradeoffs between data and task parallelism to the compiler. We have implemented a parallelizing Fortran compiler for the iWarp system based on this approach. We discuss the design of our compiler, and present performance results to validate our approach. 1 Introduction Many applicati...
Supercomputing out of Recycled Garbage: Preliminary Experience with Piranha
- Sixth ACM International Conference on Supercomputing
, 1992
"... In this paper we present a new system for making use of the cycles routinely wasted in local area networks. The Piranha system harnesses these cycles to run explicitly parallel programs. Programs written for Piranha are specializations of Linda master /worker programs[5]. We have used Piranha to run ..."
Abstract
-
Cited by 84 (4 self)
- Add to MetaCart
In this paper we present a new system for making use of the cycles routinely wasted in local area networks. The Piranha system harnesses these cycles to run explicitly parallel programs. Programs written for Piranha are specializations of Linda master /worker programs[5]. We have used Piranha to run a number of production applications. We present a description of the Piranha prototype, briefly explain the Piranha programming methodology, and explore different types of Piranha algorithms. This work was supported by the National Science Foundation under grant number CCR-8657615 and NASA under grant number NGT-50719. 1 Introduction As local area networks spanning large numbers of powerful workstations become commonplace, researchers have come to realize that at most sites, many nodes are idle much of the time. Ideally there would be some way to recapture some of these lost cycles, which grow increasingly formidable in the aggregate as workstations grow more powerful. In the Piranha model...
Task Parallelism in a High Performance Fortran Framework
- IEEE Parallel and Distributed Technology
, 1994
"... High Performance Fortran (HPF) has emerged as a standard dialect of Fortran for data parallel computing. However, for a wide variety of applications, both task and data parallelism must be exploited to achieve the best possible performance on a multicomputer. We present the design and implementation ..."
Abstract
-
Cited by 83 (18 self)
- Add to MetaCart
High Performance Fortran (HPF) has emerged as a standard dialect of Fortran for data parallel computing. However, for a wide variety of applications, both task and data parallelism must be exploited to achieve the best possible performance on a multicomputer. We present the design and implementation of a Fortran compiler that integrates task and data parallelism in an HPF framework. A small set of simple directives allow users to express task parallel programs in a variety of domains. The user identifies opportunities for task parallelism, and the compiler handles task creation and management, as well as communication between tasks. Since a unified compiler handles both task parallelism and data parallelism, existing data parallel programs and libraries can serve as the building blocks for constructing larger task parallel programs. This paper concludes with a description of several parallel application kernels that were developed with the compiler. The examples demonstrate that exploi...
Jade: A High-Level, Machine-Independent Language for Parallel Programming
- IEEE Computer
, 1993
"... this memory is called a shared object. Pointers to shared objects are identified in a Jade program using the shared type qualifier. For example: ..."
Abstract
-
Cited by 82 (8 self)
- Add to MetaCart
this memory is called a shared object. Pointers to shared objects are identified in a Jade program using the shared type qualifier. For example:
The JavaSeal mobile agent kernel
- Autonomous Agents and Multi-Agent Systems
, 1999
"... JavaSeal is a secure mobile agent kernel that provides a small set of abstractions for constructing agent applications. This paper describes the design of these abstractions and their implementation. We address the limitations of the Java security model that had to be overcome, and then present a me ..."
Abstract
-
Cited by 56 (9 self)
- Add to MetaCart
JavaSeal is a secure mobile agent kernel that provides a small set of abstractions for constructing agent applications. This paper describes the design of these abstractions and their implementation. We address the limitations of the Java security model that had to be overcome, and then present a medium-sized e-commerce application that runs over JavaSeal. 1
Coarse-Grain Parallel Programming in Jade
, 1991
"... This paper presents Jade, a language which allows a programmer to easily express dynamic coarse-grain parallelism. Starting with a sequential program, a programmer augments those sections of code to be parallelized with abstract data usage information. The compiler and run-time system use this inf ..."
Abstract
-
Cited by 46 (4 self)
- Add to MetaCart
This paper presents Jade, a language which allows a programmer to easily express dynamic coarse-grain parallelism. Starting with a sequential program, a programmer augments those sections of code to be parallelized with abstract data usage information. The compiler and run-time system use this information to concurrently execute the program while respecting the program's data dependence constraints. Using Jade can significantly reduce the time and effort required to develop and maintain a parallel version of an imperative application with serial semantics. The paper introduces the basic principles of the language, compares Jade with other existing languages, and presents the performance of a sparse matrix Cholesky factorization algorithm implemented in Jade.
Limbo: A tuple space based platform for adaptive mobile applications
- Proceedings of the International Conference on Open Distributed Processing/Distributed Platforms (ICODP/ICDP '97
, 1997
"... Mobile computing environments are characterised by significant and rapid changes in their supporting infrastructure and, in particular, in the quality-of-service (QoS) available from their underlying communications channels. Applications which can operate in these environments and take advantage of ..."
Abstract
-
Cited by 44 (6 self)
- Add to MetaCart
Mobile computing environments are characterised by significant and rapid changes in their supporting infrastructure and, in particular, in the quality-of-service (QoS) available from their underlying communications channels. Applications which can operate in these environments and take advantage of changing QoS require distributed systems support platforms. The current state-of-the-art in such platforms attempt to provide synchronous connection-oriented programming paradigms reflecting their fixed network origin. In this paper we argue that these paradigms are not well suited to operation in a mobile environment and instead propose a new platform called Limbo based on the tuple space communications paradigm. The design of Limbo is presented together with details of two prototype implementations. The use of the platform to re-engineer a number of existing adaptive mobile applications is also discussed.
The Bird-Meertens Formalism as a Parallel Model
- Software for Parallel Computation, volume 106 of NATO ASI Series F
, 1993
"... The expense of developing and maintaining software is the major obstacle to the routine use of parallel computation. Architecture independent programming offers a way of avoiding the problem, but the requirements for a model of parallel computation that will permit it are demanding. The BirdMeertens ..."
Abstract
-
Cited by 39 (0 self)
- Add to MetaCart
The expense of developing and maintaining software is the major obstacle to the routine use of parallel computation. Architecture independent programming offers a way of avoiding the problem, but the requirements for a model of parallel computation that will permit it are demanding. The BirdMeertens formalism is an approach to developing and executing data-parallel programs; it encourages software development by equational transformation; it can be implemented efficiently across a wide range of architecture families; and it can be equipped with a realistic cost calculus, so that trade-offs in software design can be explored before implementation. It makes an ideal model of parallel computation. Keywords: General purpose parallel computing, models of parallel computation, architecture independent programming, categorical data type, program transformation, code generation. 1 Properties of Models of Parallel Computation Parallel computation is still the domain of researchers and those ...

