La linéarisation est-elle équivalente à un problème de consensus?


9

Dans l'introduction de cet article Objets partagés éventuellement linéarisables (PODC'10) , les auteurs ont présenté l'énoncé suivant sans références:

La linéarisation, cependant, ne peut être atteinte que si et seulement si un consensus peut être trouvé.

Ici, la linéarisation est la propriété de cohérence connue la plus forte des objets partagés, qui est proposée dans le document Linearizability: A Correctness Condition for Concurrent Objects .

Je suis confus au sujet de la déclaration ci-dessus en raison des arguments suivants:

Dans l'article Partager la mémoire de manière robuste dans les systèmes de transmission de messages (JACM95) , nous savons que la linéarisation peut être obtenue dans le système de transmission de messages asynchrone, tout en tolérant une minorité de pannes de processus:

Tout algorithme sans attente basé sur des registres atomiques multi-lecteurs à écriture unique peut être automatiquement émulé dans des systèmes de transmission de messages, à condition qu'au moins la majorité des processeurs ne soient pas défectueux et restent connectés.

D'un autre côté, le document Impossibility of Distributed Consensus with One Faulty Process (JACM85) a prouvé le résultat d'impossibilité du consensus même avec un seul crash de processus:

Le problème du consensus implique un système de processus asynchrone, dont certains peuvent ne pas être fiables. Le problème est que les processus fiables conviennent d'une valeur binaire. Dans cet article, il est montré que chaque protocole pour ce problème a la possibilité de non-terminaison, même avec un seul processus défectueux.

Par conséquent, pouvons-nous arriver à la conclusion suivante:

le consensus est plus fort que la linéarisation?

Quel est le problème avec mes arguments? Y a-t-il des références directes pour la conclusion d' équivalence ?


1
De loin pas un expert en informatique distribuée, mais il me semble que la raison pour laquelle vous êtes en mesure de dériver votre résultat est à cause des hypothèses formulées dans les résultats de la référence JACM85. La linéarisation pourrait être équivalente à un consensus sur un modèle de calcul spécifique, mais cela pourrait ne pas être le cas si nous restreignons considérablement notre modèle de calcul.
chazisop

Réponses:


4

La chose que vous vous trompez est "nous savons que la linéarisation peut être réalisée dans le système de transmission de messages asynchrone, tout en tolérant une minorité de plantages de processus." Nous ne le savons pas, et en fait c'est faux.

Ce que la citation du document JACM95 montre, c'est que les registres multi-lecteurs à rédacteur unique peuvent être implémentés en utilisant le passage de messages. Et uniquement ce type de registres, ou tout autre objet pouvant être implémenté (compte tenu d'une minorité de plantages) à partir de ces registres. Cela inclut par exemple les registres multi-lecteurs multi-lecteurs (MWMR).

En revanche, la linéarisation n'est pas limitée aux objets qui peuvent être implémentés à l'aide de registres multi-lecteurs à écriture unique. Un exemple de tels objets sont ceux qui prennent en charge les opérations de lecture-modification-écriture (atomiques).

En fait, comme Attiya et al soulignent (Section 7) de tels objets ne peuvent pas être implémentés par les registres MWMR précisément parce qu'ils permettent de résoudre le consensus (cf. Synchronisation sans attente par Herlihy) et donc l'implémentabilité contredirait le résultat FLP.


Désolé pour le retard. Cependant, 1. Parce que la linéarisation est une propriété locale , je ne pense pas que le nombre d'objets concernés soit le point. Pourriez-vous expliquer davantage? 2. Quelle est votre sens de l' utilisation « à savoir » de raconter atomicity of operations on a single objectavec sequential specifications are not violated?
hengxin

Vrai. Laissez-moi réfléchir à nouveau ....
Martin B.

J'ai complètement réécrit la réponse ... Je pense que maintenant cela a du sens. Je ne me souviens pas de ce que je pensais avant.
Martin B.

Je pense que votre argument actuel est logique. Suite à votre réponse, j'ai vérifié le papier Eventually Linearizable Shared Objects (PODC'10)et j'ai remarqué que des objets arbitraires (au lieu de seulement des registres SWMR) étaient considérés.
hengxin

Merci pour votre attention et vos efforts. Travaillez-vous sur l'informatique distribuée / la théorie de la concurrence? Alors, cela vous dérangerait-il d'évaluer mon autre problème: les algorithmes d'instantanés atomiques sur des registres partagés arborescents ? Pensez-vous que ce problème mérite d'être étudié?
hengxin
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.