Why Not Use a Pattern-Based Parallel Programming System?

  • John Anvik
  • Jonathan Schaeffer
  • Duane Szafron
  • Kai Tan
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2790)


Parallel programming environments provide a way for users to reap the benefits of parallelism, while reducing the effort required to create parallel applications. The CO2P3S parallel programming system is one such tool, using a pattern-based approach to express concurrency. This paper demonstrates that the CO2P3S system contains a rich set of parallel patterns for implementing a wide variety of applications running on shared-memory or distributed-memory hardware. Code metrics and performance results are presented to show the usability of the CO2P3S system and its ability to reduce programming effort, while producing programs with reasonable performance.


Design Pattern Parallel Programming Parallel Application Code Metrics Pattern Template 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Anvik, J.: Asserting the utility of COPS using the Cowichan Problems. Master’s thesis, Department of Computing Science, University of Alberta (2002)Google Scholar
  2. 2.
    Bromling, S.: Meta-programming with parallel design patterns. Master’s thesis, Department of Computing Science, University of Alberta (2002)Google Scholar
  3. 3.
    Cole, M.: Algorithmic Skeletons: A Structured Approach to the Management of Parallel Computations. MIT Press, Cambridge (1988)Google Scholar
  4. 4.
    Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading (1995)Google Scholar
  5. 5.
    Goswami, D., Singh, A., Priess, B.: Architectural skeletons: The re-usable building-blocks for parallel applications. In: Parallel and Distributed Processing Techniques and Applciations (PDPTA 1999), pp. 1250–1256 (1999)Google Scholar
  6. 6.
    MacDonald, S.: From Patterns to Frameworks to Parallel Programs. PhD thesis, Department of Computing Science, University of Alberta (2001)Google Scholar
  7. 7.
    Schaeffer, J., Szafron, D., Lobe, G., Parsons, I.: The Enterprise model for developing distributed applications. IEEE Parallel and Distributed Technology 1(3), 85–96 (1993)CrossRefGoogle Scholar
  8. 8.
    Wilson, G.: Assessing the usability of parallel programming systems: The Cowichan problems. In: IFIP Working Conference on Programming Environments for Massively Parallel Distributed Systems, pp. 183–193 (1994)Google Scholar
  9. 9.
    Wilson, G., Bal, H.: An empirical assessment of the usability of Orca using the Cowichan problems. IEEE Parallel and Distributed Technology 4(3), 36–44 (1996)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2003

Authors and Affiliations

  • John Anvik
    • 1
  • Jonathan Schaeffer
    • 1
  • Duane Szafron
    • 1
  • Kai Tan
    • 1
  1. 1.Department of Computing ScienceUniversity of AlbertaEdmontonCanada

Personalised recommendations