
Principles of Distributed Computing - olalonde
http://dcg.ethz.ch/lectures/podc_allstars/
======
olalonde
The whole book is available for download here:
[http://dcg.ethz.ch/lectures/podc_allstars/lecture/podc.pdf](http://dcg.ethz.ch/lectures/podc_allstars/lecture/podc.pdf)

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.

~~~
shadeslayer
Would you recommend this for someone who is just beginning with the basics of
Distributed Computing and does not have a CS background? If not, any
recommendations? :)

I'm very much interested in distributed computing and was recently reading up
about things like the Raft consensus algorithm.

~~~
oinksoft
Elements of Distributed by Computing by Vijay Garg is great:
[http://www.amazon.com/Elements-Distributed-Computing-
Vijay-G...](http://www.amazon.com/Elements-Distributed-Computing-Vijay-
Garg/dp/0471036005)

------
javajosh
I'm actually rather curious to know how HN people use resources like this. Do
you set aside a few hours a week and do a self-course on the content? Do you
skim it and smile and node? Do you bookmark it and never get around to reading
it? Something else...?

~~~
chengiz
We download the book. If the pdf is in parts, we will use pdftk etc to join it
into one document. We will then move it to a relevant spot in a well organized
folder hierarchy, renaming it for consistency if necessary. Then we never open
it again.

------
krat0sprakhar
Shameless plug: If you're interested in more such university courses on
systems that make their lectures, assignments available checkout
[https://github.com/prakhar1989/awesome-
courses#systems](https://github.com/prakhar1989/awesome-courses#systems)

------
wstrange
I am curious why Jini gets no mention in a book on distributed computing.

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...](http://www.cc.gatech.edu/~keith/classes/ubicomplexity/pdfs/infra/waldo-
end-of-proto.pdf)

~~~
justin66
It was never popular and has been a dead technology for over a decade. (I can
only go by mentions in publications. For all I know it has millions of
deployments in some gadget or another. I suspect not.)

~~~
seanmcdirmid
Not entirely true; many of the concepts from Linda (Jini/Javaspaces) are
around in the form of KV stores.

~~~
justin66
Could you elaborate on that? I'm pretty sure you mean something more
sophisticated than a key-value store, which is about as old and dead simple a
concept as we have.

~~~
seanmcdirmid
No, I mean, tuple spaces were always quite simple as well as a simplification,
and the use of KV stores in many distributed computing tasks continued that
trend under another less soiled name.

------
YesThatTom2
Shameless plug...

"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.

[http://the-cloud-book.com](http://the-cloud-book.com)

~~~
rev_bird
Seconding this recommendation, and not just because I suspect YesThatTom2 is
Mr. Limoncelli. It might look at first like it just goes over the basics (what
a load balancer is, what config management is, etc.), but it covers a huge
amount of material in very accessible terminology and does a lot to clear up
best practices that might not be obvious at first. Just bought a copy for a
new junior member of our team who is terrified by all this new stuff; I'm
totally confident he'll be able to get through the book and feel much better
about things.

