Intro

A Science of tradeoffs

Alternative approaches to concurrency

Mechanism Runtime and compile time

Implications of multi-core