Results 1 -
3 of
3
Non-Blocking Garbage Collection for Multiprocessors
- In Parallel Algorithms and Architectures
, 1993
"... Garbage collection algorithms for shared-memory multiprocessors typically rely on some form of global synchronization to preserve consistency. Nevertheless, such global synchronization is poorly suited for asynchronous architectures: if one process is halted or delayed, other, non-faulty processes w ..."
Abstract
-
Cited by 3 (0 self)
- Add to MetaCart
Garbage collection algorithms for shared-memory multiprocessors typically rely on some form of global synchronization to preserve consistency. Nevertheless, such global synchronization is poorly suited for asynchronous architectures: if one process is halted or delayed, other, non-faulty processes will be unable to progress. By contrast, a storage management algorithm is non-blocking if (in the absence of resource exhaustion) a process that is allocating or collecting memory can undergo a substantial delay without forcing other processes to block. This paper presents the first algorithm for non-blocking garbage collection in a realistic model. The algorithm assumes that processes synchronize by applying read, write, and compare&swap operations to shared memory. This algorithm uses no locks or busy-waiting, it does not assume that processes can observe or modify one another's local variables or registers, and it does not use inter-process interrupts. Keywords: garbage collection; multip...
USENIX Association Proceedings of the
, 2000
"... Rights to individual papers remain with the author or the author's employer. Permission is granted for noncommercial reproduction of the work for educational or research purposes. This copyright notice must be included in the reproduced paper. USENIX acknowledges all trademarks herein. The Java ™ Vi ..."
Abstract
- Add to MetaCart
Rights to individual papers remain with the author or the author's employer. Permission is granted for noncommercial reproduction of the work for educational or research purposes. This copyright notice must be included in the reproduced paper. USENIX acknowledges all trademarks herein. The Java ™ Virtual Machine is viewed by many as inherently insecure despite all the efforts to improve its security. In this paper we take a different approach to Java security and describe the design and implementation of a system that provides operating system style protection for Java code. We use hardware protection domains to separate Java classes, provide access control on cross domain method invocations, efficient data sharing between protection domains, and memory and CPU resource control. These security measures, when they do not violate the policy, are all transparent to the Java programs, even when a subclass is in one domain and its superclass is in another. To reduce the performance impact we group classes and share them between protection domains and map data on demand as it is being shared. 1.

