Parallel Computing - Course Plan
1. Introduction
What is Parallel Computing, Motivation why Parallel Computing? Link with other technologies.
Module 1 – Instruction Level Parallelism (ILP)
2. MPIS/DLX Architecture
Overview of Processor Architecture , Instruction Set Architecture , Instruction encoding
3. ILP – Instruction Level Parallelism
Overview of MIPS/DLX Pipelining, Structural Hazards, Control Hazards, Data Hazards
4. Pipeline Code Scheduling
Techniques to avoid and remove Pipeline Hazards – Static Code Rescheduling and Loop unrolling
5. Dynamic Code Rescheduling Techniques (Score Boarding, Tomasolo)
6. Code Scheduling on Multi-issue processors
Superscalar and VLIW architecture & code scheduling, comparison with Array and Vector Processors
Module 2 - PRAM ( Parallel Random Access Machines)
7. PRAM Algorithms
Overview of Parallel Random Access Machine, PRAM Models, EREW PRAM Algorithms
8. Analysis of ERCW-PRAM, Algorithms
9. Analysis of CRCW-PRAM Algorithms
10. Analysis of CREW-PRAM Algorithms
Module 3 – Cluster Computing
11. Cluster Computing
Cluster Computing, GRID Computing, Overview of Available tools, Overview of Message Passing Systems & Applications.
12. MPI Cluster – Programming
Overview of Message Passing Interface,
Installation and Configuration of MPI Cluster
13. MPI Programming Examples,
Analysis of MPI Algorithms
14. Implementing PRAM algorithms through MPI
15. Review
Review of the course
Books:
“Fundamentals of Parallel Processing”, Harry F,Gita , Prentice Hall 2003
“Interlocution to Parallel Computing” W.P. Peterson, P.Abenz , Oxford University Press - 2004
“Parallel Scientific Computing in C++ and MPI”, G.E. Karniadakis, Cambridge University Press- 2003
“Distributed and Parallel Computing”, Hesham ElRewini, Manning Greenwich 1998
“Computer Architecture – A Qantitative Approach”, Patterson,Hennessy, Morgan Kaufmann - 2006=
No comments:
Post a Comment