Texas: An Efficient, Portable Persistent Store

Texas is a persistent storage system for C++, providing high performance while emphasizing simplicity, modularity and portability. A key component of the design is the use of pointer swizzling at page fault time, which exploits existing virtual memory features to implement large address spaces efficiently on stock hardware, with little or no change to existing compilers. Long pointers are used to implement an enormous address space, but are transparently converted to the hardware-supported pointer format when pages are loaded into virtual memory.

[1]  P. R. Wilson,et al.  Pointer swizzling at page fault time: efficiently and compatibly supporting huge address spaces on standard hardware , 1992, [1992] Proceedings of the Second International Workshop on Object Orientation in Operating Systems.

[2]  P. R. Wilson,et al.  Operating system support for small objects , 1991, Proceedings 1991 International Workshop on Object Orientation in Operating Systems.

[3]  Barry Hayes Using key object opportunism to collect old objects , 1991, OOPSLA 1991.

[4]  Paul R. Wilson,et al.  Uniprocessor Garbage Collection Techniques , 1992, IWMM.

[5]  Tom Moher,et al.  Design of the opportunistic garbage collector , 1989, OOPSLA 1989.

[6]  Thomas R. Gross,et al.  Combining the concepts of compression and caching for a two-level filesystem , 1991, ASPLOS IV.

[7]  Andrew W. Appel,et al.  Virtual memory primitives for user programs , 1991, ASPLOS IV.

[8]  Jack A. Orenstein,et al.  The ObjectStore database system , 1991, CACM.

[9]  Hans-Juergen Boehm,et al.  Garbage collection in an uncooperative environment , 1988, Softw. Pract. Exp..

[10]  Henry G. Baker,et al.  List processing in real time on a serial computer , 1978, CACM.

[11]  Jean-Loup Baer,et al.  Dynamic Improvement of Locality in Virtual Memory Systems , 1976, IEEE Transactions on Software Engineering.

[12]  Jeffrey S. Chase,et al.  Lightweight shared objects in a 64-bit operating system , 1992, OOPSLA 1992.

[13]  Ronald Morrison,et al.  An Approach to Persistent Programming , 1989, Comput. J..

[14]  David J. DeWitt,et al.  A Performance Study of Alternative Object Faulting and Pointer Swizzling Strategies , 1992, VLDB.

[15]  Mendel Rosenblum,et al.  The design and implementation of a log-structured file system , 1991, SOSP '91.

[16]  P. Guedes,et al.  Extending the operating system to support an object-oriented environment , 1989, OOPSLA 1989.

[17]  Jacques Cohen,et al.  Garbage Collection of Linked Data Structures , 1981, CSUR.

[18]  Ronald Morrison,et al.  Persistent object management system , 1984, Softw. Pract. Exp..

[19]  Shubhendu S. Mukherjee,et al.  Anomalies and adaptation in the analysis and development of prepaging policies , 1994, J. Syst. Softw..

[20]  C. S. Wallace,et al.  A Password-Capability System , 1986, Comput. J..

[21]  Butler W. Lampson,et al.  On-line data compression in a log-structured file system , 1992, ASPLOS V.

[22]  W. R. Smith,et al.  A model for address-oriented software and hardware , 1992, Proceedings of the Twenty-Fifth Hawaii International Conference on System Sciences.

[23]  Henry Lieberman,et al.  A real-time garbage collector based on the lifetimes of objects , 1983, CACM.

[24]  Craig Chambers,et al.  The design and implementation of the self compiler, an optimizing compiler for object-oriented programming languages , 1992 .