We develop generic parallel algorithms as extensible modules that encapsulate related classes and parallel methods. Extensible modules define common parallel structures, such as meshes, pipelines, or master-server networks in problem-independent manner. Such modules can be extended with sequential domain-specific code in order to derive particular parallel applications. In this paper, we first outline the essence of extensible modules. Then, we focus on a case study of the cellular automaton, a message-parallel generic algorithm from which we derive diverse parallel scientific applications.
Atanas Radenski, A. Vann, Boyana Norris