Results 1 -
4 of
4
Monitors, Messages, and Clusters: the p4 Parallel Programming System
"... p4 is a portable library of C and Fortran subroutines for programming parallel computers. It is the current version of a system that has been in use since 1984. It includes features for explicit parallel programming of shared-memory machines, distributed-memory machines (including heterogeneous netw ..."
Abstract
-
Cited by 105 (10 self)
- Add to MetaCart
p4 is a portable library of C and Fortran subroutines for programming parallel computers. It is the current version of a system that has been in use since 1984. It includes features for explicit parallel programming of shared-memory machines, distributed-memory machines (including heterogeneous networks of workstations), and clusters, by which we mean sharedmemory multiprocessors communicating via message passing. We discuss here the design goals, history, and system architecture of p4 and describe briefly a diverse collection of applications that have demonstrated the utility of p4. 1 Introduction p4 is a library of routines designed to express a wide variety of parallel algorithms portably, efficiently and simply. The goal of portability requires it to use widely accepted models of computation rather than specific vendor implementations of those models. The goal of efficiency requires it to use models of computation relatively close to those provided by the machines themselves and t...
ParLin: From a Centralized Tuple Space to Adaptive Hashing
, 1993
"... . In this paper we present a library for the PARIX 1 Operating System, called ParLin, that provides support for Linda-like programming in transputer arrays. The primitives offered by this library are quite efficient, due to some design decisions, explained in the paper, that lead to a very simple ..."
Abstract
-
Cited by 6 (5 self)
- Add to MetaCart
. In this paper we present a library for the PARIX 1 Operating System, called ParLin, that provides support for Linda-like programming in transputer arrays. The primitives offered by this library are quite efficient, due to some design decisions, explained in the paper, that lead to a very simple internal structure, with a centralized Tuple Space. We claim that this is the best solution for small to medium systems (up to several tens of processors) and present the results of some experiments that support this statement. The mechanisms needed to scale up this library to larger systems are then discussed, with a proposal being made for a new scalable technique, called adaptive hashing. It consists of a partitioned (not replicated) Tuple Space, where the tuples are localized with the help of an hashing function that uses as input not only some fields of the tuples, but also the topology and size of the underlying system, and information about the distribution of tuples. This distributio...
On the Design of Eilean: A Linda-like Library for MPI
- Proceedings of the Second Scalable Parallel Libraries Conference
, 1994
"... In this paper, we introduce the design of a parallel library for MPI based on the Linda programming paradigm, called Eilean. It provides a scalable distribution of the Tuple Space through an hierarchical (or cluster) partitioning scheme, and tuple type specific access/distribution policies. Portabil ..."
Abstract
- Add to MetaCart
In this paper, we introduce the design of a parallel library for MPI based on the Linda programming paradigm, called Eilean. It provides a scalable distribution of the Tuple Space through an hierarchical (or cluster) partitioning scheme, and tuple type specific access/distribution policies. Portability of the library is achieved using the message passing standard MPI as the underlying communication system. The hierarchical distribution provides a static, yet general partition of the Tuple Space through the available processors. With such general structure, the run-time system, aided by programmer hints, can map tuples closely to the processes which use them. To accomplish the tuple mapping task, Eilean treats tuples differently according to their use within the application. The required information about tuple access patterns is explicitly given by the programmer and used during run-time. 1. Introduction Parallel programming languages are usually subdivided in two main classes: those ...

