Programming Multi-Core and Many-Core Systems

Table of Contents

Programming shared address space concurrent systems:

Concurrency: tasks A and B are concurrent iff they can be performed independently of each other, yielding identical results.

Parallelisation patterns:

Organisation principle: parallel supersteps

How measure parallel performance?

Parallel program dev process:

  1. formulate problem
  2. write symbolic math specification
  3. write sequential code
  4. parallel code

Parallelisation does not affect asymptotic complexity, only adds a constant factor