Parallel Programming Patterns

Department of Computer Science / UIUC

People


Affliation

Research Statement

Parallel computing power has been growing at a rapid rate during the last decade. However, overall evolution of the parallel application has been seriously restricted due to the difficulty in parallel programming. Focusing on the functionality and concurrency to meet parallel computing requirement, many programming environment gave little or no support in providing the programmer with design level abstractions.

Fortunately, there has been a significant work on the development of better parallel programming models and environments. However, the evaluation of this work is far from systematic. The purpose of our research is to collect in amore systematic manner a library of parallel programming patterns, and use them to evaluate the usefulness and expressiveness of existing and proposed parallel programming models and environments.

Namely, we intend to discover frequently used patterns from the existing parallel programming practices today in the following areas.

  • Decomposition
  • Algorithms
  • Structural
  • Methodology
These patterns will not only act as a tool in evalution of programming models, but also as a "cookbook" that will guide the programmers in making decisions in every stage of the parallel software development.