SIAM Journal on Scientific and Statistical Computing - Papers from the Second Conference on Parallel Processing for Scientific Computin
Parallel solution of triangular systems on distributed-memory multiprocessors
SIAM Journal on Scientific and Statistical Computing
Introduction to Parallel & Vector Solution of Linear Systems
Introduction to Parallel & Vector Solution of Linear Systems
PVM: a framework for parallel distributed computing
Concurrency: Practice and Experience
ASPLOS IV Proceedings of the fourth international conference on Architectural support for programming languages and operating systems
A message passing coprocessor for distributed memory multicomputers
Proceedings of the 1990 ACM/IEEE conference on Supercomputing
Active messages: a mechanism for integrated communication and computation
ISCA '92 Proceedings of the 19th annual international symposium on Computer architecture
Low-latency message communication support for the AP1000
ISCA '92 Proceedings of the 19th annual international symposium on Computer architecture
An analysis of loop latency in dataflow execution
ISCA '92 Proceedings of the 19th annual international symposium on Computer architecture
A quantitative analysis of dataflow program execution—preliminaries to a hybrid design
Journal of Parallel and Distributed Computing - Special issue on dataflow and multithreaded architectures
Unsteady fluid flow calculations using a machine independent parallel programming environment
CFD '92 Proceedings of the conference on Parallel computational fluid dynamics '92 : implementations and results using parallel computers: implementations and results using parallel computers
Automatic data partitioning on distributed memory multicomputers
Automatic data partitioning on distributed memory multicomputers
An efficient hybrid dataflow architecture model
Journal of Parallel and Distributed Computing
Interleaving: a multithreading technique targeting multiprocessors and workstations
ASPLOS VI Proceedings of the sixth international conference on Architectural support for programming languages and operating systems
An evaluation of medium-grain dataflow code
International Journal of Parallel Programming
Optimistic active messages: a mechanism for scheduling communication with computation
PPOPP '95 Proceedings of the fifth ACM SIGPLAN symposium on Principles and practice of parallel programming
A design study of the EARTH multiprocessor
PACT '95 Proceedings of the IFIP WG10.3 working conference on Parallel architectures and compilation techniques
IEEE Transactions on Parallel and Distributed Systems
The Nexus approach to integrating multithreading and communication
Journal of Parallel and Distributed Computing - Special issue on multithreading for multiprocessors
ICS '90 Proceedings of the 4th international conference on Supercomputing
Per-Node Multithreading and Remote Latency
IEEE Transactions on Computers
NAMD2: greater scalability for parallel molecular dynamics
Journal of Computational Physics - Special issue on computational molecular biophysics
Parallelization of a Dynamic Unstructured Algorithm Using Three Leading Programming Paradigms
IEEE Transactions on Parallel and Distributed Systems
Applications on a multithreaded architecture: a case study with EARTH-MANNA
Parallel Computing
Parallel Computer Architecture: A Hardware/Software Approach
Parallel Computer Architecture: A Hardware/Software Approach
A method for automatic placement of communications in SPMD parallelisation
Parallel Computing
On the design of Chant: a talking threads package
Proceedings of the 1994 ACM/IEEE conference on Supercomputing
Abstraction and Modularity Mechanisms for Concurrent Computing
IEEE Parallel & Distributed Technology: Systems & Technology
Fast Messages: Efficient, Portable Communication for Workstation Clusters and MPPs
IEEE Parallel & Distributed Technology: Systems & Technology
CASCH: A Tool for Computer-Aided Scheduling
IEEE Concurrency
Latency Tolerance: A Metric for Performance Analysis of Multithreaded Architectures
IPPS '97 Proceedings of the 11th International Symposium on Parallel Processing
Dagger: Combining Benefits of Synchronous and Asynchronous Communication Styles
Proceedings of the 8th International Symposium on Parallel Processing
Structured Dagger: A Coordination Language for Message-Driven Programming
Euro-Par '96 Proceedings of the Second International Euro-Par Conference on Parallel Processing - Volume I
NAMD: biomolecular simulation on thousands of processors
Proceedings of the 2002 ACM/IEEE conference on Supercomputing
Design and performance evaluation of a multithreaded architecture
HPCA '95 Proceedings of the 1st IEEE Symposium on High-Performance Computer Architecture
Comparative Evaluation of Latency Tolerance Techniques for Software Distributed Shared Memory
HPCA '98 Proceedings of the 4th International Symposium on High-Performance Computer Architecture
(R) Simulating Message-Driven Programs
ICPP '96 Proceedings of the Proceedings of the 1996 International Conference on Parallel Processing - Volume 3
Document for a Standard Message-Passing Interface
Document for a Standard Message-Passing Interface
Earth: an efficient architecture for running threads
Earth: an efficient architecture for running threads
The ThreadMill architecture for stream-oriented human communication analysis applications
Proceedings of the 6th international conference on Multimodal interfaces
Multi-threading and one-sided communication in parallel LU factorization
Proceedings of the 2007 ACM/IEEE conference on Supercomputing
Adapting a message-driven parallel application to GPU-accelerated clusters
Proceedings of the 2008 ACM/IEEE conference on Supercomputing
A Case Study in Tightly Coupled Multi-paradigm Parallel Programming
Languages and Compilers for Parallel Computing
An entropy-based algorithm for data elimination in time-driven software instrumentation
Journal of Systems and Software
Improving memory affinity of geophysics applications on NUMA platforms using minas
VECPAR'10 Proceedings of the 9th international conference on High performance computing for computational science
International Journal of High Performance Systems Architecture
Hi-index | 0.00 |
Processor idling due to communication delays and load imbalances are among the major factors that affect the performance of parallel programs. Need to optimize performance often forces programmers to sacrifice modularity. This paper focuses on the performance benefits of message-driven execution, particularly for large parallel programs composed of multiple libraries and modules. We examine message-driven execution in the context of a parallel object-based language, but the analysis applies to other models such as multithreading as well. We argue that modularity and efficiency, in the form of overlapping communication latencies and processor idle times, can be achieved much more easily in message-driven execution than in message-passing SPMD style. Message-driven libraries are easier to compose into larger programs and they do not require one to sacrifice performance in order to break a program into multiple modules. One can overlap the idle times across multiple independent modules. We demonstrate performance and modularity benefits of message-driven execution with simulation studies. We show why it is not adequate to emulate message-driven execution with the message-passing SPMD style. During these studies, it became clear that the usual criteria of minimizing the completion time and reducing the critical path that are used in SPMD programs are not exactly suitable for message-driven programs.