Algorithmes Distribués
Cyril Gavoille
LaBRI
Laboratoire Bordelais de Recherche
en Informatique, Université de Bordeaux
13 septembre 2021
– 196 pages –
cbna Ce document est publié sous Licence Creative Commons « Attribution - Pas d’Utilisation
Commerciale - Partage dans les Mêmes Conditions 4.0 International (CC BY-NC-SA 4.0) ».
Cette licence vous autorise une utilisation libre de ce document pour un usage non com-
mercial et à condition d’en conserver la paternité. Toute version modifiée de ce document doit être placée sous la
même licence pour pouvoir être diusée. https://creativecommons.org/licenses/by-nc-sa/4.0/deed.fr
ii
iii
Algorithmes Distribués
– Master 1 & 2 –
Objectifs : Introduire l’algorithmique distribuée; concevoir et analyser des algo-
rithmes distribuées (M2); présenter diérentes applications et problématiques ac-
tuelles; programmer des algorithmes sur un simulateur de calcul distribué (M1).
Pré-requis : Algorithmique; notions de théorie des graphes
Quelques ouvrages de référence :
Distributed Computing : A Locality-Sensitive Approach
David Peleg
SIAM Monographs on Discrete Mathematics and Applica-
tions, 2000
Distributed Graph Coloring : Fundamentals and Recent Develop-
ments
Leonid Barenboim et Mickael Elkin
Morgan & Claypool, 2013
Distributed
Computing Pearls
Gadi Taubenfeld
Series Editor: Michel Raynal, University of Rennes, France and Hong Kong Polytechnic University
Distributed Computing Pearls
Gadi Taubenfeld, e Interdisciplinary Center, Herzliya
Computers and computer networks are one of the most incredible inventions of the 20th
century, having an ever-expanding role in our daily lives by enabling complex human
activities in areas such as entertainment, education, and commerce. One of the most
challenging problems in computer science for the 21st century is to improve the design of
distributed systems where computing devices have to work together as a team to achieve
common goals.
In this book, I have tried to gently introduce the general reader to some of the
most fundamental issues and classical results of computer science underlying the design
of algorithms for distributed systems, so that the reader can get a feel of the nature of this
exciting and fascinating eld called distributed computing. e book will appeal to the
educated layperson and requires no computer-related background. I strongly suspect that
also most computer-knowledgeable readers will be able to learn something new.
ABOUT THE AUTHOR
Gadi Taubenfeld is a professor and past dean of the School of Computer Science at the
Interdisciplinary Center in Herzliya, Israel. He is an established authority in the area
of concurrent and distributed computing and has published widely in leading journals
and conferences. He authored the book Synchronization Algorithms and Concurrent
Programming, published by Pearson Education. His primary research interests are in
concurrent and distributed computing. Gadi was the head of the computer science
division at Israel’s Open University; member of technical sta at AT&T Bell Laboratories;
consultant to AT&T Labs-Research; and a research scientist and lecturer at Yale University.
Gadi served as the program committee chair of PODC 2013 and DISC 2008 and holds a
Ph.D. in Computer Science from the Technion-Israel Institute of Technology.
Synthesis Lectures on Distributed Computing Theory
Synthesis Lectures on Distributed Computing Theory
store.morganclaypool.com
TAUBENFELD DISTRIBUTED COMPUTING PEARLS MORGAN & CLAYPOOL PUBLISHERS
Distributed Computing Pearls
Gadi Taubenfeld
Morgan & Claypool, 2018
Design and Analysis of Distributed Algorithms
Nicola Santoro
Wiley Series on Parallel and Distributed Computing, 2006
iv
Distributed Algorithms for Message-Passing Systems
Michel Raynal
Springer, 2013
Introduction to Distributed Algorithms (2nd Edition)
Gerard Tel
Cambridge University Press, 2000
An Introduction to Quantum Computing
Phillip Kaye, Raymond Laflamme et Michele Mosca
Oxford Press, 2006
Communication Complexity
Eyal Kushilevitz et Noam Nisan
Cambridge University Press, 1997
Table des matières
1 Introduction 1
1.1 Qu’est-ce que le calcul distribué? ....................... 1
1.2 Un cadre de base pour les systèmes distribués ................ 3
1.2.1 Mémoire partagée (shared memory).................. 4
1.2.2 Passage de messages (message passing)................ 6
1.2.3 Point-à-point ............................... 7
1.2.4 Réseau de diusion (broadcast/radio networks)............ 7
1.2.5 D’autres modèles ............................ 10
1.3 Spécificités du calcul distribué ......................... 11
1.3.1 Les communications .......................... 11
1.3.2 Connaissance partielle ......................... 12
1.3.3 Erreurs, pannes et défaillances .................... 13
1.3.4 Synchronisme .............................. 13
1.3.5 Non déterminisme ........................... 18
Bibliographie ...................................... 20
2 Complexités et modèles 21
2.1 Mesures de complexité ............................. 22
2.2 Modèles représentatifs ............................. 24
2.3 Rappels sur les graphes ............................. 25
2.4 Exercices ..................................... 26
Bibliographie ...................................... 27
3 Complexité de communication 29
3.1 Simulation .................................... 30
1 / 196 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !