Results 1 -
2 of
2
Reuse, Portability and Parallel Libraries
- In Proceedings of IFIP WG10.3---Programming Environments for Massively Parallel Distributed Systems
, 1994
"... Parallel programs are typically written in an explicitly parallel fashion using either message passing or shared memory primitives. Message passing is attractive for performance and portability since shared memory machines can efficiently execute message passing programs, however message passing mac ..."
Abstract
-
Cited by 3 (0 self)
- Add to MetaCart
Parallel programs are typically written in an explicitly parallel fashion using either message passing or shared memory primitives. Message passing is attractive for performance and portability since shared memory machines can efficiently execute message passing programs, however message passing machines cannot in general effectively execute shared memory programs. In order to write a parallel program using message passing, the programmer is often obliged to develop a significant amount of code which manages distributed data and events and parallel input/output, and such code may have little or nothing to do with the application. However many parallel applications have common structural elements and much of this additional code can be encapsulated within a parallel library and reused in several programs. We discuss the requirements the library writer and user makes of the basic message passing interface and describe how we have addressed these requirements in our Common High-Level Inte...
Index Bit Permutations for Automatic Data Redistribution
- Proceedings of the Visualization '97 Parallel Rendering Symposium
, 1997
"... PISTON is a machine independent software framework for developing scientific applications on parallel computers. It presents a consistent data-parallel distributed memory model across a wide range of architectures. It has been implemented on MIMD, SIMD, and SMP architectures. In this paper we descri ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
PISTON is a machine independent software framework for developing scientific applications on parallel computers. It presents a consistent data-parallel distributed memory model across a wide range of architectures. It has been implemented on MIMD, SIMD, and SMP architectures. In this paper we describe PISTON's implementation of Index Bit Permutations (IBP) as a means of performing automatic regular data redistributions. A theoretical analysis of IBPs is derived and the predicted performance is compared with the actual performance of an IBP implementation on the Fujitsu AP1000. A detailed examination of the performance of IBPs on two common data redistributions is compared to the performance of hand-coded implementations of the same data redistributions in order to determine the effectiveness of IBPs. Based on this analysis, we generalize to describe what architectural features of a MIMD machine impact on the performance of IBPs and show that they are an efficient means of implementing ...

