Static grouping of small objects to enhance performance of a paged virtual memory
ACM Transactions on Computer Systems (TOCS)
Smalltalk-80: the language and its implementation
Smalltalk-80: the language and its implementation
An efficient, incremental, automatic garbage collector
Communications of the ACM
A processor for a high-performance personal computer
ISCA '80 Proceedings of the 7th annual symposium on Computer Architecture
Generation Scavenging: A non-disruptive high performance storage reclamation algorithm
SDE 1 Proceedings of the first ACM SIGSOFT/SIGPLAN software engineering symposium on Practical software development environments
ACM SIGIR Forum
A Buffer-Based Method for Storage Allocation in an Object-Oriented System
IEEE Transactions on Computers
The O2 object manager: an overview
VLDB '89 Proceedings of the 15th international conference on Very large data bases
Working with Persistent Objects: To Swizzle or Not to Swizzle
IEEE Transactions on Software Engineering
Object fault handling for persistent programming languages: a performance evaluation
OOPSLA '93 Proceedings of the eighth annual conference on Object-oriented programming systems, languages, and applications
Protection traps and alternatives for memory management of an object-oriented language
SOSP '93 Proceedings of the fourteenth ACM symposium on Operating systems principles
Back to the future: the story of Squeak, a practical Smalltalk written in itself
Proceedings of the 12th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Mostly-copying reachability-based orthogonal persistence
Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Query Optimization and Execution Plan Generation in Object-Oriented Data Management Systems
IEEE Transactions on Knowledge and Data Engineering
PM3: An Orthogonal Persistent Systems Programming Language - Design, Implementation, Performance
VLDB '99 Proceedings of the 25th International Conference on Very Large Data Bases
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
Exploiting high-level coherence information to optimize distributed shared state
Proceedings of the ninth ACM SIGPLAN symposium on Principles and practice of parallel programming
Object swapping challenges: An evaluation of imageSegment
Computer Languages, Systems and Structures
Clustered serialization with fuel
Proceedings of the International Workshop on Smalltalk Technologies
Hi-index | 0.00 |
LOOM (Large Object-Oriented Memory) is a virtual memory implemented in software that supports the Smalltalk-80(™) programming language and environment on the Xerox Dorado computer. LOOM provides 8 billion bytes of secondary memory address space and is specifically designed to run on computers with a narrow word size (16-bit wide words). All storage is viewed as objects that contain fields. Objects may have an average size as small as 10 fields. LOOM swaps objects between primary and secondary memory, and addresses each of the two memories with a different sized object pointer. When objects are cached in primary memory, they are known only by their short pointers. On a narrow word size machine, the narrow object pointers in primary memory allow a program such as the Smalltalk-80 interpreter to enjoy a substantial speed advantage. Interesting design problems and solutions arise from the mapping between the two address spaces and the temporary nature of an object's short address. The paper explains why the unusual design choices in LOOM were made, and provides an interesting example of the process of designing an integrated virtual memory and storage management system.