I want to learn somethin开发者_如何学Gog about distributed algorithms, so I'm looking for any recommendation for books. I'm more interested in theoretical books, because implementation is just the matter of taste (I will use probably erlang (or c#)). But on the other hand I don't want raw, mathematican analyse of algorithms. Just the idea how something works, and why it works.
Nancy Lynch's book Distributed Algorithms is utterly brilliant. Nancy is one of the giants of the field: a great thinker and expositor. Highly recommended.
"Distributed Systems: Principles and Paradigms" by Andrew S. Tanenbaum is still one of the best books I have read on the subject. Read that as a primer, then look for specialized books within the specific areas you are interested in.
Links: Author's site, Amazon, Google Books
You may want to check out these lectures ( i attended them myself (at CTU in Prague) and must say that they were really good): Parallel algorithms by prof. Ing. Pavel Tvrdik Csc.
The idea how algorithms work is always presented in a very good (ilustrated) manner and mathematical background is of course included, if you are interested. The author is a highly valued proffesional in this subject and concentrates more on practical implementations than on pure theory.
Use the lecture slides of MIT or UCB. There the distributed algorithms and implementations courses are taken by the best in the field. They are more comprehensible and you may even find video lectures for them.
Have a look at this book: I prefer it over a lot of other books for beginners as it consider the asynchronus model which is more practical. The explanation is very good and detailed (but it may be seem long if you dont need much details). Chapter 1 to Chapter 4 would make you understand any other distributed algorithm in literature.
http://people.scs.carleton.ca/~santoro/DADA.html
Another book is Gerard Tel's: though if you dont like much mathmatical notations, then it is not good. However, it s a great reference for distirbuted algorithms and has detailed chapters on hot topics such as stabilizing algorithms. The link of the book is:
http://www.staff.science.uu.nl/~tel00101/liter/Books/indaldes.html
Be careful: these books deal with distributed algorithms, and not distributed systems as Tanenbaum's. These books do not deal with parallel algorithms - they are different !
精彩评论