Development and implementation of an object-oriented DBMS
Research directions in object-oriented programming
A study of three alternative workstation server architectures for object-oriented database systems
Proceedings of the sixteenth international conference on Very large databases
The design and implementation of a log-structured file system
SOSP '91 Proceedings of the thirteenth ACM symposium on Operating systems principles
Replication in the harp file system
SOSP '91 Proceedings of the thirteenth ACM symposium on Operating systems principles
The logical disk: a new approach to improving file systems
SOSP '93 Proceedings of the fourteenth ACM symposium on Operating systems principles
Lightweight recoverable virtual memory
SOSP '93 Proceedings of the fourteenth ACM symposium on Operating systems principles
Fine-grained sharing in a page server OODBMS
SIGMOD '94 Proceedings of the 1994 ACM SIGMOD international conference on Management of data
On the performance issues of object-based buffering
PDIS '91 Proceedings of the first international conference on Parallel and distributed information systems
Transaction Processing: Concepts and Techniques
Transaction Processing: Concepts and Techniques
IEEE Transactions on Knowledge and Data Engineering
Architecture of the ORION Next-Generation Database System
IEEE Transactions on Knowledge and Data Engineering
Dual-Buffering Strategies in Object Bases
VLDB '94 Proceedings of the 20th International Conference on Very Large Data Bases
Hybrid Caching for Large-Scale Object Systems
Proceedings of the Sixth International Workshop on Persistent Object Systems
Providing Persistent Objects in Distributed Systems
ECOOP '99 Proceedings of the 13th European Conference on Object-Oriented Programming
Transactional Remote Group Caching in Distributed Object Systems
POS-9 Revised Papers from the 9th International Workshop on Persistent Object Systems
SNAP: Efficient Snapshots for Back-in-Time Execution
ICDE '05 Proceedings of the 21st International Conference on Data Engineering
Hi-index | 0.00 |
In a distributed storage system, client caches managed on the basis of small granularity objects can provide better memory utilization then page-based caches. However, object servers, unlike page servers, must perform additional disk reads. These installation reads are required to install modified objects onto their corresponding disk pages. The opportunistic log is a new technique that significantly reduces the cost of installation reads. It defers the installation reads, removing them from the modification commit path, and manages a large pool of pending installation reads that can be scheduled efficiently. Using simulations, we show that the opportunistic log substantially enhances the I/O performance of reliable storage servers. An object server without the opportunistic log requires much better client caching to outperform a page server. With an opportunistic log, only a small client cache improvement suffices. Our results imply that efficient scheduling of installation reads can substantially improve the performance of large-scale storage systems and therefore introduces a new performance tradeoff between page-based and object-based architectures.