Course Code: CS527
Course Name: Parallel Computer Architecture
Prerequisites: CS222 : Computer Architecture and Organisation or equivalent
Syllabus: Why Parallel Computer Architecture Fundamental Design Issues Perspectives on Parallel Programming Shared Memory Multiprocessors, Protocol Design Space, Evaluating Protocol Design Trade-Off Snoop-Based Multiprocessor Design Scalable Multiprocessors Directory Based Cache Coherence Hardware-Software Trade-offs Latency Tolerance Interconnection Networks, Design, Routing protocols Superscalar organisation and techiniques Tiled manycore processors Simultaneous multithreading Memory consistency models Data races Scheduling Synchronisation Transactional memory.
Texts: 1.D. Culler, J.P. Singh and A. Gupta, Parallel Computer Architecture: Hardware/Software Approach, Morgan Kaufmann, 1stEdn., 1998.
2.M. Herlihy and N. Shavit, The Art of Multiprocessor Programming, Morgan Kauffmann, 1st Edn., 2008.
3.J. Shen, Modern Processor Design: Fundamentals of Superscalar Processors, McGraw-Hill Series in Electrical and Computer Engineering, 1st Edn., 2004.
4.K. Hwang, Advanced Computer Architecture: Parallelism, Scalability, Programmability, McGraw-Hill, 1st Edn., 1992.
5.W. J. Dally and B. P. Towles, Principles and Practices of Interconnection Networks, The Morgan Kaufmann Series in Computer Architecture and Design, 1st Edn., 2004.
6.J. L. Hennessy and D. A. Patterson, Computer Architecture: A Quantitative Approach, Morgan Kaufmann, 5th Edn., 2011.