This seminar course covers advanced topics in distributed systems. In particular, the course will review classical to modern distributed system papers and learn how distributed system theories apply to practical system designs. The focus will be on studying various protocols and designs that implement different distributed consistency semantics. The class will alternate discussing theoretical and practical distributed system papers.
The instructor will lead the first few classes in a lecture style to cover the basics of distributed systems. The remainder of the class will be in a seminar format: reading, presenting, and discussing academic papers. Each student will present a few papers throughout the semester and will engage in a semester-long project.
Time: TF 9:50 AM - 11:30 AM
Location: Shillman Hall 315
Textbook: no required textbook
Ji-Yong Shin
Email: j.shin@northeastern.edu
Office Hours: sign up via Canvas Page (https://northeastern.instructure.com/courses/198706/pages/instructor-office-hours)
This webpage: the main course webpage, schedule & reading list, presentation slides, etc.
Canvas: announcement (please subscribe to Canvas email) and project submission
MS Teams: online discussions.
Refer to the schedule page at the top right menu or click here.
One semester-long project (40%), paper presentations & discussion-leading (30%), paper critiques (15%), and course participation (15%).
* Subject to change.
Students will choose their own topic related to serverless computing and work on the project throughout the semester.
Upload in pdf format (approximately 1 page and 2 pages max).
What needs to be included in the report?
- Research problems/questions and motivations
- Assumptions
- Solutions/approaches/designs
- Evaluation methodologies
- Key contributions / comparisons with other work
- What are the shortcomings and how can one improve the paper?
Resources about how to read/write papers:
- How to read a paper, S. Keshav
http://ccr.sigcomm.org/online/files/p83-keshavA.pdf
- How (and how not) to write a good systems paper, Roy Levin and David D. Redell
https://www.usenix.org/conferences/author-resources/how-and-how-not-write-good-systems-paper
The grade for late submissions will be deducted by 1/3 of the grade without the penalty each day.
The papers in the schedule are the main resources for this course. Some other useful resources are:
"Distributed systems : concepts and design," George F. Coulouris, Jean Dollimore, Tim Kindberg, Gordon Blair, England Harlow, Addison-Wesley.
"Distributed Systems," 3rd edition, Maarten van Steen, Andrew S. Tanenbaum, (https://www.distributed-systems.net/index.php/books/ds3/).
"Guide to Reliable Distributed Systems," 2012th Edition, Kenneth P. Birman, Springer.
Beej's Guide to Network Programming: http://beej.us/guide/bgnet/.
"Pro git," 2nd Edition, Scott Chacon, Ben Straub, Apress (https://git-scm.com/book/en/v2).
"The Tao of Tmux," Tony Narlock (https://leanpub.com/the-tao-of-tmux/)
GNU screen manual: https://www.gnu.org/software/screen/manual/screen.html.
Text editors: vim/emacs/nano/etc.
Text editor plugins: There are many useful C++-related plugins for text editors: e.g., auto completion, auto indentation and formatting, project management, etc.
This course complies with the Northeastern University's Academic Integrity Policy: http://www.northeastern.edu/osccr/academic-integrity-policy/