Lecture 01 Course Logistics
Course Structure
Note: 80% or more of this course is lifted straight from MIT 6.824, including
lecture notes for many of the lectures.
www.cs.utah.edu/~stutsman/cs6963
Course components
- Lectures about big ideas, papers, labs
Readings: research papers as case studies
- Read papers before class
- Otherwise boring, and you can't pick it up by listening
- there will be quizzes at the start of class to ensure people are engaged
Labs: build increasingly sophisticated fault-tolerant services
- First lab is due on next Thursday
- Get started on second lab as soon as you can
- Lab submission is weird; walk through that.
Project: groups of 3, a proposal, an artifact, final report, and presentation.
TAs: Candy
- answer questions about material, please post on Canvas
- help you with labs
- will post office hours
Explain cheating policy in detail.
Explain the calendar in detail.
- Be a bit careful working way ahead. Things will change.
Explain about Gitlab account name in detail
Not like your typical class.
- Low structure.
- Focus is entirely on discussion and projects.
- Quizzes are just there to keep everyone involved.
- You will get out what you put in.
- You all have control over how much fun this class is.
Class size is much too big in practice.
- I need you to pick up the slack.
- You can hide; please don't.
- You'll get way more out of this if you participate with me and your
classmates.
- I'm an introvert, too.
Expect you'll show up to class each day prepared to discuss.
- Discussion is a major factor in your grade and the reason we're here.
- I'll have quizzes for the lectures to help you out with this.
This class will be quite frontloaded.
By the end it should mostly just consist of reading while hacking.
This class is completely and blatantly ripped straight from the MIT course.
- The projects dictate some of the flow of the class.
- Often this is going to be rushed and awkward.
- e.g. in week 2 you'll be learning one of the most notoriously hard
distributed systems algorithms, in week 3 I'm going to just ditch you and
let you implement it, while I'm gone.
Finally, I'm learning this stuff right along with you guys, and it's
notoriously tricky.
- Tell me when I'm wrong.
- Bear with me when it's hard for me to explain: sometimes I'm working
through it as well.
Expectations
Office Hours
- Office hours are posted. I'll add hours if needed, but also feel free to stop
by whenever if you have shorter questions.
- Candy will be adding her hours shortly.
- See her if you need help with the projects.
- Important that you guys help to take care of one another; try to use Canvas
discussions liberally.
How Can we Improve
- Please -- think at each step: how is the class going?
- What should we be doing differently?
- What is confusing?
- What seems irrelevant?
- What would make class more fun?
- I'm interested in all feedback; this is your course not mine.
Git, handin, and tools
- Explain about Gitlab account name in detail
- Workflow is a bit complicated. Describe.
Learning Go
- Please do the Go Tour, like tonight!
Absence in the Third Week
- Goal is to stay on track, so that projects don't get behind.
- The consensus videos will help (this is an especially challenging topic and
important, so we'll spend quite of time there).
- Candy will have office hours, but I should be on Canvas a lot as well.
- Please use that time to get as much done of the projects as you can.
- I'll try to make sure even Project 3 is up by then. I recommend working as
far ahead as you can.
- We'll want to save as much time for the end of the class as we can.
How should I read?
- Some of these papers are face-meltingly hard.
- I'll try to give you an overview of the upcoming reading assignment at the
end of each prior lecture.
- Try to use this info to orient yourself in the paper and pick up more
details.
- Read critically and try to understand.
Overview of Topics
- Focus will be heavily on data center systems. Why?
- Where the majority of the data is today.
- Lot's of hard distributed systems problems as these scale.
- Performance matters unlike in old P2P research.
- Potential to seriously impact the way people build applications and improve
data-intensive applications.
- Interesting fault-tolerance trade-offs: reliable software/reliable hardware.