Pattern-based distributed programming

Design, architecture and implementation patterns have been very successful in the context of sequential and massively parallel applications. They have, however, encountered much less success in the context of distributed applications, mainly because these are frequently defined on irregular topologies, require crosscutting accesses to distributed execution state that enables pattern applications, or are subject to heterogenous synchronization requirements.

Invasive patterns for distributed programming

We have defined the notion to address the two issues above. Concretely, invasive patterns extend well-known computation and communication patterns, such as farming out computations, by three concepts in order to address the problems introduced above:

An invasive pattern defines a computation on and transfer of data between a source group of hosts and a target group of hosts. Computation and transfer of data is defined by a distributed aspect that allows accesses to execution state to be concisely expressed. Synchronization strategies can be attached to communication links in an invasive pattern using an operator-based approach.

More details can be found in [BSDM07].


[BSDM07] L. D. Benavides Navarro, M. Südholt, R. Douence, J.-M. Menaud  
"Invasive patterns for distributed applications", 9th Int. Symp. on Distributed Objects, Middleware, and Applications (DOA'07), Nov. 2007.

last modification on 17 Oct. 2007 by Mario Südholt