Module 4: Parallel Programming: Shared Memory and Message Passing
  Lecture 8: Optimizing Shared Memory Performance
 


Comm-to-comp Ratio

  • Idea is to measure the volume of inherent communication per computation
    • In most cases it is beneficial to pick the decomposition with the lowest comm -to-comp ratio
    • But depends on the application structure i.e. picking the lowest comm -to-comp may have other problems
    • Normally this ratio gives you a rough estimate about average communication bandwidth requirement of the application i.e. how frequent is communication
    • But it does not tell you the nature of communication i.e. bursty or uniform
    • For grid solver comm. happens only at the start of each iteration; it is not uniformly distributed over computation
    • Thus the worst case BW requirement may exceed the average comm -to-comp ratio

Extra Work

  • Extra work in a parallel version of a sequential program may result from
    • Decomposition
    • Assignment techniques
    • Management of the task pool etc.
  • Speedup is bounded above by Sequential work / Max (Useful work + Synchronization + Comm. cost + Extra work) where the Max is taken over all processors
  • But this is still incomplete
    • We have only considered communication cost from the viewpoint of the algorithm and ignored the architecture completely