EDBT 2026 Demo / reviewers in the wild / expert
Marc Shapiro 0001
dblp:s/MarcShapiro
· DBLP profile ↗
51ranked-venue papers
12as first author
4since 2021 · last 2025
0000-0002-8953-9322ORCID · verified
Domains — the database's venue-derived domains; a paper can count in several
Systems, architecture and hardware · 22 · 5 first-author · 3 since 2021Software engineering, systems software and programming languages · 16 · 2 first-author · 1 since 2021Security and privacy · 5 · 2 first-authorDatabases, data management, data science and information retrieval · 2 · 1 first-authorHuman-computer interaction and ubiquitous computing · 2Theory of computation · 1 · 1 first-author
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2025 | CALock: Multi-Granularity Locking in Dynamic HierarchiesabstractHierarchies are fundamental structures across various disciplines, modelling hierarchical relationships in computer science, biology, social networks, and logistics. However, dynamic and concurrent updates in real-world systems necessitate synchronisation techniques for maintaining data consistency despite concurrent access. This paper explores a novel approach called CALock to synchronise operations on hierarchies by utilising a labelling scheme that facilitates multi-granularity locking. Our approach addresses both concurrent data reads and writes as well as structural modifications. CALock exploits the hierarchical topology via a new labelling scheme to identify the common ancestors of vertices. This enables a thread to identify an appropriate lock granule for its lock request. Leveraging variable lock granularity optimises operations across the hierarchy while ensuring consistency and performance. We provide a detailed discussion of the CALock labelling and the locking algorithm, prove its properties, and evaluate it experimentally. CALock remains competitive with previous labelling schemes on static hierarchies and has better concurrency and throughput when structural modifications change the hierarchy. In particular, CALock improves throughput by up to 4.5 times and lock response time by up to 1.5 times for workloads that contain structural modifications. Ayush Pandey 0003, Julien Sopena, Marc Shapiro 0001, Swan Dubois |
IPDPS | 3 |
| 2023 | Transactional-Turn Causal Consistency
Benoît Martin, Laurent Prosperi, Marc Shapiro 0001 |
Euro-Par | 3 |
| 2021 | CRDTs for truly concurrent file systemsabstractBuilding scalable and highly available geo-replicated file systems is hard. These systems need to resolve conflicts that emerge in concurrent operations in a way that maintains file system invariants, is meaningful to the user, and does not depart from the traditional file system interface. Conflict resolution in existing systems often leads to unexpected or inconsistent results. This paper introduces ElmerFS, a geo-replicated, truly concurrent file system designed with the aim of addressing these challenges. ElmerFS is based on two key ideas: (1) the use of Conflict-Free Replicated Data Types (CRDTs) for representing file system structures, which ensures that replicas converge to a correct state, and (2) conflict resolution rules, which are determined by the choice of CRDT types and their composition, are designed with the principle of being intuitive to the user. We argue that if the state of the file system after resolving a conflict conveys to the user the resolved conflict in an intuitive way, the user can complement or reverse it using traditional file system operations. We discuss the challenges in the design of geo-replicated weakly consistent file systems, and present the design of ElmerFS. Romain Vaillant, Dimitrios Vasilas, Marc Shapiro 0001, Thuy Linh Nguyen |
HotStorage | 3 |
| 2021 | Highly-available and consistent group collaboration at the edge with colonyabstractEdge applications, such as gaming, cooperative engineering, or in-the-field information sharing, enjoy immediate response, autonomy and availability by distributing and replicating data at the edge. However, application developers and users demand the highest possible consistency guarantees, and specific support for group collaboration. To address this challenge, Colony guarantees Transactional Causal Plus Consistency (TCC+) globally, strengthened to Snapshot Isolation within edge groups. To help with scalability, fault tolerance and security, its logical communication topology is forest-like, with replicated roots in the core cloud, but with the flexibility to migrate a node or a group. Despite this hybrid approach, applications enjoy the same semantics everywhere in the topology. Our experiments show that local caching and peer groups improve throughput and response time significantly, performance is not affected in offline mode, and that migration is seamless. Ilyas Toumlilt, Pierre Sutra, Marc Shapiro 0001 |
Middleware | 3 |
| 2020 | Proving the Safety of Highly-Available Distributed ObjectsabstractAbstract To provide high availability in distributed systems, object replicas allow concurrent updates. Although replicas eventually converge, they may diverge temporarily, for instance when the network fails. This makes it difficult for the developer to reason about the object’s properties, and in particular, to prove invariants over its state. For the subclass of state-based distributed systems, we propose a proof methodology for establishing that a given object maintains a given invariant, taking into account any concurrency control. Our approach allows reasoning about individual operations separately. We demonstrate that our rules are sound, and we illustrate their use with some representative examples. We automate the rule using Boogie, an SMT-based tool. Sreeja Nair 0001, Gustavo Petri, Marc Shapiro 0001 |
ESOP | 3 |
| 2020 | MemOpLight: Leveraging application feedback to improve container memory consolidationabstractThe container mechanism amortizes costs by consolidating several servers onto the same machine, while keeping them mutually isolated. Specifically, to ensure performance isolation, Linux relies on memory limits. These limits are static, despite the fact that application needs are dynamic; this results in poor performance. To solve this issue, MemOpLight uses dynamic application feedback to rebalance physical memory allocation between containers focusing on under- performing ones. This paper presents the issues, explains the design of MemOpLight, and validates it experimentally. Our approach increases total satisfaction by 13% compared to the default. Francis Laniel, Damien Carver, Julien Sopena, Franck Wajsbürt, Jonathan Lejeune, Marc Shapiro 0001 |
NCA | 6 |
| 2019 | Highlighting the Container Memory Consolidation Problems in LinuxabstractThe container mechanism supports server consolidation; to ensure memory performance isolation, Linux relies on static memory limits. However, this results in poor performance, because an application needs are dynamic. In this article we will show current problems with memory consolidation for containers in Linux. Francis Laniel, Damien Carver, Julien Sopena, Franck Wajsbürt, Jonathan Lejeune, Marc Shapiro 0001 |
NCA | 6 |
| 2018 | Distributed transactional reads: the strong, the quick, the fresh & the impossibleabstractInternational audience Alejandro Z. Tomsic, Manuel Bravo, Marc Shapiro 0001 |
Middleware | 3 |
| 2018 | Co-Design and Verification of an Available File System
Mahsa Najafzadeh, Marc Shapiro 0001, Patrick Eugster |
VMCAI | 2 |
| 2016 | Consistency in 3DabstractComparisons of different consistency models often try to place them in a linear strong-to-weak order. However this view is clearly inadequate, since it is well known, for instance, that Snapshot Isolation and Serialisability are incomparable. In the interest of a better understanding, we propose a new classification, along three dimensions, related to: a total order of writes, a causal order of reads, and transactional composition of multiple operations. A model may be stronger than another on one dimension and weaker on another. We believe that this new classification scheme is both scientifically sound and has good explicative value. The current paper presents the three-dimensional design space intuitively. Marc Shapiro 0001, Masoud Saeida Ardekani, Gustavo Petri |
CONCUR | 1 |
| 2016 | High Responsiveness for Group Editing CRDTsabstractGroup editing is a crucial feature for many end-user applications. It requires high responsiveness, which can be provided only by optimistic replication algorithms, which come in two classes: classical Operational Transformation (OT), or more recent Conflict-Free Replicated Data Types (CRDTs). Loïck Briot, Pascal Urso, Marc Shapiro 0001 |
GROUP | 3 |
| 2016 | Cure: Strong Semantics Meets High Availability and Low LatencyabstractDevelopers of cloud-scale applications face a difficult decision of which kind of storage to use, summarised by the CAP theorem. Currently the choice is between classical CP databases, which provide strong guarantees but are slow, expensive, and unavailable under partition, and NoSQL-style AP databases, which are fast and available, but too hard to program against. We present an alternative: Cure provides the highest level of guarantees that remains compatible with availability. These guarantees include: causal consistency (no ordering anomalies), atomicity (consistent multi-key updates), and support for high-level data types (developer friendly API) with safe resolution of concurrent updates (guaranteeing convergence). These guarantees minimise the anomalies caused by parallelism and distribution, thus facilitating the development of applications. This paper presents the protocols for highly available transactions, and an experimental evaluation showing that Cure is able to achieve scalability similar to eventually-consistent NoSQL databases, while providing stronger guarantees. Deepthi Devaki Akkoorath, Alejandro Z. Tomsic, Manuel Bravo, Zhongmiao Li, Tyler Crain, Annette Bieniusa, Nuno M. Preguiça, Marc Shapiro 0001 |
ICDCS | 8 |
| 2016 | 'Cause I'm strong enough: reasoning about consistency choices in distributed systemsabstractLarge-scale distributed systems often rely on replicated databases that allow a programmer to request different data consistency guarantees for different operations, and thereby control their performance. Using such databases is far from trivial: requesting stronger consistency in too many places may hurt performance, and requesting it in too few places may violate correctness. To help programmers in this task, we propose the first proof rule for establishing that a particular choice of consistency guarantees for various operations on a replicated database is enough to ensure the preservation of a given data integrity invariant. Our rule is modular: it allows reasoning about the behaviour of every operation separately under some assumption on the behaviour of other operations. This leads to simple reasoning, which we have automated in an SMT-based tool. We present a nontrivial proof of soundness of our rule and illustrate its use on several examples. Alexey Gotsman, Hongseok Yang, Carla Ferreira 0001, Mahsa Najafzadeh, Marc Shapiro 0001 |
POPL | 5 |
| 2015 | NumaGiC: a Garbage Collector for Big Data on Big NUMA MachinesabstractOn contemporary cache-coherent Non-Uniform Memory Access (ccNUMA) architectures, applications with a large memory footprint suffer from the cost of the garbage collector (GC), because, as the GC scans the reference graph, it makes many remote memory accesses, saturating the interconnect between memory nodes. We address this problem with NumaGiC, a GC with a mostly-distributed design. In order to maximise memory access locality during collection, a GC thread avoids accessing a different memory node, instead notifying a remote GC thread with a message; nonetheless, NumaGiC avoids the drawbacks of a pure distributed design, which tends to decrease parallelism. We compare NumaGiC with Parallel Scavenge and NAPS on two different ccNUMA architectures running on the Hotspot Java Virtual Machine of OpenJDK 7. On Spark and Neo4j, two industry-strength analytics applications, with heap sizes ranging from 160GB to 350GB, and on SPECjbb2013 and SPECjbb2005, ourgc improves overall performance by up to 45% over NAPS (up to 94% over Parallel Scavenge), and increases the performance of the collector itself by up to 3.6x over NAPS (up to 5.4x over Parallel Scavenge). Lokesh Gidra, Gaël Thomas 0001, Julien Sopena, Marc Shapiro 0001 |
ASPLOS | 4 |
| 2015 | Putting consistency back into eventual consistencyabstractGeo-replicated storage systems are at the core of current Internet services. The designers of the replication protocols used by these systems must choose between either supporting low-latency, eventually-consistent operations, or ensuring strong consistency to ease application correctness. We propose an alternative consistency model, Explicit Consistency, that strengthens eventual consistency with a guarantee to preserve specific invariants defined by the applications. Given these application-specific invariants, a system that supports Explicit Consistency identifies which operations would be unsafe under concurrent execution, and allows programmers to select either violation-avoidance or invariant-repair techniques. We show how to achieve the former, while allowing operations to complete locally in the common case, by relying on a reservation system that moves coordination off the critical path of operation execution. The latter, in turn, allows operations to execute without restriction, and restore invariants by applying a repair operation to the database state. We present the design and evaluation of Indigo, a middleware that provides Explicit Consistency on top of a causally-consistent data store. Indigo guarantees strong application invariants while providing similar latency to an eventually-consistent system in the common case. Valter Balegas, Sérgio Duarte, Carla Ferreira 0001, Rodrigo Rodrigues 0001, Nuno M. Preguiça, Mahsa Najafzadeh, Marc Shapiro 0001 |
EuroSys | 7 |
| 2015 | Write Fast, Read in the Past: Causal Consistency for Client-Side ApplicationsabstractClient-side apps (e.g., mobile or in-browser) need cloud data to be available in a local cache, for both reads and updates. For optimal user experience and developer support, the cache should be consistent and fault-tolerant. In order to scale to high numbers of unreliable and resource-poor clients, and large database, the system needs to use resources sparingly. The SwiftCloud distributed object database is the first to provide fast reads and writes via a causally-consistent client-side local cache backed by the cloud. It is thrifty in resources and scales well, thanks to consistent versioning provided by the cloud, using small and bounded metadata. It remains available during faults, switching to a different data centre when the current one is not responsive, while maintaining its consistency guarantees. This paper presents the SwiftCloud algorithms, design, and experimental evaluation. It shows that client-side apps enjoy the high performance and availability, under the same guarantees as a remote cloud data store, at a small cost. Marek Zawirski, Nuno M. Preguiça, Sérgio Duarte, Annette Bieniusa, Valter Balegas, Marc Shapiro 0001 |
Middleware | 6 |
| 2015 | Extending Eventually Consistent Cloud Databases for Enforcing Numeric InvariantsabstractGeo-replicated databases often offer high availability and low latency by relying on weak consistency models. The inability to enforce invariants across all replicas remains a key shortcoming that prevents the adoption of such databases in several applications. In this paper we show how to extend an eventually consistent cloud database for enforcing numeric invariants. Our approach builds on ideas from escrow transactions, but our novel design overcomes the limitations of previous works. First, by relying on a new replicated data type, our design has no central authority and uses pairwise asynchronous communication only. Second, by layering our design on top of a fault-tolerant database, our approach exhibits better availability during network partitions and data center faults. The evaluation of our prototype, built on top of Riak, shows much lower latency and better scalability than the traditional approach of using strong consistency to enforce numeric invariants. Valter Balegas, Diogo Serra, Sérgio Duarte, Carla Ferreira 0001, Marc Shapiro 0001, Rodrigo Rodrigues 0001, Nuno M. Preguiça |
SRDS | 5 |
| 2015 | Merging semantics for conflict updates in geo-distributed file systemsabstractWe present our model of file systems and our merging semantics for resolving conflict updates in geo-distributed file systems. The system model fully describes a file system with all of its components including hard links. This model is able to identify all conflict cases which are classified into direct, such as concurrent updates to the same file, and indirect, such as cycles in the namespace of the file system. The merging semantics resolve all types of conflicts while being able to preserve the effect of all conflict updates. Our implementation of the system and the merging semantics outperforms the existing systems in terms of feature completeness. Vinh Tao, Marc Shapiro 0001, Vianney Rancurel |
SYSTOR | 2 |
| 2014 | G-DUR: a middleware for assembling, analyzing, and improving transactional protocolsabstractA large family of distributed transactional protocols have a common structure, called Deferred Update Replication (DUR). DUR provides dependability by replicating data, and performance by not re-executing transactions but only applying their updates. Protocols of the DUR family differ only in behaviors of few generic functions. Based on this insight, we offer a generic DUR middleware, called G-DUR, along with a library of finely-optimized plug-in implementations of the required behaviors. This paper presents the middleware, the plugins, and an extensive experimental evaluation in a geo-replicated environment. Our empirical study shows that:(i) G-DUR allows developers to implement various transactional protocols under 600 lines of code; (ii) It provides a fair, apples-to-apples comparison between transactional protocols; (iii) By replacing plugs-ins, developers can use G-DUR to understand bottlenecks in their protocols; (iv) This in turn enables the improvement of existing protocols; and (v) Given a protocol, G-DUR helps evaluate the cost of ensuring various degrees of dependability. Masoud Saeida Ardekani, Pierre Sutra, Marc Shapiro 0001 |
Middleware | 3 |
| 2013 | A study of the scalability of stop-the-world garbage collectors on multicoresabstractLarge-scale multicore architectures create new challenges for garbage collectors (GCs). In particular, throughput-oriented stop-the-world algorithms demonstrate good performance with a small number of cores, but have been shown to degrade badly beyond approximately 8 cores on a 48-core with OpenJDK 7. This negative result raises the question whether the stop-the-world design has intrinsic limitations that would require a radically different approach. Our study suggests that the answer is no, and that there is no compelling scalability reason to discard the existing highly-optimised throughput-oriented GC code on contemporary hardware. This paper studies the default throughput-oriented garbage collector of OpenJDK 7, called Parallel Scavenge. We identify its bottlenecks, and show how to eliminate them using well-established parallel programming techniques. On the SPECjbb2005, SPECjvm2008 and DaCapo 9.12 benchmarks, the improved GC matches the performance of Parallel Scavenge at low core count, but scales well, up to 48~cores. Lokesh Gidra, Gaël Thomas 0001, Julien Sopena, Marc Shapiro 0001 |
ASPLOS | 4 |
| 2013 | On the Scalability of Snapshot Isolation
Masoud Saeida Ardekani, Pierre Sutra, Marc Shapiro 0001, Nuno M. Preguiça |
Euro-Par | 3 |
| 2013 | Non-monotonic Snapshot Isolation: Scalable and Strong Consistency for Geo-replicated Transactional SystemsabstractModern cloud systems are geo-replicated to improve application latency and availability. Transactional consistency is essential for application developers; however, the corresponding concurrency control and commitment protocols are costly in a geo-replicated setting. To minimize this cost, we identify the following essential scalability properties: (i) only replicas updated by a transaction T make steps to execute T; (ii) a read-only transaction never waits for concurrent transactions and always commits; (iii) a transaction may read object versions committed after it started; and (iv) two transactions synchronize with each other only if their writes conflict. We present Non-Monotonic Snapshot Isolation (NMSI), the first strong consistency criterion to allow implementations with all four properties. We also present a practical implementation of NMSI called Jessy, which we compare experimentally against a number of well-known criteria. Our measurements show that the latency and throughput of NMSI are comparable to the weakest criterion, read-committed, and between two to fourteen times faster than well-known strong consistencies. Masoud Saeida Ardekani, Pierre Sutra, Marc Shapiro 0001 |
SRDS | 3 |
| 2012 | Gargamel: Boosting DBMS Performance by Parallelising Write TransactionsabstractParallel transactions in distributed DBs incur high overhead for concurrency control and aborts. We propose an alternative approach by pre-serializing possibly conflicting transactions, and parallelizing non-conflicting update transactions to different replicas. Our system provides strong transactional guarantees. In effect, Gargamel partitions the database dynamically according to the update workload. Each database replica runs sequentially, at full bandwidth, mutual synchronisation between replicas remains minimal. Our simulations show that Gargamel improves both response time and load by an order of magnitude when contention is high (highly loaded system with bounded resources), and that otherwise slow-down is negligible. Pierpaolo Cincilla, Sébastien Monnet, Marc Shapiro 0001 |
ICPADS | 3 |
| 2012 | Brief Announcement: Semantics of Eventually Consistent Replicated Sets
Annette Bieniusa, Marek Zawirski, Nuno M. Preguiça, Marc Shapiro 0001, Carlos Baquero, Valter Balegas, Sérgio Duarte |
DISC | 4 |
| 2011 | Assessing the scalability of garbage collectors on many coresabstractManaged Runtime Environments (MRE) are increasingly used for application servers that use large multi-core hardware. We find that the garbage collector is critical for overall performance in this setting. We explore the costs and scalability of the garbage collectors on a contemporary 48-core multiprocessor machine. We present experimental evaluation of the parallel and concurrent garbage collectors present in OpenJDK, a widely-used Java virtual machine. We show that garbage collection represents a substantial amount of an application's execution time, and does not scale well as the number of cores increases. We attempt to identify some critical scalability bottlenecks for garbage collectors. Lokesh Gidra, Gaël Thomas 0001, Julien Sopena, Marc Shapiro 0001 |
PLOS@SOSP | 4 |
| 2011 | Fast Genuine Generalized ConsensusabstractConsensus (agreeing on a sequence of commands) is central to the operation and performance of distributed systems. A well-known solution to consensus is Fast Paxos. In a recent paper, Lamport enhances Fast Paxos by lever aging the commutativity of concurrent commands. The new primitive, called Generalized Paxos, reduces the collision rate, and thus the latency of Fast Paxos. However if a collision occurs, Generalized Paxos needs four communication steps to recover, which is slower than Fast Paxos. This paper presents FGGC, a novel consensus algorithm that reduces recovery delay when a collision occurs to one. FGGC tolerates f <; n/2 replicas crashes, and during failure-free runs, processes learn commands in two steps if all commands commute, and three steps otherwise; this is optimal. Moreover, as long as no fault occurs, FGGC needs only f + 1 replicas to progress. Pierre Sutra, Marc Shapiro 0001 |
SRDS | 2 |
| 2011 | Conflict-Free Replicated Data Types
Marc Shapiro 0001, Nuno M. Preguiça, Carlos Baquero, Marek Zawirski |
SSS | 1 |
| 2009 | A Commutative Replicated Data Type for Cooperative EditingabstractA commutative replicated data type (CRDT) is one where all concurrent operations commute. The replicas of a CRDT converge automatically, without complex concurrency control. This paper describes Treedoc, a novel CRDT design for cooperative text editing. An essential property is that the identifiers of Treedoc atoms are selected from a dense space. We discuss practical alternatives for implementing the identifier space based on an extended binary tree. We also discuss storage alternatives for data and meta-data, and mechanisms for compacting the tree. In the best case, Treedoc incurs no overhead with respect to a linear text buffer. We validate the results with traces from existing edit histories. Nuno M. Preguiça, Joan Manuel Marquès, Marc Shapiro 0001, Mihai Letia |
ICDCS | 3 |
| 2008 | Topic 8: Distributed Systems and Algorithms
Elsa M. Macías, Marc Shapiro 0001 |
Euro-Par | 2 |
| 2008 | Fault-Tolerant Partial Replication in Large-Scale Database Systems
Pierre Sutra, Marc Shapiro 0001 |
Euro-Par | 2 |
| 2007 | A comparison of optimistic approaches to collaborative editing of Wiki pagesabstractWikis, a popular tool for sharing knowledge, are basically collaborative editing systems. However, existing Wiki systems offer limited support for co-operative authoring, and they do not scale well, because they are based on a centralised architecture. This paper compares the well-known centralised MediaWiki system with several peer-to-peer approaches to editing of wiki pages: an operational transformation approach (MOT2), a commutativity-oriented approach (WOOTO) and a conflict resolution approach (ACF). We evaluate and compare them, according to a number of qualitative and quantitative metrics. Claudia-Lavinia Ignat, Gérald Oster, Pascal Molli, Michèle Cart, Jean Ferrié, Anne-Marie Kermarrec, Pierre Sutra, Marc Shapiro 0001, Lamia Benmouffok, Jean-Michel Busca, Rachid Guerraoui |
CollaborateCom | 8 |
| 2007 | Exploiting Our Computational Surroundings for Better Mobile CollaborationabstractMobile collaborative environments, being naturally loosely-coupled, call for optimistic replication solutions in order to attain the requirement of decentralized highly available access to data. However, such connectivity assumptions are also a decisive hindrance to the ability of optimistic replication protocols to rapidly guarantee consistency among the set of loosely-coupled replicas. This paper proposes the extension of conventional optimistic replication protocols to exploit the presence of extraneous nodes surrounding the group of replica nodes in an increasingly ubiquitous computational universe. In particular, we show that using such extra nodes as temporary carriers of lightweight consistency meta-data may significantly improve the efficiency of a replicated system; notably, it reduces commitment delay and conflicts, and allows more network-efficient propagation of updates. We support such a statement with experimental results obtained from a simulated environment. João Barreto 0001, Paulo Ferreira 0001, Marc Shapiro 0001 |
MDM | 3 |
| 2006 | An Application Framework for Nomadic, Collaborative Applications
James O'Brien, Marc Shapiro 0001 |
DAIS | 2 |
| 2006 | Practical proofs of concurrent programsabstractNo abstract available. Marc Shapiro 0001 |
ICFP | 1 |
| 2006 | Proving correctness of highly-concurrent linearisable objectsabstractWe study a family of implementations for linked lists using fine-grain synchronisation. This approach enables greater concurrency, but correctness is a greater challenge than for classical, coarse-grain synchronisation. Our examples are demonstrative of common design patterns such as lock coupling, optimistic, and lazy synchronisation. Although they are are highly concurrent, we prove that they are linearisable, safe, and they correctly implement a high-level abstraction. Our proofs illustrate the power and applicability of rely-guarantee reasoning, as well of some of its limitations. The examples of the paper establish a benchmark challenge for other reasoning techniques. Viktor Vafeiadis, Maurice Herlihy, Tony Hoare, Marc Shapiro 0001 |
PPoPP | 4 |
| 2005 | Topic 8 - Distributed Systems and Algorithms
Marc Shapiro 0001, Idit Keidar, Felix C. Freiling, Luís E. T. Rodrigues |
Euro-Par | 1 |
| 2005 | Brief announcement: exploring the consistency problem spaceabstractWe study formally the consistency problem, for replicated shared data, in the Action-Constraint framework (ACF). ACF can describe a large range of application semantics and replication protocols, including optimistic and/or partial replication. ACF is used to decompose the consistency problem into simpler sub-problems. Each is easily understood. Existing algorithms from the literature can be explained as combinations of concrete sub-problem implementations. Using ACF, we design a new serialisation algorithm that does not cause aborts and only needs pairwise agreement (not global consensus). Nishith Krishna, Marc Shapiro 0001, Karthikeyan Bhargavan |
PODC | 2 |
| 2004 | Rufis: Mobile Data Sharing Using a Generic Constraint-Oriented ReconcilerabstractExisting systems for disconnected data access and reconciliation are monolithic, complex and somewhat ad-hoc. In contrast, we demonstrate here a principled approach based on a general-purpose reconciliation engine. We describe the Reconcilable and Undoable File System, Rufis, implemented on top of the IceCube reconciler. IceCube is generic but supports application-specific reconciliation invariants. Consequently, the code for Rufis is quite small and simple, and the reconciliation logic is well separated from the main file system code. Furthermore, Rufis supports specialised reconciliation for files containing data of known types and enables ad-hoc user scenarios involving multiple applications. Marc Shapiro 0001, Nuno M. Preguiça, James O'Brien |
Mobile Data Management | 1 |
| 2004 | A Constraint-Based Formalism for Consistency in Replicated Systems
Marc Shapiro 0001, Karthikeyan Bhargavan, Nishith Krishna |
OPODIS | 1 |
| 2001 | The IceCube approach to the reconciliation of divergent replicasabstractWe describe a novel approach to log-based reconciliation called IceCube. It is general and is parameterised by application and object semantics. IceCube considers more flexible orderings and is designed to ease the burden of reconciliation on the application programmers. IceCube captures the static and dynamic reconciliation constraints between all pairs of actions, proposes schedules that satisfy the static constraints, and validates them against the dynamic constraints. Anne-Marie Kermarrec, Antony I. T. Rowstron, Marc Shapiro 0001, Peter Druschel |
PODC | 3 |
| 1998 | Modelling a Distributed Cached Store for Garbage Collection: The Algorithm and Its Correctness Proof
Paulo Ferreira 0001, Marc Shapiro 0001 |
ECOOP | 2 |
| 1998 | An Implementation for Complete, Asynchronous, Distributed Garbage CollectionabstractMost existing reference-based distributed object systems include some kind of acyclic garbage collection, but fail to provide acceptable collection of cyclic garbage. Those that do provide such GC currently suffer from one or more problems: synchronous operation, the need for expensive global consensus or termination algorithms, susceptibility to communication problems, or an algorithm that does not scale. We present a simple, complete, fault-tolerant, asynchronous extension to the (acyclic) cleanup protocol of the SSP Chains system. This extension is scalable, consumes few resources, and could easily be adapted to work in other reference-based distributed object systems---rendering them usable for very large-scale applications. Fabrice Le Fessant, Ian Piumarta, Marc Shapiro 0001 |
PLDI | 3 |
| 1996 | Larchant: Persistence by Reachability in Distributed Shared Memory Through Garbage CollectionabstractWe consider a shared store based on distributed shared memory (DSM) supporting persistence by reachability (PBR) a very simple data sharing model for a distributed system. This DSM+PBR model is based on distributed garbage collection (GC). Within a general model for DSM+PBR, we specify a distributed GC algorithm that is efficient and scalable. Its main features are: (i) independent collection of memory subsets (even when replicated), (ii) orthogonal from coherence, (iii) asynchrony, and (iv) a simple heuristic to collect cycles avoiding extra I/O costs. We briefly describe our implementation and show some performance results. Paulo Ferreira 0001, Marc Shapiro 0001 |
ICDCS | 2 |
| 1994 | A Binding Protocol for Distributed Shared Objects
Marc Shapiro 0001 |
ICDCS | 1 |
| 1994 | Garbage Collection and DSM Consistency
Paulo Ferreira 0001, Marc Shapiro 0001 |
OSDI | 2 |
| 1992 | Robust, Distributed References and Acyclic Garbage CollectionabstractWe propose efficient, programming language-independent, location-transparent references as a substitute for pointers in distributed applications.These references provide the semantics of normal pointers for both local and distributed, transient and persistent objects.They may be passed in messages between and within nodes using a low-overhead presentation-layer protocol.of thousands of nodes connected using both local and wide-area networks. Marc Shapiro 0001, Peter Dickman, David Plainfossé |
PODC | 1 |
| 1991 | A Fault-Tolerant, Scalable, Low-Overhead Distributed Garbage Detection ProtocolabstractThe author presents a protocol for the distributed detection of garbage in a distributed system subject to common failures such as lost and duplicated messages, network partition, dismounted disks, and process, site, and disk crashes. The protocol uses only information local to each site, or exchanged between pairs of sites; no global mechanism is necessary. Overhead is low. The protocol is parallel and should scale to extremely large systems.> Marc Shapiro 0001 |
SRDS | 1 |
| 1989 | Persistence and Migration for C++ Objects
Marc Shapiro 0001, Philippe Gautron, Laurence Mosseri |
ECOOP | 1 |
| 1989 | Generic Virtual Memory Management for Operating System KernelsabstractWe discuss the rationale and design of a Generic Memory management Interface, for a family of scalable operating systems. It consists of a general interface for managing virtual memory, independently of the underlying hardware architecture (e.g. paged versus segmented memory), and independently of the operating system kernel in which it is to be integrated. In particular, this interface provides abstractions for support of a single, consistent cache for both mapped objects and explicit I/O, and control of data caching in real memory. Data management policies are delegated to external managers. Vadim Abrossimov, Marc Rozier, Marc Shapiro 0001 |
SOSP | 3 |
| 1986 | Structure and Encapsulation in Distributed Systems: The Proxy Principle
Marc Shapiro 0001 |
ICDCS | 1 |
| 1982 | An Experiment in Distributed Program Design, Using Control Enrichment
Marc Shapiro 0001 |
ICDCS | 1 |