Smalltalk-80: bits of history, words of advice
Smalltalk-80: bits of history, words of advice
Smalltalk-80: the language and its implementation
Smalltalk-80: the language and its implementation
Virtual memory on a narrow machine for an object-oriented language
OOPLSA '86 Conference proceedings on Object-oriented programming systems, languages and applications
The design and evaluation of a high performance Smalltalk system
The design and evaluation of a high performance Smalltalk system
Simple generational garbage collection and fast allocation
Software—Practice & Experience
Design of the opportunistic garbage collector
OOPSLA '89 Conference proceedings on Object-oriented programming systems, languages and applications
Design of the Mneme persistent object store
ACM Transactions on Information Systems (TOIS)
Virtual memory primitives for user programs
ASPLOS IV Proceedings of the fourth international conference on Architectural support for programming languages and operating systems
The interaction of architecture and operating system design
ASPLOS IV Proceedings of the fourth international conference on Architectural support for programming languages and operating systems
The ObjectStore database system
Communications of the ACM
ACM Transactions on Database Systems (TODS)
Working with Persistent Objects: To Swizzle or Not to Swizzle
IEEE Transactions on Software Engineering
A comparative performance evaluation of write barrier implementation
OOPSLA '92 conference proceedings on Object-oriented programming systems, languages, and applications
ASPLOS V Proceedings of the fifth international conference on Architectural support for programming languages and operating systems
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
A real-time garbage collector based on the lifetimes of objects
Communications of the ACM
A Performance Study of Alternative Object Faulting and Pointer Swizzling Strategies
VLDB '92 Proceedings of the 18th International Conference on Very Large Data Bases
Update Logging for Persistent Programming Languages: A Comparative Performance Evaluation
VLDB '93 Proceedings of the 19th International Conference on Very Large Data Bases
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
A distributed garbage collector for active objects
OOPSLA '94 Proceedings of the ninth annual conference on Object-oriented programming systems, language, and applications
Hardware and software support for efficient exception handling
ASPLOS VI Proceedings of the sixth international conference on Architectural support for programming languages and operating systems
Avoiding conflict misses dynamically in large direct-mapped caches
ASPLOS VI Proceedings of the sixth international conference on Architectural support for programming languages and operating systems
Address space sparsity and fine granularity
ACM SIGOPS Operating Systems Review
Reducing TLB and memory overhead using online superpage promotion
ISCA '95 Proceedings of the 22nd annual international symposium on Computer architecture
Storing and using objects in a relational database
IBM Systems Journal
Safe and efficient sharing of persistent objects in Thor
SIGMOD '96 Proceedings of the 1996 ACM SIGMOD international conference on Management of data
The measured cost of copying garbage collection mechanisms
ICFP '97 Proceedings of the second ACM SIGPLAN international conference on Functional programming
Mostly-copying reachability-based orthogonal persistence
Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Address space sparsity and fine granularity
EW 6 Proceedings of the 6th workshop on ACM SIGOPS European workshop: Matching operating systems to application needs
IEEE Transactions on Computers
PM3: An Orthogonal Persistent Systems Programming Language - Design, Implementation, Performance
VLDB '99 Proceedings of the 25th International Conference on Very Large Data Bases
Architecture of the PEVM: A High-Performance Orthogonally Persistent Java Virtual Machine
POS-9 Revised Papers from the 9th International Workshop on Persistent Object Systems
Proceedings of the 4th international symposium on Memory management
Portable, mostly-concurrent, mostly-copying garbage collection for multi-processors
Proceedings of the 5th international symposium on Memory management
Software write detection for a distributed shared memory
OSDI '94 Proceedings of the 1st USENIX conference on Operating Systems Design and Implementation
Integrating coherency and recoverability in distributed systems
OSDI '94 Proceedings of the 1st USENIX conference on Operating Systems Design and Implementation
Object caching in a CORBA compliant system
COOTS'96 Proceedings of the 2nd conference on USENIX Conference on Object-Oriented Technologies (COOTS) - Volume 2
The region trap library: handling traps on application-defined regions of memory
ATEC '99 Proceedings of the annual conference on USENIX Annual Technical Conference
Dynamic prediction of collection yield for managed runtimes
Proceedings of the 14th international conference on Architectural support for programming languages and operating systems
The locality of concurrent write barriers
Proceedings of the 2010 international symposium on Memory management
Barriers reconsidered, friendlier still!
Proceedings of the 2012 international symposium on Memory Management
Hi-index | 0.00 |
Many operating systems allow user programs to specify the protection level (inaccessible, read-only, read-write) of pages in their virtual memory address space, and to handle any protection violations that may occur. Such page-protection techniques have been exploited by several user-level algorithms for applications including generational garbage collection and persistent stores. Unfortunately, modern hardware has made efficient handling of page protection faults more difficult. Moreover, page-sized granularity may not match the natural granularity of a given application. In light of these problems, we reevaluate the usefulness of page-protection primitives in such applications, by comparing the performance of implementations that make use of the primitives with others that do not. Our results show that for certain applications software solutions outperform solutions that rely on page-protection or other related virtual memory primitives.