Étude de la complexité des implémentations d'objets concurrents, sans attente, abandonnables et/ou solo-rapides

Dans un ordinateur multiprocesseur, lors de l'accès à la mémoire partagée, il faut synchroniser les entités de calcul (processus). Cela peut se faire à l'aide de verrous, mais des problèmes se posent (par exemple interblocages, mauvaise tolérance aux pannes). On s'est intéressé à l�...

Full description

Bibliographic Details
Main Author: Capdevielle, Claire
Other Authors: Bordeaux
Language:fr
Published: 2016
Subjects:
Online Access:http://www.theses.fr/2016BORD0194/document
id ndltd-theses.fr-2016BORD0194
record_format oai_dc
spelling ndltd-theses.fr-2016BORD01942018-12-15T04:42:25Z Étude de la complexité des implémentations d'objets concurrents, sans attente, abandonnables et/ou solo-rapides On the complexity of wait-free, abortable and/or solo-fast concurrent object implementations Mémoire partagée Algorithme distribué Complexité en espace Objet concurrent Objet sans attente Objet abandonnable Implémentation solo-rapide Consensus Construction universelle Value-splitter Borne inférieure en espace Shared memory Distributed algorithm Space complexity Concurrent object Wait-free object Abortable object Solo-fast implementation Consensus Universal construction Value-splitter Space lower bound Dans un ordinateur multiprocesseur, lors de l'accès à la mémoire partagée, il faut synchroniser les entités de calcul (processus). Cela peut se faire à l'aide de verrous, mais des problèmes se posent (par exemple interblocages, mauvaise tolérance aux pannes). On s'est intéressé à l'implémentation d'abstractions (consensus et construction universelle) qui peuvent faciliter la programmation concurrente sans attente, sans utiliser de verrous mais basés sur des lectures/écritures atomiques (LEA). L'usage exclusive des LEA ne permet pas de réaliser un consensus sans attente. Néanmoins, autoriser l'usage de primitives offrant une puissance de synchronisation plus forte que des LEA, mais coûteuse en temps de calcul, le permet. Nous nous sommes donc intéressés dans cette thèse à des programmes qui limitent l'usage de ces primitives aux seules situations où les processus sont en concurrence, ces programmes sont dit solo-rapides. Une autre piste étudiée est de permettre à l'objet, lorsqu'il y a de la concurrence, de retourner une réponse spéciale "abandon" qui signifie l'abandon des calculs en cours. Ces objets sont dit abandonnables. D'une part, nous donnons des implémentations d'objets concurrents sans attente, abandonnables et/ou solo-rapides. Pour cela, nous proposons une construction universelle qui assure à l'objet implémenté d'être abandonnable et solo-rapide ; nous avons réalisés des algorithmes de consensus solo-rapides et des algorithmes de consensus abandonnable. D'autre part nous étudions la complexité en espace de ces implémentations en proposant des bornes inférieures sur l'implémentation des objets abandonnables et sur le consensus. In multiprocessor computer, synchronizations between processes are needed for the access to the shared memory. Usually this is done by using locks, but there are some issues as deadlocks or lack of fault-tolerance. We are interested in implementing abstractions (as consensus or universal construction) which ease the programming of wait-free concurrent objects, without using lock but based on atomic Read/Write operations (ARW). Only using the ARW does not permit to implement wait-free consensus. The use of primitives which offer a higher power of synchronization than the ARW is needed. But these primitives are more expensive in computing time. Therefore, we are interested in this thesis in the design of algorithms which restrict the use of these primitives only to the cases where processes are in contention. These algorithms are said solo-fast. Another direction is to allow the object to abort the computation in progress - and to return a special response "abort" - when there is contention. These objects are named abortable. On the one hand we give wait-free, abortable and/or solo-fast concurrent object implementations. Indeed we proposed a universal construction which ensure to the implemented object to be abortable and solo-fast. We have also realized solo-fast consensus algorithms and abortable consensus algorithms. On the other hand, we study the space complexity of these implementations : we prove space lower bound on the implementation of abortable object and consensus. Electronic Thesis or Dissertation Text fr http://www.theses.fr/2016BORD0194/document Capdevielle, Claire 2016-11-03 Bordeaux Johnen, Colette Milani, Alessia
collection NDLTD
language fr
sources NDLTD
topic Mémoire partagée
Algorithme distribué
Complexité en espace
Objet concurrent
Objet sans attente
Objet abandonnable
Implémentation solo-rapide
Consensus
Construction universelle
Value-splitter
Borne inférieure en espace
Shared memory
Distributed algorithm
Space complexity
Concurrent object
Wait-free object
Abortable object
Solo-fast implementation
Consensus
Universal construction
Value-splitter
Space lower bound

