Results 1 -
6 of
6
PVM: A Framework for Parallel Distributed Computing
- Concurrency: Practice and Experience
, 1990
"... The PVM system is a programming environment for the development and execution of large concurrent or parallel applications that consist of many interacting, but relatively independent, components. It is intended to operate on a collection of heterogeneous computing elements interconnected by one or ..."
Abstract
-
Cited by 788 (27 self)
- Add to MetaCart
(Show Context)
The PVM system is a programming environment for the development and execution of large concurrent or parallel applications that consist of many interacting, but relatively independent, components. It is intended to operate on a collection of heterogeneous computing elements interconnected by one or more networks. The participating processors may be scalar machines, multiprocessors, or special-purpose computers, enabling application components to execute on the architecture most appropriate to the algorithm. PVM provides a straightforward and general interface that permits the description of various types of algorithms (and their interactions), while the underlying infrastructure permits the execution of applications on a virtual computing environment that supports multiple parallel computation models. PVM contains facilities for concurrent, sequential, or conditional execution of application components, is portable to a variety of architectures, and supports certain forms of error dete...
The fuzzy barrier: A mechanism for high speed synchronization of processors
- In: ASPLOS
, 1989
"... Abstract- Parallel programs are commonly written using barriers to synchronize parallel processes. Upon reaching a barrier, a processor must stall until all participating processors reach the barrier. A software implementation of the barrier mechanism using shared variables has two major drawbacks. ..."
Abstract
-
Cited by 78 (5 self)
- Add to MetaCart
Abstract- Parallel programs are commonly written using barriers to synchronize parallel processes. Upon reaching a barrier, a processor must stall until all participating processors reach the barrier. A software implementation of the barrier mechanism using shared variables has two major drawbacks. Firstly, the execution of the barrier may be slow as it may not only require execution of several instructions and but also result in hot-spot accesses. Secondly, processors that are stalled waiting for other processors to reach the barrier are essentially idling and cannot do any useful work. In this paper, the notion of the fuzzy barrier is presented, that avoids the above drawbacks. The first problem is avoided by implementing the mechanism in hardware. The second problem is solved by extending the barrier concept to include a region of statements that can be executed by a processor while it awaits synchronization. The barrier regions are constructed by a compiler and consist of several instructions such that a processor is ready to synchronize upon reaching the first instruction in this region and must synchronize before exiting the region. When synchronization does occur, the processors could be executing at any point in their respective barrier regions. The larger the barrier region, the more likely it is that none of the processors will have to stall. Preliminary investigations show that barrier regions can be large and the use of program transformations can significantly increase their size. Examples of situations where such a mechanism can result in improved performance are presented. Results based on a software implementation of the fuzzy barrier on the Encore multiprocessor indicate that the synchronization overhead can be greatly reduced using the mechanism. Keywords- multiprocessor systems, barrier synchronization, parallelizing compilers. Permission to copy without fee all or part of this material is granted provided that the copies are not made or distributed for direct commercial advantage, the ACM copyright notice and the title of the publication and its date appear, and notice is given that copying is by permission of the Association for
Parallel Volume Visualization on Workstations
- Computers and Graphics
, 1993
"... Abstract--This paper discusses the use of general-purpose graphics workstations for interactive high-resolution volume visualization. We survey previous research results in parallel volume rendering as well as commercial products that take advantage of parallel processing to make volume rendering a ..."
Abstract
-
Cited by 5 (3 self)
- Add to MetaCart
Abstract--This paper discusses the use of general-purpose graphics workstations for interactive high-resolution volume visualization. We survey previous research results in parallel volume rendering as well as commercial products that take advantage of parallel processing to make volume rendering a practical visualization method. Our focus is on developing distributed computation methods that can distribute the memory and computational demands of volume visualization across a network of general purpose workstations. We describe three distributed computation strategies based on ray-casting volume rendering that can be implemented on either shared-memory multiprocessor workstations or on a network of ordinary workstations. Multiple views of real-time feature extraction give tremendous insight to the volume data. Multiple variable visualization helps scientists to capture the interaction between important variables in a simulation. Divideand-conquer rendering allows interactive high-resolution volume visualization of large data sets on a network of midrange workstations, even when the data set is too large for available memory on any single workstation. Several examples in medical imaging and computational fluid dynamics are shown illustrating the practicality of these methods. 1. INTRODUC'I'ION The advance of parallel architecture and software carties
Implications of Execution Threads for Multi-User Multiprocessors
"... Threads, a form of light weight processes, promise a standardised technique for implementing parallel execution on shared memory multiprocessors. Delivery of this promise is hindered by common architectural and system software features, many of which derive from traditional sequential machines. This ..."
Abstract
- Add to MetaCart
(Show Context)
Threads, a form of light weight processes, promise a standardised technique for implementing parallel execution on shared memory multiprocessors. Delivery of this promise is hindered by common architectural and system software features, many of which derive from traditional sequential machines. This paper characterises some of the hardware and software issues which need to be addressed in the pursuit of threaded programming systems. The major issues which arise, execution stack management and the interplay of macro and micro scheduling, demand specific hardware and system software support. Solutions to the problems, which have been incorporated in a simulation of a threaded programming environment, are described and some experimental results representing the likely performance effects are given. The results suggest that the threaded programming model can provide a platform for parallel execution in a general purpose multi-user multiprocessor. 1
Technical Director Directorate of CommunicationsS FOR THE COMMANDER:
, 1988
"... - x W WT b RADC-TR-88-17 has been reviewed and is approved for publication. I ~APPROVED: 9A 4 l c ..."
Abstract
- Add to MetaCart
(Show Context)
- x W WT b RADC-TR-88-17 has been reviewed and is approved for publication. I ~APPROVED: 9A 4 l c
Headquarters Military Airlift Command
, 1987
"... UNLSSFE 9 U hhhE-T-0-97 $F hh0209F / hI6M 5. 2 ..."
(Show Context)