Towards High Performance Abstractions for Strong Geo-Replicated Systems
Large-scale Internet applications have become ubiquitous in everyday life because theyseamlessly and persistently connect people to each other and to service providers. These applications are built on geo-replicated services that reliably process and store user data. Application developers prefer services that provide strong guarantees because they simplify the process of programming correct applications. However, existing approaches to implementing geo-replicated services that meet the high throughput and low latency requirements of large-scale Internet applications sacrifice strong guarantees or generality in the application programming interface. This dissertation argues that geo-replicated services that provide strong guaranteescan meet the high throughput and low latency requirements of large-scale Internet applications without sacrificing generality in the API. To do so, we propose that services more effectively leverage semantic information already present in existing, general APIs. We demonstrate this approach in the design of two systems, Morty and Gryff. Mortyis a replicated transactional storage system that provides serializable transactions with high throughput under contention in geo-replicated settings. Morty achieves higher throughput than existing systems by leveraging a continuation passing style API—which is already commonly used in networked services—to implement transaction re-execution. Gryff is a replicated coordination service that provides linearizability with low read tail latency in geo-replicated settings. Gryff achieves lower read tail latency than existing systems by processing simple reads and writes with a shared register protocol instead of consensus. Because coordination services already differentiate between reads and writes and stronger synchronization operations like read-modify-writes, developers can leverage Gryff’s more efficient design to provide lower latency to end-users without significantly rewriting their applications.