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

Atul Adya

dblp:a/AAdya · DBLP profile ↗
← Back
26ranked-venue papers
15as first author
2since 2021 · last 2025
0000-0001-8767-6908ORCID · verified

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

Software engineering, systems software and programming languages · 7 · 5 first-author · 1 since 2021Databases, data management, data science and information retrieval · 7 · 3 first-authorSystems, architecture and hardware · 6 · 4 first-authorComputer networks · 4 · 2 first-author · 1 since 2021Security and privacy · 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
9 papers
Distributed systems · 52% Cloud and datacenter computing · 41% Storage systems · 4%
Databases, data mining, and information retrieval
8 papers
Data integration and cleaning · 40% Data models and query languages · 31% Transaction processing and concurrency control · 14%
Computer networks
2 papers
Network management and operations · 36% Wireless networking · 36% Network measurement and analytics · 28%
Software engineering, system software, and programming languages
2 papers
Concurrent programming · 53% Services computing and microservices · 32% Programming languages and type systems · 16%

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

TopicWeightPapersLastEvidence papers
Cloud and datacenter computing
cluster resource management and scheduling
0.212016
Slicer: Auto-Sharding for Datacenter Applications · OSDI 2016
Data integration and cleaning › schema mapping
object-relational mapping
0.232007
ADO.NET entity framework: raising the level of abstraction in data programming · SIGMOD Conference 2007
Anatomy of the ADO.NET entity framework · SIGMOD Conference 2007
Compiling mappings to bridge applications and databases · SIGMOD Conference 2007
Data integration and cleaning
schema mapping
0.222008
Compiling mappings to bridge applications and databases · ACM Trans. Database Syst. 2008
Compiling mappings to bridge applications and databases · SIGMOD Conference 2007
Data models and query languages › entity-relationship model
entity data model
0.122007
ADO.NET entity framework: raising the level of abstraction in data programming · SIGMOD Conference 2007
Anatomy of the ADO.NET entity framework · SIGMOD Conference 2007
Cloud and datacenter computing
cloud infrastructure
0.112011
Thialfi: a client notification service for internet-scale applications · SOSP 2011
Distributed systems › publish/subscribe systems
event notification service
0.112011
Thialfi: a client notification service for internet-scale applications · SOSP 2011
Distributed systems
replication
0.122016
Slicer: Auto-Sharding for Datacenter Applications · OSDI 2016
Thialfi: a client notification service for internet-scale applications · SOSP 2011
Distributed systems › distributed database
sharding
0.112016
Slicer: Auto-Sharding for Datacenter Applications · OSDI 2016
Distributed systems › service-oriented architecture › service management
service migration
0.112006
The SMART way to migrate replicated stateful services · EuroSys 2006
Distributed systems › replication
state machine replication
0.112006
The SMART way to migrate replicated stateful services · EuroSys 2006
Distributed systems
fault tolerance
0.122006
FARSITE: Federated, Available, and Reliable Storage for an Incompletely Trusted Environment · OSDI 2002
The SMART way to migrate replicated stateful services · EuroSys 2006
Storage systems
distributed storage
0.122002
FARSITE: Federated, Available, and Reliable Storage for an Incompletely Trusted Environment · OSDI 2002
HAC: Hybrid Adaptive Caching for Distributed Storage Systems · SOSP 1997
Network management and operations › fault management
fault diagnosis
0.012004
Architecture and techniques for diagnosing faults in IEEE 802.11 infrastructure networks · MobiCom 2004
Wireless networking › WLAN › wi-fi monitoring
rogue access point detection
0.012004
Architecture and techniques for diagnosing faults in IEEE 802.11 infrastructure networks · MobiCom 2004
Query processing and optimization › query rewriting
query rewriting under constraints
0.022008
Compiling mappings to bridge applications and databases · ACM Trans. Database Syst. 2008
Compiling mappings to bridge applications and databases · SIGMOD Conference 2007
Distributed systems › replication › replica control
asynchronous replication
0.012011
Thialfi: a client notification service for internet-scale applications · SOSP 2011
Distributed systems
distributed coordination
0.022010
Centrifuge: Integrated Lease Management and Partitioning for Cloud Services · NSDI 2010
Efficient Optimistic Concurrency Control Using Loosely Synchronized Clocks · SIGMOD Conference 1995
Systems and software security
untrusted platform
0.012002
FARSITE: Federated, Available, and Reliable Storage for an Incompletely Trusted Environment · OSDI 2002
Transaction processing and concurrency control › concurrency control
optimistic concurrency control
0.021997
Lazy Consistency Using Loosely Synchronized Clocks · PODC 1997
Efficient Optimistic Concurrency Control Using Loosely Synchronized Clocks · SIGMOD Conference 1995
Transaction processing and concurrency control
concurrency control
0.012000
Generalized Isolation Level Definitions · ICDE 2000
Transaction processing and concurrency control
isolation levels
0.012000
Generalized Isolation Level Definitions · ICDE 2000
Transaction processing and concurrency control › concurrency control
multiversion concurrency control
0.012000
Generalized Isolation Level Definitions · ICDE 2000
Query processing and optimization
query rewriting
0.012008
Compiling mappings to bridge applications and databases · ACM Trans. Database Syst. 2008
Distributed systems › fault tolerance
high availability
0.022006
The SMART way to migrate replicated stateful services · EuroSys 2006
Safe and Efficient Sharing of Persistent Objects in Thor · SIGMOD Conference 1996
Memory systems
cache management
0.011997
HAC: Hybrid Adaptive Caching for Distributed Storage Systems · SOSP 1997
Memory systems › cache management › storage caching
client-side caching
0.011997
HAC: Hybrid Adaptive Caching for Distributed Storage Systems · SOSP 1997
Distributed systems
clock synchronization
0.011997
Lazy Consistency Using Loosely Synchronized Clocks · PODC 1997
Indexing and storage engines › caching
cache management
0.011996
Safe and Efficient Sharing of Persistent Objects in Thor · SIGMOD Conference 1996
Data models and query languages
object-oriented database
0.011996
Safe and Efficient Sharing of Persistent Objects in Thor · SIGMOD Conference 1996
Network security › intrusion detection and prevention
intrusion detection
0.012004
Architecture and techniques for diagnosing faults in IEEE 802.11 infrastructure networks · MobiCom 2004

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

