• Complain

Wan Fokkink - distributed Algorithms: An Intuitive Approach An Intuitive Approach

Here you can read online Wan Fokkink - distributed Algorithms: An Intuitive Approach An Intuitive Approach full text of the book (entire story) in english for free. Download pdf and epub, get meaning, cover and reviews about this ebook. publisher: MIT Press, genre: Computer. Description of the work, (preface) as well as reviews are available. Best literature library LitArk.com created for fans of good reading and offers a wide selection of genres:

Romance novel Science fiction Adventure Detective Science History Home and family Prose Art Politics Computer Non-fiction Religion Business Children Humor

Choose a favorite category and find really read worthwhile books. Enjoy immersion in the world of imagination, feel the emotions of the characters or learn something new for yourself, make an fascinating discovery.

No cover
  • Book:
    distributed Algorithms: An Intuitive Approach An Intuitive Approach
  • Author:
  • Publisher:
    MIT Press
  • Genre:
  • Rating:
    4 / 5
  • Favourites:
    Add to favourites
  • Your mark:
    • 80
    • 1
    • 2
    • 3
    • 4
    • 5

distributed Algorithms: An Intuitive Approach An Intuitive Approach: summary, description and annotation

We offer to read an annotation, description, summary or preface (depends on what the author of the book "distributed Algorithms: An Intuitive Approach An Intuitive Approach" wrote himself). If you haven't found the necessary information about the book — write in the comments, we will try to find it.

Wan Fokkink: author's other books


Who wrote distributed Algorithms: An Intuitive Approach An Intuitive Approach? Find out the surname, the name of the author of the book and a list of all author's works by series.

distributed Algorithms: An Intuitive Approach An Intuitive Approach — read online for free the complete book (whole text) full work

Below is the text of the book, divided by pages. System saving the place of the last page read, allows you to conveniently read the book "distributed Algorithms: An Intuitive Approach An Intuitive Approach" online for free, without having to search again every time where you left off. Put a bookmark, and you can go to the page where you finished reading at any time.

Light

Font size:

Reset

Interval:

Bookmark:

Make
Contents
Guide
Pagebreaks of the print version
Distributed Algorithms An Intuitive Approach Second edition Wan Fokkink The - photo 1

Distributed Algorithms

An Intuitive Approach

Second edition

Wan Fokkink

The MIT Press

Cambridge, Massachusetts

London, England

2018 Massachusetts Institute of Technology

All rights reserved. No part of this book may be reproduced in any form by any electronic or mechanical means (including photocopying, recording, or information storage and retrieval) without permission in writing from the publisher.

This book was set in LATEX by the author. Printed and bound in the United States of America.

Library of Congress Cataloging-in-Publication Data

Names: Fokkink, Wan, 1965- author

Title: Distributed algorithms: an intuitive approach / Wan Fokkink

Description: Second edition | Cambridge, MA: The MIT Press, [2018] | Includes bibliographical references and index

Identifiers: LCCN 2017031164 | ISBN 9780262037662 (hardcover: alk. paper)

Subjects: LCSH: Distributed algorithmsTextbooks

Classification: LCC QA76.58.F647 2018 | DDC 004/.36dc23

LC record available at https://lccn.loc.gov/2017031164

d_r0

Contents

Solutions to exercises and LATEX source files of slides for a course based on this textbook are available for prospective lecturers at

http://mitpress.mit.edu/distalgorithms2ed.

Preface

This textbook is meant to be used in a course on distributed algorithms for senior-level undergraduate or graduate students in computer science or software engineering and as a quick reference for researchers in the field. On the one hand it focuses on fundamental and instructive algorithms and results in distributed computing, while on the other hand it aims to exhibit the versatility of distributed and parallel computer systems. The distributed algorithms treated in this book are largely classics that were selected mainly because they are instructive with regard to the algorithmic design of distributed systems or shed light on key issues in distributed computing and concurrent programming. The book also discusses topics that are the focus of exciting new developments, notably transactional memory, blockchains, and quantum cryptography.

