Principles of Distributed Computing
dcg.ethz.ch
dcg.ethz.ch
Has anyone followed the course or read the book? I was actually reading "Distributed Systems - Concepts and Design (Third Edition)" and thought it felt a bit outdated and not enough focused for my taste (there are whole chapters on networking and operating systems for example). Then I found this course/book which seems a lot more in depth and modern but I haven't had time to read it yet and couldn't find any reviews.
I'm very much interested in distributed computing and was recently reading up about things like the Raft consensus algorithm.
You can get by in many cases without fully understanding the topics in this book. Most popular distributed systems that exist today ignore fundamental concepts in at least one of the theoretical areas discussed. But that is also why distributed systems tend to be brittle or exhibit mediocre scalability. The book doesn't fully explain why some of these areas are important but if you study each of the subject areas, it will become obvious.
The course helped me a lot to get a grasp on the complexity of the various underlying challenges the distributed computing and routing world is facing (and with it an idea of the speed achievable).
I can recommend anyone enrolled to visit the course in person (most algorithms and solutions are being "discovered" together with the class on the blackboard, which helped me a lot with a deeper understanding), but I found that the script alone already gives a very good foundation of the principles of distributed computing.
If I really want to master the topic, I will try to only study a few hours a week and do the exercises, but I rarely get the discipline required.
I don't recommend my approach.
It is also easier to get rid of the urge of reading every paper in the world when you're no longer on HN but with a folder full of files you're supposed to process, so when you realize you're not really interested in one of the items you just throw it away.
Jini was not commercially successful, but some of the concepts were quite interesting: mobile code, downloadable client proxies, leasing, look-up by interface, etc.
"The end of protocols" is a short but good read:
http://www.cc.gatech.edu/~keith/classes/ubicomplexity/pdfs/i...
"The Practice of Cloud Computing" is a more balanced approach.
"Unsatisfied with books that cover either design or operations in isolation, the authors created this authoritative reference centered around a comprehensive approach." (quote from the back cover)
Ladies and gentlemen, I present exhibit A: the ToC of "Principles of Distributed Computing". All design. No operations.