By Topic

OOPar: An Object Oriented Environment for Implementing Parallel Algorithms

Sign In

Cookies must be enabled to login.After enabling cookies , please use refresh or reload or ctrl+f5 on the browser for the login options.

Formats Non-Member Member
$33 $13
Learn how you can qualify for the best price for this item!
Become an IEEE Member or Subscribe to
IEEE Xplore for exclusive pricing!
close button

puzzle piece

IEEE membership options for an individual and IEEE Xplore subscriptions for an organization offer the most affordable access to essential journal articles, conference papers, standards, eBooks, and eLearning courses.

Learn more about:

IEEE membership

IEEE Xplore subscriptions

1 Author(s)
Philippe Devloo ; Fac. de Eng. Civil, Arquitetura e Urbanismo, UNICAMP, Campinas

OOPar is a C++ library which implements an interface to MPI (or other communication library) to offer the user a high level interface for implementing parallel algorithms. Large scale software projects have been parallelized using OOPar and their results will be presented during this presentation. OOPar introduces two concepts to help the programmer in defining a parallel algorithm: Distributed data and tasks which act on the distributed data. Distributed data are objects of classes which can be transmitted between processors. The user of the OOPar library can define his own types by deriving class from the TPZSaveable class and implementing the virtual Read/Write methods. Distributed data objects are managed by an object of type OOPDataManager. Each processor has its OOPDataManager object which administers TPZSaveable objects and the access requests issued by the OOPTask objects. Task objects implement part of a parallel algorithm acting upon and transforming distributed data objects. Task objects are submitted to a TaskManager object. Each processor has a unique TaskManager object. In order to sequence tasks in the proper order, a version is associated with distributed data objects and tasks depend on a distributed data object with a certain version. After transforming a distributed data object, the task object increments the version of the data object.

Published in:

Computational Science and Engineering, 2008. CSE '08. 11th IEEE International Conference on

Date of Conference:

16-18 July 2008