Un’innovazione per la creazione di sistemi distribuiti robusti

- EN- DE- FR- IT
 (Immagine: Pixabay CC0)
(Immagine: Pixabay CC0)
I ricercatori dell’EPFL hanno sviluppato un nuovo algoritmo distribuito che risolve, per la prima volta, uno dei principali problemi di prestazioni e affidabilità di molti dei protocolli di consenso attualmente in uso.

Il consenso è uno dei problemi fondamentali dei sistemi distribuiti. Consente a un insieme di macchine di mantenere diverse copie di dati e di aggiornarle in modo coerente, anche se alcune macchine si guastano.

Prendiamo l’esempio di tre server che devono memorizzare tre copie di dati e tenere traccia degli aggiornamenti delle informazioni per rimanere coerenti. Se un server si guasta, gli altri due devono mantenere la coerenza dei dati e permettere agli aggiornamenti di continuare normalmente, come se non ci fosse stato alcun guasto.

Gli attuali protocolli di consenso si basano sulla designazione, in ogni momento, di un nodo informatico come leader, che supervisiona e gestisce costantemente gli aggiornamenti dei dati. Se il leader si guasta, un altro nodo si attiva e prende il suo posto, ma sorge un problema. Quanto tempo deve aspettare un altro nodo prima di subentrare a un leader della coda che non risponde?

"Se il leader si guasta o la rete non funziona, il problema dei protocolli di consenso tradizionali è che è molto difficile impostare il timeout", spiega il professor Bryan Ford, direttore del Decentralised and Distributed Systems Laboratory (DEDIS) della Facoltà di Informatica e Comunicazione (IC) dell’EPFL. "Se si imposta un ritardo troppo lungo, quando un leader si rompe, si rischia di aspettare a lungo e il sistema è semplicemente inutilizzabile. Al contrario, con una scadenza troppo breve, si rischia di causare un vero e proprio disastro".

"Supponiamo che il vecchio leader non sia andato fuori uso, che la rete sia solo un po’ più lenta di quanto si pensasse, che il prossimo leader arrivi e cerchi di prendere il controllo, ma secondo il funzionamento di tutti i protocolli esistenti. Le azioni del nuovo leader sovrascriveranno quelle del vecchio leader, cosicché quest’ultimo non sarà in grado di terminare ciò che stava facendo. Tutto il suo lavoro andrà perso. Questo tipo di situazione può portare a seri problemi di affidabilità. Questi protocolli basati sul leader possono fallire completamente nel caso di un attacco deliberato di negazione del servizio", continua.

Per superare queste difficoltà, i ricercatori del DEDIS hanno studiato una categoria di algoritmi di consenso raramente utilizzata, nota come "protocolli di consenso asincroni". A differenza degli attuali protocolli basati sul leader, le loro controparti asincrone non sono vulnerabili ai fallimenti del leader o agli attacchi denial-of-service. Ma c’è un importante compromesso: i precedenti protocolli asincroni sono molto meno efficienti in condizioni normali, e questo è uno dei motivi per cui non vengono quasi mai utilizzati.

Secondo Bryan Ford, il protocollo QuePaxa cambia per la prima volta questa dinamica. "Abbiamo trovato una soluzione vantaggiosa. La novità e l’originalità di QuePaxa risiedono nel fatto che si tratta di un protocollo di consenso asincrono che finalmente raggiunge, in condizioni di rete normali, un’efficienza equivalente a quella dei protocolli basati su leader ampiamente diffusi. QuePaxa è anche veloce, efficiente, a bassa latenza e a basso costo in termini di larghezza di banda della rete, in condizioni normali".

Il nuovo algoritmo è progettato in modo che solo un leader alla volta guidi l’attività di avanzamento, ma un secondo leader può intervenire per aiutare nello stesso ciclo senza interferire con il primo leader. Un terzo può anche unirsi agli altri due per aiutarli a completare il lavoro più rapidamente. C’è una certa ridondanza di sforzi, ma i nodi non leader non interferiscono in modo distruttivo. Le scadenze brevi non inducono gli altri leader a cancellare i compiti di un leader, come avviene nei protocolli attuali.

Un altro vantaggio di QuePaxa è che è estremamente robusto in condizioni difficili come reti rumorose, lunghi ritardi di comunicazione, ritardi di rete che cambiano in modo imprevedibile o attacchi deliberati di denial of service.

"In queste condizioni, i protocolli di consenso esistenti scompariranno completamente. QuePaxa continuerà a funzionare perché è molto più robusto", continua. "In tutti i casi in cui ci sono serie preoccupazioni riguardo alle prestazioni, all’affidabilità o alla vulnerabilità a questo tipo di attacchi, penso che questa sia una soluzione rivoluzionaria grazie alla sua robustezza. QuePaxa è destinato a diventare il nuovo protocollo di consenso standard".

Il team DEDIS ha già creato un prototipo open source di QuePaxa, disponibile sul famoso repository GitHub. Il nuovo protocollo è già stato sottoposto a un processo di valutazione artefatto presso SOSP, dove i revisori tra pari ne hanno testato le capacità.

Il documento, intitolato QuePaxa: Escaping the tyranny of timeout in consensus , sarà presentato questa settimana al Symposium on Operating System Principles (SOSP), organizzato dall’Association for Computing Machinary (ACM) , il forum più importante al mondo per ricercatori, sviluppatori, programmatori e insegnanti di tecnologia dei sistemi informatici.