Parallel Program Design

1. Designing parallel programs is harder than designing sequential programs.
2. We start our design by using the best sequential program we know and then we must solve the following additional problems

3. Design Cycle (an iterative process)
a. Application level modeling b. Discretization of the Problem (finite difference, finite element, grid simulations, linear algebra, cellular automata, etc.)

c. Parallel Program Design

d. Construction of Correct Concurrent Programs e. Verification of Concurrent Software