view maintenance · 0.2soft-state recovery · 0.1client-driven replication · 0.1prototype on windows · 0.1client conduit · 0.1federation · 0.1bidirectional view · 0.1simulation · 0.1pipelining · 0.1migration protocol · 0.1multipart timestamps · 0.0encapsulation · 0.0adaptive prefetching · 0.0formal specification · 0.0trace-driven simulation · 0.0
YearPublicationVenuePosition
2025 Rethinking the Cost of Distributed Caches for Datacenter Services
abstract
This paper systematically studies the cost impact of distributed in-memory caches on datacenter services. While memory used for these caches is often perceived to be expensive, we find that the resulting CPU savings from these in-memory caches far outweigh the cost of added memory. In fact, across a variety of both synthetic and production workloads, we find that adding distributed in-memory caches can lower total operating costs by 3 – 4×, even without considering their latency benefits. These cost savings can vary significantly across various architectures, such as storage layer caches, remote lookaside caches, and in-memory linked caches. We additionally evaluate cost for two emerging scenarios: caching rich application objects and strongly consistent cache. For the former, we find that caching application objects provides outsized benefits compared to their denormalized, key-value-style variants, up to 8× compared to reading from storage. For the latter, we observe that even a minimal version check for consistency can eliminate most of the cost benefits, calling for new designs for cost-effective consistent cache.
Ziming Mao, Jonathan D. Ellithorpe, Atul Adya, Rishabh Iyer 0002, Matei Zaharia, Scott Shenker, Ion Stoica
HotNets3
2025 Understanding the limitations of pubsub systems
abstract
This paper argues that publish-subscribe (pubsub) systems bundle both a messaging abstraction and a hard-state storage layer, and that this hurts their robustness, performance, and correctness for a variety of use cases. Pubsub fails to achieve its central goal of decoupling publishers and subscribers, violates the end-to-end principle, and exposes an ad hoc storage abstraction with a bespoke API and limited power.
Atul Adya, Phil Bogle, Colin Meek
HotOS1
2019 Fast key-value stores: An idea whose time has come and gone
abstract
Remote, in-memory key-value (RINK) stores such as Memcached [6] and Redis [7] are widely used in industry and are an active area of academic research. Coupled with stateless application servers to execute business logic and a databaselike system to provide persistent storage, they form a core component of popular data center service architectures. We argue that the time of the RINK store has come and gone: their domain-independent APIs (e.g., PUT/GET) push complexity back to the application, leading to extra (un)marshalling overheads and network hops. Instead, data center services should be built using stateful application servers or custom in-memory stores with domain-specific APIs, which offer higher performance than RINKS at lower cost. Such designs have been avoided because they are challenging to implement without appropriate infrastructure support. Given recent advances in auto-sharding [8, 9], we argue it is time to revisit these decisions. In this paper, we evaluate the potential performance improvements of stateful designs, propose a new abstraction, the linked, in-memory key-value (LINK) store, to enable developers to easily implement stateful services, and discuss areas for future research.
Atul Adya, Robert Grandl, Daniel Myers, Henry Qin
HotOS1
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
OSDI1
2011 Thialfi: a client notification service for internet-scale applications
abstract
Ensuring the freshness of client data is a fundamental problem for applications that rely on cloud infrastructure to store data and mediate sharing. Thialfi is a notification service developed at Google to simplify this task. Thialfi supports applications written in multiple programming languages and running on multiple platforms, e.g., browsers, phones, and desktops. Applications register their interest in a set of shared objects and receive notifications when those objects change. Thialfi servers run in multiple Google data centers for availability and replicate their state asynchronously. Thialfi's approach to recovery emphasizes simplicity: all server state is soft, and clients drive recovery and assist in replication. A principal goal of our design is to provide a straightforward API and good semantics despite a variety of failures, including server crashes, communication failures, storage unavailability, and data center failures.
Atul Adya, Gregory Cooper, Daniel Myers, Michael Piatek
SOSP1
2010 Centrifuge: Integrated Lease Management and Partitioning for Cloud Services
Atul Adya, John Dunagan, Alec Wolman
NSDI1
2008 Compiling mappings to bridge applications and databases
abstract
Translating data and data access operations between applications and databases is a longstanding data management problem. We present a novel approach to this problem, in which the relationship between the application data and the persistent storage is specified using a declarative mapping, which is compiled into bidirectional views that drive the data transformation engine. Expressing the application model as a view on the database is used to answer queries, while expressing the database schema as a view on the application model allows us to leverage view maintenance algorithms for update translation. This approach has been implemented in a commercial product. It enables developers to interact with a relational database via a conceptual schema and an object-oriented programming surface. We outline the implemented system and focus on the challenges of mapping compilation, which include rewriting queries under constraints and supporting nonrelational constructs.
Sergey Melnik 0001, Atul Adya, Philip A. Bernstein
ACM Trans. Database Syst.2
2007 Anatomy of the ADO.NET entity framework
abstract
Traditional client-server applications relegate query and persistence operations on their data to database systems. The database system operates on data in the form of rows and tables, while the application operates on data in terms of higher-level programming language constructs (classes, structures etc.). The impedance mismatch in the data manipulation services between the application and the database tier was problematic even in traditional systems. With the advent of service-oriented architectures (SOA), application servers and multi-tier applications, the need for data access and manipulation services that are well-integrated with programming environments and can operate in any tier has increased tremendously. Microsoft‘s ADO.NET Entity Framework is a platform for programming against data that raises the level of abstraction from the relational level to the conceptual (entity) level, and thereby significantly reduces the impedance mismatch for applications and data-centric services. This paper describes the key aspects of the Entity Framework, the overall system architecture, and the underlying technologies. Categories and Subject Descriptors:
Atul Adya, José A. Blakeley, Sergey Melnik 0001, S. Muralidhar
SIGMOD Conference1
2007 ADO.NET entity framework: raising the level of abstraction in data programming
abstract
The ADO.NET Entity Framework provides a persistence layer for .NET applications that allows developers to work at a higher level of abstraction when interacting with data and data-access interfaces. Developers can model and access their data using a conceptual schema that is mapped to a relational database via a flexible mapping. Interaction with the data can take place using a SQL-based data manipulation language and iterator APIs, or through an object-based domain model in the spirit of object-to-relational mappers.We demonstrate how the Entity Framework simplifies application development using sample scenarios. We illustrate how the data is modeled, queried and presented to the developer. We also show how the provided data programming infrastructure can result in easier-to-understand code by making its intent more explicit, as well as how it can help with maintenance by adding a level of indirection between the logical database schema and the conceptual model that applications operate on.
Pablo Castro, Sergey Melnik 0001, Atul Adya
SIGMOD Conference3
2007 Compiling mappings to bridge applications and databases
abstract
Translating data and data access operations between applications and databases is a longstanding data management problem. We present a novel approach to this problem, in which the relationship between the application data and the persistent storage is specified using a declarative mapping, which is compiled into bidirectional views that drive the data transformation engine. Expressing the application model as a view on the database is used to answer queries, while viewing the database in terms of the application model allows us to leverage view maintenance algorithms for update translation. This approach has been implemented in a commercial product. It enables developers to interact with a relational database via a conceptual schema and an object oriented programming surface. We outline the implemented system and focus on the challenges of mapping compilation, which include rewriting queries under constraints and supporting non-relational constructs.
Sergey Melnik 0001, Atul Adya, Philip A. Bernstein
SIGMOD Conference2
2006 The SMART way to migrate replicated stateful services
abstract
Many stateful services use the replicated state machine approach for high availability. In this approach, a service runs on multiple machines to survive machine failures. This paper describes SMART, a new technique for changing the set of machines where such a service runs, i.e., migrating the service. SMART improves upon existing techniques in three important ways. First, SMART allows migrations that replace non-failed machines. Thus, SMART enables load balancing and lets an automated system replace failed machines. Such autonomic migration is an important step toward full autonomic operation, in which administrators play a minor role and need not be available twenty-four hours a day, seven days a week. Second, SMART can pipeline concurrent requests, a useful performance optimization. Third, prior published migration techniques are described in insufficient detail to admit implementation, whereas our description of SMART is complete. In addition to describing SMART, we also demonstrate its practicality by implementing it, evaluating our implementation’s performance, and using it to build a consistent, replicated, migratable file system. Our experiments demonstrate the performance advantage of pipelining concurrent requests, and show that migration has only a minor and temporary effect on performance.
Jacob R. Lorch, Atul Adya, William J. Bolosky, Ronnie Chaiken, John R. Douceur, Jon Howell
EuroSys2
2004 A Multi-Radio Unification Protocol for IEEE 802.11 Wireless Networks
abstract
We present a link layer protocol called the multi-radio unification protocol or MUP. On a single node, MUP coordinates the operation of multiple wireless network cards tuned to non-overlapping frequency channels. The goal of MUP is to optimize local spectrum usage via intelligent channel selection in a multihop wireless network. MUP works with standard-compliant IEEE 802.11 hardware, does not require changes to applications or higher-level protocols, and can be deployed incrementally. The primary usage scenario for MUP is a multihop community wireless mesh network, where cost of the radios and battery consumption are not limiting factors. We describe the design and implementation of MUP, and analyze its performance using both simulations and measurements based on our implementation. Our results show that under dynamic traffic patterns with realistic topologies, MUP significantly improves both TCP throughput and user perceived latency for realistic workloads.
Atul Adya, Paramvir Bahl, Jitendra Padhye, Alec Wolman, Lidong Zhou
BROADNETS1
2004 Architecture and techniques for diagnosing faults in IEEE 802.11 infrastructure networks
abstract
The wide-scale deployment of IEEE 802.11 wireless networks has generated significant challenges for Information Technology (IT) departments in corporations. Users frequently complain about connectivity and performance problems, and network administrators are expected to diagnose these problems while managing corporate security and coverage. Their task is particularly difficult due to the unreliable nature of the wireless medium and a lack of intelligent diagnostic tools for determining the cause of these problems.This paper presents an architecture for detecting and diagnosing faults in IEEE 802.11 infrastructure wireless networks. To the best of our knowledge, ours is the first paper to address fault diagnostic issues for these networks. As part of our architecture, we propose and evaluate a novel technique called Client Conduit, which enables boot-strapping and fault diagnosis of disconnected clients. We describe techniques for analyzing performance problems faced in a wireless LAN deployment. We also present an approach for detecting unauthorized access points. We have built a prototype of our fault diagnostic architecture on the Windows operating system using off-the-shelf IEEE 802.11 cards. The initial results show that our mechanisms are effective; furthermore, they impose low overheads when clients are not experiencing problems.
Atul Adya, Paramvir Bahl, Ranveer Chandra, Lili Qiu
MobiCom1
2002 A Secure Directory Service based on Exclusive Encryption
abstract
We describe the design of a Windows file-system directory service that ensures the persistence, integrity, privacy, syntactic legality, and case-insensitive uniqueness of the names it indexes. Byzantine state replication provides persistence and integrity, and encryption imparts privacy. To enforce Windows' baroque name syntax - including restrictions on allowable characters, on the terminal character, and on several specific names - we develop a cryptographic process, called "exclusive encryption," that inherently excludes syntactically illegal names and that enables the exclusion of case-insensitively duplicate names without access to their plaintext. This process excludes entire names by mapping the set of allowed strings to the set of all strings, excludes certain characters through an amended prefix encoding, excludes terminal characters through varying the prefix coding by character index, and supports case-insensitive comparison of names by extracting and encrypting case information separately. We also address the issues of hiding name-length information and access-authorization information, and we report a newly discovered problem with enforcing case-insensitive uniqueness for Unicode names.
John R. Douceur, Atul Adya, Josh Benaloh, William J. Bolosky, Gideon Yuval
ACSAC2
2002 Reclaiming Space from Duplicate Files in a Serverless Distributed File System
abstract
The Farsite distributed file system provides availability by replicating each file onto multiple desktop computers. Since this replication consumes significant storage space, it is important to reclaim used space where possible. Measurement of over 500 desktop file systems shows that nearly half of all consumed space is occupied by duplicate files. We present a mechanism to reclaim space from this incidental duplication to make it available for controlled file replication. Our mechanism includes: (1) convergent encryption, which enables duplicate files to be coalesced into the space of a single file, even if the files are encrypted with different users' keys; and (2) SALAD, a Self-Arranging Lossy Associative Database for aggregating file content and location information in a decentralized, scalable, fault-tolerant manner. Large-scale simulation experiments show that the duplicate-file coalescing system is scalable, highly effective, and fault-tolerant.
John R. Douceur, Atul Adya, William J. Bolosky, Dan Simon, Marvin Theimer
ICDCS2
2002 The effect of first-hop wireless bandwidth allocation on end-to-end network performance
abstract
With the increasing popularity of handheld devices and wireless local area networks (LANs), real-time applications such as Internet telephony are poised to become ubiquitous. While there has been a substantial amount of research on quality of service problems in the Internet, most end-to-end bandwidth allocation approaches, such as RSVP, have had limited success due to scalability and deployment issues. Starting with the observation that reserving bandwidth in the Internet backbone requires substantial infrastructure support, but reserving bandwidth in the first hop does not, we only focus on the first-hop reservation. We evaluate several first hop allocation schemes and determine their effectiveness in improving end-to-end performance. Since utilization of the reserved first-hop bandwidth depends on the remaining Internet path throughput, we characterize this throughput using traces collected from a popular Web site. Our analysis shows that different clients experience widely different throughputs, and that a significant portion of the clients receive very low throughput (e.g. less than 20 Kbps). We then evaluate several bandwidth allocation schemes for various congestion scenarios. Our results show that the scheme which takes into account of both the application data rate and available Internet path bandwidth yields the best performance. Moreover, the scheme performs even better if it adapts to the changing path properties. We discuss how path bandwidth can be measured without active probing, how frequently it needs to be measured, and how this measurement is incorporated into the first-hop bandwidth allocation algorithm.
Lili Qiu, Paramvir Bahl, Atul Adya
NOSSDAV3
2002 FARSITE: Federated, Available, and Reliable Storage for an Incompletely Trusted Environment
Atul Adya, William J. Bolosky, Miguel Castro 0001, Gerald Cermak, Ronnie Chaiken, John R. Douceur, Jon Howell, Jacob R. Lorch, Marvin Theimer, Roger Wattenhofer
OSDI1
2002 Characterizing Alert and Browse Services of Mobile Clients
Atul Adya, Paramvir Bahl, Lili Qiu
USENIX ATC, General Track1
2002 Cooperative Task Management Without Manual Stack Management
Atul Adya, Jon Howell, Marvin Theimer, William J. Bolosky, John R. Douceur
USENIX ATC, General Track1
2000 Generalized Isolation Level Definitions
abstract
Commercial databases support different isolation levels to allow programmers to trade off consistency for a potential gain in performance. The isolation levels are defined in the current ANSI standard, but the definitions are ambiguous and revised definitions proposed to correct the problem are too constrained since they allow only pessimistic (locking) implementations. This paper presents new specifications for the ANSI levels. Our specifications are portable: they apply not only to locking implementations, but also to optimistic and multi-version concurrency control schemes. Furthermore, unlike earlier definitions, our new specifications handle predicates in a correct and flexible manner at all levels.
Atul Adya, Barbara Liskov, Patrick E. O'Neil
ICDE1
1999 Providing Persistent Objects in Distributed Systems
Barbara Liskov, Miguel Castro 0001, Liuba Shrira, Atul Adya
ECOOP4
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
ICDCS1
1997 Lazy Consistency Using Loosely Synchronized Clocks
abstract
This paper describes a new scheme for guaranteeing that transactions in a clientlserver system observe consistent state while they are running.Thescheme ispresented inconjunction with at'toptimistic concurrency control algorithm, but could also be used to prevent read-only transactions from conflicting with read/write transactions in a multi-version system.The scheme is lazy about the consistency it provides forruming transactions and also in the way it generates theconsistency information.Thepaper presents results of simulation experiments showing that the cost of the scheme is negligible.The scheme uses multipart timestamps to inform nodes about information they need to know.Today the utility of such schemes is limited beeause timestamp size is proportional to system size and therefore the schemes don't scale to very large systems.We show how to solve this problem.Our multipart timestamps are based on real rather thm logical clocks; we assume clocks in the system are loosely synchronized.Clocks allow us to keep multipart timestamps small with minimal impact on performance: we remove old information that is likely to be known while retaining recent information.Only performance and not correctness is affected if clocks get out of synch.
Atul Adya, Barbara Liskov
PODC1
1997 HAC: Hybrid Adaptive Caching for Distributed Storage Systems
abstract
This paper presents HAC, a novel technique for managing the client cache in a distributed, persistent object storage system.I-k2 is a hybrid between page and object caching that combines the virtues of both while avoiding their disadvantages.,It achieves the low miss penalties of a page-caching system, but is able to perform well even when locality is poor, since it can discard pages while retaining their hot objects.It realizes the potentially lower miss rates of object-caching systems, yet avoids their problems of fragmentation and high overheads.Furthermore, HAC is adaptive: when locality is good it behaves like a page-caching system, while if locality is poor it behaves like an object-caching system.It is able to adjust the amount of cache space devoted to pages dynamically so that space in the cache can be used in the way that Fcst matches tbe needs of the application.The paper also presents results of experiments that indicate that HAC outperforms other object storage systems across a wide range of cache sizes and workloads; it performs substantially better on the expected workloads, which have low to moderate locality.Thus we show that our hybrid, adaptive approach is the cache management technique of choice for distributed, persistent object systems.This research was supported in
Miguel Castro 0001, Atul Adya, Barbara Liskov, Andrew C. Myers
SOSP2
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 Conference2
1995 Efficient Optimistic Concurrency Control Using Loosely Synchronized Clocks
abstract
This paper describes an efficient optimistic concurrency control scheme for use in distributed database systems in which objects are cached and manipulated at client machines while persistent storage and transactional support are provided by servers. The scheme provides both serializability and external consistency for committed transactions; it uses loosely synchronized clocks to achieve global serialization. It stores only a single version of each object, and avoids maintaining any concurrency control information on a per-object basis; instead, it tracks recent invalidations on a per-client basis, an approach that has low in-memory space overhead and no per-object disk overhead. In addition to its low space overheads, the scheme also performs well. The paper presents a simulation study that compares the scheme to adaptive callback locking, the best concurrency control scheme for client-server object-oriented database systems studied to date. The study shows that our scheme outperforms adaptive callback locking for low to moderate contention workloads, and scales better with the number of clients. For high contention workloads, optimism can result in a high abort rate; the scheme presented here is a first step toward a hybrid scheme that we expect to perform well across the full range of workloads.
Atul Adya, Robert Gruber, Barbara Liskov, Umesh Maheshwari
SIGMOD Conference1