Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
article
Free access

Generation Scavenging: A non-disruptive high performance storage reclamation algorithm

Published: 25 April 1984 Publication History
  • Get Citation Alerts
  • Abstract

    Many interactive computing environments provide automatic storage reclamation and virtual memory to ease the burden of managing storage. Unfortunately, many storage reclamation algorithms impede interaction with distracting pauses. Generation Scavenging is a reclamation algorithm that has no noticeable pauses, eliminates page faults for transient objects, compacts objects without resorting to indirection, and reclaims circular structures, in one third the time of traditional approaches.
    We have incorporated Generation Scavenging in Berkeley Smalltalk(BS), our Smalltalk-80 implementation, and instrumented it to obtain performance data. We are also designing a microprocessor with hardware support for Generation Scavenging.

    References

    [1]
    S. Baden, High Performance Storage Reclamation in an Object-Based Memory System, Master's Report, Computer Science Division, Department of E.E.C.S, University of California, Berkeley, Berkeley, CA, June 9, 1982.
    [2]
    H. G. Baker, List Processing in Real Time on a Serial Computer, A.I. Working Paper 139, MIT-AI Lab, Boston, MA, April, 1977.
    [3]
    S. Ballard and S. Shirron, The Design and Implementation of VAX/Smalltalk-80, in Smalltalk-80: Bits of History, Words of Advice, G. Krasner (editor), Addison Wesley, September, 1983, 127-150.
    [4]
    W. Becker and D. Fagen, Throw Back the Little Ones, in Throw Back the Little Ones, Steely Dan, © American Broadcasting Music, Inc. (ASCAP), Los Angeles, CA, 1974.
    [5]
    R. Blau, Paging on an Object-Oriented Personal Computer, Proceedings of the ACM SIGMETRICS Conference on Measurement and Modeling of Computer Systems, Minneapolis, MN, August, 1983.
    [6]
    R. Blomseth and H. Davis, The Orion Project—A Home for SOAR, in Smalltalk on a RISC: Architectural Investigations, D. Patterson (editor), Computer Science Division, Department of E.E.C.S., University of California, Berkeley, CA, April, 1983, 64-109.
    [7]
    J. Cohen, Garbage collection of Linked Data Structures, ACM Computing Surveys 13, 3 (Sept. 1981), 341-367.
    [8]
    G. E. Collins, A Method for Overlapping and Erasure of Lists, Comm. of the ACM 3, 12 (1960), 655-657.
    [9]
    P. J. Denning, Virtual Memory, Computing Surveys 2, 3 (September, 1970), 153-189.
    [10]
    L. P. Deutsch and D. G. Bobrow, An Efficient Incremental Automatic Garbage Collector, Comm. of the ACM 19, 9 (September 1976), 522-526.
    [11]
    L. P. Deutsch, An Upper Bound for Smalltalk-80 Execution on a Motorola 68000 CPU, private communications, 1982.
    [12]
    L. P. Deutsch, Storage Reclamation, Berkeley Smalltalk Seminar, Feb. 5, 1982.
    [13]
    L. P. Deutsch, Storage Management, private communications, 1983.
    [14]
    L. P. Deutsch and A. M. Schiffman, Efficient Implementation of the Smalltalk-80 System, Proceedings of the 11th Annual ACM SIGACT News-SIGPLAN Notices Symposium on the Principles of Programming Languages, Salt Lake City, Utah, January, 1984.
    [15]
    R. Fateman, Garbage Collection Overhead, private communication, August, 1983.
    [16]
    J. K. Foderaro and R. J. Fateman, Characterization of VAX Macsyma, Proceedings of the 1981 ACM Symposium on Symbolic and Algebraic Computation, Berkeley, CA, 1981, 14-19.
    [17]
    A. J. Goldberg and D. Robson, Smalltalk-80: The Language and Its Implementation, Addison-Wesley Publishing Company, Reading, MA, 1983.
    [18]
    D. H. H. Ingalls, The Evolution of the Smalltalk Virtual Machine, in Smalltalk-80: Bits of History, Words of Advice, G. Krasner (editor), Addison Wesley, September, 1983, 9-28.
    [19]
    T. Kaehler and G. Krasner, LOOM-Large Object-Oriented Memory for Smalltalk-80 Systems, in Smalltalk-80: Bits of History, Words of Advice, G. Krasner (editor), Addison-Wesley, Reading, MA, 1983, 249.
    [20]
    T. Kilburn, D. B. G. Edwards, M. J. Lanigan and F. H. Sumner, One-Level Storage System, in Computer Structures: Principles and Examples, D. P. Siewiorek, C. G. Bell and A. Newell (editor), McGraw-Hill, New York, NY, 1982, 135-148. Originally in IRE Transactions, EC-11, vol 2, April 1962, pp 223-235.
    [21]
    M. Klein and P. Foley, Preliminary SOAR Architecture, in Smalltalk on a RISC: Architectural Investigations, D. Patterson (editor), Computer Science Division, Department of E.E.C.S., University of California, Berkeley, CA, April, 1983, 1-24.
    [22]
    D. Knuth, The Art of Computer Programming, Addison-Wesley, Reading, Mass., 1973.
    [23]
    H. Lieberman and C. Hewitt, A Real-Time Garbage Collector Based on the Lifetimes of Objects, Comm. of the ACM 26, 6 419-429.
    [24]
    W. Lonergan and P. King, Design of the B 5500 System, in Computer Structures: Principles and Examples, D. P. Siewiorek, C. G. Bell and A. Newell (editor), McGraw-Hill, New York, NY, 1982, 129-134. Originally in Datamation, vol. 7, no. 5, May 1961. pp 28-32.
    [25]
    K. McCall, The Smalltalk-80 Benchmarks, in Smalltalk 80: Bits of History, Words of Advice, G. Krasner (editor), Addison-Wesley, Reading, MA, 1983, 151-173.
    [26]
    J. McCarthy, Recursive Functions of Symbolic Expressions and Their Computation by Machine, I, Comm. of the ACM 3 (1960), 184-195.
    [27]
    D. A. Patterson, Smalltalk on a RISC: Architectural Investigations, Computer Science Division, University of California, Berkeley, CA, April 1983. Proceedings of CS292R.
    [28]
    B. Sheil, Environments for Exploratory Programming, Datamation, February, 1983.
    [29]
    J. W. Stamos, A Large Object-Oriented Virtual Memory: Grouping Strategies, Measurements, and Performance, Xerox technical report, SCG-82-2, Xerox, Pals Alto Research Center, Pals Alto, CA, May 1982.
    [30]
    T. A. Standish, Data Structure Techniques, Addison-Wesley, Reading, Mass., 1980.
    [31]
    A. J. Thadhani, Interactive User Productivity, IBM Systems Journal 20, 4 (1981), 407-421.
    [32]
    D. M. Ungar and D. A. Patterson, Berkeley Smalltalk: Who Knows Where the Time Goes?, in Smalltalk-80: Bits of History, Word of Advice, G. Krasner (editor), September, 1983, 189.
    [33]
    D. Ungar, R. Blau, P. Foley, D. Samples and D. Patterson, Architecture of SOAR: Smalltalk on a RISC, Eleventh Annual International Symposium on Computer Architecture, Ann Arbor, MI, June, 1984.
    [34]
    J. L. White, Address/Memory Management For A Gigantic LISP Environment or, GC Considered Harmful, Conference Record of the 1980 LISP Conference, Redwood Estates, CA, 1980, 119-127.

    Cited By

    View all

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM SIGSOFT Software Engineering Notes
    ACM SIGSOFT Software Engineering Notes  Volume 9, Issue 3
    May 1984
    196 pages
    ISSN:0163-5948
    DOI:10.1145/390010
    Issue’s Table of Contents
    • cover image ACM Conferences
      SDE 1: Proceedings of the first ACM SIGSOFT/SIGPLAN software engineering symposium on Practical software development environments
      April 1984
      196 pages
      ISBN:0897911318
      DOI:10.1145/800020
    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: 25 April 1984
    Published in SIGSOFT Volume 9, Issue 3

    Check for updates

    Author Tags

    1. Generation
    2. Grabage collection
    3. Personnel computer
    4. Real time
    5. Scavenge
    6. Smalltalk
    7. Virtual memory
    8. Workstation

    Qualifiers

    • Article

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)206
    • Downloads (Last 6 weeks)13

    Other Metrics

    Citations

    Cited By

    View all
    • (2024)Toward an SGX-Friendly Java RuntimeIEEE Transactions on Computers10.1109/TC.2023.331840073:1(44-57)Online publication date: 1-Jan-2024
    • (2023)Optimization-Aware Compiler-Level Event ProfilingACM Transactions on Programming Languages and Systems10.1145/359147345:2(1-50)Online publication date: 26-Jun-2023
    • (2023)BibliographyEngineering a Compiler10.1016/B978-0-12-815412-0.00023-1(793-813)Online publication date: 2023
    • (2023)Implementing ProceduresEngineering a Compiler10.1016/B978-0-12-815412-0.00012-7(275-325)Online publication date: 2023
    • (2018)SOGC: Implementing surrogate object garbage collector management for a Mobile Cloud EnvironmentConcurrency and Computation: Practice and Experience10.1002/cpe.494331:4Online publication date: 17-Sep-2018
    • (2017)Object lifetime trend of modern Android applications for GC performance improvementProceedings of the 11th International Conference on Ubiquitous Information Management and Communication10.1145/3022227.3022311(1-6)Online publication date: 5-Jan-2017
    • (2017)Cold object identification in the Java virtual machineSoftware—Practice & Experience10.1002/spe.239647:1(79-95)Online publication date: 1-Jan-2017
    • (2014)Modeling heap data growth using average livenessACM SIGPLAN Notices10.1145/2775049.260299749:11(71-82)Online publication date: 12-Jun-2014
    • (2014)Cooperative cache scrubbingProceedings of the 23rd international conference on Parallel architectures and compilation10.1145/2628071.2628083(15-26)Online publication date: 24-Aug-2014
    • (2014)Modeling heap data growth using average livenessProceedings of the 2014 international symposium on Memory management10.1145/2602988.2602997(71-82)Online publication date: 12-Jun-2014
    • Show More Cited By

    View Options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Get Access

    Login options

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media