Two design patterns for data-parallel computation based on master-slave model
Loading...
Date
Journal Title
Journal ISSN
Volume Title
Publisher
DOI
10.1016/S0020-0190(99)00057-5
Abstract
This paper presents two design patterns useful for parallel computations of master-slave model. These patterns are concerned with task management and parallel and distributed data structures. They can be used to help addressing the issues of data partition and mapping, dynamic task allocation and management in parallel programming with the benefit of less programming efforts and better program structures. The patterns are described in object-oriented notation, accompanied with illustrative examples in C++. We also provide our experience in applying these patterns to two scientific simulation programs simulating Ising model and plasma physics respectively. Since master-slave model is a widely used parallel programming paradigm, the design patterns presented in this paper have large potential application in parallel computations. (C) 1999 Elsevier Science B.V. All rights reserved.