CMSC858P: Spring 2025
Time and Location: Tuesday/Thursday, 11am–12:15pm, IRB 2207
Instructor: Laxman Dhulipala; Office hours Tuesday 12:30–1:30pm.
Teaching Assistants TBD
This is a research-oriented course on the theory and practice of shared-memory algorithms. The main goal is to develop a rigorous and practical understanding of how to design efficient concurrent and parallel algorithms, and how to deploy them to solve large-scale problems on real shared-memory systems.
The majority of the work in this course will be (1) to read and present papers in front of the class, and (2) to apply the ideas from the course in a hands-on project.
To get an idea of the kinds of topics we will cover, you can take a look at these notes on parallel algorithms or the book The Art of Multiprocessor Programming by Herlihy and Shavit.
Prerequisites: You should be comfortable with correctness and efficiency proofs of algorithms (e.g., having taken CMSC451 or a similar course is sufficient). Prior experience with C/C++ is highly recommended.
Any student eligible for and requesting reasonable academic accommodations due to a disability is requested to provide, to the instructor in office hours, a letter of accommodation from the Office of Disability Support Services (DSS) within the first two weeks of the semester.