Feedback

Reliable Cloud Services with Byzantine Fault Tolerance

Affiliation/Institute
Institut für Betriebssysteme und Rechnerverbund
Li, Bijun

Cloud computing has developed rapidly in the last decade, offering different types of products to customers. Compared to local servers in the data centers, the use of clouds can bring significant benefits to customers, such as flexible scalability, high availability, and lower infrastructure maintenance costs. For this reason, more and more Internet service providers prefer to run their services such as social networking and online streaming on a cloud infrastructure rather than on local servers.
In addition to these commodity services, there is also such a trend in traditional infrastructure-related services. For example, traffic control and railway network management are gradually being integrated into cloud infrastructures, which can be critical as they usually have an incredible responsibility to society, meaning that any failure can have fatal consequences. However, since most existing cloud infrastructures do not guarantee fault tolerance for dependable stateful services, they need to be strengthened to provide higher reliability and availability.
In this thesis, we present the design for building a cloud environment that provides reliable services with Byzantine Fault Tolerance (BFT) that tolerates arbitrary failures of system components and guarantees good performance, including a set of solutions that address the problems from different angles.
First, we introduce a parallel ordering framework that relies on multiple leaders to improve the performance and scalability of BFT systems. Under this framework, multiple BFT protocol instances run within each replica for concurrent ordering and execution of independent requests. Second, we present a prototype that leverages trusted execution environments to provide transparent access to BFT systems. It implements a replacement for the library required for client access within the trusted environment to allow legacy clients to access the replicated services without modification. We also introduce a novel read optimization to further accelerate the processing of read-heavy workloads while providing strong consistency guarantees. Third, we implement a framework that can automate the deployment and evaluation of BFT systems with different software configurations. By using this framework, the error-prone manual management and orchestration of replicated services in the cloud environment can be avoided, and the comparison of different fault-tolerant systems can be greatly facilitated.

 

Cloud Computing hat sich innerhalb des letzten Jahrzehnts rasant weiterentwickelt und unterschiedlichste Arten von Produkten basieren darauf. Immer mehr Kunden bevorzugen es, ihre herkömmlichen Dienste in einer Cloud Infrastruktur anstatt auf lokalen Servern zu betreiben, da ihnen die Nutzung von Clouds  signifikante Vorteile, wie beispielsweise flexible Skalierbarkeit und Hochverfügbarkeit, sowie eine Senkung der Wartungskosten für die Infrastruktur, bietet.
Zusätzlich gibt es auch einen Trend, dass Dienste, die sich auf Infrastrukturanlagen, wie beispielsweise die Verwaltung eines Schienenverkehrsnetzes beziehen, schrittweise in Cloud Infrastrukturen überführt werden. Dieser Schritt kann sich als kritisch erweisen, da jedes Auftreten eines Fehlers zu verhängnisvollen Konsequenzen führen und Menschenleben gefährden könnte. Jedoch bieten die meisten bestehenden Cloud Infrastrukturen keine ausreichende Unterstützung für Fehlertoleranz von zustandsorientierten Diensten.
In dieser Dissertation wird der Entwurf von zuverlässigen Diensten unter Anwendung byzantinischer Fehlertoleranz (BFT) in einer Cloud Umgebung, die widerstandsfähig gegen willkürliche Fehler einzelner Systemkomponenten ist und zudem eine gute Leistungsfähigkeit garantiert, vorgestellt.
Erstens wird ein Parallel Ordering Framework, das sich auf mehrere Anführer stützt, vorgestellt, um die Leistungsfähigkeit und die Skalierbarkeit von Systemen mit BFT zu verbessern. In diesem Framework laufen mehrere BFT-Instanzen in jedem Replica für nebenläufiges Ordering und Ausführung von unabhängigen Anfragen. Zweitens wird ein Prototyp vorgestellt, um bestehenden Clients Zugriff ohne Anpassungen auf die replizierten Dienste zu ermöglichen. Dieser Prototyp ermöglicht die Ausführung in einer vertrauenswürdigen Laufzeitumgebung, um einen transparenten Zugriff auf BFT-Systeme zu ermöglichen. Darüber hinaus wird eine neuartige Optimierung zur Beschleunigung von Lesevorgängen eingeführt, während weiterhin eine hohe Konsistenz garantiert wird. Drittens wird durch die Implementierung eines Frameworks aufgezeigt, wie die Bereitstellung und die Evaluierung von BFT-Systemen mit verschiedenen Softwarekonfigurationen automatisierbar ist. Durch die Nutzung des Frameworks wird die fehleranfällige, manuelle Verwaltung und Orchestrierung von replizierten Diensten in der Cloud Infrastruktur vermieden und zusätzlich der Vergleich von unterschiedlichen fehlertoleranten Systemen ermöglicht.

Cite

Citation style:
Could not load citation form.

Access Statistic

Total:
Downloads:
Abtractviews:
Last 12 Month:
Downloads:
Abtractviews:

Rights

Use and reproduction: