Summary Dialogue on Distribution

Part III πŸ’¬ Dialogue OSTEP pp. 653–655 Β· ~4 min read

The distributed arc β€” and the book β€” close the way everything else did: the professor, the student, and one last look back.

Student:Well, that was quick. Too quick, in my opinion!
Professor:Yes, distributed systems are complicated and cool and well worth your study; just not in this book (or course).
Student:That’s too bad; I wanted to learn more! But I did learn a few things.
Professor:Like what?
Student:Well, everything can fail.
Professor:Good start.
Student:But by having lots of these things (whether disks, machines, or whatever), you can hide much of the failure that arises.
Professor:Keep going!
Student:Some basic techniques like retrying are really useful.
Professor:That’s true.
Student:And you have to think carefully about protocols : the exact bits that are exchanged between machines. Protocols can affect everything, including how systems respond to failure and how scalable they are.
Professor:You really are getting better at this learning stuff.

Everything the distributed arc earned, gathered in one place β€” click each row for where it was learned:

The student's mental model of distributed systems β€” six load-bearing beliefs from the distributed arc, and where each was earned
the belief
1Everything can fail
2Redundancy hides failure
3Retry is a workhorse
4Communication is the heart
5Protocols shape everything
6Two ways to build a distributed FS
Dotted-underlined cells have explanations β€” click one.
Student:Thanks! And you’re not a bad teacher yourself!
Professor:Well thank you very much too.
Student:So is this the end of the book?
Professor:I’m not sure. They don’t tell me anything.
Student:Me neither. Let’s get out of here.
Professor:OK.
Student:Go ahead.
Professor:No, after you.
Student:Please, professors first.
Professor:No, please, after you.
Student:(exasperated) Fine!
Professor:(waiting) … so why haven’t you left?
Student:I don’t know how. Turns out, the only thing I can do is participate in these dialogues.
Professor:Me too. And now you’ve learned our final lesson…

The End β€” Three Easy Pieces

And that’s the book. We virtualized one CPU into many and one memory into many address spaces; we made threads cooperate without stepping on each other; we made data persist across crashes, failing disks, and lying devices β€” and finally stretched it across a network of machines that fail all the time. Virtualization, concurrency, persistence: the three easy pieces. Thanks for reading β€” now go build something.

Check yourself: the distributed arc in review

1.The student's headline lesson about distributed systems is a pair of ideas. What are they?

2.Which 'basic technique' does the student single out as really useful?

3.Why does the student conclude that protocols matter enormously?

4.The arc showed two contrasting ways to build a distributed file system. Which pairing is right?

4 questions