Results 1 - 10
of
19
Dag-consistent distributed shared memory
- IN PROCEEDINGS OF THE 10TH INTERNATIONAL PARALLEL PROCESSING SYMPOSIUM (IPPS
, 1996
"... We introduce dag consistency, a relaxed consistency model for distributed shared memory which is suitable for multithreaded programming. We have implemented dag-consistency in software for the Cilk multithreaded runtime system running on a Connection Machine CM5. Our implementation includes a dag-co ..."
Abstract
-
Cited by 57 (13 self)
- Add to MetaCart
We introduce dag consistency, a relaxed consistency model for distributed shared memory which is suitable for multithreaded programming. We have implemented dag-consistency in software for the Cilk multithreaded runtime system running on a Connection Machine CM5. Our implementation includes a dag-consistent distributed cactus stack for storage allocation. We provide empirical evidence of the flexibility and efficiency of dag consistency for applications that include blocked matrix multiplication, Strassen’s matrix multiplication algorithm, and a Barnes-Hut code. Although Cilk schedules the executions of these programs dynamically, their performances are competitive with statically scheduled implementations in the literature. We also prove that the number FP of page faults incurred by a user program running onPprocessors can be related to the numberF1of page faults running serially by the formula FP F1+2Cs, where C is the cache size andsis the number of thread migrations executed by Cilk’s scheduler.
The Cilk System for Parallel Multithreaded Computing
, 1996
"... Although cost-effective parallel machines are now commercially available, the widespread use of parallel processing is still being held back, due mainly to the troublesome nature of parallel programming. In particular, it is still diiticult to build eiticient implementations of parallel applications ..."
Abstract
-
Cited by 39 (1 self)
- Add to MetaCart
Although cost-effective parallel machines are now commercially available, the widespread use of parallel processing is still being held back, due mainly to the troublesome nature of parallel programming. In particular, it is still diiticult to build eiticient implementations of parallel applications whose communication patterns are either highly irregular or dependent upon dynamic information. Multithreading has become an increasingly popular way to implement these dynamic, asynchronous, concurrent programs. Cilk (pronounced "silk") is our C-based multithreaded computing system that provides provably good performance guarantees. This thesis describes the evolution of the Cilk language and runtime system, and describes applications which affected the evolution of the system.
SUPERB Support for Irregular Scientific Computations
, 1992
"... Runtime support for parallelization of scientific programs is needed when some information important for decisions in this process cannot be accurately derived at compile time. This paper describes a project which integrates runtime parallelization with advanced compile-time parallelization techniqu ..."
Abstract
-
Cited by 25 (6 self)
- Add to MetaCart
Runtime support for parallelization of scientific programs is needed when some information important for decisions in this process cannot be accurately derived at compile time. This paper describes a project which integrates runtime parallelization with advanced compile-time parallelization techniques of SUPERB. Besides the description of implementation techniques, language constructs are proposed, providing means for the specification of irregular computations. SUPERB is an interactive SIMD/MIMD parallelizing system for the SUPRENUM, iPSC/860 and GENESIS-P machines. The implementation of the runtime parallelization is based on the Parti procedures developed at ICASE NASA. 1 Introduction SUPERB (SUprenum ParallelizER Bonn) ([3, 17]) is a semi-automatic parallelization tool for distributed memory multiprocessors, e.g. SUPRENUM, iPSC/860 and GENESIS-P. It is a source-to-source transformation system which translates Fortran 77 programs into parallel programs written in the Fortran diale...
ADAPTing Fortran 90 Array Programs for Distributed Memory Architectures
- In First International Conference of the Austrian Center for Parallel Computation
, 1991
"... We describe a system that we are developing, whose purpose is to automatically transform data parallel Fortran 90 programs for execution on MIMD distributed memory architectures. The system is called ADAPT (for `Array Distribution Automatic Parallelisation Tool'). Programs for the system should make ..."
Abstract
-
Cited by 18 (4 self)
- Add to MetaCart
We describe a system that we are developing, whose purpose is to automatically transform data parallel Fortran 90 programs for execution on MIMD distributed memory architectures. The system is called ADAPT (for `Array Distribution Automatic Parallelisation Tool'). Programs for the system should make full use of the array features of Fortran 90, as parallelism is automatically extracted from the array syntax. Parallelisation is by data-partitioning, guided by `distribution' declarations that the user inserts in his program---these being the only additions required to standard Fortran 90 programs. This paper gives a brief overview of the array features of Fortran 90, describes the `distribution' declarations required by ADAPT, and gives details of the parallelisation scheme. 1 Introduction It is evident that distributed memory MIMD architectures have several advantages over shared memory and vector systems, among which are cost effectiveness, scaleability and, for suitable applications,...
PRELUDE: A System for Portable Parallel Software
, 1991
"... In this paper we describe PRELUDE, a programming language and accompanying system support for writing portable MIMD parallel programs. PRELUDE supports a methodology for designing and orga. nizing parallel programs that makes them easier to tune for particular architectures and to port to new archit ..."
Abstract
-
Cited by 18 (8 self)
- Add to MetaCart
In this paper we describe PRELUDE, a programming language and accompanying system support for writing portable MIMD parallel programs. PRELUDE supports a methodology for designing and orga. nizing parallel programs that makes them easier to tune for particular architectures and to port to new architectures. It builds on earlier work on Emerald, Amber, and vaxious Fortran extensions to allow the programmer to divide programs into architecture-dependent and architecture-independent parts, and then to change the architecture-dependent parts to port the program to a new machine or to tune its performance on a single machine. The architecture-dependent parts of a program are specified by annotations that describe the mapping of a program onto a machine. PRELUDE provides a variety of mapping mechanisms similar to those in other systems, including remote procedure call, object migration, and data replication and partitioning. In addition, PRELUDE includes novel migration mechanisms for computations based on a form of continuation passing. The implementation of object migration in PRELUDE uses a novel approach based on fixup blocks that is more efficient than previous approaches, and amortizes the cost of each migration so that the cost per migration drops as the frequency of mi- grations increases.
Portable High-Performance Programs
, 1999
"... right notice and this permission notice are preserved on all copies. ..."
Abstract
-
Cited by 16 (0 self)
- Add to MetaCart
right notice and this permission notice are preserved on all copies.
Future Research Directions In Problem Solving Environments For Computational Science
- Center for Supercomputing Research and Development
, 1991
"... this report was partially supported by Grant CCR-90-24549 from the National Science Foundation. This is a report to the National Science Foundation and other agencies; it is not a report by or of the National Science Foundation or any other agency. Participants at the Workshop on Research Directio ..."
Abstract
-
Cited by 16 (4 self)
- Add to MetaCart
this report was partially supported by Grant CCR-90-24549 from the National Science Foundation. This is a report to the National Science Foundation and other agencies; it is not a report by or of the National Science Foundation or any other agency. Participants at the Workshop on Research Directions in Integrating Numerical Analysis, Symbolic Computing, Computational Geometry, and Artificial Intelligence for Computational Science Conference Organizers
On the Future of Problem Solving Environments
-
, 2000
"... In this paper we review the current state of the problem solving environment (PSE) field and make projections for the future. First we describe the computing context, the definition of a PSE and the goals of a PSE. The state-of-the-art is summarized along with sources (books, bibliographics, web sit ..."
Abstract
-
Cited by 15 (2 self)
- Add to MetaCart
In this paper we review the current state of the problem solving environment (PSE) field and make projections for the future. First we describe the computing context, the definition of a PSE and the goals of a PSE. The state-of-the-art is summarized along with sources (books, bibliographics, web sites) of more detailed information. The principal components and paradigms for building PSEs are presented. The discussion of the future is given in three parts: future trends, scenarios for 2010/2025, and research

