Smalltalk-80: the language and its implementation
Smalltalk-80: the language and its implementation
Computer
The design and evaluation of a high performance Smalltalk system
The design and evaluation of a high performance Smalltalk system
Mostly parallel garbage collection
PLDI '91 Proceedings of the ACM SIGPLAN 1991 conference on Programming language design and implementation
An architectural technique for cache-level garbage collection
Proceedings of the 5th ACM conference on Functional programming languages and computer architecture
Memory subsystem performance of programs using copying garbage collection
POPL '94 Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Performance of a hardware-assisted real-time garbage collector
ASPLOS VI Proceedings of the sixth international conference on Architectural support for programming languages and operating systems
Garbage collection: algorithms for automatic dynamic memory management
Garbage collection: algorithms for automatic dynamic memory management
Informing memory operations: memory performance feedback mechanisms and their applications
ACM Transactions on Computer Systems (TOCS)
Multitasking without comprimise: a virtual machine evolution
OOPSLA '01 Proceedings of the 16th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Capability-Based Computer Systems
Capability-Based Computer Systems
Java Virtual Machine Specification
Java Virtual Machine Specification
Java Microarchitectures
Proceedings of the 10th international conference on Architectural support for programming languages and operating systems
DMMX: dynamic memory management extensions
Journal of Systems and Software
Hardware support for memory protection: Capability implementations
ASPLOS I Proceedings of the first international symposium on Architectural support for programming languages and operating systems
Memory System Behavior of Java-Based Middleware
HPCA '03 Proceedings of the 9th International Symposium on High-Performance Computer Architecture
Myths and realities: the performance impact of garbage collection
Proceedings of the joint international conference on Measurement and modeling of computer systems
Achieving High Performance via Co-Designed Virtual Machines
IWIA '98 Proceedings of the 1998 International Workshop on Innovative Architecture
Proceedings of the 1st ACM/USENIX international conference on Virtual execution environments
SableVM: a research framework for the efficient execution of java bytecode
JVM'01 Proceedings of the 2001 Symposium on JavaTM Virtual Machine Research and Technology Symposium - Volume 1
An object-aware memory architecture
An object-aware memory architecture
Vertical object layout and compression for fixed heaps
CASES '07 Proceedings of the 2007 international conference on Compilers, architecture, and synthesis for embedded systems
A first insight into object-aware hardware transactional memory
Proceedings of the twentieth annual symposium on Parallelism in algorithms and architectures
Improving compiler-runtime separation with XIR
Proceedings of the 6th ACM SIGPLAN/SIGOPS international conference on Virtual execution environments
Dynamic filtering: multi-purpose architecture support for language runtime systems
Proceedings of the fifteenth edition of ASPLOS on Architectural support for programming languages and operating systems
Vertical object layout and compression for fixed heaps
Semantics and algebraic specification
WCET driven design space exploration of an object cache
Proceedings of the 8th International Workshop on Java Technologies for Real-Time and Embedded Systems
Scalable object-aware hardware transactional memory
EuroPar'10 Proceedings of the 16th international Euro-Par conference on Parallel processing: Part I
Worst-case execution time analysis-driven object cache design
Concurrency and Computation: Practice & Experience
Increasing the efficiency of an embedded multi-core bytecode processor using an object cache
Proceedings of the 10th International Workshop on Java Technologies for Real-time and Embedded Systems
Hi-index | 0.00 |
Despite its dominance, object-oriented computation has received scant attention from the architecture community. We propose a novel memory architecture that supports objects and garbage collection (GC). Our architecture is co-designed with a JavaTM Virtual Machine (JVMTM)1 to improve the functionality and efficiency of heap memory management. The architecture is based on an address space for objects accessed using object IDs mapped by a translator to physical addresses. To support this, the system includes object-addressed caches, a hardware GC barrier to allow in-cache GC of objects, and an exposed cache structure cooperatively managed by the JVM. These extend a conventional architecture, without compromising compatibility or performance for legacy binaries.Our innovations enable various improvements such as: a novel technique for parallel and concurrent garbage collection, without requiring any global synchronization; an in-cache garbage collector, which never accesses main memory; concurrent compaction of objects; and elimination of most GC store barrier overheads. We compare the behavior of our system against that of a conventional generational garbage collector, both with and without an explicit allocate-in-cache operation which eliminates many write misses. Our scheme additionally trades L2 misses for in-cache operations, and provides the mapping indirection required for concurrent compaction.