Hermes: a Fast, FaultTolerant and Linearizable Replication Protocol. Todayu0027s datacenter applications are underpinned by datastores that are responsible for providing availability, consistency, and performance. For high availability in the presence of failures, these datastores replicate data across several nodes. This is accomplished with the help of a reliable replication protocol that is responsible for maintaining the replicas stronglyconsistent even when faults occur. Strong consistency is preferred to weaker consistency models that cannot guarantee an intuitive behavior for the clients. Furthermore, to accommodate high demand at realtime latencies, datastores must deliver high throughput and low latency.  :87,work introduces Hermes, a broadcastbased reliable replication protocol for inmemory datastores that provides both high throughput and low latency by enabling local reads and fullyconcurrent fast writes at all replicas. Hermes couples logical timestamps with cachecoherenceinspired invalidations to guarantee linearizability, avoid write serialization at a centralized ordering point, resolve write conflicts locally at each replica (hence ensuring that writes never abort) and provide faulttolerance via replayable writes. Our implementation of Hermes over an RDMAenabled reliable datastore with five replicas shows that Hermes consistently achieves higher throughput than stateoftheart RDMAbased reliable protocols (ZAB and CRAQ) across all write ratios while also significantly reducing tail latency. At 5% writes, the tail latency of Hermes is 3.6X lower than that of CRAQ and ZAB.

Kite: Efficient and Available Release Consistency for the Datacenter KeyValue Stores (KVSs) came into prominence as highlyavailable, eventually consistent (EC), NoSQLu0027u0027 Databases, but have quickly transformed into generalpurpose, programmable storage systems. Thus, EC, while relevant, is no longer sufficient. Complying with the emerging requirements for stronger consistency, researchers have proposed KVSs with multiple consistency levels (MCL) that expose the consistencyperformance tradeoff to the programmer. We argue that this approach falls short in both programmability and performance. For instance, the MCL APIs proposed thus far, fail to capture the ordering relationship between strongly and weaklyconsistent accesses that naturally occur in programs.NTaking inspiration from shared memory, we advocate Release Consistency (RC) for KVSs.  We argue that RCxe2x80x99s onesided barriers are ideal for capturing the ordering relationship between synchronization and nonsynchronization accesses while enabling highperformance.NWe present Kite, the first highlyavailable, replicated KVS that offers a linearizable variant of RC for the asynchronous setting with individual process and network failures. Kite enforces RC barriers through a novel fastslow path mechanism that leverages the absence of failures in the typical case to maximize performance while relying on the slow path for progress. Our evaluation shows that the RDMAenabled and heavilymultithreaded Kite achieves orders of magnitude better performance than Derecho (a stateoftheart RMDAenabled state machine replication system) and significantly outperforms ZAB (the protocol at the heart of Zookeeper). We demonstrate the efficacy of Kite by porting three lockfree shared memory data structures, and showing that Kite outperforms the competition.NVasilis GavrielatosThe University of EdinburghAntonios KatsarakisUniversity of Edinburgh, UKUni