• Aucun résultat trouvé

Article pp.777-779 du Vol.30 n°7 (2011)

N/A
N/A
Protected

Academic year: 2022

Partager "Article pp.777-779 du Vol.30 n°7 (2011)"

Copied!
4
0
0

Texte intégral

(1)

É DITORIAL

« Un système distribué est un système où la défaillance d’une machine dont vous ignoriez l’existence peut rendre votre propre machine inutilisable ». Cette citation restée célèbre de Leslie Lamport rend parfaitement compte de l’évolution de l’algorithmique distribuée. Alors que la motivation initiale pour la distribution des calculs tenait principalement à l’amélioration des performances globales ou à la réduction des coûts, tous les travaux récents du domaine prennent en compte une notion plus ou moins élaborée d’adversaire.

L’algorithmique distribuée est l’algorithmique des réseaux et des systèmes distribués. Dans un algorithme distribué, les machines qui participent au calcul collaborent à une tâche commune malgré des informations qui ne peuvent s’échanger que localement, malgré des vitesses de calcul et de communication qui diffèrent parfois significativement, malgré des connaissances sur le système global qui ne sont que parcellaires, malgré des pannes de certaines de ces machines qui surviennent inopinément, malgré des attaques sur des machines critiques qui surviennent au pire moment, malgré des machines qui vont et qui viennent au gré de la volonté de leurs utilisateurs. En somme, il s’agit pour ces machines de collaborer malgré l’adversité.

Les chercheurs qui étudient les algorithmes séquentiels classiques différencient les problèmes suivant qu’il existe ou non un algorithme pour trouver une solution à ce problème, et proposent une hiérarchie de classes de complexité pour séparer ce qui est « théoriquement » calculable de ce qui est « pratiquement » calculable. Les chercheurs qui étudient les algorithmes distribués ne considèrent que des problèmes qui admettent une solution séquentielle (souvent pratiquement calculable voire trivialement calculable), et différencient les problèmes suivant les adversaires qui permettent de les résoudre d’une part (c’est-à-dire que ces adversaires sont suffisamment faibles pour qu’un algorithme distribué résolvant le problème puisse exister) des adversaires qui rendent toute tentative de résolution algorithmique du problème impossible d’autre part. L’efficacité d’une solution s’évalue alors suivant deux critères orthogonaux : l’adversaire toléré et les ressources utilisées pour tolérer cet adversaire. Un algorithme sera plus flexible qu’un autre s’il est capable de tolérer un adversaire plus général (i.e. plus puissant), et donc susceptible de résoudre un problème donné dans un plus grand nombre de contextes. Pour un adversaire donné, un algorithme sera plus performant qu’un autre s’il utilise moins de ressources (mémoire, temps de calcul, quantité d’information échangée, etc.) dans le même contexte.

Cet article des Editions Lavoisier est disponible en acces libre et gratuit sur tsi.revuesonline.com

(2)

778 RSTI - TSI – 30/2011. Algorithmique distribuée

Ce numéro spécial Algorithmique distribuée dresse un panorama actuel de la recherche suivant plusieurs critères, en particulier l’adversaire considéré et les métriques d’évaluation des performances.

– L’article « Analyse du nombre de perturbations lors du maintien d’un arbre de connexion de faible diamètre » d’Etienne Birmelé, François Delbot, Christian Laforest et Nicolas Thibault rend compte de la difficulté qu’il y a à maintenir une structure de donnée distribuée (ici un arbre qui doit minimiser la plus grande distance entre deux participants) lorsque les participants vont et viennent de manière continue. L’adversaire considéré ici modélise un système très dynamique où les participants sont volatiles mais où leur volatilité impacte l’objet même qu’ils sont supposés calculer. Les critères d’évaluation pour juger de la performance des algorithmes présentés ont principalement trait à la quantité de travail nécessaire à la reconfiguration de l’arbre de connexion tout en maintenant une distance acceptable entre toute paire de participants.

– L’article « Émulation de mémoire partagée en environnements distribués dynamiques » de Vincent Gramoli dresse un survol des activités récentes sur la construction de primitives de haut niveau pour simuler l’existence d’une mémoire partagée (à laquelle tous les participants peuvent accéder pour lire ou écrire des informations) dans un modèle beaucoup plus général où les participants communiquent les uns avec les autres par passage de messages seulement.

L’adversaire considéré ici comprend non seulement des arrivées et départs de participants au cours de l’exécution du mécanisme de simulation, mais aussi des pannes franches de participants (i.e. certains participants peuvent cesser de fonctionner à partir d’un instant donné de l’exécution du système). Les mécanismes de simulation présentés utilisent principalement la redondance des informations et des quorums de participants pour valider les valeurs même en présence de pannes ; minimiser les informations échangées lors du mécanisme de simulation est le critère essentiel d’évaluation des performances.

