Advanced Operating Systems

Course Website

Average Workload

18.6 hrs/wk

Average Difficulty

4.2 /5

Average Overall

4.1 /5
CS-6210
Advanced Operating Systems
Taken Spring 2022
Reviewed on 5/4/2022
Legacy
Workload: 25 hr/wk
Difficulty: Hard
Overall: Liked

To summarize, -This class has the best set of projects. -The chosen lecture content is not great for 30-40% of the times as they are too specific to old papers. -Exam weeks are stressful, the question papers are given ahead, yet they are unreasonably hard and is atleast 50% memory based and 50% logic based.

CS-6210
Advanced Operating Systems
Taken Spring 2022
Reviewed on 5/3/2022
Legacy
Workload: 24 hr/wk
Difficulty: Very Hard
Overall: Strongly Liked

From Non-CS STEM major but took GIOS before AOS. For GIOS, I spent around 16-17 hours a week and got a solid A. For AOS, I spent about 24 hours a week. This is my 4th class.

Projects:

Project 0: concepts check and threads I'm not fond of this homework—just an unnecessary warmup.

Project 1: Virtual Machine Scheduling in KVM(C, libvirtAPI)

Design & implement an algorithm to allocate/deallocate CPU & memory between VMs. I have redesigned my algorithm several times and spent 50 hours. I like the project and learned from it.

Project 2: Barrier Synchronization (C, openMP & openMPI)

Based on the paper and course contents, you pick up barrier algorithms to implement and then write a report. I spent around 40 hours. I wasn't exposed to openMP and openMPI before. It's nice to know. I like this project, and it helps me understand barriers much better.

Project 3: Distributed Service using GRPC (C++, gRPC)

Implement async client and server. The GIOS project 4 prepared me. At least this time, I already knew gRPC. This project also has some subtle parts that require thinking. I spent around 15 hours on it and had fun. It is nice to have a non-heavy project in the mid of the semester. I appreciate it.

Project 4: Implement MapReduce Framework (C++, proto3 ,gRPC)

Implement a simple version of MapReduce based on the paper. Readme is well-written. It is a pretty cool project. I spent around 45 hours. The paper read time is not counted here. This is my favorite project so far in OMSCS.

Note that I did all projects on my own. But you can also find a partner to work together from P2 to P4.

Lectures, papers, office hours, TAs:

  1. The content is quite dense and requires time to think and understand. I learned a lot this semester.
  2. Besides two mandatory papers, I probably read through another five. There are also several other papers I only read the part I am interested in.
  3. I love the weekly meeting with Professor Kishore. He is nice and passionate about teaching. The office hour contents are well-designed with various quizzes.
  4. TAs are very helpful and active in the piazza.

Tests

Such a relief the questions are given ahead and allow us to discuss in the piazza! Some questions are pretty hard, and there are no alignment and clues on the correct answers after tons of thinking and discussion. The exam week is stressful.

CS-6210
Advanced Operating Systems
Taken Spring 2022
Reviewed on 4/24/2022
Legacy
Workload: 20 hr/wk
Difficulty: Hard
Overall: Neutral

4th class in the program, previous: GOIS, Applied Crypto, RAIT. Overall, I thought this class was OK.

Pros:

  • Projects are doable. You're allowed to work with a partner for projects 2-4 if you want. I did not, but was still able to finish the projects. Project 4 took the longest (they tell you to start early on this one: LISTEN TO THEM), followed by project 1, then 2 and 3. None of the projects are particularly hard, they are just time-consuming.
  • Professor is very invested in the class learning. He held office hours every week and was active on Piazza.
  • 1% grade bump if enough of the class does the CIOS survey at the end of the semester

Neutral:

  • 0.5% grade bump if you attend 10 office hours, OR write summaries of 10 of them. I'm putting this in "Neutral" and not "Pros" because I felt this created more work for those who were unable to attend in person. I say this as someone who did attend in person so did not have to write any summaries. The office hours were held in the evening Atlanta time.
  • Tests were released in advance and we were able to collaborate with other students on the answers, though we had to take the test solo (closed everything). Why is this not in the pros section? Because the tests are HARD. The first test highest grade was in the mid-90s, average in the 80s. We were allowed to discuss the answers before taking it because, per the professor, he "wants learning to occur". However, I found that I would more so try to memorize some of the answers vs understand them when taking the test.

