La linearizzabilità è equivalente al problema del consenso?


9

Nell'introduzione di questo documento Eventally Linearizable Shared Objects (PODC'10) , gli autori hanno presentato la seguente dichiarazione senza riferimenti:

La linearità, tuttavia, può essere raggiunta se e solo se il consenso può essere risolto.

Qui, la linearizzabilità è la proprietà di coerenza nota più forte degli oggetti condivisi, che viene proposta nel documento Linearizzabilità: una condizione di correttezza per oggetti concorrenti .

Mi confondo sull'affermazione di cui sopra a causa dei seguenti argomenti:

Nel documento Condivisione robusta della memoria nei sistemi di passaggio dei messaggi (JACM95) , sappiamo che la linearità può essere raggiunta nel sistema di passaggio di messaggi asincrono, tollerando al contempo una minoranza di arresti anomali del processo:

Qualsiasi algoritmo privo di attesa basato su registri atomici multi-writer a scrittore singolo può essere emulato automaticamente nei sistemi di trasmissione dei messaggi, a condizione che almeno la maggior parte dei processori non sia difettosa e rimanga connessa.

D'altra parte, l'articolo Impossibilità del consenso distribuito con un processo difettoso (JACM85) ha dimostrato il risultato di impossibilità del consenso anche con un solo arresto del processo:

Il problema del consenso coinvolge un sistema asincrono di processi, alcuni dei quali potrebbero non essere affidabili. Il problema è che i processi affidabili concordano su un valore binario. In questo documento, viene mostrato che ogni protocollo per questo problema ha la possibilità di non terminare, anche con un solo processo difettoso.

Pertanto, possiamo giungere alla seguente conclusione:

il consenso è più forte della linearizzabilità?

Cosa c'è di sbagliato nei miei argomenti? Ci sono alcuni riferimenti diretti per la conclusione di equivalenza ?


1
Di gran lunga non un esperto di calcolo distribuito, ma mi sembra che il motivo per cui sei in grado di ottenere il tuo risultato è dovuto alle ipotesi formulate nei risultati nel riferimento JACM85. La linearità potrebbe essere equivalente al consenso su un modello di calcolo specifico, ma ciò potrebbe non essere il caso se limitiamo notevolmente il nostro modello di calcolo.
Chazisop,

Risposte:


4

La cosa che ti sbagli è "sappiamo che la linearità può essere raggiunta nel sistema di passaggio di messaggi asincrono, tollerando una minoranza di arresti anomali del processo". Non lo sappiamo, e in effetti è sbagliato.

Ciò che la citazione dal documento JACM95 mostra è che i registri multi-lettore a scrittore singolo possono essere implementati usando il passaggio dei messaggi. E solo questo tipo di registri, o qualsiasi altro oggetto che può essere implementato (data una minoranza di arresti anomali) da tali registri. Ciò include ad esempio i registri multi-reader multi-writer (MWMR).

Al contrario, la linearizzabilità non si limita agli oggetti che possono essere implementati utilizzando i registri multi-lettore a scrittore singolo. Un esempio di tali oggetti sono quelli che supportano operazioni (atomiche) di lettura-modifica-scrittura.

Infatti, come sottolinea Attiya et al. (Sezione 7), tali oggetti non possono essere implementati dai registri MWMR in modo preciso perché consentono di risolvere il consenso (cfr. Sincronizzazione senza attesa di Herlihy) e quindi l'implementazione contraddirebbe il risultato FLP.


Scusa per il ritardo. Tuttavia, 1. Poiché la linearizzabilità è una proprietà locale , non credo che il numero di oggetti in questione sia il punto. Potresti spiegare ulteriormente? 2. Qual è il suo significato di usare "cioè," mettere in relazione atomicity of operations on a single objectcon sequential specifications are not violated?
hengxin,

Vero. Fammi pensare di nuovo ....
Martin B.

Ho completamente riscritto la risposta ... Penso che ora abbia senso. Non ricordare cosa stavo pensando prima.
Martin B.

Penso che il tuo argomento attuale abbia un senso. Dopo la tua risposta, ho controllato il documento Eventually Linearizable Shared Objects (PODC'10)e ho notato che venivano considerati oggetti arbitrari (anziché solo registri SWMR).
hengxin,

Grazie per l'attenzione e gli sforzi. Stai lavorando sulla teoria del calcolo distribuito / concorrenza? Quindi ti dispiacerebbe valutare il mio altro problema: algoritmi di istantanee atomiche su registri condivisi strutturati ad albero ? Pensi che sia un problema che vale la pena studiare?
hengxin,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.