Esplorando come fare migliori scelte tra coerenza e disponibilità in reti

Immagina di voler prelevare del denaro da un bancomat. Ti aspetti che mostri correttamente il saldo del tuo conto e processi rapidamente la tua richiesta. Tuttavia, i ritardi di rete rendono difficile per il sistema soddisfare entrambe queste semplici aspettative contemporaneamente. Se un sistema ATM cerca di raggiungere una “coerenza” elevata, ossia mostrare l’ultimo saldo del conto verificando un database remoto, potrebbe farti aspettare o addirittura impedirti di accedere ai tuoi conti durante le ore di punta.

D’altra parte, se un sistema ATM favorisce la “disponibilità”, potrebbe farti accedere ai tuoi conti rapidamente, ma corre il rischio di mostrare informazioni inesatte. Per evitare risultati indesiderati, la progettazione di sistemi ATM e di altri sistemi distribuiti richiede scelte intelligenti.

Per aiutare i progettisti di sistemi a fare queste scelte, un gruppo di ricercatori dell’Università della California, Berkeley e della Technical University of Dresden ha scoperto una semplice relazione algebrica tra coerenza, disponibilità e latenza di rete. Questa ricerca è stata pubblicata in Intelligent Computing.

I ricercatori chiamano questa relazione algebrica il teorema di coerenza-disponibilità-latenza apparente; esso quantifica la coerenza, la disponibilità e la latenza apparente come intervalli di tempo. Il teorema CAL si basa sul ben noto teorema di partizionamento rete-coerenza-disponibilità di Eric Brewer.

A differenza del teorema CAP, che obbliga i progettisti di sistemi a scegliere in anticipo di sacrificare la coerenza, la disponibilità o entrambe quando si verifica una caduta di rete, il teorema CAL consente ai progettisti di sistemi di regolare le loro scelte a seconda della situazione, un metodo che consente “progettazione rigorosa con assunzioni chiaramente indicate”.

La progettazione rigorosa è essenziale per i sistemi distribuiti che controllano reti complesse di dispositivi connessi, come robot di fabbrica, dispositivi medici e sistemi di sicurezza, che hanno latenze diverse in diversi nodi e sono soggetti a guasti di rete. Utilizzando il teorema CAL e il linguaggio di coordinamento Lingua Franca, uno strumento potente che consente ai programmatori di specificare come i diversi nodi dovrebbero interagire tra loro, i progettisti di sistemi possono modellare reti complesse e utilizzare i risultati per personalizzare i sistemi distribuiti per affidabilità ed efficienza.

I ricercatori hanno dimostrato l’efficacia del loro approccio utilizzando una semplice rete ATM per il monitoraggio dei saldi e l’elaborazione delle transazioni. Hanno utilizzato il teorema CAL per modellare una rete di bancomat e derivare i limiti sulla latenza di rete in base ai requisiti minimi di coerenza e disponibilità specificati utilizzando il linguaggio di coordinamento LF.

Rispettando questi limiti, sono stati in grado di ottimizzare la progettazione della rete prendendo decisioni sulla posizione del software e le scelte tra coerenza e disponibilità. Nel mondo reale, un’ottimizzazione del genere potrebbe essere necessaria per il raggiungimento dei obiettivi aziendali.

I ricercatori hanno inoltre mostrato come rilevare e gestire le violazioni dei requisiti di latenza di rete dopo aver implementato un tale sistema. Con i gestori di errori integrati forniti dal linguaggio di coordinamento LF, i progettisti di sistemi possono scegliere di sacrificare la coerenza o la disponibilità e “gestire tali fallimenti in modo elegante”.

Inoltre, i ricercatori hanno implementato due estensioni di coordinamento basate sul teorema CAL: una central

In Other News Around the World:

Di RRR

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *