Introduction – Motivation for Parallelism; Parallelism in Uniprocessor Systems; Scope of Parallel Processing; Taxonomy of Parallel Computers. Potential for Parallel Computation – Some Representative Parallel Algorithms and Performance Perspective. Vector Processors – Vector and Matrix Algorithms; Instruction Set of a Vector Processor and Sample Programs. Interconnection Networks – Static and Dynamic Interconnection Networks; Parameters Characterizing Interconnection Networks. Parallel Programming – Shared Memory and Message Passing Programming; The Message Passing Interface (MPI). Characterization of Distributed Systems, Interprocess Communication, Distributed Objects and RMI, Cloud/Grid Computing, Peer to Peer Computing, Social networking, Collaborative computing, Web services, Pervasive/Mobile computing.

Course Syllabus