4. Course Description
In this course parallel processing is taught which is a method in computing of running two or
more processors (CPUs) to handle separate parts of an overall task.These multi-core set- ups
are similar to having multiple, separate processors installed in the same computer. The course
focus on memory technology and optimization technique by understanding the different types
of parallelism, The course concentrates on reviewing the memory hierarchy and cache
performance in parallel processors.
5. Course Objectives
The objectives of this course are to:
1. Present design of parallel programs and how to evaluate their execution
2. Give knowledge of the characteristics, the benefits and the limitations of parallel systems
and distributed infrastructures
3. Analyze the parallel programs in different operating system and build the programming
model.
4. Encourage students to build experience with interdisciplinary teamwork.
6. Course Outcomes
On completion of this course the student will be able to:
1. Analyze the requirements for programming parallel and critically evaluate the strengths and
weaknesses of parallel programming models and how they can be used to facilitate the
programming of concurrent systems.
2. Interpret the difference between the major classes of Instruction set architecture
3. Design and implement a SIMD and MIMD parallel processing solution for problems.
4. Understand the performances of processors and solve the optimization problems.
8. Course Content – Unit I
Unit -1: Introduction and Architecture [10Hrs]
Classes of computers; Defining computer architecture; Trends in Technology, power in
Integrated Circuits and cost; Dependability; Measuring, reporting and summarizing
Performance; Quantitative Principles of computer design
9. Course Content – Unit II
Unit -2: Memory Technology and Optimization [11Hrs]
Introduction to parallelism, shared memory model, distributed memory model. what is
instruction level parallelism: concepts and challenges, basic compiler techniques for exposing
ILP , Reducing Branch costs with prediction; Overcoming Data hazards
10. Course Course Content – Unit III
Unit -3: Thread Level Parallelism: Introduction [11Hrs]
Multiprocessor architecture: issues and approach, challenges of parallel processing,
Symmetric shared-memory architectures; Performance of symmetric shared–memory
multiprocessors; Distributed shared memory and directory-based coherence; Basics of
synchronization; Models of Memory
11. Course Course Content – Unit IV
Unit -4: Review of Memory Hierarchy [10Hrs]
Introduction: Cache performance, Cache Optimizations, Virtual memory, Advanced
optimizations of Cache performance, Memory technology and optimizations, Protection: Virtual
memory and virtual machines
12. Text Book
John L. Hennessey and David A. Patterson, “Computer Architecture – A quantitative
Approach”, Morgan Kaufmann / Elsevier Publishers, 5thEdition, 2012.
13. Reference
s
1. Barry Wilkinson, Michael Allen, “Parallel Programming: Techniques and Applications Using
Networked Workstations and Parallel Computers”, Prentice Hall; 2nd edition ; ISBN:
0131405632
2. Kai Hwang ,”Advanced Computer Architecture Parallelism, Scalability , Programability”, Tata
Mc Grawhill, 2003.
3. David E. Culler, Jaswinder Pal Singh, Anoop Gupta:, Morgan Kaufman,” Parallel Computer
Architecture, A Hardware / Software Approach”, –, 1999.