AboutDue to the massive volume of data, many modern services are nowadays executed in a distributed fashion by resorting to MapReduce, Hadoop, Flume, Spark and similar (so-called) MPC frameworks. But how can one exploit the capabilities of MPC frameworks to design efficient algorithms? This course focuses on answering this question in the context of some basic combinatorial optimization problems, including maximum matching, PageRank, minimum vertex cover, maximal independent set, connected components, and clustering algorithms.
The in-class discussion will mainly focus on theoretical aspects of solving tasks in MPC, occasionally touching on practical relevance as well. The goal of this course is to equip students with tools and techniques that led to state-of-the-art results for the aforementioned problems.
GradingGrading details will be posted on Canvas when the course begins. Tentatively, a grade will be formed based on the following:
- Scrabing -- each student will be in charge of compiling a lecture note for one lecture.
- In-class participation in discussions.
- One or two homeworks.
- A presentation or a report. Details will be discussed in class.
- There will be no exam nor midterm.
- Lecture notes compiled by students will be available online, typically within a week from a lecture.
- Lectures will be based on publicly available research papers and reports, and links to those will be shared in lecture notes.
- The lectures will not be recorded.
- The course will not be held online.