|
ABSTRACT
We describe how reachability-based orthogonal persistence can be supported even in uncooperative implementations of languages such as C++ and Modula-3, and without modification to the compiler. Our scheme extends Bartlett's mostly-copying garbage collector to manage both transient objects and resident persistent objects, and to compute the reachability closure necessary for stabilization of the persistent heap. It has been implemented in our prototype of reachability-based persistence for Modula-3, yielding performance competitive with that of comparable, but non-orthogonal, persistent variants of C++. Experimental results, using the 007 object database benchmarks, reveal that the mostly-copying approach offers a straightforward path to efficient orthogonal persistence in these uncooperative environments. The results also characterize the performance of persistence implementations based on virtual memory protection primitives.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
 |
1
|
|
| |
2
|
|
 |
3
|
|
 |
4
|
|
 |
5
|
|
| |
6
|
ATKINSON, M. P., BAILEY, P. J., CHISHOLM, K. J., COCKSHOTT, P. W., AND MORRISON, R. An approach to persistent programming. The Computer Journal 26, 4 (Nov. 1983), 360-365.
|
 |
7
|
|
| |
8
|
ATKINSON, M. e., CHISHOLM, K. J., COCKSHOTT, W. P., AND MARSHALL, R. M. Algorithms for a persistent heap. Software: Practice and Experience 13, 7 (Mar. 1983), 259-271.
|
 |
9
|
|
| |
10
|
ATKINSON, M. P., JORDAN, M. J., DAYNES, L., AND SPENCE, S. Design issues for persistent Java: A type-safe object-oriented, orthogonally persistent system. In Connor and Nettles {27}, pp. 33-47.
|
| |
11
|
|
| |
12
|
BARTLETT, J. F. Compacting garbage collection with ambiguous roots. Research Report 8812, Western Research Laboratory, Digital Equipment Corporation, Feb. 1988.
|
| |
13
|
BARTLETT, J. F. Mostly-copying garbage collection picks up generations and C++. Technical Note TN-12, Western Research Laboratory, Digital Equipment Corporation, Oct. 1989.
|
| |
14
|
BAUMANN, R. Client/server distribution in a structure-oriented database management system. Tech. Rep. AIB 97-14, RWTH Aachen, Germany, 1997.
|
 |
15
|
|
| |
16
|
|
| |
17
|
|
| |
18
|
BRAHNMATH, K. J. Optimizing orthogonal persistence for Java. Master's thesis, Purdue University, May 199g.
|
| |
19
|
CARDELLI, L., DONAI-tUE, J., GLASSMAN, L., JORDAN, M., KALSOW, B., AND NELSON, G. Modula-3 language definition, in Systems Programming with Modula-3, G. Nelson, Ed. Prentice Hall, 1991, ch. 2, pp. 11-66.
|
 |
20
|
Michael J. Carey , David J. DeWitt , Michael J. Franklin , Nancy E. Hall , Mark L. McAuliffe , Jeffrey F. Naughton , Daniel T. Schuh , Marvin H. Solomon , C. K. Tan , Odysseas G. Tsatalos , Seth J. White , Michael J. Zwilling, Shoring up persistent applications, Proceedings of the 1994 ACM SIGMOD international conference on Management of data, p.383-394, May 24-27, 1994, Minneapolis, Minnesota, United States
|
 |
21
|
|
 |
22
|
Michael J. Carey , Michael J. Franklin , Markos Zaharioudakis, Fine-grained sharing in a page server OODBMS, Proceedings of the 1994 ACM SIGMOD international conference on Management of data, p.359-370, May 24-27, 1994, Minneapolis, Minnesota, United States
|
| |
23
|
R. G. G. Cattell , Douglas K. Barry , Dirk Bartels , Mark Berler , Jeff Eastman , Sophie Gamerman , David Jordan , Adam Springer , Henry Strickland , Drew Wade, The object database standard: ODMG 2.0, Morgan Kaufmann Publishers Inc., San Francisco, CA, 1997
|
 |
24
|
|
 |
25
|
|
 |
