Familiarity with multi-threading in C/C++.
Course Introduction
Course Contents
- Introduction; Mutual Exclusion;
- Concurrent Objects; Foundations of Shared Memory;
- Consistency condition for concurrent objects: Sequential consistency, Linearizability;
- Consensus; Universality; Spin Locks;
- Multi-thread Linked Lists; Queues and Stacks; Counting; Hash Sets;
- Futures and Work-Stealing; Barriers; Transactional Memory;
- Parallel Graph and Matrix Algorithms
What you'll learn
The students will learn efficient techniques for synchronization and parallel programming in this course.
About the Instructor
Dr. Sathya Peri is currently a Professor in CSE Department of IIT Hyderabad (IITH). His research interests broadly comprise of parallel and distributed systems. One of the areas he looks at is efficient ways to parallelize using Software Transactional Memory Systems (STMs) while also exploring lock-free & wait-free algorithms. In the context of distributed systems, his interest includes Blockchain and Peer-to-Peer Systems. He is currently working on improving the efficiency of Smart Contract Execution in Blockchains Systems.
Instructor ProfileCourse Assessment
Assessment may consist of assignments &/or quizzes &/viva &/or exams.
(More details on assessment will be provided at the start of the course).