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.
본 논문은 분산 시스템에서 공정 순서화(fair ordering)의 과제를 다루며, 시계 변동성을 제거하기보다는 수용하는 새로운 접근 방식을 제안합니다. 저자들은 Tommy 시스템을 설계하였으며, 이는 각 시계의 오프셋 분포를 학습하고 통계 모델을 사용하여 노이즈가 있는 타임스탬프를 확률적으로 비교합니다. 핵심 혁신은 "likely-happened-before" 관계(p)를 제안하는 것으로, 여기서 p는 한 사건이 다른 사건보다 먼저 발생할 확률을 나타냅니다. 이 관계는 전통적인 happened-before 관계(→)가 동시적이라고 간주하는 사건들을 순서화할 수 있지만, 비이행성(non-transitivity) 등의 새로운 과제도 야기합니다.
분산 시스템의 공정 순서화는 한 클라이언트가 더 일찍 생성한 사건이 다른 클라이언트가 더 늦게 생성한 사건보다 먼저 처리되도록 보장해야 합니다. 이는 금융 거래소, 광고 거래소 등 경쟁적 애플리케이션에서 매우 중요하며, 이러한 애플리케이션들을 통칭하여 "auction-apps"라고 합니다.