ACM Home Page
Please provide us with feedback. Feedback
Atomic heap transactions and fine-grain interrupts
Full text PdfPdf (1.45 MB)
Source International Conference on Functional Programming archive
Proceedings of the fourth ACM SIGPLAN international conference on Functional programming table of contents
Paris, France
Pages: 48 - 59  
Year of Publication: 1999
ISBN:1-58113-111-9
Also published in ...
Authors
Olin Shivers  MIT Artificial Intelligence Laboratory
James W. Clark  MIT Artificial Intelligence Laboratory
Roland McGrath  MIT Artificial Intelligence Laboratory
Sponsors
INRIA : Institut Natl de Recherche en Info et en Automatique
SIGPLAN: ACM Special Interest Group on Programming Languages
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 1,   Downloads (12 Months): 17,   Citation Count: 8
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/317636.317783
What is a DOI?

ABSTRACT

Languages such as Java, ML, Scheme, and Haskell provide automatic storage management, that is, garbage collection. The two fundamental operations performed on a garbage-collected heap are "allocate" and "collect." Because the heap is in an inconsistent state during these operations, they must be performed atomically. Otherwise, a heap client might access the heap during a time when its fundamental invariants do not hold, corrupting the heap.Standard techniques for providing this atomicity guarantee have large latencies and other performance problems that impede their application in high-performance, interruptladen, thread-based systems applications. In particular, the standard techniques prevent thread schedulers from switching threads on VM page faults.We cast the space of possible implementations into a general taxonomy, and describe a new technique that provides a simple, low-overhead, low-latency interlock. We have implemented this technique in a version of SML/NJ, and, because of its applicability to thread-based systems, are currently implementing it in the scheduler of our raw-hardware SML-based kernel, ML/OS. Our technique can be extended to provide other atomic sequences besides storage allocation.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

Diwan+
Feeley
Herlihy
JavaGC
 
LockFree
Andrew W. Appel. To the best of our knowledge, this very clever technique is due to Andrew Appel and remains unpublished. One of us (Shivers) saw Andrew sketch this approach out on a blackboard in the late eighties, point out the critical trivial-abort property, and state that it had been implemented and subsequently abandoned. But no description of the technique can be found in any of Appel's published works, and when pressed, he becomes evasive, claims poor memory, and denies any involvement with the covert manipulation of autonomous processor-states. We note without further comment his long-standing support by powerful Department of Defense agencies.
ML/OS
ML-threads
 
Modula-3
 
MLRisc
Little has been published on Lal George's MLRisc code-generator compiler back-end. However, on-.line documen'~ation can be found at http://cm.bell-labs.com/cm/cs/ what /smln j/doc/MLRISC/index, html.
Orbit
ParaCaml
PCC
 
PCLSR
Alan Bawden. "PCLSRing: Keeping process state modular." Unpublished memo, available via anonymous FTP as ftp://ftp, ai.mit. e du/pub / al an/pc 1 st. memo.
 
Qua
RTC-GC
 
SML/NJ
Andrew W. Appel and David B. MacQueen. Standard ML of New Jersey. In Third International symposium on Programming Lan.. guage Implementation and Logic Program.- ming, LNCS 528, pages 1-13, Martin Wirsing, editor, August 1991. Springex-Verlag, New York.
 
Spur
T
Unimutex
 
Wilson


Collaborative Colleagues:
Olin Shivers: colleagues
James W. Clark: colleagues
Roland McGrath: colleagues