26
|
|
| |
27
|
CONNOR, R., AND NETTLES, S., Eds. Proceedings of the Seventh International Workshop on Persistent Object Systems (Cape May, New Jersey, May 1996). Persistent Object Systems: Principles and Practice, Morgan Kaufmann, 1997.
|
| |
28
|
Alan Dearle , Richard Connor , Fred Brown , Ron Morrison, Napier88—a database programming language?, Proceedings of the second international workshop on Database programming languages, p.179-195, December 1989, Salishan Lodge, Gleneden Beach, Oregon, United States
|
| |
29
|
Alan Dearle , Rex di Bona , James Farrow , Frans Henskens , Anders Lindström , John Rosenberg , Francis Vaughan, Grasshopper: an orthogonally persistent operating system, Computing Systems, v.7 n.3, p.289-312, Summer 1994
|
| |
30
|
DEARLE, A., SHAW, G. M., AND ZDONIK, S. B., Eds. Proceedings of the Fourth International Workshop on Persistent Object Systems (Martha's Vineyard, Massachusetts, Sept. 1990). Implementing Persistent Object Bases: Principles and Practice, Morgan Kaufmann, 1991.
|
| |
31
|
|
| |
32
|
DETREVILLE, J. Experience with concurrent garbage collectors for Modula-2+. Tech. Rep. 64, Systems Research Center, Digital Equipment Corporation, Palo Alto, CA, Aug. 1990.
|
 |
33
|
|
| |
34
|
ELPHINSTONE, K., RUSSELL, S., HEISER, G., AND LIEDTKE, J. Supporting persistent object systems in a single address space. In Connor and Nettles {27}, pp. 111-119.
|
 |
35
|
|
 |
36
|
|
| |
37
|
Germont Heiser , Kevin Elphinstone , Jerry Vochteloo , Stephen Russell , Jochen Liedtke, The Mungi single-address-space operating system, Software—Practice & Experience, v.28 n.9, p.901-928, July 25, 1998
[doi> 10.1002/(SICI)1097-024X(19980725)28:9<901::AID-SPE181>3.0.CO;2-7]
|
| |
38
|
|
| |
39
|
HOSKING, A. L. Residency check elimination for object-oriented persistent languages. In Connor and Nettles {27}, pp. 174-183.
|
| |
40
|
|
| |
41
|
|
| |
42
|
|
| |
43
|
HOSKING, A. L,, AND MOSS, J. E. B. Towards compile-time optimisations for persistence. In Dearie et al. {30}, pp. 17-27.
|
 |
44
|
|
 |
45
|
|
| |
46
|
HOSKING, A. L., AND MOSS, J. E. B. Lightweight write detection and checkpointing for fine-grained persistence. Tech. Rep. 95-084, Department of Computer Sciences, Purdue University, Dec. 1995.
|
| |
47
|
HOSKING, A. L., AND NOVIANTO, A. P. Reachability-based orthogonal persistence for C, C++ and other intransigents. In Proceedings of the OOPSLA Workshop on Memory Management and Garbage Collection (Atlanta, Georgia, Oct.). 1997. http://www.dcs.gla.ac.uk/'huw/oopsla97/gc/papers.html.
|
| |
48
|
|
| |
49
|
|
| |
50
|
Proceedings of the ACM International Symposium on Memory Management (Vancouver, Canada, Oct., 1998). ACM SIGPLAN Notices 34, 3 (Mar. 1999).
|
| |
51
|
|
| |
52
|
JORDAN, M. Early experiences with persistent Java. In Proceedings of the First International Workshop on Persistence and Java (Drymen, Scotland, Sept.), M. P. Atkinson and M. J. Jordan, Eds. Sun Microsystems Laboratories Technical Report 96-58, Nov. 1996.
|
| |
53
|
|
 |
54
|
|
| |
55
|
KAEHL}~R, T., AND KRASNER, G. LOOM-large object-oriented memory for Smalltalk-80 systems. In SmaUtalk-80: Bits of History, Words ofAdvice, G. Krasner, Ed. Addison-Wesley, 1983, ch. 14, pp. 251--270.
|
 |
56
|
Sheetal V. Kakkad , Mark S. Johnstone , Paul R. Wilson, Portable run-time type description for conventional compilers, Proceedings of the 1st international symposium on Memory management, p.146-153, October 17-19, 1998, Vancouver, British Columbia, Canada
|
| |
57
|
|
 |
58
|
|
 |
59
|
Tian F. Lim , Przemysław Pardyak , Brian N. Bershad, A memory-efficient real-time non-copying garbage collector, Proceedings of the 1st international symposium on Memory management, p.118-129, October 17-19, 1998, Vancouver, British Columbia, Canada
|
| |
60
|
|
| |
61
|
Ronald Morrison , Alfred L. Brown , Raymund Carrick , Richard C. H. Connor , Alan Dearle , Malcolm P. Atkinson, The Napier Type System, Proceedings of the Third International Workshop on Persistent Object Systems, p.3-18, January 10-13, 1989
|
| |
62
|
MORRISON, R., JORDAN, M., AND ATKINSON, M., Eds. Proceedings of the Third International Workshop on Persistence and Java (Tiburon, California, August 1998). Advances in Persistent Object Systems, Morgan Kaufmann, 1999.
|
| |
63
|
|
| |
64
|
|
| |
65
|
NYSTROM, N., HOSKING, A. L., WHITLOCK, D., CUTTS, Q., AND DIWAN, A. Partial redundancy elimination for access path expressions. Tech. Rep. 98-044, Department of Computer Sciences, Purdue University, Oct. 1998. Submitted for publication.
|
| |
66
|
NYSTROM, N. J. Bytecode level analysis and optimization of Java classes. Master's thesis, Purdue University, Aug. 1998.
|
| |
67
|
RICHARDSON, J. E. Compiled item faulting: A new technique for managing I/O in a persistent language. In Dearie et al. {30}, pp. 3-16.
|
 |
68
|
|
| |
69
|
|
 |
70
|
|
 |
71
|
|
 |
72
|
|
| |
73
|
SCHUH, D., CAREY, M., AND Dt~WITT, D. Persistence in E revisited - implementation experiences. In Dearie et al. {30}, pp. 345-359.
|
| |
74
|
Proceedings of the ACM International Conference on Management of Data (Minneapolis, Minnesota, May). ACM SIGMOD Record 23, 2 (June 1994).
|
| |
75
|
SINGHAL, V., KAKKAD, S. V., AND WILSON, P. R. Texas, an efficient, portable persistent store, in Proceedings of the Fifth International Workshop on Persistent Object Systems (San Miniato, Italy, Sept.), A. Albano and R. Morrison, Eds. Workshops in Computing. Springer-Verlag, 1992, pp. 11-33.
|
 |
76
|
|
| |
77
|
|
| |
78
|
|
 |
79
|
|
| |
80
|
WILSON, P. R. Uniprocessor garbage collection techniques. ACM Comput. Surv.. To appear.
|
| |
81
|
|
| |
82
|
WILSON, P. R., AND KAKKAD, S. V. Pointer swizzling at page fault time: Efficiently and compatibly supporting huge address spaces on standard hardware. In Proceedings of the 1992 international Workshop on Object Orientation in Operating Systems (Paris, France, Sept.). IEEE Computer Society, 1992, pp. 364-377.
|
|