Multicore Architecture and Programming1 - P21EC7024
Multicore Architecture and Programming1 - P21EC7024
[As per Choice Based Credit System (CBCS) & OBE Scheme]
SEMESTER – VII
Course Code: P21EC7024 Credits: 03
Teaching Hours/Week (L:T:P): 3:0:0 CIE Marks: 50
Total Number of Teaching Hours: 40 SEE Marks: 50
UNIT – I 8 Hours
Introduction to Multi– core Architecture: Motivation for Concurrency in software, Parallel
Computing Platforms, Parallel Computing in Microprocessors, Differentiating Multi–core
Architectures from Hyper– Threading Technology, Multithreading on Single–Core versus
Multi–Core Platforms Understanding Performance, Amdahl’s Law, Growing Returns:
Gustafson’s Law. System Overview of Threading: Defining Threads, System View of
Threads, Threading above the Operating System, Threads inside the OS, Threads inside the
Hardware, What Happens When a Thread Is Created, Application Programming Models
and Threading.
Text 1: Chapter 7
Self-Study Blumofe, Robert D., Christopher F. Joerg, Bradley C. Kuszmaul, Charles
Component: E. Leiserson, Keith H. Randall, and Yuli Zhou. 1995. Cilk: An Efficient
Multithreaded Runtime System. Proceedings of the 5th ACM SIGPLAN
Symposium on Principles and Practice of Parallel Programming
(July):207–216.
UNIT – IV 8 Hours
OpenMP: A Portable Solution for Threading Challenges in Threading a Loop, Loop–
carried Dependence, Data– race Conditions, Managing Shared and Private Data, Loop
Scheduling and Portioning, Effective Use of Reductions, Minimizing Threading Overhead,
Work–sharing Sections, Performance– oriented Programming, Using Barrier and No wait,
Interleaving Single– thread and Multi– thread Execution, Data Copy–in and Copy–out,
Protecting Updates of Shared Variables, OpenMP Library Functions, OpenMP
Environment Variables, Compilation, Debugging, performance.
Text 1: Chapter 6
Self-Study Hill, Mark D. 1998. Multiprocessors Should Support Simple Memory
Component: Consistency Models. IEEE Computer (August), 31(8):28–34.
UNIT – V 8 Hours
OpenMP Language Features Introduction Terminology Parallel Construct
Sharing the Work among Threads in an OpenMP Program Clauses to Control
Parallel and Work-Sharing Constructs OpenMP Synchronization Constructs
Interaction with the Execution Environment More OpenMP Clauses Advanced
OpenMP Constructs .
Text 2: Chapter 4
Self-Study Mattson, Tim. Nuts and Bolts of Multithreaded Programming. Santa Clara,
Component: CA: Intel Corporation. Available at: http://www.intel.com.