The Message Passing Interface 1.1 (MPI 1.1) standard defines a library of message-passing functions for parallel and distributed computing. We have developed a new software tool called C++2MPI which can automatically ...
详细信息
ISBN:
(纸本)076950759X
The Message Passing Interface 1.1 (MPI 1.1) standard defines a library of message-passing functions for parallel and distributed computing. We have developed a new software tool called C++2MPI which can automatically generate MPI derived datatypes for a specified C++ class. C++2MPI can generate data types for derived classes, for partially and fully-specialized templated classes, and for classes with private data members. Given one or more user-provided classes as input, C++2MPI generates, compiles and archives a function for creating the MPI derived datatype. When the generated function is executed, it builds the derived MPI datatype if the datatype does nor already exist, and returns the value of an MPI handle for referencing the datatype. PGMT (Processing Graph Method Tool) is a set of program interfaces for porting the Graph Method (PGM), a parallel programming method, to diverse networks of processors. C++2MPI was developed as a component of PGMT, bur can be used as a stand-alone tool.
Several generalizations of the flat data parallel model have been proposed. Their aim is to allow the capability of nested parallel invocations, combining the easiness of programming of the data parallel model with th...
详细信息
ISBN:
(纸本)3540410104
Several generalizations of the flat data parallel model have been proposed. Their aim is to allow the capability of nested parallel invocations, combining the easiness of programming of the data parallel model with the efficiency of the control parallel model. We examine the solutions provided to this issue by two standard parallel programming platforms, OpenMP and MPI. Both their expression capacity and their efficiency are compared on a Sun HPC 3500 and a SGI Origin 2000. The two considered architectures are shared memory and, consequently, more suitable for their exploitation under OpenMP. In spite of this, the results prove that, under the use of the methodology proposed for MPI in this paper, not only the performances of the two platforms are similar but, more remarkably, the effort invested in software development is also the same.
Network based distributed computing has been gaining popularity over the past decade. Many parallel programming languages and related parallel programming modes are becoming widely accepted. However, the execution of ...
详细信息
ISBN:
(纸本)0769507719
Network based distributed computing has been gaining popularity over the past decade. Many parallel programming languages and related parallel programming modes are becoming widely accepted. However, the execution of parallel applications on distributed systems has been hampered by the high communication overhead. To reduce the communication overhead and the completion time of a parallel application, we propose a Key Message model for parallel computing on Network of Workstations (NOWs). In the Key Message model, all messages generated in a key message path are prioritized. A Key Message path in a task graph is defined as the path that is optimized by the Key Message algorithm. All messages generated in a key message path are prioritized. Besides, the Key Message algorithm automatically finds the Key message paths. In this paper, we first describe the algorithm that identifies the Ley message to be prioritized in a parallel application, then analyze the cost of the algorithm, and finally evaluate the performance of the algorithm in a simulation. Our preliminary analysis of the algorithm shows improvement oner the system which does not use prioritization scheme.
A design pattern is a description of a high-quality solution to a frequently occurring problem in some domain. A pattern language is a collection of design patterns that are carefully organized to embody a design meth...
详细信息
Collective operations on distributed data sets promote a high-level data-parallel programming style that eases many aspects of parallel programming on distributed computing platforms. The authors describe the design a...
详细信息
parallelization of scientific applications remains a nontrivial task typically requiring some programmer assistance. Key considerations for candidate parallel programming paradigms are portability, efficiency, and int...
详细信息
A new geometric framework for parallel program representation is proposed to address the difficulties of parallel programming. The focus of this work is the expression of collections of computations and the inter-, in...
详细信息
Networks of workstations are widely used to carry out resource intensive applications. Applications running on these architectures may not produce the anticipated speedups. This is mainly because of the existence of m...
详细信息
Pajé is an interactive visualization tool for displaying the execution of parallel applications where a (potentially) large number of communicating threads of various life-times execute on each node of a distribu...
详细信息
暂无评论