Introduction – parallelism and goals, parallel computing models – RAM, PRAM , CTA. Reasoning about Performance – Introduction -Basic Concepts – Performance Loss – Parallel Structure – Measuring Performance. Shared memory architecture.
Parallel Programming: Task and Data Parallelism with examples –Comparison Programming with Threads – POSIX Threads- Thread Creation and Destruction. Mutual Exclusion- Synchronization – Safety and Performance Issues – Reduction – threads Inter process communication – internet protocols – multicast communication – MPI. Remote invocation:Remote procedure call – remote method invocation-
System models : physical models, architecture models, operating system support. Distributed file systems – introduction- time and global states – synchronization of physical clocks – coordination and agreements: Mutual exclusion, election, consensus.