Cons:

  • We used an older version of gcc and gRPC in the class, which some of us were not aware of until submitting code to GradeScope. Either telling us the versions of everything beforehand or updating gcc/gRPC would be helpful.
  • The lectures tend to repeat themselves, as in the professor would explain a concept, then explain it again using slightly different words, then sometimes explain it a third time. I ended up watching the lectures at a faster speed because of this.
  • There are a list of papers that you're supposed to read throughout the semester. I didn't do this, I read 3 of them: 2 that I had to summarize, and 1 that was needed for project 4. Students are required to provide their summaries to everyone, so you can probably get away with reading the summaries, though I didn't even read those unless they papers came up on the test or projects.

Overall, this class was somewhat interesting. Due to the difficultly of the tests I placed "hard" on this review for the difficulty, if the tests were easier it'd drop the overall difficulty a lot. If you're interested in distributed systems & virtualization, I'd recommend taking the course.

CS-6210
Advanced Operating Systems
Taken Spring 2022
Reviewed on 4/24/2022
Legacy
Workload: 15 hr/wk
Difficulty: Hard
Overall: Strongly Liked

This class is more of a "Systems Analysis" class than a raw OS class. There is a ton of lecture content, papers to read and fun projects. If you want an A in this class, expect to spend 20+ hrs a week simply due to all the papers and hangouts. The worst part about this class is the expectation of regurgitating very specific implementation details of obsolete or research systems on the exams, which are a good portion of the grade.

That said, if you are interested in system design, studying and learning about design decisions of said obsolete and research systems can be very insightful.

I enjoyed the projects. Projects 1 and 4 took the most time. 1 because of having to learn libvirt and 4 because of the scope of the project (simplified MapReduce framework). Project 2 was a pure algorithms assignment and project 3, which took me less than 5 hours felt more like a breather project. Some of the requirements on gradescope can be unspecified and people in piazza post frustrations, which are justified.

If you don't stress out about getting an A, you can go in depth with just the papers you are interested in and watch lectures for the rest.

All in all a satisfying class and is the kind I would expect when I do a Master's Degree.

CS-6210
Advanced Operating Systems
Taken Spring 2022
Reviewed on 3/12/2022
Legacy
Workload: 20 hr/wk
Difficulty: Hard
Overall: Neutral

In a lot of was I was extremely frustrated with this course. As I got further into the course I found myself a lot more interested in the content and some of my frustration started to dissipate. The earlier parts of the course focused on traditional operating system design and considerations, but the course quickly started to focus on parallel and distributed systems. So much so that this course might be better named as "Intro to Distributed Computing" instead of "Advanced Operating Systems".

If you don't have proficiency with C/C++ or multi-threading, you may find this course extremely difficult. If that is the case I'd highly recommend taking GIOS first before you commit to taking AOS (especially because GIOS was designed to give the foundational knowledge required to succeed in AOS).

Pros:

  • Professor Kishore is extremely passionate about the subject and it's almost infectious
  • The projects can be interesting
  • The lectures pack a ton of background information that comes directly from assigned readings
  • While attending office hours are part of your grade, they are absolutely worth attending. I found them more enjoyable than the pre-recorded lectures.

Cons:

  • The amount of information feels like drinking from a fire hose, and it's extremely difficult to keep up with readings, lectures, and assignments.
  • Grading is not always straight forward and you may find yourself having to argue with TAs to regain lost points.

Exams: The exams are close book and open ended questions only. The test questions are released 3-4 days before the exam is due and students are allowed to collaborate with each other to come up with the best answers ahead of time. Regardless, these exams are still relatively difficult and grading is based on specific key talking points. Not all answers are directly from the lectures/readings, so you will be forced to think critically based on the information you've learned up to that point. You will learn a ton simply through the process of answering the exam questions.