From Patterns to Frameworks to Parallel Programs

  • Author(s) / Creator(s)
  • Technical report TR02-02. Parallel programming offers potentially large performance benefits for computationally intensive problems. Unfortunately, it is difficult to obtain these benefits because parallel programs are more complex than their sequential counterparts. One way to reduce this complexity is to use a parallel programming system to write parallel programs. This dissertation shows a new approach to writing object-oriented parallel programs based on design patterns, frameworks, and multiple layers of abstraction. This approach is intended as the basis for a new generation of parallel programming systems. A critical evaluation of existing parallel programming systems is presented. This evaluation is based on a set of 13 characteristics of an ideal pattern-based parallel programming system. Based on the results of this evaluation, the PDP process was created. This process provides multiple layers of abstraction to support the complete application development cycle. The first layer supports pattern-based parallel programming by generating object-oriented frameworks from a design pattern description of the application structure. The generated code is hidden from the user to ensure correctness. Lower layers gradually provide access to the generated structural code and other low-level facilities. The CO2P3S parallel programming system is an example of a tool that supports the PDP process. It generates multithreaded Java frameworks for a set of supported design pattern templates. The utility of this tool is demonstrated by four example programs which obtain reasonable speedups after being written using CO2P3S. Further, the results of a usability experiment are presented. The experiment compared parallel programming using CO2P3S against programming in non-CO2P3S Java with threads. The results show that CO2P3S users write less application code than their Java counterparts, and that this code is less complex. | TRID-ID TR02-02

  • Date created
  • Subjects / Keywords
  • Type of Item
  • DOI
  • License
    Attribution 3.0 International