I'm looking for course suggestions in intermediate to advanced topics in Distributed systems and operating systems.<p>Example: this course on Raft by David Beazley https://www.dabeaz.com/raft.html.<p>Any suggestions/help/advice is much appreaciated.
This lecture series by Martin Kleppman is excellent: <a href="https://youtube.com/playlist?list=PLeKd45zvjcDFUEv_ohr_HdUFe97RItdiB&si=YNAQASKxSNTu3JVr">https://youtube.com/playlist?list=PLeKd45zvjcDFUEv_ohr_HdUFe...</a> as well as his book “ Designing Data-Intensive Applications”<p>Reading trough the Jepsen analyses is also invaluable (not for the faint hearted, you might find some software that is dear to you absolutely torn to shreds in there): <a href="https://jepsen.io/analyses" rel="nofollow noreferrer">https://jepsen.io/analyses</a><p>Finally, all of the classic papers are worth a read: spanner, bigtable, google file system, dynamodb, chubby, dapper, the google paxos engineering paper, the main ones from Lamport… that said distributed system is a vast field, resources as far apart as the bitcoin paper or the original Shapiro paper on CRDTs might be of interest :)
I went down the same rabbit hole not too long ago. My top two:
1. Distributed Systems for Fun and Profit [0]: Introduction to all the core concepts and (about as importantly) has a reading list you can use to learn more at the end of each chapter.<p>2. MIT 6.5840 [1]: The MIT distributed systems class has links to all readings, lectures, and even assignments (openly available git repos you can clone). I worked my way through most of it and it was excellent. Read the paper, watch the video lecture (students in the videos asked good questions I would have wanted to ask), and do the assignments. It was far more approachable than I anticipated but very rigorous.<p>Both are excellent. I did the first one and then most of the second and learned a lot. In either case, reading papers was really illuminating (especially when paired with the context form tje lecture or the book).<p>[0] <a href="https://book.mixu.net/distsys/index.html" rel="nofollow noreferrer">https://book.mixu.net/distsys/index.html</a>
[1] <a href="https://pdos.csail.mit.edu/6.824/schedule.html" rel="nofollow noreferrer">https://pdos.csail.mit.edu/6.824/schedule.html</a>
Though not a course<p>Would highly recommend unmesh Joshi's
<a href="https://martinfowler.com/articles/patterns-of-distributed-systems/" rel="nofollow noreferrer">https://martinfowler.com/articles/patterns-of-distributed-sy...</a><p>To learn i tried adapting them in video lectures.<a href="https://youtube.com/playlist?list=PLNFJm7gz3hcPjqOK2PUkcJnGIhhUxJaLa&feature=shared">https://youtube.com/playlist?list=PLNFJm7gz3hcPjqOK2PUkcJnGI...</a>
This series of challenges from Fly.io seems to be good: <a href="https://fly.io/dist-sys/">https://fly.io/dist-sys/</a>