This paper argues for a simple change to Byzantine Fault Tolerant (BFT)
Choosing a cloud storage system and specific operations for reading and writing data requires developers to make decisions that trade off consistency for availability and performance. Applications may be locked into a choice that is not ideal for all clients and changing conditions. Pileus is a replicated key-value store that allows applications to declare their consistency and latency priorities via consistencybased service level agreements (SLAs). It dynamically selects which servers to access in order to deliver the best service given the current configuration and system conditions. In application-specific SLAs, developers can request both strong and eventual consistency as well as intermediate guarantees such as read-mywrites. Evaluations running on a worldwide test bed with geo-replicated data show that the system adapts to varying client-server latencies to provide service that matches or exceeds the best static consistency choice and server selection scheme. IntroductionCloud storage systems, such as the currently popular class of "NoSQL" data stores, have been designed to meet the needs of diverse applications from social networking to electronic commerce. Such storage services invariably replicate application data on multiple machines to make it highly available. Many provide a relaxed form of consistency, eventual consistency, in order to achieve elastic scalability and good performance while some strive for strong consistency to maintain the semantics of one-copy serializability. To allow local access and ensure data survivability even during a complete datacenter failure, many storage systems offer "geo-replication," the option of replicating data across different regions of the world.With data being replicated on a worldwide scale, the inherent trade-offs between performance and consistency are accentuated due to the high communication latencies between datacenters. The performance difference between reads with different consistencies can be substantial. This is not surprising. Strongly consistent reads generally involve multiple replicas or must be serviced by a primary replica, whereas eventually consistent reads can be answered by the closest replica. Even within a datacenter, the latency of strongly consistent reads has been measured as eight times that of reads with weaker session guarantees [26]. With geo-replication, our studies show that the performance can differ by more than two orders of magnitude.Recognizing these fundamental trade-offs [12], storage systems like Amazon's SimpleDB and DynamoDB [43], Google's AppEngine data store [22], Yahoo!'s PNUTS [17], and Oracle's NoSQL Database [32] now offer read operations with a choice between strong consistency and eventual consistency. Applications can choose between stronger consistency with lower performance and relaxed consistency with higher performance.A major problem with existing multi-consistency storage services is that application developers need to decide at development time which consistency to embrace. They use different API calls t...
A longstanding vision in distributed systems is to build reliable systems from unreliable components. An enticing formulation of this vision is Byzantine Fault-Tolerant (BFT) state machine replication, in which a group of servers collectively act as a correct server even if some of the servers misbehave or malfunction in arbitrary (“Byzantine”) ways. Despite this promise, practitioners hesitate to deploy BFT systems, at least partly because of the perception that BFT must impose high overheads. In this article, we present Zyzzyva, a protocol that uses speculation to reduce the cost of BFT replication. In Zyzzyva, replicas reply to a client's request without first running an expensive three-phase commit protocol to agree on the order to process requests. Instead, they optimistically adopt the order proposed by a primary server, process the request, and reply immediately to the client. If the primary is faulty, replicas can become temporarily inconsistent with one another, but clients detect inconsistencies, help correct replicas converge on a single total ordering of requests, and only rely on responses that are consistent with this total order. This approach allows Zyzzyva to reduce replication overheads to near their theoretical minima and to achieve throughputs of tens of thousands of requests per second, making BFT replication practical for a broad range of demanding services.
Applications on today's high-end processors typically make varying load demands over time. A single application may have many different phases during its lifetime. and workload mixes show interleaved phases. This work examines and uses the differences between mentoyv-and CPU-intensive phi1sc.v to reduce power. Today's processors provide rt'sou~'ces that are underut ilized during memoryintensive phases, consuming power while producing little incremental gain in performance. This work examines a deployed system consisting of identical cores with a goat of running each one at a different effective frequency. The initial goal is to find the appropriate frequency at which to run each phase.This paper denionstrates that memory intensity directly affects the throughput of applications. The results indicate that siniple metrics such as IPC (instructions per cycle) cannot be used to determine what fi-equency to run R phase. Instead, it uses performance counters which directly monitor memory behavior to identify. Memory-intensive phases can then be run on a slower core without incurring significant performance penalties. The key result of the paper is the introduction o f a very simple, online model that uses the perforniance counter data to predict rhe perforniance of a program phase at any particular frequency setting. The information from this model allows a scheduler to decide which core to use to execute the program phase. Using a sophisticated power model for the processor family shows that this approach significantly reduces power consumption. The model was evaluated using a subset of SPECCPU and the SPECjbb and TPC-W benchmarks. It predicts perforinance with an average error of less than 10%. The power modeling shows that memory-intensive benchmarks achieve up to a 58% power reduction at a performance loss o f less than 20% when run at 80% of nominal frequency.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.
hi@scite.ai
10624 S. Eastern Ave., Ste. A-614
Henderson, NV 89052, USA
Copyright © 2024 scite LLC. All rights reserved.
Made with 💙 for researchers
Part of the Research Solutions Family.