skip to main content
article
Free Access

Memory management with explicit regions

Authors Info & Claims
Published:01 May 1998Publication History
Skip Abstract Section

Abstract

Much research has been devoted to studies of and algorithms for memory management based on garbage collection or explicit allocation and deallocation. An alternative approach, region-based memory management, has been known for decades, but has not been well-studied. In a region-based system each allocation specifies a region, and memory is reclaimed by destroying a region, freeing all the storage allocated therein. We show that on a suite of allocation-intensive C programs, regions are competitive with malloc/free and sometimes substantially faster. We also show that regions support safe memory management with low overhead. Experience with our benchmarks suggests that modifying many existing programs to use regions is not difficult.

References

  1. AFL95 Alexander Aiken, Manuel Fahndrich, and Raph Levien. Better static memory management' improving region-based analysis of higher-order languages. In Proceedings of the A CM SIGPLAN '95 Conference on Programming Language Design and Implementation (PLDI), pages 174-185, La Jolla, CA, June 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Bak78 Henry G. Baker. List processing in real-time on a serial computer. Communications of the A CM, 21(4):280-94, 1978. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Bob80 Daniel G. Bobrow. Managing re-entrant structures using reference counts. A CM Transactions on Programming Languages and Systems, 2(3):269-273, July 1980. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. BTV96 Lars Birkedal, Mads Tofte, and Magnus Vejlstrup. From region inference to yon Neumann machines via region representation inference. In Proceedings of the ~3rd A CM SIGPLAN-$IGACT Symposium on Principles of Programming Languages, St. Petersburg Beach, FL, January 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. BW88 Hans-Juergen Boehm and Mark Weiser. Garbage collection in an uncooperative environment. Software Practice and Experience, 18(9):807-820, 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. BZ93 David A. Barrett and Benjamin G. Zorn. Using lifetime predictors to improve memory allocation performance. In Proceedings of the A CM SIGPLAN '93 Conference on Programming Languages Design and Implementation, pages 187-196, Albuquerque, New Mexico, June 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. DB76 L. Peter Deutsch and Daniel G. Bobrow. An efficient incremental automatic garbage collector. Communications of the A CM, 19(9):522-526, September 1976. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. DDZ94 David Detlefs, Al Dosser, and Benjamin Zorn. Memory allocation costs in large C and C++ programs. Software Practice and Experience, 24(6), 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. FH95 Chris W. Fraser and David R. Hanson. A Retargetable C Compiler: Design and Implementation. Benjamin/Cummings Pub. Co., Redwood City, CA, USA, 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. GJS96 j. Gosling, B. Joy, and G. Steele. The Java Language Specification. The Java Series. Addison-Wesley, Reading, MA, USA, June 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. GZ93 Dirk Grtmwald and Benjamin Zorn. Customalloc: Efficient, synthesised memory allocators. Software Practice and Experience, 23:851-869, 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. GZH93 Dirk Grunwald, Benjamin Zorn, and Robert Henderson. Improving the cache locality of memory allocation. In Proceedings of the A CM SIGPLAN '93 Conference on Programming Languages Design and Implementation, pages 177-186, Albuquerque, New Mexico, June 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Han90 David R. Hanson. Fast allocation and deallocation of memory based on object lifetimes. Software Practice and Experience, 20(1):5-12, January 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. IY90 Yuuji Ichisugi and Akinori Yonezawa. Distributed garbage collection using group reference counting. In OOPSLA/ECOOP '90 Workshop on Garbage Collection in Object- Oriented Systems, October 1990.Google ScholarGoogle Scholar
  15. Ros67 D.T. Ross. The AED free storage package. Communications of the A CM, 10(8):481- 492, August 1967. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. SO96 David Stoutamire and Stephen Omohundro. The Sather 1.1 Specification. Technical Report TR-96-012, International Computer Science Institute, Berkeley, CA, August 1996.Google ScholarGoogle Scholar
  17. Sto97 D. Stoutamire. Portable, Modular Expression of Locality. PhD thesis, University of California at Berkeley, 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. TT97 Mads Tofte and Jean-Pierre Talpin. Regionbased memory management. Information and Computation, 132(2):109-176, February 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Vo96 Kiem-Phong Vo. Vmalloc: A general and efficient memory allocator. Software Practice and Experience, 26(3):357-374, March 1996.Google ScholarGoogle ScholarCross RefCross Ref
  20. Wil92 Paul R. Wilson. Uniprocessor garbage collection techniques. In Proceedings of International Workshop on Memory Management, volume 637 of Lecture Notes in Computer Science, St Malo, France, September 1992. Springer-Verlag. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. WJ93 Paul R. Wilson and Mark S. Johnstone. Truly real-time non-copying garbage collection. In OOPSLA/ECOOP '93 Workshop on Garbage Collection in Object-Oriented Systems, October 1993.Google ScholarGoogle Scholar
  22. WJNB95 Paul R. Wilson, Mark S. Johnstone, Michael Neely, and David Boles. Dynamic storage allocation: A survey and critical review. In Proceedings of International Workshop on Memory Management, volume 986 of Lecture Notes in Computer Science, Kinross, Scotland, September 1995. Springer-Verlag. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. YSP+98 Kathy Yelick, Luigi Semenzato, Geoff Pike, Carleton Miyamoto, Ben Liblit, Arvind Krishnamurthy, Paul Hilfmger, Susan Graham, David Gay, Phil Colella, and Alex Aiken. Titanium: A High-Performance Java Dialect. In Proceedings of A CM 1998 Workshop on Java for High-Performance Network Computing, pages 1-14, Palo Alto, CA, February 1998.Google ScholarGoogle Scholar

Index Terms

  1. Memory management with explicit regions

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in

    Full Access

    • Published in

      cover image ACM SIGPLAN Notices
      ACM SIGPLAN Notices  Volume 33, Issue 5
      May 1998
      358 pages
      ISSN:0362-1340
      EISSN:1558-1160
      DOI:10.1145/277652
      Issue’s Table of Contents
      • cover image ACM Conferences
        PLDI '98: Proceedings of the ACM SIGPLAN 1998 conference on Programming language design and implementation
        May 1998
        357 pages
        ISBN:0897919874
        DOI:10.1145/277650

      Copyright © 1998 ACM

      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 1 May 1998

      Check for updates

      Qualifiers

      • article

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader