Parallel Methods for Vlsi Layout Design

edge of how to construct distributed algorithms. It regards the techniques of leader election, distributed snapshots, and network synchronization as building blocks for thi:; purpose. It derives estimates of the message complexity and the time complexity for all algorithms in Part I. In particular, this chapter illustrates with three general synchronizers the mutual dependence between these two complexities. Barbosa dedicates the final five chapters to a particular class of problems and related algorithms. Chapter 6 builds a framework of algorithmic approaches and tools for stability detection and, more specifically, for detecting deadlocks and the termination of distributed computations. Chapter 7 considers problems closely rclated to thosc in Chapter 4. It includes graph algorithms to find minimum spanning trees and a maximum flow in directed graphs. Chapter 8 studies the problems cif shearing resources, considering in particular the classic dining philosophers problem and drinking philosophers problem. These correspond respectively to the cases of ensuring mutual exclusion, when each node accesses one and the same set of resources during the distributed computation, and when the set of resources might vary from one time to the next. The last two chapters of the book discuss program debugging and the simulation of distributed programs and systems, An Introduction to Distributed Algorithms is intended to support a one-term advanced undergraduate or first-year graduate course in computer science or software engineering. Depending on the students’ level of knowledge, the instructor could omit the first two chapters. If preparing a one-term course on distributed algorithms, the instructor might also regard the last four chapters as optional. In addition, the book can be used by computer scientists and software engineers. Professionals who are not specialists in parallel computing, but who would like some introductory knowledge about distributed algorithms, can also use this self-contained book.The required background is limited to some familiarity with basic graph theory. Every chapter has a section with exercises that can be classified in two groups: direct implementation of the general techniques for a particular case or, for more knowledgable readers, advanced treatment of the topics discussed in the textbook. The hook is written clearly and on the appropriate level, and satisfies the need for new and systematic information in the field of distributed algorithms. The bibliography contains 349 titles: 166 published after 1990. Each chapter ends with bibliographic notes indicating the original sources from which the main results wcrc taken. These notes are especially useful for readers who would like to find more detailed information about some of the topics discussed in the book.