CS 7680 Special Topics in Systems - 2022 Spring
Serverless Computing
Course Information
Serverless computing is a new model and trend in the cloud that allows users to run tasks without having to manage virtual machine instances. Users are mainly responsible for writing the "function" for the task that they want to run and the cloud provider schedules, deploys, and scales the task. The user only pays for the function invocation and the serverless model is more economical than the conventional VM-based models. The serverless paradigm is changing the way how people write and deploy large-scale distributed computing jobs to the cloud and its usage is expected to grow.
This course is a seminar-style course which explores research topics related to serverless computing and its applications. The first few classes will be led by the instructor to cover the overview of serverless computing and the rest of the class will be based on reading, presenting, and discussing papers in the relevant area. Each student will present a few papers throughout the semester and will engage in a semester-long project.
Time: Tuesdays 11:45 am - 1:25 pm and Thursdays 2:50 pm - 4:30 pm.
Location: room 158, Ryder Hall.
Textbook: no required textbook
Instructor
Ji-Yong Shin
Email: j.shin@northeastern.edu
Office Hours: 2-4 pm, Wednesdays.
Tools for the course
This webpage: the main course webpage, schedule & reading list, presentation slides, etc.
Canvas: announcement notifications (please subscribe to Canvas email) and assignments
MS Teams: office hours and online discussions.
Schedule and Reading List
Refer to the schedule page at the top right menu or click here.
Grades
The grade will be based on one programming assignment (10%), one semester-long project (40%), paper presentations & discussion-leading (30%), paper critiques (10%), and course participation (10%).
* The percentage can change depending on the presentation load.
Assignments
TBD.
Projects
Students will choose their own topic related to serverless computing and work on the project throughout the semester.
Late Policy
The grade for late submissions will be deducted by 1/3 of the grade without the penalty each day.
Resources
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.
Academic Integrity
This course complies with the Northeastern University's Academic Integrity Policy: http://www.northeastern.edu/osccr/academic-integrity-policy/