Liuba Shrira

dblp:s/LiubaShrira · DBLP profile ↗
← Back
40ranked-venue papers
6as first author
3since 2021 · last 2026
—ORCID · none

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

Software engineering, systems software and programming languages · 13 · 2 first-authorSystems, architecture and hardware · 12 · 3 first-authorDatabases, data management, data science and information retrieval · 10 · 1 first-author · 2 since 2021Theory of computation · 4 · 1 since 2021Computer networks · 1
YearPublicationVenuePosition
2026 Byzantine Approximate Agreement Cross-chain Task
Maurice Herlihy, Maria Potop-Butucaru, Liuba Shrira
SIROCCO4
2022 Cross-chain deals and adversarial commerce
abstract
Abstract Modern distributed data management systems face a new challenge: how can autonomous, mutually distrusting parties cooperate safely and effectively? Addressing this challenge brings up familiar questions from classical distributed systems: how to combine multiple steps into a single atomic action, how to recover from failures, and how to synchronize concurrent access to data. Nevertheless, each of these issues requires rethinking when participants are autonomous and potentially adversarial. We propose the notion of a cross-chain deal, a new way to structure complex distributed computations that manage assets in an adversarial setting. Deals are inspired by classical atomic transactions, but are necessarily different, in important ways, to accommodate the decentralized and untrusting nature of the exchange. We describe novel safety and liveness properties, along with two alternative protocols for implementing cross-chain deals in a system of independent blockchain ledgers. One protocol, based on synchronous communication, is fully decentralized, while the other, based on semi-synchronous communication, requires a globally shared ledger. We also prove that some degree of centralization is required in the semi-synchronous communication model.
Maurice Herlihy, Barbara Liskov, Liuba Shrira
VLDB J.3
2022 Opportunities for optimism in contended main-memory multicore transactions
Yihe Huang, William Qian 0001, Eddie Kohler, Barbara Liskov, Liuba Shrira
VLDB J.5
2020 RID: Deduplicating Snapshot Computations
abstract
One can audit SQL applications by running SQL programs over sequences of persistent snapshots, but care is needed to avoid wasteful duplicate computation. This paper describes the design, implementation, and performance of RID, the first language-independent optimization framework that eliminates duplicate computations in SQL programs running over low-level snapshots by exploiting snapshot metadata efficiently.
Nikos Tsikoudis, Liuba Shrira
SIGMOD Conference2
2020 Opportunities for Optimism in Contended Main-Memory Multicore Transactions
abstract
Optimistic concurrency control, or OCC, can achieve excellent performance on uncontended workloads for main-memory transactional databases. Contention causes OCC's performance to degrade, however, and recent concurrency control designs, such as hybrid OCC/locking systems and variations on multiversion concurrency control (MVCC), have claimed to outperform the best OCC systems. We evaluate several concurrency control designs under varying contention and varying workloads, including TPCC, and find that implementation choices unrelated to concurrency control may explain much of OCC's previously-reported degradation. When these implementation choices are made sensibly, OCC performance does not collapse on high-contention TPC-C. We also present two optimization techniques, commit-time updates and timestamp splitting , that can dramatically improve the high-contention performance of both OCC and MVCC. Though these techniques are known, we apply them in a new context and highlight their potency: when combined, they lead to performance gains of 3.4X for MVCC and 3.6X for OCC in a TPC-C workload.
Yihe Huang, William Qian 0001, Eddie Kohler, Barbara Liskov, Liuba Shrira
Proc. VLDB Endow.5
2019 Cross-chain Deals and Adversarial Commerce
abstract
Modern distributed data management systems face a new challenge: how can autonomous, mutually-distrusting parties cooperate safely and effectively? Addressing this challenge brings up questions familiar from classical distributed systems: how to combine multiple steps into a single atomic action, how to recover from failures, and how to synchronize concurrent access to data. Nevertheless, each of these issues requires rethinking when participants are autonomous and potentially adversarial. We propose the notion of a cross-chain deal , a new way to structure complex distributed computations that manage assets in an adversarial setting. Deals are inspired by classical atomic transactions, but are necessarily different, in important ways, to accommodate the decentralized and untrusting nature of the exchange. We describe novel safety and liveness properties, along with two alternative protocols for implementing cross-chain deals in a system of independent blockchain ledgers. One protocol, based on synchronous communication, is fully decentralized, while the other, based on semi-synchronous communication, requires a globally shared ledger.
Maurice Herlihy, Liuba Shrira, Barbara Liskov
Proc. VLDB Endow.2
2018 RQL: Retrospective Computations over Snapshot Sets
Nikos Tsikoudis, Liuba Shrira, Sara Cohen
EDBT2
2016 Type-aware transactions for faster concurrent code
abstract
It is often possible to improve a concurrent system's performance by leveraging the semantics of its datatypes. We build a new software transactional memory (STM) around this observation. A conventional STM tracks read- and write-sets of memory words; even simple operations can generate large sets. Our STM, which we call STO, tracks abstract operations on transactional datatypes instead. Parts of the transactional commit protocol are delegated to these datatypes' implementations, which can use datatype semantics, and new commit protocol features, to reduce bookkeeping, limit false conflicts, and implement efficient concurrency control. We test these ideas on the STAMP benchmark suite for STM applications and on our own prior work, the Silo high-performance in-memory database, observing large performance improvements in both systems.
Nathaniel Herman, Jeevana Priya Inala, Yihe Huang, Lillian L. Tsai, Eddie Kohler, Barbara Liskov, Liuba Shrira
EuroSys7
2014 A Modular and Efficient Past State System for Berkeley DB
Ross Shaull, Liuba Shrira, Barbara Liskov
USENIX ATC2
2012 Abstractions for Usable Information Flow Control in Aeolus
Winnie Cheng, Dan R. K. Ports, David A. Schultz, Victoria Popic, Aaron Blankstein, James A. Cowling, Dorothy Curtis, Liuba Shrira, Barbara Liskov
USENIX ATC8
2008 Skippy: Enabling Long-Lived Snapshots of the Long-Lived Past
abstract
Decreasing disk costs have made it practical to retain long- lived snapshots, enabling new applications that analyze past states and infer about future states. Current approaches offer no satisfactory way to organize long-lived snapshots because they disrupt the database in either short or long run. Split snapshots are a recent approach that overcomes some of the limitations. An unsolved problem has been how to support efficient application code access to arbitrarily long-lived snapshots. We describe Skippy, a new approach that solves this problem. Performance evaluation of Skippy, based on theoretical analysis and experimental measurements, indicates that the new approach is effective and efficient.
Ross Shaull, Liuba Shrira
ICDE2
2008 Exo-Leasing: Escrow Synchronization for Mobile Clients of Commodity Storage Servers
Liuba Shrira, Hong Tian, Douglas B. Terry
Middleware1
2008 Skippy: a new snapshot indexing method for time travel in the storage manager
abstract
The storage manager of a general-purpose database system can retain consistent disk page level snapshots and run application programs "back-in-time" against long-lived past states, virtualized to look like the current state. This opens the possibility that functions, such as on-line trend analysis and audit, formerly available in specialized temporal databases, can become available to general applications in general-purpose databases.
Ross Shaull, Liuba Shrira
SIGMOD Conference2
2006 Modular Software Upgrades for Distributed Systems
Sameer Ajmani, Barbara Liskov, Liuba Shrira
ECOOP3
2006 HQ Replication: A Hybrid Quorum Protocol for Byzantine Fault Tolerance
James A. Cowling, Dan S. Myers, Barbara Liskov, Rodrigo Rodrigues 0001, Liuba Shrira
OSDI5
2006 Thresher: An Efficient Storage Manager for Copy-on-write Snapshots
Liuba Shrira
USENIX ATC, General Track1
2005 SNAP: Efficient Snapshots for Back-in-Time Execution
abstract
SNAP is a novel high-performance snapshot system for object storage systems. The goal is to provide a snapshot service that is efficient enough to permit "back-in-time" read-only activities to run against application-specified snapshots. Such activities are often impossible to run against rapidly evolving current state because of interference or because the required activity is determined in retrospect. A key innovation in SNAP is that it provides snapshots that are transactionally consistent, yet non-disruptive. Unlike earlier systems, we use novel in-memory data structures to ensure that frequent snapshots do not block applications from accessing the storage system, and do not cause unnecessary disk operations. SNAP takes a novel approach to dealing with snapshot meta-data using a new technique that supports both incremental meta-data creation and efficient meta-data reconstruction. We have implemented a SNAP prototype and analyzed its performance. Preliminary results show that providing snapshots for back-in-time activities has low impact on system performance even when snapshots are frequent.
Liuba Shrira
ICDE1
2003 MX: Mobile Object Exchange for Collaborative Applications
Liuba Shrira, Hong Tian
ECOOP1
2003 Scheduling and Simulation: How to Upgrade Distributed Systems
Sameer Ajmani, Barbara Liskov, Liuba Shrira
HotOS3
2003 Lazy modular upgrades in persistent object stores
abstract
Persistent object stores require a way to automatically upgrade persistent objects. Automatic upgrades are a challenge for such systems. Upgrades must be performed in a way that is efficient both in space and time, and that does not stop application access to the store. In addition, however, the approach must be modular: it must allow programmers to reason locally about the correctness of their upgrades similar to the way they would reason about regular code. This paper provides solutions to both problems. The paper first defines upgrade modularity conditions that any upgrade system must satisfy to support local reasoning about upgrades. The paper then describes a new approach for executing upgrades efficiently while satisfying the upgrade modularity conditions. The approach exploits object encapsulation properties in a novel way. The paper also describes a prototype implementation and shows that our upgrade system imposes only a small overhead on application performance.
Chandrasekhar Boyapati, Barbara Liskov, Liuba Shrira, Chuang-Hue Moh, Steven Richman
OOPSLA3
2003 Ownership types for object encapsulation
abstract
Ownership types provide a statically enforceable way of specifying object encapsulation and enable local reasoning about program correctness in object-oriented languages. However, a type system that enforces strict object encapsulation is too constraining: it does not allow efficient implementation of important constructs like iterators. This paper argues that the right way to solve the problem is to allow objects of classes defined in the same module to have privileged access to each other's representations; we show how to do this for inner classes. This approach allows programmers to express constructs like iterators and yet supports local reasoning about the correctness of the classes, because a class and its inner classes together can be reasoned about as a module. The paper also sketches how we use our variant of ownership types to enable efficient software upgrades in persistent object stores.
Chandrasekhar Boyapati, Barbara Liskov, Liuba Shrira
POPL3
2002 BuddyCache: high-performance object storage for collaborative strong-consistency applications in a WAN
abstract
Collaborative applications provide a shared work environment for groups of networked clients collaborating on a common task. They require strong consistency for shared persistent data and efficient access to fine-grained objects. These properties are difficult to provide in wide area networks because of high network latency.BuddyCache is a new transactional caching approach that improves the latency of access to shared persistent objects for collaborative strong-consistency applications in high-latency network environments. The challenge is to improve performance while providing the correctness and availability properties of a transactional caching protocol in the presence of node failures and slow peers.We have implemented a BuddyCache prototype and evaluated its performance. Analytical results, confirmed by measurements of the BuddyCache prototype using the multi-user 007 benchmark indicate that for typical Internet latencies, e.g. ranging from 40 to 80 milliseconds round trip time to the storage server, peers using BuddyCache can reduce by up to 50% the latency of access to shared objects compared to accessing the remote servers directly.
Magnus E. Bjornsson, Liuba Shrira
OOPSLA2
1999 Providing Persistent Objects in Distributed Systems
Barbara Liskov, Miguel Castro 0001, Liuba Shrira, Atul Adya
ECOOP3
1997 Fragment Reconstruction: Providing Global Cache Coherence in a Transactional Storage System
abstract
Cooperative caching is a promising technique to avoid the increasingly formidable disk bottleneck problem in distributed storage systems; it reduces the number of disk accesses by servicing client cache misses from the caches of other clients. However, existing cooperative caching techniques do not provide adequate support for fine grained sharing. We describe a new storage system architecture, split caching, and a new cache coherence protocol, fragment reconstruction, that combine cooperative caching with efficient support for fine grained sharing and transactions. We also present the results of performance studies that show that our scheme introduces little overhead over the basic cooperative caching mechanism and provides better performance when there is fine grained sharing.
Atul Adya, Miguel Castro 0001, Barbara Liskov, Umesh Maheshwari, Liuba Shrira
ICDCS5
1996 Safe and Efficient Sharing of Persistent Objects in Thor
abstract
Thor is an object-oriented database system designed for use in a heterogeneous distributed environment. It provides highly-reliable and highly-available persistent storage for objects, and supports safe sharing of these objects by applications written in different programming languages.Safe heterogeneous sharing of long-lived objects requires encapsulation: the system must guarantee that applications interact with objects only by invoking methods. Although safety concerns are important, most object-oriented databases forgo safety to avoid paying the associated performance costs.This paper gives an overview of Thor's design and implementation. We focus on two areas that set Thor apart from other object-oriented databases. First, we discuss safe sharing and techniques for ensuring it; we also discuss ways of improving application performance without sacrificing safety. Second, we describe our approach to cache management at client machines, including a novel adaptive prefetching strategy.The paper presents performance results for Thor, on several OO7 benchmark traversals. The results show that adaptive prefetching is very effective, improving both the elapsed time of traversals and the amount of space used in the client cache. The results also show that the cost of safe sharing can be negligible; thus it is possible to have both safety and high performance.
Barbara Liskov, Atul Adya, Miguel Castro 0001, Mark Day, Sanjay Ghemawat, Robert Gruber, Umesh Maheshwari, Andrew C. Myers, Liuba Shrira
SIGMOD Conference9
1995 Shared data management needs adaptive methods
abstract
Object-based client caching allows clients to keep more frequently accessed objects while discarding colder objects that reside on the same page. However, when these objects are modified and sent to the server, it may need to read the corresponding page from disk to install the update. These 'installation reads' are not required with a page-based cache because whole pages are sent to the server. The relative effectiveness of the two cache techniques depends crucially on the application workload and on the object layout on pages. In a large system, when many applications share data objects, customizing cache management to either an object-based or a page-based configuration may not be optimal to any of the applications. We describe a hybrid system that permits clients to cache objects and pages. The system uses a simple cache design that combines the best of object caching and page caching. The client increases its cache hit ratio as in object-based caching. The client avoids some installation reads by sending pages to the server when possible. Using simulated workloads, we explore the performance of our design and show that it can offer a significant performance improvement over both pure object caching and pure page caching on a range of workloads.
James W. O'Toole Jr., Liuba Shrira
HotOS2
1994 Opportunistic Log: Efficient Installation Reads in a Reliable Storage Server
James W. O'Toole Jr., Liuba Shrira
OSDI2
1992 Providing High Availability Using Lazy Replication
abstract
To provide high availability for services such as mail or bulletin boards, data must be replicated. One way to guarantee consistency of replicated data is to force service operations to occur in the same order at all sites, but this approach is expensive. For some applications a weaker causal operation order can preserve consistency while providing better performance. This paper describes a new way of implementing causal operations. Our technique also supports two other kinds of operations: operations that are totally ordered with respect to one another and operations that are totally ordered with respect to all other operations. The method performs well in terms of response time, operation-processing capacity, amount of stored state, and number and size of messages; it does better than replication methods based on reliable multicast techniques.
Rivka Ladin, Barbara Liskov, Liuba Shrira, Sanjay Ghemawat
ACM Trans. Comput. Syst.3
1991 Replication in the Harp File System
abstract
This paper describes the design and implementation of the Harp file system. Harp is a replicated Unix file system accessible via the VFS interface. It provides highly available and reliable storage for files and guarantees that file operations are executed atomically in spite of concurrency and failures. It uses a novel variation of the primary copy replication technique that provides good performance because it allows us to trade disk accesses for network communication. Harp is intended to be used within a file service in a distributed network; in our current implementation, it is accessed via NFS. Preliminary performance results indicate that Harp provides equal or better response time and system capacity than an unreplicated implementation of NFS that uses Unix files directly.
Barbara Liskov, Sanjay Ghemawat, Robert Gruber, Paul Johnson 0001, Liuba Shrira, Michael Williams
SOSP5
1991 On the Complexity of Computation in the Presence of Link Failures: The Case of a Ring
Oded Goldreich 0001, Liuba Shrira
Distributed Comput.2
1991 Efficient At-Most-Once Messages Based on Synchronized Clocks
abstract
This paper describes a new at-most-once message passing protocol that provides guaranteed detection of duplicate messages even when the receiver has no state stored for the sender. It also discusses how to use at-most-once messages to implement higher-level primitives such as at-once-remote procedure calls and sequenced bytestream protocols. Our performance measurements indicate that at-most-once RPCs can provide at the same cost as less desirable forms of RPCs that do not guarantee at-most-once execution. Our method is based on the assumption that clocks throughout the system are loosely synchronized. Modern clock synchronization protocols provide good bounds on clock skew with high probability; our method depends on the bound for performance but not for correctness.
Barbara Liskov, Liuba Shrira, John Wroclawski
ACM Trans. Comput. Syst.2
1990 Lazy Replication: Exploiting the Semantics of Distributed Services
abstract
To provide high availability for services such as mail or bulletin boards, data must be replicated.One way to guarantee consistency of replicated data is to force service operations to occur in the same order at all sites, but this approach is expensive.In this paper, we propose lazy replication as a way to preserve consistency by exploiting the semantics of the service's operations to relax the constraints on ordering.Three kinds of operations are supported: operations for which the clients define the required order dynamically during the execution.operations for which the service defines the order, and operations that must be globally ordered with respect to both client ordered and service ordered operations.The method performs well in terms of response time, amount of stored state, number of messages, and availability.It is especially well suited to applications in which most operations require only the client-defined order.
Rivka Ladin, Barbara Liskov, Liuba Shrira
PODC3
1990 Efficient At-Most-Once Messages Based on Synchronized Clocks
abstract
This paper describes a new message passing protocol that provides guaranteed detection of duplicate messages even when the receiver has no state stored for the sender. It also discusses how to use these messages to implement higher-level primitives such as at-most-once remote procedure calls and sequenced bytestream protocols, and describes an implementation of at-most-once RPCs using our method. Our performance measurements indicate that at-most-once RPCs can be provided at the same cost as less desirable RPCs that do not guarantee at-most-once execution. Our method is based on the assumption that clocks throughout the system are loosely synchronized. Modern clock synchronization protocols provide good bounds on clock skew with high probability; our method depends on the bound for performance but not for correctness.
Barbara Liskov, Liuba Shrira, John Wroclawski
SIGCOMM2
1988 Promises: Linguistic Support for Efficient Asynchronous Procedure Calls in Distributed Systems
abstract
This paper deals with the integration of an efficient asynchronous remote procedure call mechanism into a programming language. It describes a new data type called a promise that was designed to support asynchronous calls. Promises allow a caller to run in parallel with a call and to pick up the results of the call, including any exceptions it raises, in a convenient and type-safe manner. The paper also discusses efficient composition of sequences of asynchronous calls to different locations in a network.
Barbara Liskov, Liuba Shrira
PLDI2
1988 A Technique for Constructing Highly Available Services
Rivka Ladin, Barbara Liskov, Liuba Shrira
Algorithmica3
1987 Electing a Leader in a Ring with Link Failures
Oded Goldreich 0001, Liuba Shrira
Acta Informatica2
1986 On Proving Communication Closedness of Distributed Layers
Rob Gerth, Liuba Shrira
FSTTCS2
1986 The Effect of Link Failures on Computations in Asynchronous Rings
abstract
Article The effects of link failures on computations in asynchronous rings Share on Authors: Oded Goldreich Lab. for Computer Sc., MIT, Cambridge and Computer Science Dept., Teehnion, Haifa, Israel Lab. for Computer Sc., MIT, Cambridge and Computer Science Dept., Teehnion, Haifa, IsraelView Profile , Liuba Shrira Dept. of Computer Sc., Technion, Haifa, Israel Dept. of Computer Sc., Technion, Haifa, IsraelView Profile Authors Info & Claims PODC '86: Proceedings of the fifth annual ACM symposium on Principles of distributed computingNovember 1986 Pages 174–185https://doi.org/10.1145/10590.10605Online:01 November 1986Publication History 14citation231DownloadsMetricsTotal Citations14Total Downloads231Last 12 Months3Last 6 weeks2 Get Citation AlertsNew Citation Alert added!This alert has been successfully added and will be sent to:You will be notified whenever a record that you have chosen has been cited.To manage your alert preferences, click on the button below.Manage my AlertsNew Citation Alert!Please log in to your account Save to BinderSave to BinderCreate a New BinderNameCancelCreateExport CitationPublisher SiteGet Access
Oded Goldreich 0001, Liuba Shrira
PODC2
1983 Distributed k-Selection: From a Sequential to a Distributed Algorithm
abstract
A methodology for transforming sequential recursive algorithms to distributive ones is suggested. The assumption is that the program segments between recursive calls have a distributive implementation. The methodology is applied to two k-selection algorithms and yields new distributed k-selection algorithms. Some complexity issues of the resulting algorithms are discussed.
Liuba Shrira, Nissim Francez, Michael Rodeh
PODC1
1981 An Experimental Implementation of CSP
Liuba Shrira, Nissim Francez
ICDCS1