– L’article « Objets partagés et détecteurs de défaillances » de Carole Delporte- Gallet et Hugues Fauconnier catégorise les objets partagés suivant la puissance de l’adversaire qui permet de les simuler dans un réseau où les participants communiquent par passage de messages. L’adversaire module ici des pannes franches de participants, mais aussi l’asynchronisme général du réseau. Les adversaires considérés sont eux-mêmes catégorisés suivant une abstraction appelée détecteur de défaillances. Intuitivement, un détecteur de défaillances est un oracle qui donne des informations plus ou moins exactes sur les participants en panne.

Obtenir des informations plutôt fiables du détecteur signifie donc que l’adversaire est plutôt faible, et vice versa. Les détecteurs de défaillances induisent une hiérarchie de difficulté dans les problèmes considérés (ici la simulation d’objets partagés) puisqu’il est possible d’associer à chaque problème le détecteur le plus faible et permettant de le résoudre. La mesure de complexité retenue tient à la minimalité du détecteur utilisé pour résoudre le problème.

Cet article des Editions Lavoisier est disponible en acces libre et gratuit sur tsi.revuesonline.com

(3)

Éditorial 779

– Les deux articles « Autour de l’autostabilisation, Partie I. Techniques généralisant l’approche » et « Autour de l’autostabilisation, Partie II. Techniques spécialisant l’approche » de Stéphane Devismes, Franck Petit et Vincent Villain présentent un paradigme de tolérance aux pannes orthogonal aux approches plus classiques basées sur la réplication des données ou des participants. Informellement, un algorithme est auto-stabilisant si, à partir de tout état initial, il revient nécessairement de lui-même à un comportement correct sans intervention extérieure (i.e. humaine). Le fait de se passer de définir un état initial particulier permet de tolérer des fautes, attaques, ou défaillances de n’importe quelle nature et de n’importe quelle portée, tant que leur occurrence temporelle est limitée.

L’adversaire considéré est donc le plus général possible, mais ses actions néfastes sont contraintes dans le temps. D’une part, cette généricité des adversaires tolérés fait que plusieurs problèmes ne peuvent être résolus de manière strictement auto- stabilisante, conduisant à trouver des techniques généralisant l’auto-stabilisation, c’est-à-dire fournissant des garanties moins importantes vis-à-vis du recouvrement d’un comportement correct. D’autre part, l’absence de garantie de complexité (en temps ou en espace) induite par le « nécessairement » de la définition originale de l’auto-stabilisation laisse l’opportunité à des techniques de spécialisation de proposer des garanties supplémentaires.

Je tiens à remercier les éditeurs de Technique et Science Informatiques pour l’opportunité donnée de constituer ce numéro spécial Algorithmique distribuée. Je remercie également les membres du comité de rédaction ainsi que les relecteurs anonymes qui ont contribué par leurs remarques et leurs suggestions à la qualité des articles sélectionnés ici. Enfin, je remercie tout particulièrement les auteurs pour leurs contributions qui forment un instantané exemplaire de la recherche du domaine.

SÉBASTIEN TIXEUIL UPMC Sorbonne Universités et IUF

Cet article des Editions Lavoisier est disponible en acces libre et gratuit sur tsi.revuesonline.com

(4)

Cet article des Editions Lavoisier est disponible en acces libre et gratuit sur tsi.revuesonline.com

Références

Documents relatifs

Les noms, prénoms et adresses de nos abonnés sont communiqués aux services internes du groupe, ainsi qu'aux organismes liés contractueliement pour le routage. Les informations

On pousse tous les bits d'un cran (ou de plusieurs si on remplace 1 par n) vers la droite (on perd donc des données de ce côté), on complète par des zéros sur la gauche. On obtient

Les tables seront ou peuvent être mobiles, si possible déplacées par des élèves : dans le pôle écriture, les tables le long du mur habituellement sont déplacées et mise en V pour

Et sachant que si celui qui a perdu 2 jeux gagnait 2 autres jeux contre son compagnon, ils n'auraient pas gagné l'un sur l'autre quoi que ce soit, supposons maintenant que le

Plus de 100 000 CNV répertoriés O n sait depuis longtemps que de nombreux syn- dromes sont liés à une augmentation du nombre d’exemplaires de gènes ou de régions chromo- somiques,

Cet article des Editions Lavoisier est disponible en acces libre et gratuit

En revanche, connaissant la nature précise des produits laitiers achetés chaque année entre 1986 et 2006, il est possible d’estimer l’évolution des quantités de matières

En fonction de votre réponse, déterminer la relation de dispersion pour une OPPH dans le métal.. On est donc dans le cas où il n’y a pas