Results 1 -
4 of
4
Productive Parallel Programming: The PCN Approach
- Scientific Programming
, 1992
"... We describe the PCN programming system, focusing on those features designed to improve the productivity of scientists and engineers using parallel supercomputers. These features include a simple notation for the concise specification of concurrent algorithms, the ability to incorporate existing Fort ..."
Abstract
-
Cited by 39 (6 self)
- Add to MetaCart
We describe the PCN programming system, focusing on those features designed to improve the productivity of scientists and engineers using parallel supercomputers. These features include a simple notation for the concise specification of concurrent algorithms, the ability to incorporate existing Fortran and C code into parallel applications, facilities for reusing parallel program components, a portable toolkit that allows applications to be developed on a workstation or small parallel computer and run unchanged on supercomputers, and integrated debugging and performance analysis tools. We survey representative scientific applications and identify problem classes for which PCN has proved particularly useful. Keywords: PCN, program composition, parallel programming, reuse, templates. 1 Introduction After many years as academic curiosities, computers combining hundreds or thousands of powerful microprocessors have overtaken vector processors and become essential tools for scientists and...
A Compiler Approach to Scalable Concurrent Program Design
- ACM TOPLAS
, 1992
"... The programmer's most powerful tool for controlling complexity in program design is abstraction. We seek to use abstraction in the design of concurrent programs, so as to separate design decisions concerned with decomposition, communication, synchronization, mapping, granularity, and load balancing. ..."
Abstract
-
Cited by 11 (7 self)
- Add to MetaCart
The programmer's most powerful tool for controlling complexity in program design is abstraction. We seek to use abstraction in the design of concurrent programs, so as to separate design decisions concerned with decomposition, communication, synchronization, mapping, granularity, and load balancing. This paper describes programming and compiler techniques intended to facilitate this design strategy. The programming techniques are based on a core programming notation with two important properties: the ability to separate concurrent programming concerns, and extensibility with reusable programmerdefined abstractions. The compiler techniques are based on a simple transformation system together with a set of compilation transformations and portable run-time support. The transformation system allows programmer-defined abstractions to be defined as source- to-source transformations that convert abstractions into the core notation. The same transformation system is used to apply compilation transformations that incrementally transform the core notation toward an abstract concurrent machine. This machine can be implemented on a variety of concurrent architectures using simple run-time support.
Data Stream Management and Digital Library Processes on Top of a Hyperdatabase and Grid Infrastructure
- In: Pre-Proceedings of the 6 th Thematic Workshop of the EU Network of Excellence DELOS: Digital Library Architectures - Peer-to-Peer, Grid, and Service-Orientation (DLA 2004
, 2004
"... Digital libraries in healthcare are hosting an inherently large collection of digital information. Especially in medical digital libraries, this information needs to be analyzed and processed in a timely manner. ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
Digital libraries in healthcare are hosting an inherently large collection of digital information. Especially in medical digital libraries, this information needs to be analyzed and processed in a timely manner.
Feedback-Enhanced Optimization of Static Scheduling for Parallel Computer Systems
, 1995
"... Current static parallel optimization techniques rarely try to account for either code block run-time durations or communication latencies. This paper introduces a new static compiler optimization technique that exploits feedback of such execution trace (i.e., timing) information. It also illustrates ..."
Abstract
- Add to MetaCart
Current static parallel optimization techniques rarely try to account for either code block run-time durations or communication latencies. This paper introduces a new static compiler optimization technique that exploits feedback of such execution trace (i.e., timing) information. It also illustrates how accurate traces (post-processed to remove the effects of software monitoring intrusion) can be used to increase the performance of existing static scheduling algorithms. The feedback techniques discussed are equally applicable to alternate methods of obtaining accurate traces. This work builds on our previous results, which describe a software-intensive method for accurate trace capture and recovery. 1 Introduction Current static compiler optimization techniques have matured to the point that fine-grained, loop-based, and data-parallel computations are well-understood [Wol96, ZiC91]. However, these techniques are near the limit of their effectiveness. Beyond these static methods, many...

