Esiste un elenco di problemi canonici nei sistemi distribuiti?


13

La scorsa settimana, stavo leggendo di nuovo il trascritto del 1982 di Leslie Lamport di una conferenza che ha tenuto su Problemi risolti, Problemi irrisolti e Non problemi in concorrenza . Il documento è facilmente leggibile, ma una delle cose che mi ha fatto pensare è la seguente affermazione:

Qualsiasi problema può essere considerato un problema di esclusione reciproca o un problema produttore-consumatore o una combinazione dei due?

Vorrei sapere se a questa domanda è stata data risposta per il caso dei sistemi distribuiti.

Esiste una serie di problemi di sistemi distribuiti canonici da cui è possibile ridurre tutti i possibili problemi di sistema distribuito? Cos'è questa lista canonica?

Se non esiste un elenco canonico, qual è l'attuale elenco di problemi e quali riduzioni esistono?

Ad esempio, direi in modo molto ingenuo che i problemi di elezione dei leader e di mutua esclusione possono essere ridotti al problema del consenso. Direi anche che un'istantanea distribuita può essere ridotta a un orologio distribuito. È vero o semplicemente sbagliato?

Se possibile, preferirei che le risposte fornissero un riferimento a un libro / libro pubblicato a sostegno delle sue affermazioni :)


Risposte:


9

Esiste una serie di problemi di sistemi distribuiti canonici da cui è possibile ridurre tutti i possibili problemi di sistema distribuito?

Non sono a conoscenza di un elenco di problemi così pubblicato.

Tieni presente che ci sono molti modelli diversi (e in qualche modo incomparabili) nel calcolo distribuito, che vanno dal modello sincrono "benigno" (senza errori) in cui i nodi vengono eseguiti in round lock-step e tutti i messaggi vengono recapitati in modo affidabile in ogni round, a il modello asincrono in cui non vi sono limiti alla velocità di elaborazione e ritardi e nodi dei messaggi stessi potrebbe arrestarsi in modo anomalo o inviare messaggi danneggiati. Per aggiungere ulteriormente a questa varietà, ci sono altri requisiti e ipotesi che sono ortogonali alla sincronia e ai guasti: la conoscenza iniziale dei nodi (dimensione della rete, diametro della rete, grado massimo del nodo, ecc.), La capacità di interrogare i rilevatori di guasti , se i nodi hanno identificatori univoci, atomicità dei passaggi di invio e ricezione, dimensione massima di un singolo messaggio e molti altri.

Il modello attuale a portata di mano implica spesso una natura molto diversa della domanda. (Vedi [1] per ulteriori elaborazioni su questi2

Quando si osservano i guasti d'altra parte, le domande sono più legate a problemi di solvibilità come "Il consenso è risolvibile in questo modello?" o "Possiamo implementare questo rivelatore di guasti fantasia sotto questi presupposti?"

Se non esiste un elenco canonico, qual è l'attuale elenco di problemi e quali riduzioni esistono?

Ci sono molti esempi di tali riduzioni in alcuni modelli di calcolo distribuito, limiterò la mia risposta ai seguenti 2:

Calcolo locale nel modello sincrono (privo di errori)

Ω(logn+logΔ)nΔ2UNUN

Modello asincrono con errori di arresto

Qui il problema più studiato è il consenso tollerante agli errori e le sue numerose varianti, poiché l'implementazione di primitivi di base come la trasmissione atomica e / o un sincronizzatore richiedono consenso.

S PTPS .

PQPQK

Ad esempio, direi in modo molto ingenuo che i problemi di elezione dei leader e di mutua esclusione possono essere ridotti al problema del consenso.

Certo, se riesci a risolvere il consenso, hai immediatamente un algoritmo per l'elezione del leader: usa semplicemente l'ID di ciascun nodo come input per l'algoritmo di consenso. Il modo opposto vale solo nei modelli in cui è garantito che il leader sia finalmente noto a tutti.

[1] Pierre Fraigniaud: Complessità computazionali distribuite: sei dipendente dalla volvo o ossessionato dal nascar? PODC 2010. http://doi.acm.org/10.1145/1835698.1835700

[2] Fabian Kuhn, Thomas Moscibroda, Roger Wattenhofer: Calcolo locale: limiti inferiori e superiori. CoRR abs / 1011.5470 (2010) http://arxiv.org/abs/1011.5470

[3] Tushar Deepak Chandra, Sam Toueg: rilevatori di guasti non affidabili per sistemi distribuiti affidabili. J. ACM 43 (2): 225-267 (1996). http://doi.acm.org/10.1145/226643.226647

[4] Prasad Jayanti, Sam Toueg: ogni problema ha un rilevatore di guasti più debole. PODC 2008: 75-84. http://doi.acm.org/10.1145/1400751.1400763

[5] Tushar Deepak Chandra, Vassos Hadzilacos, Sam Toueg: il rilevatore di guasti più debole per la risoluzione del consenso. J. ACM 43 (4): 685-722 (1996) http://doi.acm.org/10.1145/234533.234549

[6] Michel Raynal: i rilevatori di guasti non hanno risolto l'accordo k-set asincrono: uno sguardo ai risultati recenti. Bollettino dell'EATCS 103: 74-95 (2011) http://albcom.lsi.upc.edu/ojs/index.php/beatcs/article/view/61


1
Hagit Attiya e Faith Ellen hanno un libro in uscita intitolato "Risultati di impossibilità per il calcolo distribuito".
Kaveh,
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.