| |
NSM Mini-Course onConcurrent Programming July 25 -- 30, 2022
|
|
|
Concurrent Programming is an upcoming area in Computer Science. In the recent past, chip manufacturers are moving towards simultaneous multi-threaded architectures because of their advantages in simultaneously utilizing and sharing multiple resources, such as ALUs, and memory hierarchy, etc. Currently, researchers and software engineers are focusing on scalable and energy-efficient algorithms for multi-threaded architectures. As a result, the role of Concurrent Programming in designing scalable and energy-efficient multi-threaded implementations is increasing.
Objective
Introduce fundamentals of concurrent programming
and develop skills to implement efficient parallel programs.
Topics
- Introduction to Concurrent Objects and Linearizability Concepts
- Memory Consistency Models and Coherency Protocols
- Synchronization Primitives: Locks and Barriers
- Implementation of Locks: Mutex and Spin Locks
- Synchronization Techniques: Coarse-grain, Fine-grain, Optimistic, Lazy, and Non-blocking
- Implementation of Concurrent Data Structures: Stacks, Queues, Trees, Skiplists, and Hashing
- Restructuring applications for Memory Hierarchies and Work Distribution
Who should attend?
- Students interested in parallel programming
- Practitioners working with parallel programming models
- Instructors teaching parallel programming and data structures
| | |
What do I get from the workshop?
- Understanding of the fundamental principles of concurrency
- Pointers to tools and techniques for practical use
- Possible research topics for further exploration
After successful completion of the workshop, a certificate will be awarded to each participant attending all the sessions.
|
Speakers
Powered by NSM Nodal Centre for Training in HPC and AI
|