Parallel containers: a tool for applying parallel computing applications on clusters
Loading...
Date
2004
DOI
Open Access Location
Authors
Journal Title
Journal ISSN
Volume Title
Publisher
Massey University
Rights
Abstract
Parallel and cluster computing remain somewhat difficult to apply quickly for many applications
domains. Recent developments in computer libraries such as the Standard Template
Library of the C++ language and the Message Passing Package associated with the Python
Language provide a way to implement very high level parallel containers in support of application
programming. A parallel container is an implementation of a data structure such as a
list, or vector, or set, that has associated with it the necessary methods and state knowledge
to distribute the contents of the structure across the memory of a parallel computer or a
computer cluster. A key idea is that of the parallel iterator which allows a single high level
statement written by the applications programmer to invoke a parallel operation across the
entire data structure’s contents while avoiding the need for knowledge of how the distribution
is actually carried out. This transparency approach means that optimised parallel algorithms
can be separated from the applications domain code, maximising reuse of the parallel computing
infrastructure and libraries. This paper describes our initial experiments with C++
parallel containers.
Description
Keywords
Parallel computing, Cluster computing, Application programming
Citation
Gan-El, M. & Hawick, K.A. (2004), Parallel containers: a tool for applying parallel computing applications on clusters, Research Letters in the Information and Mathematical Sciences, 6, 135-142