A growing class of applications demands \emph{fair ordering/sequencing} of events which ensures that events generated earlier by one client are processed before later events from other clients. However, achieving such sequencing is fundamentally challenging due to the inherent limitations of clock synchronization. We advocate for an approach that embraces, rather than eliminates, clock variability. Instead of attempting to remove error from a timestamp, Tommy, our proposed system, leverages a statistical model to compare two noisy timestamps probabilistically by learning per-clock offset distributions. Our preliminary statistical model computes the probability that one event precedes another w.r.t. the wall-clock time without access to the wall-clock. This serves as a foundation for a new relation: \emph{likely-happened-before} denoted by $\xrightarrow{p}$ where $p$ represents the probability of an event to have happened before another. The $\xrightarrow{p}$ relation provides a basis for ordering multiple events which are otherwise considered \emph{concurrent} by the typical \emph{happened-before} ($\rightarrow$) relation. We highlight various related challenges including intransitivity of $\xrightarrow{p}$ relation as opposed to the transitive $\rightarrow$ relation. We also outline several research directions: online fair sequencing, stochastically fair total ordering, host-level support for fairness and more.
academic
Oltre Lamport, Verso l'Ordinamento Probabilistico Equo
Questo articolo affronta le sfide dell'ordinamento equo (fair ordering) nei sistemi distribuiti, proponendo un nuovo approccio che abbraccia piuttosto che elimina la variabilità degli orologi. Gli autori progettano il sistema Tommy, che apprende la distribuzione degli offset di ogni orologio e utilizza modelli statistici per confronti probabilistici di timestamp rumorosi. L'innovazione centrale è l'introduzione della relazione "likely-happened-before" (p), dove p rappresenta la probabilità che un evento si sia verificato prima di un altro. Questa relazione consente di ordinare eventi che la relazione classica happened-before (→) considera concorrenti, ma introduce nuove sfide come la non-transitività.
L'ordinamento equo nei sistemi distribuiti richiede di garantire che gli eventi generati da un cliente in precedenza siano elaborati prima degli eventi generati da altri clienti successivamente. Questo è cruciale in applicazioni competitive come le borse valori finanziarie e le borse pubblicitarie, collettivamente denominate "auction-apps".
Equità Finanziaria: Negli scambi finanziari, l'ordine di elaborazione dei messaggi influisce direttamente sui risultati delle transazioni; un ordinamento iniquo può causare perdite economiche significative
Necessità di Migrazione al Cloud: Le borse valori tradizionali utilizzano infrastrutture dedicate per garantire l'equità, ma la migrazione verso il cloud pubblico richiede nuove primitive di rete
Espansione dell'Ambito Applicativo: Oltre agli scambi finanziari, mercati competitivi, scambi NFT e acquisti di beni limitati richiedono ordinamento equo
Ipotesi di Sincronizzazione Perfetta degli Orologi: Le soluzioni esistenti presuppongono una sincronizzazione quasi perfetta degli orologi, non fattibile in reti asincrone reali
Dipendenza da Infrastrutture Speciali: Gli approcci tradizionali richiedono hardware dedicato come cavi di lunghezza uguale e switch a bassa variabilità
Accoppiamento con Applicazioni: Alcuni approcci sono strettamente accoppiati alla logica applicativa specifica, difficili da generalizzare
Limitazioni fondamentali della sincronizzazione degli orologi: in reti asincrone o con sincronizzazione limitata, la precisione della sincronizzazione di n processi non può superare u(1−1/n), dove u rappresenta l'incertezza del ritardo di collegamento.
Definizione di Ordinamento Equo: L'ordine in cui il server osserva i messaggi dovrebbe corrispondere all'ordine osservato da un osservatore onnisciente.
Input: Flusso di messaggi dai clienti con timestamp locali
Output: Lotti di messaggi ordinati equamente secondo il tempo di generazione
Vincoli: Nessun accesso a un orologio globale; è possibile utilizzare solo sincronizzazione degli orologi best-effort
Modellazione dei messaggi come nodi in un grafo, con relazioni p come archi diretti ponderati con peso p. Per ogni coppia di nodi, si conserva l'arco con peso maggiore.
Baseline TrueTime: Simulazione di Spanner TrueTime, assegnazione a ogni messaggio di un intervallo di incertezza [T−3σ,T+3σ]; gli intervalli sovrapposti ricevono lo stesso ranking.
Soluzioni ingegneristiche che utilizzano cavi di lunghezza uguale e switch a bassa variabilità; l'elaborazione in ordine di arrivo equivale all'ordinamento per tempo di generazione.
Proposizione 1: Per variabili casuali normali indipendenti X∼N(μX,σX2), Y∼N(μY,σY2), Z∼N(μZ,σZ2), definendo la relazione di preferenza X≻Y⇔Pr[X>Y]>21, allora ≻ è transitiva.
Punti Chiave della Dimostrazione:
Pr[A>B]>21⇔μA>μB
Poiché la transitività delle medie è garantita, anche la relazione probabilistica è transitiva.
Per distribuzioni arbitrarie, la transitività non è necessariamente garantita; possono verificarsi cicli come A≻B, B≻C, C≻A, simili al fenomeno "carta-forbice-sasso".
Sviluppo di meccanismi robusti di apprendimento della distribuzione degli offset dell'orologio, gestione di condizioni anomale come improvvisi cambiamenti di temperatura.
Questo articolo introduce in modo innovativo il concetto di ordinamento equo probabilistico, fornendo una nuova direzione di soluzione per i problemi di equità nei sistemi distribuiti. Sebbene esistano alcune sfide teoriche e di implementazione, l'idea centrale possiede un significativo valore accademico e potenziale pratico, gettando le basi per ricerche successive.