|Published (Last):||6 November 2017|
|PDF File Size:||10.40 Mb|
|ePub File Size:||19.9 Mb|
|Price:||Free* [*Free Regsitration Required]|
Please check the errata page for the textbook. Back to beginning Syllabus Instructor: Prof. The emphasis will be on proving correctness of algorithms, proving upper and lower bounds on complexity measures, and proving impossibility results. You are expected to be familiar with the general concepts involved in designing and analyzing sequential algorithms.
A good reference book for sequential algorithm analysis is Introduction to Algorithms, Thomas H. Cormen, Charles E. Leiserson, Ronald L. A background in distributed systems, fault-tolerance, operating systems, or networking would be helpful in appreciating possible applications of the results in the course, but is not essential.
Course Goals: In this course we will take a theoretical approach to studying distributed computer systems, especially loosely-coupled and failure-prone ones. The course will cover formal models, algorithm design and analysis, lower bounds, and impossibility proofs. At the end of the semester you should: be familiar with fundamental models, problems, algorithms, lower bound and impossibility results, and proof techniques in distributed computing, be able to design new distributed algorithms for new situations, using as building blocks the algorithms and techniques learned, be able to apply lower bounds and impossibility results learned to new situations where appropriate, have improved ability to prove new lower bounds and impossibility results for new situations.
Course Content and Tentative Schedule: The course will cover the following topics. The relevant chapters of the textbook are indicated. In some cases, supplementary readings will be assigned.
If you cannot turn in an assignment on time, discuss the situation in advance with the instructor. Homework assignments will be due every couple of weeks. More information is here. Once solutions have been discussed or handed out, the assignment will not be accepted grade of 0. Make-up assignments will only be available for university-excused absences. Please discuss unusual circumstances in advance , if possible, with the instructor.
More information on academic integrity, plagiarism, etc.
Distributed Computing (book)
ISBN This book aims to provide a coherent view of the theory of distributed computing, highlighting common themes and basic techniques. It introduces the reader to the fundamental issues underlying the design of distributed systems—communication, coordination, synchronization and uncertainty—and to the fundamental algorithmic ideas and lower bound techniques. This book covers the main elements of the theory of distributed computing, in a unifying approach which emphasizes the similarities between different models, when possible, or explains inherent discrepancies, when they exist. The book presents up-to-date results in a precise, and detailed, yet accessible manner. The emphasis is on fundamental ideas, not optimizations. More difficult results are typically presented as a series of increasingly complex solutions.
Distributed Computing: Fundamentals, Simulations, and Advanced Topics
Distributed computing : fundamentals, simulations, and advanced topics. Hagit Attiya , Jennifer Welch. For the first time, the fundamentals of distributed computing will be accessible to nonspecialists. To make this notoriously difficult subject accessible, Distributed Computing: Fundamentals, Simulations, and Advanced Topics; Second Edition, provides a solid introduction to the mathematical foundations and theory of distributed computing, highlighting common themes and basic techniques. The authors present the fundamental issues underlying the design of distributed systems-communication, coordination, synchronization, and uncertainty-as well as fundamental algorithmic concepts and lower-bound techniques. The book's unifying approach emphasizes the similarities between different models and explains inherent discrepancies between them. Focusing on ideas rather than optimizations, the book discusses major models of distributed computing, including: Message passing and shared memory communication; synchronous and asynchronous timing models, failures, proofs of correctness, and lower bounds Leader election, mutual exclusion, and consensus Causality of events and clock synchronization Simulations between models of distributed computing Advanced topics including randomization, the wait-free hierarchy, asynchronous solvability, and failure detectors With new material on such subjects as fast mutual exclusion and queue locks, and improved coverage of existing material throughout, this Second Edition will serve as a comprehensive textbook for graduate and advanced undergraduate students, and as a key reference for researchers and practicing professionals.