Algorithm.h

Classes

Algorithm -- Defines a computational unit for parallel processing (full description)

class Algorithm

Interface

Public Members
Algorithm()
virtual ~Algorithm()
void apply()
virtual void get() = 0
virtual void put() = 0
virtual String &name() = 0
Protected Members
virtual void task() = 0

Description

or

Review Status

Date Reviewed:
yyyy/mm/dd

Prerequisite

Etymology

Synopsis

Base class used to define a computational unit for parallel processing. The user supplies: i) the get() (fetch the data); ii) the task() (do the work); iii) the put() (send the results back); and iv) the name() (name of the task).

Example

Motivation

The algorithm class is used for embarassingly- or nearly-embarassingly types of parallel problems.

To Do

Base class. User always derives off this class

Member Description

Algorithm()

Default constructor and destructor

virtual ~Algorithm()

void apply()

Generic apply to execute the parallel task

virtual void get() = 0

Get the input data and parameters from the controller

virtual void put() = 0

Return the results to the controller

virtual String &name() = 0

Return the name of the algorithm

virtual void task() = 0

Do the work assigned as a parallel task