Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Alexander Shraer

dblp:s/AlexanderShraer · DBLP profile ↗
← Back
27ranked-venue papers
3as first author
5since 2021 · last 2024
0000-0002-5627-6044ORCID · verified

Domains — the database's venue-derived domains; a paper can count in several

Databases, data management, data science and information retrieval · 11 · 2 first-author · 5 since 2021Systems, architecture and hardware · 10 · 1 first-authorComputer networks · 3Theory of computation · 3Security and privacy · 2Software engineering, systems software and programming languages · 1Applied, interdisciplinary, general and emerging computing · 1

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Computer architecture, parallel and distributed computing, and storage systems
20 papers
Distributed systems · 53% Storage systems · 24% Cloud and datacenter computing · 19%
Databases, data mining, and information retrieval
4 papers
Distributed and cloud data management · 50% Database system architecture and tuning · 16% Indexing and storage engines · 16%

Topics — the 30 heaviest of 53, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Distributed systems
replication
1.042022
A Demonstration of Multi-Region CockroachDB · Proc. VLDB Endow. 2022
Enabling the Next Generation of Multi-Region Applications with CockroachDB · SIGMOD Conference 2022
Dynamic Reconfiguration of Primary/Backup Clusters · USENIX ATC 2012
Distributed systems › distributed database
distributed transactions
0.512021
FoundationDB: A Distributed Unbundled Transactional Key Value Store · SIGMOD Conference 2021
Storage systems
key-value storage
0.512021
FoundationDB: A Distributed Unbundled Transactional Key Value Store · SIGMOD Conference 2021
Storage systems
storage reliability
0.512021
FoundationDB: A Distributed Unbundled Transactional Key Value Store · SIGMOD Conference 2021
Storage systems › key-value storage
transactional key-value store
0.512021
FoundationDB: A Distributed Unbundled Transactional Key Value Store · SIGMOD Conference 2021
Indexing and storage engines
secondary index
0.412019
FoundationDB Record Layer: A Multi-Tenant Structured Datastore · SIGMOD Conference 2019
Cloud and datacenter computing › cloud storage
multi-tenant cloud storage
0.312018
CloudKit: Structured Storage for Mobile Applications · Proc. VLDB Endow. 2018
Cloud and datacenter computing
cluster resource management and scheduling
0.322016
Slicer: Auto-Sharding for Datacenter Applications · OSDI 2016
Take me to your leader! Online Optimization of Distributed Storage Configurations · Proc. VLDB Endow. 2015
Storage systems
untrusted storage
0.332011
Fail-Aware Untrusted Storage · SIAM J. Comput. 2011
Principles of untrusted storage: a new look at consistency conditions · PODC 2008
Efficient fork-linearizable access to untrusted shared memory · PODC 2007
Distributed systems
consensus
0.332011
Dynamic atomic storage without consensus · J. ACM 2011
How to Choose a Timing Model · IEEE Trans. Parallel Distributed Syst. 2008
Timeliness, failure-detectors, and consensus performance · PODC 2006
Distributed systems › distributed coordination
coordination service
0.212016
Modular Composition of Coordination Services · USENIX ATC 2016
Distributed systems
distributed coordination
0.212016
Modular Composition of Coordination Services · USENIX ATC 2016
Routing and switching
load sharing
0.212015
Efficient traffic splitting on commodity switches · CoNEXT 2015
Storage systems
distributed storage
0.212015
Take me to your leader! Online Optimization of Distributed Storage Configurations · Proc. VLDB Endow. 2015
Distributed systems › replication › replica management
replica placement
0.212015
Take me to your leader! Online Optimization of Distributed Storage Configurations · Proc. VLDB Endow. 2015
Distributed systems
fault tolerance
0.222012
Fail-Aware Untrusted Storage · SIAM J. Comput. 2011
Dynamic Reconfiguration of Primary/Backup Clusters · USENIX ATC 2012
Cloud and datacenter computing
cloud infrastructure
0.112021
FoundationDB: A Distributed Unbundled Transactional Key Value Store · SIGMOD Conference 2021
Cloud and datacenter computing › multi-tenancy
tenant isolation
0.112021
QuiCK: A Queuing System in CloudKit · SIGMOD Conference 2021
Distributed systems
distributed data processing
0.112012
Mobius: unified messaging and data serving for mobile apps · MobiSys 2012
Reconfigurable computing and FPGAs
dynamic reconfiguration
0.112012
Dynamic Reconfiguration of Primary/Backup Clusters · USENIX ATC 2012
Cloud and datacenter computing
cloud storage
0.122018
CloudKit: Structured Storage for Mobile Applications · Proc. VLDB Endow. 2018
Mobius: unified messaging and data serving for mobile apps · MobiSys 2012
Distributed systems › distributed coordination and fault tolerance
atomic storage
0.112011
Dynamic atomic storage without consensus · J. ACM 2011
Distributed systems
distributed coordination and fault tolerance
0.112011
Dynamic atomic storage without consensus · J. ACM 2011
Distributed systems › consistency models
linearizability
0.112011
Fail-Aware Untrusted Storage · SIAM J. Comput. 2011
Storage systems › data management
petabyte-scale data management
0.112018
CloudKit: Structured Storage for Mobile Applications · Proc. VLDB Endow. 2018
Distributed systems › distributed system architecture
dynamic distributed systems
0.112009
Dynamic atomic storage without consensus · PODC 2009
Distributed computing theory
consensus
0.112009
Dynamic atomic storage without consensus · PODC 2009
Distributed computing theory
shared memory
0.112009
Dynamic atomic storage without consensus · PODC 2009
Distributed systems › fault tolerance
byzantine fault tolerance
0.112008
Brahms: byzantine resilient random membership sampling · PODC 2008
Distributed systems
consistency conditions
0.112008
Principles of untrusted storage: a new look at consistency conditions · PODC 2008