There are two very different ways to structure a course on algorithms. One way is to discuss algorithms and their analysis in great detail. The advantage of this approach is that students may gain deep insight into the algorithms and at the same time acquire experience in mathematical reasoning regarding their correctness and performance. Another way is to discuss algorithms and their correctness in an informal manner, and let students get acquainted with an algorithm from different angles by means of examples and exercises, without a need to understand the intricacies of the corresponding model and its underlying assumptions. Mathematical argumentations, which can be a stumbling block for many students, are thus avoided. An additional advantage is that a large number of algorithms can be discussed within a relatively short time, providing students with many different views on, and solutions to, challenges in distributed computing. In 10 years of teaching about distributed algorithms, I have converged on the latter approach, most of all because the students in my lectures tend to have hands-on experience and practical interests with regard to distributed systems. As a result, the learning objective of my course has been algorithmic thought rather than proofs and logic.

This book provides a Cooks tour of distributed algorithms. This phrase, meaning a rapid but extensive survey, refers to Thomas Cook, the visionary tour operator (and not the great explorer James Cook). Accordingly, this book is intended to be a travel guide through the world of distributed algorithms. A notable difference from other books in this area is that it does not emphasize correctness proofs. Algorithms are explained by means of brief, informal descriptions, illuminating examples, and exercises. The exercises have been carefully selected to make students well acquainted with the intricacies of distributed algorithms. Proof sketches, arguing the correctness of an algorithm or explaining the idea behind a fundamental result, are presented at a rather superficial level.

A thorough correctness proof, of course, is important in order to understand an algorithm in full detail. My research area is automated correctness proofs of distributed algorithms and communication protocols, and I have written two textbooks devoted to this topic. In the current textbook, however, intuition prevails. Readers who want to get a more detailed description of distributed algorithms in this book are recommended to consult the original papers, mentioned in the bibliographical notes at the end of each chapter. Moreover, pseudocode descriptions of a considerable number of algorithms are provided as an appendix.

I gratefully acknowledge the support of Helle Hvid Hansen, Jeroen Ketema, and David van Moolenbroek with providing detailed solutions to the exercises in this book, and am thankful for suggested improvements by students regarding earlier versions of these lecture notes. Special thanks go to Stefan Vijzelaar for his feedback on the description of blockchains and to Gerard Tel for his useful comments over the years.

Wan Fokkink

Amsterdam, November 2017

1
Introduction

In this age of the Internet, wide and local area networks, and multicore laptops, the importance of distributed computing is evident. The fact that you have opened this book suggests that no further explanation is needed to convince you of this point. The majority of modern-day system designers, system programmers, and ICT support staff must have a good understanding of distributed and concurrent programming. This, however, is easier said than done. The main aim of this book is to provide students with an algorithmic frame of mind, so that they can recognize and solve fundamental problems in distributed computing.

The two main communication paradigms for distributed systems are message passing, in which nodes send messages to each other via channels, and shared memory, in which different execution threads can read and write to the same memory locations. Both communication paradigms are addressed in this book.

An algorithm is a step-by-step procedure to solve a particular problem on a computer. To become a skilled programmer, it is essential to have good insight into algorithms. Every computer science degree program offers one or more courses on basic algorithms, typically for searching and sorting, pattern recognition, and finding shortest paths in graphs. There, students learn how to detect such subproblems within their computer programs and solve them effectively. Moreover, they are trained to think algorithmically, to reason about the correctness of algorithms, and to perform a simple complexity analysis.

Distributed computing is very different from and considerably more complex than a uniprocessor setting, because executions at the different compute nodes in a distributed system are interleaved. When two such nodes can concurrently perform events, it cannot be predicted which of these events will happen first. This gives rise, for instance, to so-called race conditions: if two messages are traveling to the same node in the network, different behavior may occur depending on which of the messages reaches its destination first. Distributed systems are therefore inherently nondeterministic: running a system twice from the same initial configuration may yield different results. And the number of reachable configurations of a distributed system tends to grow exponentially relative to its number of nodes.

Next page
Light

Font size:

Reset

Interval:

Bookmark:

Make

Similar books «distributed Algorithms: An Intuitive Approach An Intuitive Approach»

Look at similar books to distributed Algorithms: An Intuitive Approach An Intuitive Approach. We have selected literature similar in name and meaning in the hope of providing readers with more options to find new, interesting, not yet read works.


Reviews about «distributed Algorithms: An Intuitive Approach An Intuitive Approach»

Discussion, reviews of the book distributed Algorithms: An Intuitive Approach An Intuitive Approach and just readers' own opinions. Leave your comments, write what you think about the work, its meaning or the main characters. Specify what exactly you liked and what you didn't like, and why you think so.