Distributed Algorithms (The Morgan Kaufmann Series in Data Management Systems) 1st Edition by Nancy A. Lynch (PDF)

8

 

Ebook Info

  • Published: 1996
  • Number of pages: 899 pages
  • Format: PDF
  • File Size: 38.99 MB
  • Authors: Nancy A. Lynch

Description

In Distributed Algorithms, Nancy Lynch provides a blueprint for designing, implementing, and analyzing distributed algorithms. She directs her book at a wide audience, including students, programmers, system designers, and researchers. Distributed Algorithms contains the most significant algorithms and impossibility results in the area, all in a simple automata-theoretic setting. The algorithms are proved correct, and their complexity is analyzed according to precisely defined complexity measures. The problems covered include resource allocation, communication, consensus among distributed processes, data consistency, deadlock detection, leader election, global snapshots, and many others. The material is organized according to the system model—first by the timing model and then by the interprocess communication mechanism. The material on system models is isolated in separate chapters for easy reference. The presentation is completely rigorous, yet is intuitive enough for immediate comprehension. This book familiarizes readers with important problems, algorithms, and impossibility results in the area: readers can then recognize the problems when they arise in practice, apply the algorithms to solve them, and use the impossibility results to determine whether problems are unsolvable. The book also provides readers with the basic mathematical tools for designing new algorithms and proving new impossibility results. In addition, it teaches readers how to reason carefully about distributed algorithms—to model them formally, devise precise specifications for their required behavior, prove their correctness, and evaluate their performance with realistic measures.

User’s Reviews

Reviews from Amazon users which were colected at the time this book was published on the website:

⭐I am happy with the seriousness of the book. This book is written in a very formal, mathematical style. I am happy with the seriousness of the book, and the breadth of material it covers. I like that it organizes material by network models.What I really dislike about this book is that it provides very little intuition for the algorithms it presents. The book will pose a problem, then present a distributed algorithm that solves the problem, with a proof of correctness. It would be very helpful if the book presented naive attempts at solutions, explaining why they didn’t work, and how the final solution addresses and avoids those failures.This would be helpful because with many of the algorithms Prof. Lynch presents, I waste a lot of time trying to figure out why a simpler approach wouldn’t work. I usually do convince myself why the presented solution truly addresses failings of my naive solutions, but it takes a long time. A second reason this would be helpful is that it would help explain the presented algorithms; I spend a lot of time scratching my head, trying to figure out how a complicated algorithm works. If I could see a simpler, easier to understand, but not entirely correct “partial solution”, I could grok that, and then slowly understand a series of evolutionary steps as we improve that algorithm toward a full solution.This makes the book difficult for use for self-study. In a classroom setting, I think you could get more of the intuition from a lecturer, or from having someone to ask questions too. That said, I do feel a great sense of achievement as I make progress through the book; Prof. Lynch doesn’t rob you of a sense of discovery by taking you through every baby step. But I also would be happier if there were left blanks to fill in and if I could make faster progress through the text.I would still recommend the book; this does appear to be the definitive text, and reading it I feel like I am (slowly) gaining a mastery of this subject. My feedback is really more motivated by a general frustration with many texts written in what I feel to be an overly formal, unintuitive style.

⭐In this book, Nancy A. Lynch provides a very thorough account of the theory of distributed algorithms, using elementary (if sometimes intricate) methods based on I/O automata. Algorithms are presented both informally, and formally using automata. Along the way, a number of bounds and impossibility results are presented. Each chapter includes a useful section providing pointers to the research literature, additional reading, and further bibliographic notes.The book is divided into three sections: synchronous algorithms, asynchronous algorithms, and partially synchronous algorithms (asynchronous algorithms with timing constraints). The first two sections are further divided into shared memory algorithms and network algorithms. Each section is interesting in its own right, of course, but the early sections introduce theoretical tools that are exploited throughout. The final section, on partially synchronous algorithms, was more of a survey than the previous sections. This is perhaps inevitable, because partially synchronous algorithms are a research topic, and not nearly as much is known as is known in the case of purely asynchronous algorithms.One disappointment from my point of view is that there was no use of formal methods (temporal logic, process logics, and such). Instead, proofs generally used straightforward arguments using simulation arguments, invariant assertions, and the like). I would have liked to have seen how formal methods could have been brought to bear on the problems discussed in this book. On the other hand, this is also an advantage because the mathematical prerequisites are kept to a minimum. That does not, however mean this book is an easy read. It can be quite challenging at times.

⭐The book covers somewhat interesting content but I kinda gave up using it because it took too long to unpack what the author is actually trying to convey through their clumsy notation.The author has the same kind of obsession for “formality” as a certain subset of CS people do where they think that using more verbose / formal notation to describe their model of computation to use in their proofs somehow makes it more correct. The algorithms / methods are usually first described in an informal fashion which is still readable without too much effort, but not much description is given before switching to one of several clumsy and verbose notations which I personally didn’t find made arguing about the algorithms or understanding them easier. The proofs are still handwavy at times, they just try to hide this behind the notation.

⭐I know it seems expensive. Really it’s a bargain.If you are interested in distributed and parallel computing then you owe it to yourself to own this.This book is a computer science classic.Un-put-downable!A pure pleasure.

Keywords

Free Download Distributed Algorithms (The Morgan Kaufmann Series in Data Management Systems) 1st Edition in PDF format
Distributed Algorithms (The Morgan Kaufmann Series in Data Management Systems) 1st Edition PDF Free Download
Download Distributed Algorithms (The Morgan Kaufmann Series in Data Management Systems) 1st Edition 1996 PDF Free
Distributed Algorithms (The Morgan Kaufmann Series in Data Management Systems) 1st Edition 1996 PDF Free Download
Download Distributed Algorithms (The Morgan Kaufmann Series in Data Management Systems) 1st Edition PDF
Free Download Ebook Distributed Algorithms (The Morgan Kaufmann Series in Data Management Systems) 1st Edition

Previous articleData Abstraction & Problem Solving with C++: Walls and Mirrors 7th Edition by Frank Carrano (PDF)
Next articleData Structures and Algorithms in C++, Second Edition 2nd Edition by Adam Drozdek (PDF)