10CS846 Multi-core Architecture and Programming syllabus for CS


Part A
Unit-1 Introduction 7 hours

The power and potential of parallelism, Examining sequential and parallel programs, Parallelism using multiple instruction streams, The Goals: Scalability and performance portability, Balancing machine specifics with portability, A look at six parallel computers: Chip multiprocessors, Symmetric multiprocessor architectures, Heterogeneous chip designs, Clusters, Supercomputers, Observations from the six parallel computers.

Unit-2 Reasoning about Performance 6 hours

Motivation and basic concepts, Sources of performance loss, Parallel structure, Performance trade-offs, Measuring performance, Scalable performance.

Unit-3 Examples of Multi-Core Architectures 6 hours

Introduction to Intel Architecture, How an Intel Architecture System works, Basic Components of the Intel Core 2 Duo Processor: The CPU, Memory Controller, I/O Controller; Intel Core i7: Architecture, The Intel Core i7 Processor, Intel QuickPath Interconnect, The SCH; Intel Atom Architecture. Introduction to Texas Instruments’ Multi-Core Multilayer SoC architecture for communications, infrastructure equipment

Unit-4 Parallel Algorithm Design 7 hours

Introduction, The Task / Channel model, Foster’s design methodology, Examples: Boundary value problem, Finding the maximum, The n-Body problem, Adding data input.

Part B
Unit-5 Parallel Programming – 1 (Using OpenMP) 7 hours

Designing for threads: Task decomposition, Data decomposition, Data flow decomposition, Implications of different decompositions; Challenges in decomposition, Parallel programming patters, A motivating problem: Error diffusion. Threading and Parallel Programming Constructs: Synchronization, Critical sections, Deadlocks, Synchronization primitives: Semaphores, Locks, Condition variables; Messages, Flow Control-Based concepts: Fence, Barrier; Implementation-Dependent threading issues.

Unit-6 Parallel Programming – 2 (Using OpenMP) 6 hours

Introduction, The shared-memory model, Parallel for loops, Declaring private variables, Critical sections, Reductions, Performance improvements, More general data parallelism, Functional parallelism.

Unit-7 Solutions to Common Parallel Programming Problems 7 hours

Too many threads, Data races, deadlocks, and live locks, Heavily contended locks, Non-blocking algorithms, Thread-safe functions and libraries, Memory issues, Cache-related issues, Avoiding pipeline stalls, Data organization for high performance.

Unit-8 Threading in the Processor 6 hours

Single-Core Processors: Processor architecture fundamentals, Comparing Superscalar and EPIC architectures. Multi-Core Processors: Hardware-based threading, Hyper-threading technology, Multi-Core processors, Multiple processor interactions, Power consumption, Beyond multi-core architecture.

Last Updated: Tuesday, January 24, 2023