1
Fork 0
mirror of https://github.com/Steffo99/appunti-magistrali.git synced 2024-11-24 19:24:19 +00:00
appunti-steffo/9 - Algoritmi distribuiti/3 - Computazione distribuita/7 - Algoritmi affidabili/consenso asincrono deterministico bizantino.md

47 lines
1.8 KiB
Markdown
Raw Normal View History

2023-11-17 14:23:05 +00:00
Problema per un [[sistema distribuito]], che allenta il [[consenso asincrono deterministico]].
## Definizione
2023-12-19 01:19:27 +00:00
Ad ogni [[entità]] viene fornito un [[9 - Algoritmi distribuiti/1 - Problemi algoritmici/parametro|input]], che usa per scegliere un valore da una [[enumerazione]].
2023-11-17 14:23:05 +00:00
Successivamente, deve accordarsi con almeno un certo numero di altre per selezionare un [[risultato|output]].
Tutte le [[entità]] non [[guasto|guaste]] devono:
- **principio di non-trivialità**
2023-12-19 01:19:27 +00:00
- dato uno stesso [[9 - Algoritmi distribuiti/1 - Problemi algoritmici/parametro|input]], scegliere lo stesso valore
2023-11-17 14:23:05 +00:00
- **principio di accordo**
- dare lo stesso [[risultato|output]]
- **principio di terminazione**
- dare eventualmente un [[risultato|output]]
## [[restrizioni al modello dei sistemi distribuiti|Restrizioni]]
- **[[restrizione di comunicazione|Comunicazione]]**
- [[dimensione dei messaggi illimitata]]
- [[full-duplex]]
- **[[restrizione di affidabilità|Affidabilità]]**
- [[affidabilità nulla]]
- [[guasti ubiqui]]
- [[guasti permanenti]]
- [[guasti di esecuzione]]
- [[guasti di esecuzione di crash]]
- ***[[guasti di esecuzione di omissione]]***
- ***[[guasti di esecuzione bizantini]]***
- [[niente guasti di trasmissione]]
- **[[restrizione di topologia|Topologia]]**
- [[grafo connesso]]
- [[grafo completo]]
- **[[restrizione di tempo|Tempo]]**
- [[ritardo di comunicazione illimitato]]
- [[risveglio multiplo]]
- [[terminazione locale]]
## [[algoritmo|Algoritmi]]
> [!Failure]
> Il problema non è risolvibile deterministicamente e asincronicamente:
> - **[[ritardo di comunicazione illimitato]]**
> - non si può distinguere un attesa da un [[guasti di esecuzione di crash|crash]]
> - **[[algoritmo deterministico]]**
> - non si può avere la certezza che l'[[algoritmo]] sia [[algoritmo corretto|corretto]].