1999coots S. MacDonald, D. Szafron and J. Schaeffer, Object-Oriented Pattern-Based Parallel Programming with Automatically Generated Frameworks, Proceedings of USENIX Conference on Object-Oriented Tools and Systems (COOTS'99), May 1999, San Diego, California, pp. 29-43. abstract or pdf.

The CO2P3S parallel programming system uses design patterns and object-oriented programming to reduce the complexities of parallel programming. The system generates correct frameworks from pattern template specifications and provides a layered programming model to address both the problems of correctness and openness. This paper describes the highest level of abstraction in CO2P3S, using two example programs to demonstrate the programming model and the supported patterns. Further, we introduce phased parallel design patterns, a new class of patterns that allow temporal phase relationships in a parallel program to be specified, and provide two patterns in this class. Our results show that the frameworks can be used to quickly implement parallel programs, reusing sequential code where possible. The resulting parallel programs provide substantial performance gains over their sequential counterparts.