17CS666 Multicore Architecture and Programming syllabus for CS



A d v e r t i s e m e n t

Module-1 Introduction to Multi-core Architecture 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, Multi-threading 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, Virtual Environment: VMs and Platforms, Runtime Virtualization, System Virtualization.

Module-2 Fundamental Concepts of Parallel Programming 8 hours

Fundamental Concepts of Parallel Programming:

Designing for Threads, Task Decomposition, Data Decomposition, Data Flow Decomposition, Implications of Different Decompositions, Challenges You’ll Face, Parallel Programming Patterns, A Motivating Problem: Error Diffusion, Analysis of the Error Diffusion Algorithm, An Alternate Approach: Parallel Error Diffusion, Other Alternatives.

 

Threading and Parallel Programming Constructs:

Synchronization, Critical Sections, Deadlock, Synchronization Primitives, Semaphores, Locks, Condition Variables, Messages, Flow Control- based Concepts, Fence, Barrier, Implementation-dependent Threading Features

Module-3 Threading APIs 8 hours

Threading APIs:

ThreadingAPls for Microsoft Windows, Win32/MFC Thread APls, Threading APls for Microsoft. NET Framework, Creating Threads, Managing Threads, Thread Pools, Thread Synchronization, POSIX Threads, Creating Threads, Managing Threads, Thread Synchronization, Signaling, Compilation and Linking.

Module-4 OpenMP: A Portable Solution for Threading 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 Multithread Execution, Data Copy-in and Copy-out, Protecting Updates of Shared Variables, Intel Task queuing Extension to OpenMP, OpenMP Library Functions, OpenMP Environment Variables, Compilation, Debugging, performance

Module-5 Solutions to Common Parallel Programming Problems 8 hours

Solutions to Common Parallel Programming Problems:

Too Many Threads, Data Races, Deadlocks, and Live Locks, Deadlock, Heavily Contended Locks, Priority Inversion, Solutions for Heavily Contended Locks, Non-blocking Algorithms, ABA Problem, Cache Line Ping-ponging, Memory Reclamation Problem, Recommendations, Thread-safe Functions and Libraries, Memory Issues, Bandwidth, Working in the Cache, Memory Contention, Cache-related Issues, False Sharing, Memory Consistency, Current IA-32 Architecture, Itanium Architecture, High-level Languages, Avoiding Pipeline Stalls on IA-32,Data Organization for High Performance.

 

Course outcomes:

The students should be able to:

  • Identify the issues involved in multicore architectures
  • Explain fundamental concepts of parallel programming and its design issues
  • Solve the issues related to multiprocessing and suggest solutions
  • Discuss salient features of different multicore architectures and how they exploit parallelism
  • Illustrate OpenMP and programming concept

 

Question paper pattern:

  • The question paper will have TEN questions.
  • There will be TWO questions from each module.
  • Each question will have questions covering all the topics under a module.
  • The students will have to answer FIVE full questions, selecting ONE full question from each module.

 

Text Books:

1. Multicore Programming , Increased Performance through Software Multi-threading by ShameemAkhter and Jason Roberts , Intel Press , 2006

 

Reference Books:

NIL

Last Updated: Tuesday, January 24, 2023