| |
CS5416: CLOUD COMPUTING AND ML HOSTING
Instructor: Ken Birman.
4 credits, letter grades only, shares 2 lectures per week with cs4414. TR
2:55-4:10, room Uris G01 (Recitation Friday, 2:55-4:10 in room Phillips 219).
The ugrad TAs will run additional coding workshops
each week with hands-on demos building and debugging C++/Linux applications.
|
CS5416 is an evolution of CS5412, which is not currently being offered.
The idea is to share some lectures with CS4414 (two per week, the ones on
Tuesday and Thursday), but to have a completely different Friday discussion
section (recitation). Whereas CS4414 will focus primarily on projects
that looks at performance and parallelism internal to a single "monolithic"
program, CS5416 will include a big hands-on project that will look at a
complicated machine learning pipeline with multiple processes that talk to
one-another and can run on different computers, and explore performance issues
in that context. The grading formula reflects this: both CS4414 and
CS5416 will share the same prelim2 (and neither has a final), but the
assignments for CS5416 will take more time, and project performance counts for
75% of your grade, versus 50% for CS4414 students.
Where will the cloud content come from? Partly, we from moving a bit
faster than CS4414 did in the past two years: by requiring CS3410 as a
prerequisite, CS4414 can assume familiarity with C, threads, synchronization
and how programming languages compile to instructions. This will
free up some of the Tuesday/Thursday lectures and about six lectures of
content from CS5412 will be migrated into those new slots.
But the other big difference relates to the recitations, which are required:
the Friday session is a genuine lecture, led by a CS PhD TA with a lot of
experience. In CS4414 the Friday lectures will focus on helping people
become strong programmers in C++ and then teaching them to apply ideas about
performance to a big program using various performance tools and ideas from
the course. In CS5416, we will also introduce C++, but then will shift
much more towards understanding the practical question of how people deploy
applications on clouds, and how to assess performance (all the tools are
different than for a single process) and how to improve performance. The
focus will be on the ML pipeline mentioned above -- specifically, a multimodal
RAG LLM that can answer questions about images using a precreated knowledge
base that we'll provide, but will also teach you how it was built. So
you'll emerge from CS5416 with more of a hands-on cloud perspective, while
CS4414 students will emerge with more of a single process orientation.
Because the lectures need to created for this new course, we'll do our best to
post them after each lecture but won't have them earlier (and we also can't
provide videos in this first instance of the course). So if you do not
attend lectures, you will quickly feel lost and there won't necessarily be a
simple way to catch up.
Prerequisites: CS3410 or all of
ECE 2300, ECE 2400, and ECE 3140,
or explicit permission of the instructor.
Appropriate use of AI tools: Please read our
Academic
Integrity policy.
Recitation: Required. We cover as lot of the
material specific to CS5416 in the Friday recitation (which differs from the
CS4414 one)
Enrollment restrictions: Students who have already taken cs4414 are not
permitted to enroll in cs5416.
CS Undergraduates: Undergraduates are permitted to
enroll under this course number, but should note that cs5416 does not satisfy
the CS undergraduate systems course requirement.
Grading: We compute a weighted curve (a ranking) based on your
scores, and assign letter grades based on this ranking. Grades generally
range from B- to A, with half or more of the students receiving A or A- grades.
At the instructor's discretion a few A+ grades are also awarded, but these are
not purely based on the score ranking (attendance and participation are also
considered, and prelim performance is given a slightly higher weighting).
Getting Help
| Canvas |
Canvas is our tool for
assignments and our portal into Ed Discussions |
| Office Hours |
Unlike in past years, we only have in person OH this year. |
| FAQ |
Link |
Course Materials
| Schedule |
Lecture schedule, slides, recitation notes, readings, and code |
| Lab Machines |
Instructions for using the lab machines are on the CS ugrad/MEng web
pages |
| Resources |
Additional course resources are listed in the right-hand column on the
syllabus |
Course Information
| For details |
See the course syllabus for details. |
| Lectures |
Tuesday and Thursday 2:55-4:10 in Uris G01, with a required
recitation Friday 2:55-4:10 in Philips 219 |
| Textbooks |
[1]
Randal E. Bryant and David R. O'Hallaron,
Computer Systems: A
Programmer's Perspective, Third Edition, Pearson, 2016
|
| |
[2]
Bjarne Stroustrup,
A Tour of C++ (2nd Edition), Addison-Wesley Professional, (July 9,
2018) |
| |
[3] Linux. In fact we are not going to
recommend a Linux book, although there are a great many of them.
Linux has online documentation for all the commands we expect you to use, and
also for the "system calls" your code will use from C++. Moreover,
there is a built-in help feature in the bash shell, so you can easily
obtain a list of shell commands, or details on how each specific command
works and what arguments to use if you want custom behavior. And now
that Chatbots are universal (at Cornell, we even get access to a professional
version: CoPilot for Office 365), we prefer
that you use these standard ways of getting help. Linux textbooks
are fine but not really better in any sense. |
| Credit |
4 credits |
| Grading |
In fall 2025, grading will be 25% prelim performance, 75% assignments.
|
| LLMs |
AIs are great for small pieces of code, yet aren't super useful for C++,
because we deal with larger systems and larger code basis -- LLMs get
confused by large code bases. Also, they really aren't helpful when coding or debugging or
performance-tuning, although they can definitely help with things like how to
write a Linux command. We do not
consider it to be cheating to make use of these tools. But check
anything they recommend -- our entire course is on a topic they aren't very
well "trained" on, so they are prone to hallucinations. |
| Homework |
There will be 5 or 6 homeworks, some fairly short and focused, and others
more "project styled". We post the assignments and quizzes on CMS,
but you will need to use Canvas for handing
in work that will be "autograded". We don't use Canvas for anything
else. |
| Exams |
We have two prelims (for details see the exams tab in the menu to the
upper left). We do not have a final; instead there is a final assignment
that can be turned in early, but at the very latest must be submitted by
December 10 at midnight. By December 10 we will have very few graders
available, so anticipate that grading could stretch out until January (you
would get an INC and later it would be revised to a letter grade).
Students on visas and student loan packages are strongly advised to get the
final project in by December 5: we still are fully staffed then and can
guarantee an on-time letter grade! That avoids any risk of being questioned
about the INC on your fall transcript.
|
| Home |
http://www.cs.cornell.edu/courses/cs5416/2025fa |
| Questions |
Canvas has a discussions area (called "ed discussions"), email is fine too, and of course we have a
ton of office hours for you. |
| CMS |
We use Canvas for assignments, but eventually transfer our grades to CMS
because it is much more flexible for grading formulas. So final grades
show up there. |
Main Instructor
| Name |
Ken
Birman |
| Contact |
ken@cs.cornell.edu, x5-9199 |
| Office |
435 Gates Hall |
| Office Hours |
After class (or by appointment: email Ken to find a good time) |
Recitation Instructors
Undergraduate TAs
|