Copyright
Acquiring Editor:Todd Green
Editorial Project Manager:Lindsay Lawrence
Project Manager:Punithavathy Govindaradjane
Designer:Maria Ins Cruz
Morgan Kaufmann is an imprint of Elsevier
225 Wyman Street, Waltham, MA 02451, USA
Copyright 2014 Elsevier Inc. All rights reserved.
No part of this publication may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording, or any information storage and retrieval system, without permission in writing from the publisher. Details on how to seek permission, further information about the Publishers permissions policies and our arrangements with organizations such as the Copyright Clearance Center and the Copyright Licensing Agency, can be found at our website: www.elsevier.com/permissions.
This book and the individual contributions contained in it are protected under copyright by the Publisher (other than as may be noted herein).
Notices
Knowledge and best practice in this field are constantly changing. As new research and experience broaden our understanding, changes in research methods or professional practices, may become necessary. Practitioners and researchers must always rely on their own experience and knowledge in evaluating and using any information or methods described herein. In using such information or methods they should be mindful of their own safety and the safety of others, including parties for whom they have a professional responsibility.
To the fullest extent of the law, neither the Publisher nor the authors, contributors, or editors, assume any liability for any injury and/or damage to persons or property as a matter of products liability, negligence or otherwise, or from any use or operation of any methods, products, instructions, or ideas contained in the material herein.
Library of Congress Cataloging-in-Publication Data
Herlihy, Maurice.
Distributed computing through combinatorial topology / Maurice Herlihy, Dmitry Kozlov, Sergio Rajsbaum.
pages cm
Includes bibliographical references and index.
ISBN 978-0-12-404578-1 (alk. paper)
1. Electronic data processingDistributed processingMathematics.
2. Combinatorial topology. I. Kozlov, D. N. (Dmitrii Nikolaevich) II. Rajsbaum, Sergio. III. Title.
QA76.9.D5H473 2013
004.36dc23
2013038781
British Library Cataloguing-in-Publication Data
A catalogue record for this book is available from the British Library
ISBN: 978-0-12-404578-1
Printed and bound in the United States of America
14 15 16 17 18 10 9 8 7 6 5 4 3 2 1
For information on all MK publications visit our website at www.mkp.com
Dedication
For my parents, David and Patricia Herlihy, and for Liuba, David, and Anna.
To Esther, David, Judith, and Eva-Maria.
Dedicated to the memory of my grandparents, Itke and David, Anga and Sigmund, and to the memory of my Ph.D. advisor, Shimon Even.
Acknowledgments
We thank all the students, colleagues, and friends who helped improve this book: Hagit Attiya, Irina Calciu, Armando Castaeda, Lisbeth Fajstrup, Eli Gafni, Eric Goubault, Rachid Guerraoui, Damien Imbs, Petr Kuznetsov, Hammurabi Mendez, Yoram Moses, Martin Raussen, Michel Raynal, David Rosenblueth, Ami Paz, Vikram Seraph, Nir Shavit, Christine Tasson, Corentin Travers, and Mark R. Tuttle. We apologize for any names inadvertently omitted.
Special thanks to Eli Gafni for his many insights on the algorithmic aspects of this book.
Preface
This book is intended to serve as a textbook for an undergraduate or graduate course in theoretical distributed computing or as a reference for researchers who are, or want to become, active in this area. Previously, the material covered here was scattered across a collection of conference and journal publications, often terse and using different notations and terminology. Here we have assembled a self-contained explanation of the mathematics for computer science readers and of the computer science for mathematics readers.
Each of these chapters includes exercises. We think it is essential for readers to spend time solving these problems. Readers should have some familiarity with basic discrete mathematics, including induction, sets, graphs, and continuous maps. We have also included mathematical notes addressed to readers who want to explore the deeper mathematical structures behind this material.
The first three chapters cover the fundamentals of combinatorial topology and how it helps us understand distributed computing. Although the mathematical notions underlying our computational models are elementary, some notions of combinatorial topology, such as simplices, simplicial complexes, and levels of connectivity, may be unfamiliar to readers with a background in computer science. We explain these notions from first principles, starting in we describe the approach in more detail for the case of a system consisting of two processes only. Elementary graph theory, which is well-known to both computer scientists and mathematicians, is the only mathematics needed.
The graph theoretic notions of , where most of the topological notions used in the book are presented. Though similar material can be found in many topology texts, our treatment here is different. In most texts, the notions needed to model computation are typically intermingled with a substantial body of other material, and it can be difficult for beginners to extract relevant notions from the rest. Readers with a background in combinatorial topology may want to skim this chapter to review concepts and notations.
The next four chapters are intended to form the core of an advanced undergraduate course in distributed computing. The mathematical framework is self-contained in the sense that all concepts used in this section are defined in the first three chapters.
In this part of the book we concentrate on the so-called colorless tasks, a large class of coordination problems that have received a great deal of attention in the research literature. In
, we put these pieces together to give necessary and sufficient conditions for solving general tasks in various models of computation. Here notions from elementary point-set topology, such as open covers and compactness are used.
The final part of the book provides an opportunity to delve into more advanced topics of distributed computing by using further notions from topology. These chapters can be read in any order, mostly after having studied uses Schlegel diagrams to prove basic topological properties about our core models of computation.
Maurice Herlihy was supported by .
Sergio Rajsbaum by UNAM PAPIIT and PAPIME Grants.
Dmitry Kozlov was supported by the University of Bremen and the German Science Foundation.