A comparative performance evaluation of write barrier implementation
OOPSLA '92 conference proceedings on Object-oriented programming systems, languages, and applications
The design and implementation of the self compiler, an optimizing compiler for object-oriented programming languages
Garbage collecting the world: one car at a time
Proceedings of the 12th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Combining card marking with remembered sets: how to save scanning time
Proceedings of the 1st international symposium on Memory management
Application isolation in the Java Virtual Machine
OOPSLA '00 Proceedings of the 15th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
A time- and space-efficient garbage compaction algorithm
Communications of the ACM
Thread-specific heaps for multi-threaded programs
Proceedings of the 2nd international symposium on Memory management
Recursive functions of symbolic expressions and their computation by machine, Part I
Communications of the ACM
Multitasking without comprimise: a virtual machine evolution
OOPSLA '01 Proceedings of the 16th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Proceedings of the 3rd international symposium on Memory management
Uniprocessor Garbage Collection Techniques
IWMM '92 Proceedings of the International Workshop on Memory Management
Concurrent Remembered Set Refinement in Generational Garbage Collection
Proceedings of the 2nd Java Virtual Machine Research and Technology Symposium
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
Non-compacting memory allocation and real-time garbage collection
Non-compacting memory allocation and real-time garbage collection
Mostly concurrent garbage collection revisited
OOPSLA '03 Proceedings of the 18th annual ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications
Mark-copy: fast copying GC with less space overhead
OOPSLA '03 Proceedings of the 18th annual ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications
Java server performance: a case study of building efficient, scalable Jvms
IBM Systems Journal
Garbage-first garbage collection
Proceedings of the 4th international symposium on Memory management
The KaffeOS Java runtime system
ACM Transactions on Programming Languages and Systems (TOPLAS)
ATEC '03 Proceedings of the annual conference on USENIX Annual Technical Conference
The java hotspotTM server compiler
JVM'01 Proceedings of the 2001 Symposium on JavaTM Virtual Machine Research and Technology Symposium - Volume 1
Sharing the runtime representation of classes across class loaders
ECOOP'05 Proceedings of the 19th European conference on Object-Oriented Programming
MTM2: Scalable Memory Management for Multi-tasking Managed Runtime Environments
ECOOP '08 Proceedings of the 22nd European conference on Object-Oriented Programming
A secure OSGi environment for untrusted web applications
Proceedings of the Second Nordic Symposium on Cloud Computing & Internet Technologies
Hi-index | 0.00 |
A multi-tasking virtual machine (MVM) executes multiple programs in isolation, within a single operating system process. The goal of a MVM is to improve startup time, overall system throughput, and performance, by effective reuse and sharing of system resources across programs (tasks). However, multitasking also mandates a memory management system capable of offering a guarantee of isolation with respect to garbage collection costs, accounting of memory usage, and timely reclamation of heap resources upon task termination.To this end, we investigate and evaluate, novel task-aware extensions to a state-of-the-art MVM garbage collector (GC). Our task-aware GC exploits the generational garbage collection hypothesis, in the context of multiple tasks, to provide performance isolation by maintaining task-private young generations. Task aware GC facilitates concurrent per-task allocation and promotion, and minimizes synchronization and scanning overhead. In addition, we efficiently track per-task heap usage to enable GC-free reclamation upon task termination. Moreover, we couple these techniques with a light-weight synchronization mechanism that enables per-task minor collection, concurrently with allocation by other tasks.We empirically evaluate the efficiency, scalability, and through-put that our task-aware GC system enables.