Parallel containers: a tool for applying parallel computing applications on clusters

Loading...
Thumbnail Image

Date

2004

DOI

Open Access Location

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

Endorsement

Review

Supplemented By

Referenced By