spellingShingle Mémoire partagée
Algorithme distribué
Complexité en espace
Objet concurrent
Objet sans attente
Objet abandonnable
Implémentation solo-rapide
Consensus
Construction universelle
Value-splitter
Borne inférieure en espace
Shared memory
Distributed algorithm
Space complexity
Concurrent object
Wait-free object
Abortable object
Solo-fast implementation
Consensus
Universal construction
Value-splitter
Space lower bound

Capdevielle, Claire
Étude de la complexité des implémentations d'objets concurrents, sans attente, abandonnables et/ou solo-rapides
description Dans un ordinateur multiprocesseur, lors de l'accès à la mémoire partagée, il faut synchroniser les entités de calcul (processus). Cela peut se faire à l'aide de verrous, mais des problèmes se posent (par exemple interblocages, mauvaise tolérance aux pannes). On s'est intéressé à l'implémentation d'abstractions (consensus et construction universelle) qui peuvent faciliter la programmation concurrente sans attente, sans utiliser de verrous mais basés sur des lectures/écritures atomiques (LEA). L'usage exclusive des LEA ne permet pas de réaliser un consensus sans attente. Néanmoins, autoriser l'usage de primitives offrant une puissance de synchronisation plus forte que des LEA, mais coûteuse en temps de calcul, le permet. Nous nous sommes donc intéressés dans cette thèse à des programmes qui limitent l'usage de ces primitives aux seules situations où les processus sont en concurrence, ces programmes sont dit solo-rapides. Une autre piste étudiée est de permettre à l'objet, lorsqu'il y a de la concurrence, de retourner une réponse spéciale "abandon" qui signifie l'abandon des calculs en cours. Ces objets sont dit abandonnables. D'une part, nous donnons des implémentations d'objets concurrents sans attente, abandonnables et/ou solo-rapides. Pour cela, nous proposons une construction universelle qui assure à l'objet implémenté d'être abandonnable et solo-rapide ; nous avons réalisés des algorithmes de consensus solo-rapides et des algorithmes de consensus abandonnable. D'autre part nous étudions la complexité en espace de ces implémentations en proposant des bornes inférieures sur l'implémentation des objets abandonnables et sur le consensus. === In multiprocessor computer, synchronizations between processes are needed for the access to the shared memory. Usually this is done by using locks, but there are some issues as deadlocks or lack of fault-tolerance. We are interested in implementing abstractions (as consensus or universal construction) which ease the programming of wait-free concurrent objects, without using lock but based on atomic Read/Write operations (ARW). Only using the ARW does not permit to implement wait-free consensus. The use of primitives which offer a higher power of synchronization than the ARW is needed. But these primitives are more expensive in computing time. Therefore, we are interested in this thesis in the design of algorithms which restrict the use of these primitives only to the cases where processes are in contention. These algorithms are said solo-fast. Another direction is to allow the object to abort the computation in progress - and to return a special response "abort" - when there is contention. These objects are named abortable. On the one hand we give wait-free, abortable and/or solo-fast concurrent object implementations. Indeed we proposed a universal construction which ensure to the implemented object to be abortable and solo-fast. We have also realized solo-fast consensus algorithms and abortable consensus algorithms. On the other hand, we study the space complexity of these implementations : we prove space lower bound on the implementation of abortable object and consensus.
author2 Bordeaux
author_facet Bordeaux
Capdevielle, Claire
author Capdevielle, Claire
author_sort Capdevielle, Claire
title Étude de la complexité des implémentations d'objets concurrents, sans attente, abandonnables et/ou solo-rapides
title_short Étude de la complexité des implémentations d'objets concurrents, sans attente, abandonnables et/ou solo-rapides
title_full Étude de la complexité des implémentations d'objets concurrents, sans attente, abandonnables et/ou solo-rapides
title_fullStr Étude de la complexité des implémentations d'objets concurrents, sans attente, abandonnables et/ou solo-rapides
title_full_unstemmed Étude de la complexité des implémentations d'objets concurrents, sans attente, abandonnables et/ou solo-rapides
title_sort étude de la complexité des implémentations d'objets concurrents, sans attente, abandonnables et/ou solo-rapides
publishDate 2016
url http://www.theses.fr/2016BORD0194/document
work_keys_str_mv AT capdevielleclaire etudedelacomplexitedesimplementationsdobjetsconcurrentssansattenteabandonnablesetousolorapides
AT capdevielleclaire onthecomplexityofwaitfreeabortableandorsolofastconcurrentobjectimplementations
_version_ 1718801809377591296