Methods — techniques the papers use, named apart from their topics

transaction management protocol · 1.1declarative data placement syntax · 1.1declarative SQL syntax · 1.1indexing · 0.9schema management · 0.8two-level sharding · 0.5deterministic simulation · 0.5FoundationDB Record Layer · 0.5wildcard rule synthesis · 0.4incremental update · 0.4caching · 0.2
YearPublicationVenuePosition
2024 The Price of Privacy: A Performance Study of Confidential Virtual Machines for Database Systems
abstract
Confidential virtual machines (CVM) use trusted hardware to encrypt data being processed in memory to prevent unauthorized access. Applications can be migrated to CVM without changes, i.e., lift and shift, to handle sensitive workloads securely in public clouds. AMD Secure Encrypted Virtualization (SEV) is one of the prominent technologies that provides hardware support for CVM. In this paper, we investigate various system operations, including CPU, memory, and disk and network I/O, to understand the performance overheads of SEV-supported CVMs. Our findings indicate that memory and I/O-intensive workloads can incur significant overhead. We then study the performance implications of running unmodified database applications, specifically Cock-roachDB, on CVMs by examining typical data access patterns of OLTP and OLAP workloads. A notable performance overhead of up to 18% is observed for TPC-C workload running on multinode database clusters, and an overhead of up to 13% is observed for TPC-H workload running on single-node database instances. The non-negligible overhead suggests the potential and necessity for database optimizations with respect to CVM, particularly for time-sensitive workloads. We offer a glimpse of the effect that CVM overhead can have in query planning using a simple join query: the optimal join algorithm becomes suboptimal on CVM, along with discussion of potential optimizations for reducing CVM overhead in the realm of database applications.
Lina Qiu, Rebecca Taft, Alexander Shraer, George Kollios
DaMoN3
2022 Enabling the Next Generation of Multi-Region Applications with CockroachDB
abstract
A database service is required to meet the consistency, performance, and availability goals of modern applications serving a global user-base. Configuring a database deployed across multiple regions such that it fulfils these goals requires significant expertise. In this paper, we describe how CockroachDB makes this easy for developers by providing a high-level declarative syntax that allows expressing data access locality and availability goals through SQL statements. These high-level goals are then mapped to database configuration, replica placement, and data partitioning decisions. We show how all layers of the database, from the SQL Optimizer to Replication, were enhanced to support multi-region workloads. We also describe a new Transaction Management protocol that enables local, strongly consistent reads from any database replica. Finally, the paper includes an extensive evaluation demonstrating that CockroachDB's new declarative SQL syntax for multi-region clusters is easy to use and supports a variety of configuration options with different performance tradeoffs to benefit a variety of workloads. We also show that throughput scales linearly with the number of regions, and the new Transaction Management protocol reduces tail latency by over 10x compared to prior approaches.
Nathan VanBenschoten, Arul Ajmani, Marcus Gartner, Andrei Matei, Aayush Shah, Irfan Sharif, Alexander Shraer, Adam Storm, Rebecca Taft, Oliver Tan, Andy Woods, Peyton Walters
SIGMOD Conference7
2022 A Demonstration of Multi-Region CockroachDB
abstract
A database service is required to meet the consistency, performance, and availability goals of modern applications serving a global user-base. Configuring a database deployed across multiple regions such that it fulfills these goals requires significant expertise. In this paper, we describe how CockroachDB makes this easy for developers by providing a high-level declarative syntax that allows expressing data access locality and availability goals through SQL statements. CockroachDB also enables many types of queries on the multiregion database to perform as well as they would in a single-region deployment, due to enhancements to the SQL optimizer, transaction, and replication layers. This paper showcases these features with a comprehensive demonstration scenario tracking a ride-sharing company's journey as they expand their application globally.
Arul Ajmani, Aayush Shah, Alexander Shraer, Adam Storm, Rebecca Taft, Oliver Tan, Nathan VanBenschoten
Proc. VLDB Endow.3
2021 QuiCK: A Queuing System in CloudKit
abstract
We present QuiCK, a queuing system built for managing asynchronous tasks in CloudKit, Apple's storage backend service. QuiCK stores queued messages along with user data in CloudKit, and supports CloudKit's tenancy model including isolation, fair resource allocation, observability, and tenant migration. QuiCK is built on the FoundationDB Record Layer, an open source transactional DBMS. It employs massive two-level sharding, with tens of billions of queues on the first level (separately storing the queued items for each user of every CloudKit app), and hundreds of queues on a second level (one per FoundationDB cluster used by CloudKit). Our evaluation demonstrates that QuiCK scales linearly with additional consumer resources, effectively avoids contention, provides fairness across CloudKit tenants, and executes deferred tasks with low latency.
Kfir Lev-Ari, Yizuo Tian, Alexander Shraer, Chris Douglas, Andrey Andreev, Kevin Beranek, Scott Dugas, Alec Grieser, Jeremy Hemmo
SIGMOD Conference3
2021 FoundationDB: A Distributed Unbundled Transactional Key Value Store
abstract
FoundationDB is an open source transactional key value store created more than ten years ago. It is one of the first systems to combine the flexibility and scalability of NoSQL architectures with the power of ACID transactions (a.k.a. NewSQL). FoundationDB adopts an unbundled architecture that decouples an in-memory transaction management system, a distributed storage system, and a built-in distributed configuration system. Each sub-system can be independently provisioned and configured to achieve the desired scalability, high-availability and fault tolerance properties. FoundationDB uniquely integrates a deterministic simulation framework, used to test every new feature of the system under a myriad of possible faults. This rigorous testing makes FoundationDB extremely stable and allows developers to introduce and release new features in a rapid cadence. FoundationDB offers a minimal and carefully chosen feature set, which has enabled a range of disparate systems (from semi-relational databases, document and object stores, to graph databases and more) to be built as layers on top. FoundationDB is the underpinning of cloud infrastructure at Apple, Snowflake and other companies, due to its consistency, robustness and availability for storing user data, system metadata and configuration, and other critical information.
Jingyu Zhou, Meng Xu 0023, Alexander Shraer, Bala Namasivayam, Evan Tschannen, Steve Atherton, Andrew J. Beamon, Rusty Sears, John Leach, Dave Rosenthal, Will Wilson, Ben Collins, David Scherer, Alec Grieser, Young Liu, Alvin Moore, Bhaskar Muppana, Xiaoge Su, Vishesh Yadav
SIGMOD Conference3
2019 FoundationDB Record Layer: A Multi-Tenant Structured Datastore
abstract
The FoundationDB Record Layer is an open source library that provides a record-oriented data store with semantics similar to a relational database implemented on top of FoundationDB, an ordered, transactional key-value store. The Record Layer provides a lightweight, highly extensible way to store structured data. It offers schema management and a rich set of query and indexing facilities, some of which are not usually found in traditional relational databases, such as nested record types, indexes on commit versions, and indexes that span multiple record types. The Record Layer is stateless and built for massive multi-tenancy, encapsulating and isolating all of a tenant's state, including indexes, into a separate logical database. We demonstrate how the Record Layer is used by CloudKit, Apple's cloud backend service, to provide powerful abstractions to applications serving hundreds of millions of users. CloudKit uses the Record Layer to host billions of independent databases, many with a common schema. Features provided by the Record Layer enable CloudKit to provide richer APIs and stronger semantics with reduced maintenance overhead and improved scalability.
Christos Chrysafis, Ben Collins, Scott Dugas, Jay Dunkelberger, Moussa Ehsan, Scott Gray, Alec Grieser, Ori Herrnstadt, Kfir Lev-Ari, Mike McMahon, Nicholas Schiefer, Alexander Shraer
SIGMOD Conference13
2018 CloudKit: Structured Storage for Mobile Applications
abstract
CloudKit is Apple's cloud backend service and application development framework that provides strongly-consistent storage for structured data and makes it easy to synchronize data across user devices or share it among multiple users. Launched more than 3 years ago, CloudKit forms the foundation for more than 50 Apple apps, including many of our most important and popular applications such as Photos, iCloud Drive, Notes, Keynote, and News, as well as many third-party apps. To deliver this at large scale, CloudKit explicitly leverages multi-tenancy at the application level as well as at the user level to guide efficient data placement and distribution. By using CloudKit application developers are free to focus on delivering the application front-end and logic while relying on CloudKit for scale, consistency, durability and security. CloudKit manages petabytes of data and handles hundreds of millions of users around the world on a daily basis.
Alexander Shraer, Alexandre Aybes, Bryan Davis, Christos Chrysafis, Dave Browning, Eric Krugler, Eric Stone, Harrison Chandler, Jacob Farkas, Jonathan Ruben, Michael Ford, Mike McMahon, Nathan Williams, Nicolas Favre-Felix, Nihar Sharma, Ori Herrnstadt, Paul Seligman, Raghav Pisolkar, Scott Dugas, Scott Gray, Shirley Lu, Sytze Harkema, Valentin Kravtsov, Vanessa Hong, Wan Ling Yih, Yizuo Tian
Proc. VLDB Endow.1
2017 Composing ordered sequential consistency
Kfir Lev-Ari, Edward Bortnikov, Idit Keidar, Alexander Shraer
Inf. Process. Lett.4
2016 Slicer: Auto-Sharding for Datacenter Applications
Atul Adya, Daniel Myers, Jon Howell, Jeremy Elson, Colin Meek, Vishesh Khemani, Stefan Fulger, Pan Gu, Lakshminath Bhuvanagiri, Jason Hunter, Roberto Peon, Larry Kai, Alexander Shraer, Arif Merchant, Kfir Lev-Ari
OSDI13
2016 Modular Composition of Coordination Services
Kfir Lev-Ari, Edward Bortnikov, Idit Keidar, Alexander Shraer
USENIX ATC4
2015 Efficient traffic splitting on commodity switches
abstract
Traffic often needs to be split over multiple equivalent backend servers, links, paths, or middleboxes. For example, in a load-balancing system, switches distribute requests of online services to backend servers. Hash-based approaches like Equal-Cost Multi-Path (ECMP) have low accuracy due to hash collision and incur significant churn during update. In a Software-Defined Network (SDN) the accuracy of traffic splits can be improved by crafting a set of wildcard rules for switches that better match the actual traffic distribution. The drawback of existing SDN-based traffic-splitting solutions is poor scalability as they generate too many rules for small rule-tables on switches. In this paper, we propose Niagara, an SDN-based traffic-splitting scheme that achieves accurate traffic splits while being extremely efficient in the use of rule-table space available on commodity switches. Niagara uses an incremental update strategy to minimize the traffic churn given an update. Experiments demonstrate that Niagara (1) achieves nearly optimal accuracy using only 1.2%--37% of the rule space of the current state-of-art, (2) scales to tens of thousands of services with the constrained rule-table capacity and (3) offers nearly minimum churn.
Nanxi Kang, Manya Ghobadi, John Reumann, Alexander Shraer, Jennifer Rexford
CoNEXT4
2015 Take me to your leader! Online Optimization of Distributed Storage Configurations
abstract
The configuration of a distributed storage system typically includes, among other parameters, the set of servers and their roles in the replication protocol. Although mechanisms for changing the configuration at runtime exist, it is usually left to system administrators to manually determine the "best" configuration and periodically reconfigure the system, often by trial and error. This paper describes a new workload-driven optimization framework that dynamically determines the optimal configuration at run-time. We focus on optimizing leader and quorum based replication schemes and divide the framework into three optimization tiers, dynamically optimizing different configuration aspects: 1) leader placement, 2) roles of different servers in the replication protocol, and 3) replica locations. We showcase our optimization framework by applying it to a large-scale distributed storage system used internally in Google and demonstrate that most client applications significantly benefit from using our framework, reducing average operation latency by up to 94%.
Artyom Sharov, Alexander Shraer, Arif Merchant, Murray Stokely
Proc. VLDB Endow.2
2013 Top-k Publish-Subscribe for Social Annotation of News
abstract
Social content, such as Twitter updates, often have the quickest first-hand reports of news events, as well as numerous commentaries that are indicative of public view of such events. As such, social updates provide a good complement to professionally written news articles. In this paper we consider the problem of automatically annotating news stories with social updates (tweets), at a news website serving high volume of pageviews. The high rate of both the pageviews (millions to billions a day) and of the incoming tweets (more than 100 millions a day) make real-time indexing of tweets ineffective, as this requires an index that is both queried and updated extremely frequently. The rate of tweet updates makes caching techniques almost unusable since the cache would become stale very quickly. We propose a novel architecture where each story is treated as a subscription for tweets relevant to the story's content, and new algorithms that efficiently match tweets to stories, proactively maintaining the top-k tweets for each story. Such top-k pub-sub consumes only a small fraction of the resource cost of alternative solutions, and can be applicable to other large scale content-based publish-subscribe problems. We demonstrate the effectiveness of our approach on realworld data: a corpus of news stories from Yahoo! News and a log of Twitter updates.
Alexander Shraer, Maxim Gurevich, Marcus Fontoura, Vanja Josifovski
Proc. VLDB Endow.1
2012 Mobius: unified messaging and data serving for mobile apps
abstract
Mobile application development is challenging for several reasons: intermittent and limited network connectivity, tight power constraints, server-side scalability concerns, and a number of fault-tolerance issues. Developers handcraft complex solutions that include client-side caching, conflict resolution, disconnection tolerance, and backend database sharding. To simplify mobile app development, we present Mobius, a system that addresses the messaging and data management challenges of mobile application development. Mobius introduces MUD (Messaging Unified with Data). MUD presents the programming abstraction of a logical table of data that spans devices and clouds. Applications using Mobius can asynchronously read from/write to MUD tables, and also receive notifications when tables change via continuous queries on the tables. The system combines dynamic client-side caching (with intelligent policies chosen on the server-side, based on usage patterns across multiple applications), notification services, flexible query processing, and a scalable and highly available cloud storage system. We present an initial prototype to demonstrate the feasibility of our design. Even in our initial prototype, remote read and write latency overhead is less than 52% when compared to a hand-tuned solution. Our dynamic caching reduces the number of messages by a factor of 4 to 8.5 when compared to fixed strategies, thus reducing latency, bandwidth, power, and server load costs, while also reducing data staleness.
Byung-Gon Chun, Carlo Curino, Russell Sears, Alexander Shraer, Samuel Madden 0001, Raghu Ramakrishnan 0001
MobiSys4
2012 Dynamic Reconfiguration of Primary/Backup Clusters
Alexander Shraer, Benjamin C. Reed, Dahlia Malkhi, Flavio Paiva Junqueira
USENIX ATC1
2011 Dynamic atomic storage without consensus
abstract
This article deals with the emulation of atomic read/write (R/W) storage in dynamic asynchronous message passing systems. In static settings, it is well known that atomic R/W storage can be implemented in a fault-tolerant manner even if the system is completely asynchronous, whereas consensus is not solvable. In contrast, all existing emulations of atomic storage in dynamic systems rely on consensus or stronger primitives, leading to a popular belief that dynamic R/W storage is unattainable without consensus. In this article, we specify the problem of dynamic atomic read/write storage in terms of the interface available to the users of such storage. We discover that, perhaps surprisingly, dynamic R/W storage is solvable in a completely asynchronous system: we present DynaStore, an algorithm that solves this problem. Our result implies that atomic R/W storage is in fact easier than consensus, even in dynamic systems.
Marcos K. Aguilera, Idit Keidar, Dahlia Malkhi, Alexander Shraer
J. ACM4
2011 Fail-Aware Untrusted Storage
abstract
We consider a set of clients collaborating through an online service provider that is subject to attacks and hence not fully trusted by the clients. We introduce the abstraction of a fail-aware untrusted service, with meaningful semantics even when the provider is faulty. In the common case, when the provider is correct, such a service guarantees consistency (linearizability) and liveness (wait-freedom) of all operations. In addition, the service always provides accurate and complete consistency and failure detection. We illustrate our new abstraction by presenting a Fail-Aware Untrusted STorage service (FAUST). Existing storage protocols in this model guarantee so-called forking semantics. We observe, however, that none of the previously suggested protocols suffices for implementing fail-aware untrusted storage with the desired liveness and consistency properties (at least wait-freedom and linearizability when the server is correct). We present a new storage protocol, which does not suffer from this limitation, and implements a new consistency notion, called weak fork-linearizability. We show how to extend this protocol to provide eventual consistency and failure awareness in FAUST.
Christian Cachin, Idit Keidar, Alexander Shraer
SIAM J. Comput.3
2009 Fail-Aware Untrusted Storage
abstract
We consider a set of clients collaborating through an online service provider that is subject to attacks, and hence not fully trusted by the clients. We introduce the abstraction of a fail-aware untrusted service, with meaningful semantics even when the provider is faulty. In the common case, when the provider is correct, such a service guarantees consistency (linearizability) and liveness (wait-freedom) of all operations. In addition, the service always provides accurate and complete consistency and failure detection. We illustrate our new abstraction by presenting a Fail-Aware Untrusted STorage service (FAUST). Existing storage protocols in this model guarantee so-called forking semantics. We observe, however, that none of the previously suggested protocols suffice for implementing fail-aware untrusted storage with the desired liveness and consistency properties (at least wait-freedom and linearizability when the server is correct). We present a new storage protocol, which does not suffer from this limitation, and implements a new consistency notion, called weak fork-linearizability. We show how to extend this protocol to provide eventual consistency and failure awareness in FAUST.
Christian Cachin, Idit Keidar, Alexander Shraer
DSN3
2009 Dynamic atomic storage without consensus
abstract
This paper deals with the emulation of atomic read/write (R/W) storage in dynamic asynchronous message passing systems. In static settings, it is well known that atomic R/W storage can be implemented in a fault-tolerant manner even if the system is completely asynchronous, whereas consensus is not solvable. In contrast, all existing emulations of atomic storage in dynamic systems rely on consensus or stronger primitives, leading to a popular belief that dynamic R/W storage is unattainable without consensus.
Marcos K. Aguilera, Idit Keidar, Dahlia Malkhi, Alexander Shraer
PODC4
2009 Brahms: Byzantine resilient random membership sampling
Edward Bortnikov, Maxim Gurevich, Idit Keidar, Gabriel Kliot, Alexander Shraer
Comput. Networks5
2009 Fork sequential consistency is blocking
Christian Cachin, Idit Keidar, Alexander Shraer
Inf. Process. Lett.3
2008 Brahms: byzantine resilient random membership sampling
abstract
We present Brahms, an algorithm for sampling random nodes in a large dynamic system prone to malicious behavior. Brahms stores small membership views at each node, and yet overcomes Byzantine attacks by a linear portion of the system. Brahms is composed of two components. The first one is a resilient gossip-based membership protocol. The second one uses a novel memory-efficient approach for uniform sampling from a possibly biased stream of ids that traverse the node. We evaluate Brahms using rigorous analysis, backed by simulations, which show that our theoretical model captures the protocol's essentials. We study two representative attacks, and show that with high probability, an attacker cannot create a partition between correct nodes. We further prove that each node's sample converges to a uniform one over time. To our knowledge, no such properties were proven for gossip protocols in the past.
Edward Bortnikov, Maxim Gurevich, Idit Keidar, Gabriel Kliot, Alexander Shraer
PODC5
2008 Principles of untrusted storage: a new look at consistency conditions
abstract
No abstract available.
Christian Cachin, Idit Keidar, Alexander Shraer
PODC3
2008 How to Choose a Timing Model
abstract
When employing a consensus algorithm for state machine replication, should one optimize for the case that all communication links are usually timely or for fewer timely links? Does optimizing a protocol for better message complexity hamper the time complexity? In this paper, we investigate these types of questions using mathematical analysis as well as experiments over PlanetLab (WAN) and a LAN. We present a new and efficient leader-based consensus protocol that has O(n) stable-state message complexity (in a system with n processes) and requires only O(n) links to be timely at stable times. We compare this protocol with several previously suggested protocols. Our results show that a protocol that requires fewer timely links can achieve better performance, even if it sends fewer messages.
Idit Keidar, Alexander Shraer
IEEE Trans. Parallel Distributed Syst.2
2007 How to Choose a Timing Model?
abstract
When employing a consensus algorithm for state machine replication, should one optimize for the case that all communication links are usually timely, or for fewer timely links? Does optimizing a protocol for better message complexity hamper the time complexity? In this paper, we investigate these types of questions using mathematical analysis as well as experiments over PlanetLab (WAN) and a LAN. We present a new and efficient leader-based consensus protocol that has O(n) stable-state message complexity (in a system with n processes) and requires only O(n) links to be timely at stable times. We compare this protocol with several previously suggested protocols. Our results show that a protocol that requires fewer timely links can achieve better performance, even if it sends fewer messages.
Idit Keidar, Alexander Shraer
DSN2
2007 Efficient fork-linearizable access to untrusted shared memory
abstract
When data is stored on a faulty server that is accessed concurrently by multiple clients, the server may present inconsistent data to different clients. For example, the server might complete a write operation of one client, but respond with stale data to another client. Mazières and Shasha (PODC 2002) introduced the notion of fork-consistency, also called fork-linearizability, which ensures that the operations seen by every client are linearizable and guarantees that if the server causes the views of two clients to differ in a single operation, they may never again see each other's updates after that without the server being exposed as faulty. In this paper, we improve the communication complexity of their fork-linearizable storage access protocol with n clients from Ω(n2) to O(n). We also prove that in every such protocol, a reader must wait for a concurrent writer. This explains a seeming limitation of their and of our improved protocol. Furthermore, we give novel characterizations of fork-linearizability and prove that it is neither stronger nor weaker than sequential consistency.
Christian Cachin, Abhi Shelat, Alexander Shraer
PODC3
2006 Timeliness, failure-detectors, and consensus performance
abstract
We study the implication that various timeliness and failure detector assumptions have on the performance of consensus algorithms that exploit them. We present a general framework, GIRAF, for expressing such assumptions, and reasoning about the performance of indulgent algorithms.
Idit Keidar, Alexander Shraer
PODC2