title: Geo-Replicated Byzantine Fault-Tolerant State-Machine Replication with Low Latency
title: Georeplizierte byzantinisch fehlertolerante Zustandsmaschinenreplikation mit niedriger Latenz
Creators: name: Eischer, Michael
Publisher: name: Friedrich-Alexander-Universität Erlangen-Nürnberg (FAU)
Year: 2024

description: Protocols tolerating Byzantine faults allow a service to maintain correctness even if some of its parts misbehave. However, they significantly increase the overhead for processing client requests. Especially for geo-replicated systems, response times can grow to several hundred milliseconds. As the communication latency between remote locations is limited by the speed of light, minimizing these delays requires optimized protocols. This thesis investigates different approaches to reduce the response times of strongly consistent Byzantine fault-tolerant state-machine replication protocols that only require a low number of replicas in a geo-replicated setting. It first reviews the steps necessary to process client requests with strong consistency and derives approaches to minimize the delay introduced by the client communication, the agreement and the execution. To minimize the latency for submitting a client request to the system, each replica is enabled to immediately initiate the ordering for a request, thus allowing a client to communicate with the nearest replica. The proposed Byzantine fault-tolerant egalitarian protocol, which only uses the minimum number of $3f+1$ replicas to tolerate $f$ faults, accordingly removes the need for a central leader replica by instead agreeing on conflicts between requests. The agreement can complete on a fast path if the involved replicas propose matching conflicts. Before execution, requests are sorted according to their conflicts to ensure a consistent order across replicas. To minimize the latency of the agreement protocol, this thesis introduces an approach based on the architecture of modern clouds. The replicas are split into a central agreement group, which determines the execution order for all client requests, with at least $3f+1$ replicas and multiple execution groups with only $2f+1$ replicas. Each group of replicas is located in one region, with its replicas distributed across multiple availability zones to minimize the risk of correlated failures. Thus, replicas in a group can communicate with each other with low latency, thereby allowing the agreement to work with low latency. The groups use an abstraction called inter-regional message channel, which allows them to exchange client requests and the agreement results reliably. To minimize the execution latency, this thesis reduces response-time spikes caused by the periodic creation of checkpoints during which the request execution must be paused. Instead, it introduces a concurrent state-capture phase, which starts before reaching the point at which to create the checkpoint. The resulting fuzzy snapshot together with a list of state modifications made by requests executed in the meantime, can be combined into a regular checkpoint that is identical on all replicas. The application interface offers two variants providing different trade-offs regarding simplicity and efficiency. These approaches successfully reduce the client-perceived response times while also reducing the performance variation caused by different configurations and periodic tasks.
description: Protokolle, die byzantinische Fehler tolerieren, ermöglichen es einem Dienst sich korrekt zu verhalten, selbst wenn Teile von ihm Fehlverhalten zeigen. Allerdings erhöht dies den Aufwand zur Verarbeitung von Nutzeranfragen deutlich. Insbesondere bei georeplizierten Systemen, können die Antwortzeiten auf mehrere hundert Millisekunden steigen. Da die Kommunikationslatenz zwischen entfernten Orten durch die Lichtgeschwindigkeit beschränkt wird, sind optimierte Protokolle nötig, um diese Verzögerungen zu minimieren. Diese Dissertation untersucht Ansätze, um die Antwortzeiten von stark konsistenten, byzantinisch fehlertoleranten Zustandsmaschinenreplikationsprotokollen im Kontext von Georeplikation zu reduzieren, die nur eine geringe Anzahl an Replikaten benötigen. Dazu werden zuerst die für die stark konsistente Verarbeitung von Nutzeranfragen nötigen Schritte betrachtet und daraus Ansätze abgeleitet, die Verzögerungen durch die Kommunikation mit dem Nutzer, die Einigung und die Ausführung minimieren. Zum Minimieren der Latenz für den Versand einer Nutzeranfrage an das System wird jedem Replikat ermöglicht, die Einigung einer Anfrage sofort zu starten, sodass der Nutzer mit dem nächstgelegenen Replikat kommunizieren kann. Das vorgeschlagene byzantinisch fehlertolerante egalitäre Protokoll, das nur das Minimum von $3f+1$ Replikaten zum Tolerieren vom $f$ Fehlern benötigt, ermöglicht es dementsprechend ohne ein zentrales Anführerreplikat auszukommen, indem sich auf Abhängigkeiten zwischen Anfragen geeinigt wird. Falls die beteiligten Replikate die gleichen Abhängigkeiten vorschlagen, kann die Einigung im Schnelldurchlauf abgeschlossen werden. Vor der Ausführung werden Anfragen dann entsprechend ihrer Abhängigkeiten sortiert, um eine konsistente Ausführungsreihenfolge über alle Replikate zu garantieren. Zum Minimieren der Latenz des Einigungsprotokolls stellt diese Dissertation einen Ansatz vor, der die Architektur moderner Cloud-Plattformen ausnutzt. Die Replikate werden in eine zentrale Einigungsgruppe, die die Ausführungsreihenfolge der Nutzeranfragen festlegt und aus $3f+1$ Replikaten besteht, und mehrere Ausführungsgruppen mit jeweils nur $2f+1$ Replikaten aufgeteilt. Jede Gruppe läuft innerhalb einer Region, wobei die einzelnen Replikate auf verschiedene Verfügbarkeitszonen verteilt sind, um das Risiko gleichzeitiger Ausfälle zu minimieren. Dadurch können Replikate einer Gruppe miteinander mit niedriger Latenz kommunizieren, was wiederum die Einigung mit niedriger Latenz ermöglicht. Die Gruppen nutzen eine als interregionaler Nachrichtenkanal bezeichnete Abstraktion, die den zuverlässigen Austausch von Nutzeranfragen und Einigungsergebnissen ermöglicht. Zum Minimieren der Ausführungslatenz reduziert diese Dissertation Antwortzeitspitzen, die durch das periodische Erstellen von Sicherungspunkten hervorgerufen werden, währenddessen die Anfrageausführung pausiert werden muss. Stattdessen wird eine nebenläufige Zustandssicherungsphase eingeführt, die bereits startet, bevor der nächste Sicherungspunkt erstellt werden muss. Der hierbei entstehende unscharfe Sicherungspunkt kann zusammen mit einer Liste von in der Zwischenzeit erfolgten Zustandsmodifikationen wieder in einen normalen Sicherungspunkt umgewandelt werden, der auf allen Replikaten übereinstimmt. Die Anwendungsschnittstelle bietet dabei zwei Varianten an, die sich hinsichtlich Einfachheit und Effizienz unterscheiden. Diese Ansätze ermöglichen es die Antwortzeiten aus Sicht des Nutzers zu optimieren, sowie auch Leistungsschwankungen durch unterschiedliche Systemkonfigurationen oder periodische Aufgaben zu reduzieren.