NSM Mini-Course on

Concurrent Programming

July 25 -- 30, 2022

 

Home   |   Registration   |   Schedule   |   Speakers

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.



Register Now.

Speakers


Praveen Alapati

Mahindra Ecole Centrale

Saurabh Kalikar

Intel Labs

Kalyan T V

IIT Ropar

Debiprasanna Sahoo

IIT Roorkee


Powered by NSM Nodal Centre for Training in HPC and AI