ACM Home Page
Please provide us with feedback. Feedback
Digital Library logoTake a look at the new version of this page: [ beta version ]. Tell us what you think.
Experience with safe manual memory-management in cyclone
Full text PdfPdf (680 KB)
Source International Symposium on Memory Management archive
Proceedings of the 4th international symposium on Memory management table of contents
Vancouver, BC, Canada
SESSION: Regions, compiler support table of contents
Pages: 73 - 84  
Year of Publication: 2004
ISBN:1-58113-945-4
Authors
Michael Hicks  University of Maryland, College Park, MD
Greg Morrisett  Harvard University
Dan Grossman  University of Washington
Trevor Jim  AT&T Labs Research
Sponsors
ACM: Association for Computing Machinery
SIGPLAN: ACM Special Interest Group on Programming Languages
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 6,   Downloads (12 Months): 33,   Citation Count: 14
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/1029873.1029883
What is a DOI?

ABSTRACT

The goal of the Cyclone project is to investigate type safety for low-level languages such as C. Our most difficult challenge has been providing programmers control over memory management while retaining type safety. This paper reports on our experience trying to integrate and effectively use two previously proposed, type-safe memory management mechanisms: statically-scoped regions and unique pointers. We found that these typing mechanisms can be combined to build alternative memory-management abstractions, such as reference counted objects and arenas with dynamic lifetimes, and thus provide a flexible basis. Our experience---porting C programs and building new applications for resource-constrained systems---confirms that experts can use these features to improve memory footprint and sometimes to improve throughput when used instead of, or in combination with, conservative garbage collection.


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.

 
1
Peter Achten and Rinus Plasmeijer. The ins and outs of Clean I/O. Journal of Functional Programming, 5(1):81--110, 1995.
2
3
4
 
5
Gregory Bellella, editor. The Real-Time Specification for Java. Addison-Wesley, 2000.
 
6
7
 
8
 
9
Dave Clarke and Tobias Wrigstad. External uniqueness is unique enough. In European Conference on Object-Oriented Programming (ECOOP), pages 176--200, July 2003.
 
10
Cyclone, version 0.8. Available at http://www.eecs.harvard.edu/~greg/cyclone/.
11
12
 
13
Matthew Fluet and Daniel Wang. Implementation and performance evaluation of a safe runtime system in Cyclone. In Informal Proceedings of the SPACE 2004 Workshop, January 2004.
14
15
16
 
17
 
18
19
20
 
21
Matthew Hertz and Emery Berger. Automatic vs. explicit memory management: Settling the performance debate. Technical Report CS TR-04-17, University of Massachussetts Department of Computer Science, 2004.
 
22
Michael Hicks, Adithya Nagajaran, and Robbert van Renesse. MediaNet: User-defined adaptive scheduling for streaming data. In Proc. IEEE Conference on Open Architectures and Network Programming (OPENARCH), pages 87--96, April 2003.
 
23
 
24
Doug Lea. A memory allocator. http://gee.cs.oswego.edu/dl/html/malloc.html.
 
25
 
26
Mike Muuss. The story of TTCP. http://ftp.arl.mil/~mike/ttcp.html.
 
27
Niels Provos. libevent --- an event notification library. http://www.monkey.org/provos/libevent/.
 
28
 
29
Tachio Terauchi and Alex Aiken. Memory management with use-counted regions. Technical Report UCB//CSD-04-1314, University of California, Berkeley, March 2004.
 
30
Mads Tofte, Lars Birkedal, Martin Elsman, Niels Hallenberg, Tommy Højfel Olesen, and Peter Sestoft. Programming with regions in the ML Kit (for version 4. Technical report, IT University of Copenhagen, September 2001.
 
31
 
32
Philip Wadler. Linear types can change the world! In Programming Concepts and Methods, April 1990. IFIP TC 2 Working Conference.
33
 
34
35
36
 
37
Hongwei Xi and Frank Pfenning. Dependent types in practical programming. pages 214--227, January 1999.
 
38

CITED BY  14

Collaborative Colleagues:
Michael Hicks: colleagues
Greg Morrisett: colleagues
Dan Grossman: colleagues
Trevor Jim: colleagues