Main textbook is
- Maurice Herlihy, Nir Shavit: The art of multiprocessor programming, Morgan Kaufmann 2012.
We also use online course material from Roger Wattenhofer, ETHZ, available here.
Herlihy and Shavit covers shared memory parallelism. For message passing concurrency and distribution other material is needed. Useful references - among many - are:
- Hagit Attiya, Jennifer Welch: Distributed Computing: Fundamentals, Simulations and Advanced Topics, McGraw-Hill Publishing, 2004
- David Peleg: Distributed Computing: A Locality-Sensitive Approach. Society for Industrial and Applied Mathematics (SIAM), 2000
- George Coulouris, Jean Dollimore, Tim Kindberg, Gordon Blair: Distributed Systems, Concepts and Design. Pearson 2012
- Christian Cachin, Rachid Guerraoui, Luis Rodrigues: Reliable and secure Distributed Programming, 2n ed., Springer 2011
- Nancy Lynch: Distributed Algorithms, Morgan Kaufman, 1996
Other material will be made available as the course moves on.