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

44 lines
1.6 KiB
Markdown
Raw Normal View History

2023-11-17 14:23:05 +00:00
Problema per un [[sistema distribuito]].
## 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]].
2023-12-19 01:19:27 +00:00
Gli algoritmi risolutivi devono sottostare ai seguenti principi:
- [[principio di non-trivialità]]
- [[principio di accordo]]
- [[principio di terminazione]]
2023-11-17 14:23:05 +00:00
## [[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]]
- [[niente guasti di esecuzione di omissione]]
- [[niente 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]]
## Risolvibilità
> [!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]].