Object caching for performance in object-oriented systems

Object-oriented systems exhibit a very high rate of object creation, but most objects are short-lived. As a result, memory-management overhead is significant. An application-specific coprocessor architecture to speed up object creation and memory reclamation in object-oriented systems is described. The architecture supports a bit-vector approach to dynamic storage allocation and liberation. Novel created objects reside in a cache that is reference counted. Most objects are expected to die before they age out of the cache, drastically reducing the number of references to main memory. Many existing computer architectures would require only minor compiler modification to incorporate and benefit from this coprocessor.<<ETX>>

[1]  Paul R. Wilson,et al.  Design of the opportunistic garbage collector , 1989, OOPSLA '89.

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

[3]  Paul R. Wilson,et al.  Some issues and strategies in heap management and memory hierarchies , 1991, SIGP.

[4]  Allen Wirfs-Brock,et al.  A third generation Smalltalk-80 implementation , 1986, OOPSLA 1986.

[5]  Jörg Kaiser,et al.  An Object-Oriented Architecture to Support System Reliability and Security , 1990, ESORICS.

[6]  Frank Jackson,et al.  Tenuring policies for generation-based storage reclamation , 1988, OOPSLA 1988.

[7]  Mario Wolczko,et al.  An Object-Based Memory Architecture , 1990, POS.

[8]  David Ungar,et al.  The design and evaluation of a high performance Smalltalk system , 1987 .

[9]  Allen Wirfs-Brock,et al.  A Third Generation Smalltalk-80 Implementation , 1986, OOPSLA.

[10]  Edward S. Davidson,et al.  Analysis of memory referencing behavior for design of local memories , 1988, [1988] The 15th Annual International Symposium on Computer Architecture. Conference Proceedings.

[11]  William D. Clinger,et al.  Implementation strategies for continuations , 1988, LFP '88.

[12]  William J. Dally,et al.  An object oriented architecture , 1985, ISCA 1985.

[13]  Ted Kaehler Virtual memory on a narrow machine for an object-oriented language , 1986, OOPSLA 1986.

[14]  Chih-Jui Peng,et al.  Cache Memory Design Considerations to Support Languages with Dynamic Heap Allocation , 1989 .

[15]  John Rosenberg,et al.  A Secure RISC-based Architecture Supporting Data Persistence , 1990, Security and Persistence.