STOC '95 Proceedings of the twenty-seventh annual ACM symposium on Theory of computing
An on-the-fly reference counting garbage collector for Java
OOPSLA '01 Proceedings of the 16th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
An on-the-fly reference-counting garbage collector for java
ACM Transactions on Programming Languages and Systems (TOPLAS)
Interrupting snapshots and the Java™ size() method
DISC'09 Proceedings of the 23rd international conference on Distributed computing
Interrupting snapshots and the JavaTM size method
Journal of Parallel and Distributed Computing
Hi-index | 0.00 |
Abstract: An atomic snapshot memory is an implementation of a multiple location shared memory that can be atomically read in its entirety without having to prevent concurrent writing. The design of wait-free implementations of atomic snapshot memories has been the subject of extensive theoretical research in recent years. This paper introduces the coordinated-collect algorithm, a novel wait-free atomic snapshot construction which we believe is a first step in taking snapshots from theory to practice. Unlike former algorithms, it uses currently available multiprocessor synchronization operations to provide an algorithm that has only O(1) update complexity and O(n) scan complexity, with very small constants. Empirical evidence collected on a simulated distributed shared-memory multiprocessor shows that coordinated-collect outperforms all known wait-free, lock-free, and locking algorithms in terms of overall throughput and latency.