Storage management for objects in EXODUS
Object-oriented concepts, databases, and applications
Replication in the harp file system
SOSP '91 Proceedings of the thirteenth ACM symposium on Operating systems principles
The ObjectStore database system
Communications of the ACM
The GemStone object database management system
Communications of the ACM
On the performance of object clustering techniques
SIGMOD '92 Proceedings of the 1992 ACM SIGMOD international conference on Management of data
Working with Persistent Objects: To Swizzle or Not to Swizzle
IEEE Transactions on Software Engineering
Protection traps and alternatives for memory management of an object-oriented language
SOSP '93 Proceedings of the fourteenth ACM symposium on Operating systems principles
Efficient software-based fault isolation
SOSP '93 Proceedings of the fourteenth ACM symposium on Operating systems principles
SIGMOD '93 Proceedings of the 1993 ACM SIGMOD international conference on Management of data
The design of the E programming language
ACM Transactions on Programming Languages and Systems (TOPLAS)
References to remote mobile objects in Thor
ACM Letters on Programming Languages and Systems (LOPLAS)
Reducing cross domain call overhead using batched futures
OOPSLA '94 Proceedings of the ninth annual conference on Object-oriented programming systems, language, and applications
Shoring up persistent applications
SIGMOD '94 Proceedings of the 1994 ACM SIGMOD international conference on Management of data
QuickStore: a high performance mapped object store
SIGMOD '94 Proceedings of the 1994 ACM SIGMOD international conference on Management of data
Subtypes vs. where clauses: constraining parametric polymorphism
Proceedings of the tenth annual conference on Object-oriented programming systems, languages, and applications
Function-based indexing for object-oriented databases
Function-based indexing for object-oriented databases
Efficient optimistic concurrency control using loosely synchronized clocks
SIGMOD '95 Proceedings of the 1995 ACM SIGMOD international conference on Management of data
Collecting cyclic distributed garbage by controlled migration
Proceedings of the fourteenth annual ACM symposium on Principles of distributed computing
List processing in real time on a serial computer
Communications of the ACM
Communications of the ACM
Fault-tolerant distributed garbage collection in a client-server object-oriented database
PDIS '94 Proceedings of the third international conference on on Parallel and distributed information systems
IEEE Transactions on Knowledge and Data Engineering
A Performance Study of Alternative Object Faulting and Pointer Swizzling Strategies
VLDB '92 Proceedings of the 18th International Conference on Very Large Data Bases
Dual-Buffering Strategies in Object Bases
VLDB '94 Proceedings of the 20th International Conference on Very Large Data Bases
Client cache management in a distributed object database
Client cache management in a distributed object database
The modified object buffer: a storage management technique for object-oriented databases
The modified object buffer: a storage management technique for object-oriented databases
Partitioned garbage collection of a large object store
SIGMOD '97 Proceedings of the 1997 ACM SIGMOD international conference on Management of data
Lazy consistency using loosely synchronized clocks
PODC '97 Proceedings of the sixteenth annual ACM symposium on Principles of distributed computing
Collecting distributed garbage cycles by back tracing
PODC '97 Proceedings of the sixteenth annual ACM symposium on Principles of distributed computing
HAC: hybrid adaptive caching for distributed storage systems
Proceedings of the sixteenth ACM symposium on Operating systems principles
Scalable Consistency Protocols for Distributed Services
IEEE Transactions on Parallel and Distributed Systems
Implementing a caching service a distributed COBRA objects
IFIP/ACM International Conference on Distributed systems platforms
How to scale transactional storage systems
EW 7 Proceedings of the 7th workshop on ACM SIGOPS European workshop: Systems support for worldwide applications
On the need for system-level support for ad hoc and sensor networks
ACM SIGOPS Operating Systems Review
Incremental garbage collection in massive object stores
ACSC '01 Proceedings of the 24th Australasian conference on Computer science
Proceedings of the 24th International Conference on Software Engineering
Caching web services in mobile ad-hoc networks: opportunities and challenges
Proceedings of the second ACM international workshop on Principles of mobile computing
Shared State for Distributed Interactive Data Mining Applications
Distributed and Parallel Databases - Special issue: Parallel and distributed data mining
An Architecture for Survivable Coordination in Large Distributed Systems
IEEE Transactions on Knowledge and Data Engineering
An Adaptive Hybrid Server Architecture for Client Caching ODBMSs
VLDB '99 Proceedings of the 25th International Conference on Very Large Data Bases
Consistency Conditions for a CORBA Caching Service
DISC '00 Proceedings of the 14th International Conference on Distributed Computing
Providing Persistent Objects in Distributed Systems
ECOOP '99 Proceedings of the 13th European Conference on Object-Oriented Programming
Ninja: A Framework for Network Services
ATEC '02 Proceedings of the General Track of the annual conference on USENIX Annual Technical Conference
InterWeave: A Middleware System for Distributed Shared State
LCR '00 Selected Papers from the 5th International Workshop on Languages, Compilers, and Run-Time Systems for Scalable Computers
Information Sciences: an International Journal
Measuring the Performance of Database Object Horizontal Fragmentation Schemes
IDEAS '99 Proceedings of the 1999 International Symposium on Database Engineering & Applications
Knowbot Programming: system support for mobile agents
IWOOOS '96 Proceedings of the 5th International Workshop on Object Orientation in Operating Systems (IWOOOS '96)
Partitioned garbage collection of a large stable heap
IWOOOS '96 Proceedings of the 5th International Workshop on Object Orientation in Operating Systems (IWOOOS '96)
An Adaptive Data-Shipping Architecture for Client Caching Data Management Systems
Distributed and Parallel Databases
Flexible on-device service object replication with replets
Proceedings of the 13th international conference on World Wide Web
A Formal Framework for Prefetching Based on the Type-Level Access Pattern in Object-Relational DBMSs
IEEE Transactions on Knowledge and Data Engineering
B-tree concurrency control and recovery in page-server database systems
ACM Transactions on Database Systems (TODS)
Extracting queries by static analysis of transparent persistence
Proceedings of the 34th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Path and cache conscious prefetching (PCCP)
The VLDB Journal — The International Journal on Very Large Data Bases
Timeline: a high performance archive for a distributed object store
NSDI'04 Proceedings of the 1st conference on Symposium on Networked Systems Design and Implementation - Volume 1
Efficient implementations of java remote method invocation (RMI)
COOTS'98 Proceedings of the 4th conference on USENIX Conference on Object-Oriented Technologies and Systems - Volume 4
Towards an active network architecture
ACM SIGCOMM Computer Communication Review
Lost in translation: formalizing proposed extensions to c#
Proceedings of the 22nd annual ACM SIGPLAN conference on Object-oriented programming systems and applications
Fabric: a platform for secure distributed computation and storage
Proceedings of the ACM SIGOPS 22nd symposium on Operating systems principles
Enhancing source-level programming tools with an awareness of transparent program transformations
Proceedings of the 24th ACM SIGPLAN conference on Object oriented programming systems languages and applications
Information Sciences: an International Journal
Spark: cluster computing with working sets
HotCloud'10 Proceedings of the 2nd USENIX conference on Hot topics in cloud computing
Mnemosyne: lightweight persistent memory
Proceedings of the sixteenth international conference on Architectural support for programming languages and operating systems
NV-Heaps: making persistent objects fast and safe with next-generation, non-volatile memories
Proceedings of the sixteenth international conference on Architectural support for programming languages and operating systems
An efficient multi-tier tablet server storage architecture
Proceedings of the 2nd ACM Symposium on Cloud Computing
Type-Level access pattern view: a technique for enhancing prefetching performance
DASFAA'06 Proceedings of the 11th international conference on Database Systems for Advanced Applications
Automatic prefetching by traversal profiling in object persistence architectures
ECOOP'06 Proceedings of the 20th European conference on Object-Oriented Programming
USENIX ATC'12 Proceedings of the 2012 USENIX conference on Annual Technical Conference
Proceedings of the Twenty-Fourth ACM Symposium on Operating Systems Principles
ACM SIGOPS 24th Symposium on Operating Systems Principles
Tango: distributed data structures over a shared log
Proceedings of the Twenty-Fourth ACM Symposium on Operating Systems Principles
Warranties for faster strong consistency
NSDI'14 Proceedings of the 11th USENIX Conference on Networked Systems Design and Implementation
Hi-index | 0.00 |
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.