AU2001264601A1 - Work-stealing queues for parallel garbage collection - Google Patents

Work-stealing queues for parallel garbage collection

Info

Publication number
AU2001264601A1
AU2001264601A1 AU2001264601A AU6460101A AU2001264601A1 AU 2001264601 A1 AU2001264601 A1 AU 2001264601A1 AU 2001264601 A AU2001264601 A AU 2001264601A AU 6460101 A AU6460101 A AU 6460101A AU 2001264601 A1 AU2001264601 A1 AU 2001264601A1
Authority
AU
Australia
Prior art keywords
work
garbage collection
parallel garbage
stealing
queues
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
AU2001264601A
Inventor
Ole Agesen
David L. Detlefs
Christine H. Flood
Nir N. Shavit
Xiaolan Zhang
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sun Microsystems Inc
Original Assignee
Sun Microsystems Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sun Microsystems Inc filed Critical Sun Microsystems Inc
Publication of AU2001264601A1 publication Critical patent/AU2001264601A1/en
Abandoned legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0253Garbage collection, i.e. reclamation of unreferenced memory
    • G06F12/0269Incremental or concurrent garbage collection, e.g. in real-time systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0253Garbage collection, i.e. reclamation of unreferenced memory
    • G06F12/0269Incremental or concurrent garbage collection, e.g. in real-time systems
    • G06F12/0276Generational garbage collection
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99956File allocation
    • Y10S707/99957Garbage collection

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Multi Processors (AREA)
  • Devices For Executing Special Programs (AREA)
AU2001264601A 2000-05-15 2001-05-15 Work-stealing queues for parallel garbage collection Abandoned AU2001264601A1 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US20418400P 2000-05-15 2000-05-15
US60/204,184 2000-05-15
PCT/US2001/015591 WO2001088713A2 (en) 2000-05-15 2001-05-15 Work-stealing queues for parallel garbage collection

Publications (1)

Publication Number Publication Date
AU2001264601A1 true AU2001264601A1 (en) 2001-11-26

Family

ID=22756965

Family Applications (2)

Application Number Title Priority Date Filing Date
AU2001264601A Abandoned AU2001264601A1 (en) 2000-05-15 2001-05-15 Work-stealing queues for parallel garbage collection
AU2001261587A Abandoned AU2001261587A1 (en) 2000-05-15 2001-05-15 Method for using atomic compare-and-swap operations during forwarding-pointer installation

Family Applications After (1)

Application Number Title Priority Date Filing Date
AU2001261587A Abandoned AU2001261587A1 (en) 2000-05-15 2001-05-15 Method for using atomic compare-and-swap operations during forwarding-pointer installation

Country Status (3)

Country Link
US (2) US6526422B1 (en)
AU (2) AU2001264601A1 (en)
WO (2) WO2001088699A2 (en)

Families Citing this family (79)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7096238B2 (en) 1999-08-19 2006-08-22 Sun Microsystems, Inc. Dynamic feedback for determining collection-set size
AU2001250589A1 (en) * 2000-02-07 2001-08-14 Insignia Solutions Plc Reduced size object headers
US6826757B2 (en) 2000-04-18 2004-11-30 Sun Microsystems, Inc. Lock-free implementation of concurrent shared object with dynamic node allocation and distinguishing pointer value
US6823351B1 (en) * 2000-05-15 2004-11-23 Sun Microsystems, Inc. Work-stealing queues for parallel garbage collection
US7565651B1 (en) * 2000-05-25 2009-07-21 Oracle International Corporation Parallel task scheduling system for computers
US6874074B1 (en) * 2000-11-13 2005-03-29 Wind River Systems, Inc. System and method for memory reclamation
US6993770B1 (en) * 2001-01-12 2006-01-31 Sun Microsystems, Inc. Lock free reference counting
US6959430B2 (en) * 2001-05-09 2005-10-25 Sun Microsystems, Inc. Specialized heaps for creation of objects in object-oriented environments
EP1262870A1 (en) * 2001-05-30 2002-12-04 STMicroelectronics Limited Use of an atomic swap instruction for a shared queue
US7107430B2 (en) * 2001-06-19 2006-09-12 Massachusetts Institute Of Technology Mechanism to reduce the cost of forwarding pointer aliasing
US6629114B2 (en) * 2001-06-22 2003-09-30 Riverstone Networks, Inc. Method, system, and computer program product for managing a re-usable resource
US6934741B2 (en) * 2001-06-27 2005-08-23 Sun Microsystems, Inc. Globally distributed load balancing
US7103887B2 (en) * 2001-06-27 2006-09-05 Sun Microsystems, Inc. Load-balancing queues employing LIFO/FIFO work stealing
US7237237B2 (en) 2001-07-24 2007-06-26 The Mathworks, Inc. Designating an object for destruction
US6754796B2 (en) * 2001-07-31 2004-06-22 Sun Microsystems, Inc. Frameworks for implementation of java heaps
US6789143B2 (en) * 2001-09-24 2004-09-07 International Business Machines Corporation Infiniband work and completion queue management via head and tail circular buffers with indirect work queue entries
US6928460B2 (en) * 2002-07-01 2005-08-09 Sun Microsystems, Inc. Method and apparatus for performing generational garbage collection in a segmented heap
US7016923B2 (en) * 2002-11-05 2006-03-21 Sun Microsystems, Inc. Multi-threaded garbage collector employing cascaded memory arrays of task identifiers to implement work stealing queues for task identification and processing
US7539713B2 (en) 2002-11-05 2009-05-26 Sun Microsystems, Inc. Allocation of likely popular objects in the train algorithm
US7188129B2 (en) 2002-11-15 2007-03-06 Sun Microsystems, Inc. Merging trains in a collector based on the train algorithm
US7209935B2 (en) 2002-11-27 2007-04-24 Sun Microsystems, Inc. Avoiding remembered-set maintenance overhead for memory segments known to be in a collection set
US7143124B2 (en) 2002-12-06 2006-11-28 Sun Microsystems, Inc. Detection of dead regions during incremental collection
US7085790B2 (en) 2002-12-06 2006-08-01 Sun Microsystems, Inc. Advancing cars in trains managed by a collector based on the train algorithm
US7031990B2 (en) 2002-12-06 2006-04-18 Sun Microsystems, Inc. Combining external and intragenerational reference-processing in a garbage collector based on the train algorithm
US7069280B2 (en) 2002-12-06 2006-06-27 Sun Microsystems, Inc. Collection-tick mechanism for a collector based on the train algorithm
US7069281B2 (en) * 2003-02-24 2006-06-27 Sun Microsystems, Inc. Efficient collocation of evacuated objects in a copying garbage collector using variably filled local allocation buffers
US7092978B2 (en) * 2003-02-24 2006-08-15 Sun Microsystems, Inc. Space-efficient, depth-first parallel copying collection technique making use of work—stealing on the same structures that maintain the stack of items to be scanned
US7146390B2 (en) 2003-02-24 2006-12-05 Sun Microsystems, Inc. Staging the processing of remembered-set entries as part of collection based on the train algorithm
US7062519B2 (en) 2003-02-27 2006-06-13 Sun Microsystems, Inc. Incremental scanning of enormous objects to improve scheduling and pause-time behavior of garbage collection
US7072918B2 (en) 2003-03-24 2006-07-04 Sun Microsystems, Inc. Remembered-set scrubbing to remove stale entries in an incremental garbage collector
US7089272B1 (en) 2003-06-18 2006-08-08 Sun Microsystems, Inc. Specializing write-barriers for objects in a garbage collected heap
US7149762B1 (en) 2003-08-20 2006-12-12 Sun Microsystems, Inc. Handling futile collections in the train algorithm through selective extension of the collection set
US7100009B2 (en) * 2003-09-18 2006-08-29 International Business Machines Corporation Method and system for selective memory coalescing across memory heap boundaries
US7404182B1 (en) 2003-10-03 2008-07-22 Sun Microsystems, Inc. Deferring and combining write barriers for a garbage-collected heap
US7412580B1 (en) * 2003-10-06 2008-08-12 Sun Microsystems, Inc. Concurrent incremental garbage collector with a card table summarizing modified reference locations
US7197521B2 (en) * 2003-11-21 2007-03-27 Intel Corporation Method and system performing concurrently mark-sweep garbage collection invoking garbage collection thread to track and mark live objects in heap block using bit vector
US7702663B2 (en) * 2004-01-05 2010-04-20 International Business Machines Corporation Breaking read barrier to apply optimizations
US20050198088A1 (en) * 2004-03-03 2005-09-08 Sreenivas Subramoney Method and system for improving the concurrency and parallelism of mark-sweep-compact garbage collection
US7636745B1 (en) * 2004-03-12 2009-12-22 Sun Microsystems, Inc. Concurrent-marking-initiation heuristic
US7428560B1 (en) * 2004-03-12 2008-09-23 Sun Microsystems, Inc. Age segregation for garbage collector
US7251671B2 (en) * 2004-03-26 2007-07-31 Intel Corporation Method and system for garbage collection wherein resetting the mark/allocation bit, and switching the mark/allocation bit to the mark bit to perform marking and scanning of objects using the identified object as a root object and providing mark/allocation bit information being displayed at the client
US7617264B1 (en) 2004-04-15 2009-11-10 Sun Microsystems, Inc. Parallel remembered-set processing respecting popular-object detection
US7171527B2 (en) * 2004-06-10 2007-01-30 Sun Microsystems, Inc Method and apparatus for keeping track of memory usage for tasks in a shared heap
US7444484B2 (en) * 2004-06-24 2008-10-28 International Business Machines Corporation Method and system for determining memory usage of a heap
US7620943B1 (en) 2004-06-30 2009-11-17 Sun Microsystems, Inc. Using class properties to segregate objects in a generation managed by the train algorithm
US7779222B1 (en) * 2004-07-23 2010-08-17 Oracle America, Inc. Dynamic memory work-stealing
US7676801B1 (en) 2004-08-31 2010-03-09 Sun Microsystems, Inc. Scanning of evacuated objects in a generation managed by the train algorithm
US7363438B1 (en) * 2004-11-05 2008-04-22 Sun Microsystems, Inc. Extendable memory work-stealing
US7653793B1 (en) 2004-11-17 2010-01-26 Sun Microsystems, Inc. Use of memory protection to implement replicating collection in an incremental, copying garbage collector
US7321909B1 (en) 2004-12-23 2008-01-22 Sun Microsystems, Inc. Method and apparatus for forwarding references to objects concurrently with space-incremental garbage collection
US7565499B1 (en) * 2005-03-28 2009-07-21 Sun Microsystems, Inc. Method and apparatus for recording modified reference locations in garbage-collected heap memory
US7945911B1 (en) * 2005-06-03 2011-05-17 Oracle America, Inc. Barrier synchronization method and apparatus for work-stealing threads
GB0512809D0 (en) * 2005-06-23 2005-08-03 Ibm Arrangement and method for garbage collection in a computer system
US7389395B1 (en) 2005-06-26 2008-06-17 Sun Microsystems, Inc. Split-reference, two-pass mark-compaction
US8789021B2 (en) * 2005-06-30 2014-07-22 International Business Machines Corporation Method and apparatus for object-oriented load testing of computing systems
US7779054B1 (en) * 2005-09-30 2010-08-17 Oracle America, Inc. Heuristic-based resumption of fully-young garbage collection intervals
US7346753B2 (en) * 2005-12-19 2008-03-18 Sun Microsystems, Inc. Dynamic circular work-stealing deque
US7480782B2 (en) * 2006-06-14 2009-01-20 Sun Microsystems, Inc. Reference-updating using per-chunk referenced-address ranges in a compacting garbage collector
US7774389B2 (en) * 2007-01-17 2010-08-10 Microsoft Corporation Optimized garbage collection techniques
US8868623B2 (en) * 2007-10-30 2014-10-21 International Business Machines Corporation Enhanced garbage collection in a multi-node environment
US8352711B2 (en) * 2008-01-22 2013-01-08 Microsoft Corporation Coordinating chores in a multiprocessing environment using a compiler generated exception table
US7831640B2 (en) * 2008-04-15 2010-11-09 Microsoft Corporation Using an overflow list to process mark overflow
US7991808B2 (en) * 2008-05-21 2011-08-02 Apple Inc. Per thread garbage collection
US7860906B2 (en) 2008-05-28 2010-12-28 Microsoft Corporation Overflow per segment
US8239865B2 (en) * 2008-06-02 2012-08-07 Microsoft Corporation Waiting and synchronization of parallel task executions based on task groups and task object representations
US8301672B2 (en) * 2008-09-22 2012-10-30 Advanced Micro Devices, Inc. GPU assisted garbage collection
US20100211753A1 (en) * 2009-02-19 2010-08-19 Tatu Ylonen Oy Ltd Parallel garbage collection and serialization without per-object synchronization
US8473900B2 (en) * 2009-07-01 2013-06-25 Advanced Micro Devices, Inc. Combining classes referenced by immutable classes into a single synthetic class
US8782306B2 (en) * 2010-02-03 2014-07-15 Oracle America Low-contention update buffer queuing for large systems
US8327109B2 (en) * 2010-03-02 2012-12-04 Advanced Micro Devices, Inc. GPU support for garbage collection
US8527544B1 (en) 2011-08-11 2013-09-03 Pure Storage Inc. Garbage collection in a storage system
US8738877B2 (en) 2011-12-14 2014-05-27 Advance Micro Devices, Inc. Processor with garbage-collection based classification of memory
US8694562B2 (en) 2012-05-22 2014-04-08 Microsoft Corporation Generational garbage collection for a pool-based heap
JP6044181B2 (en) * 2012-08-24 2016-12-14 富士通株式会社 Information processing method, program and apparatus for garbage collection
US9747088B2 (en) * 2013-04-22 2017-08-29 Embarcadero Technologies, Inc. Automatic reference counting
US9767019B2 (en) * 2013-09-17 2017-09-19 Red Hat, Inc. Pauseless garbage collector write barrier
US9690701B1 (en) 2016-09-27 2017-06-27 International Business Machines Corporation Probabilistic, parallel collection of memory no longer in use
US11645200B2 (en) * 2020-11-24 2023-05-09 International Business Machines Corporation Reducing load balancing work stealing
US12076668B2 (en) 2021-07-22 2024-09-03 Pall Corporation Filter with electrically-conductive wrap

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4584640A (en) 1984-06-27 1986-04-22 Motorola, Inc. Method and apparatus for a compare and swap instruction
US4775932A (en) * 1984-07-31 1988-10-04 Texas Instruments Incorporated Computer memory system with parallel garbage collection independent from an associated user processor
US4989134A (en) * 1987-03-20 1991-01-29 Hewlett-Packard Company Method and apparatus for enhancing data storage efficiency
US5355483A (en) * 1991-07-18 1994-10-11 Next Computers Asynchronous garbage collection
US5560003A (en) * 1992-12-21 1996-09-24 Iowa State University Research Foundation, Inc. System and hardware module for incremental real time garbage collection and memory management
US5930807A (en) * 1997-04-23 1999-07-27 Sun Microsystems Apparatus and method for fast filtering read and write barrier operations in garbage collection system
US6047125A (en) * 1997-10-01 2000-04-04 Sun Microsystems, Inc. Garbage collection system for improved use of memory by removal of reference conflicts
US6317756B1 (en) * 1998-10-07 2001-11-13 International Business Machines Corporation On-the-fly garbage collector
US6249793B1 (en) * 1999-06-10 2001-06-19 Sun Microsystems, Inc. Mostly concurrent compaction in a garbage collection system
US6415302B1 (en) * 1999-08-19 2002-07-02 Sun Microsystems, Inc. Train-algorithm-based garbage collector employing farthest-forward-car indicator
US6226653B1 (en) * 2000-01-10 2001-05-01 International Business Machines Corporation Method and apparatus for performing generational garbage collection using remembered set counter

Also Published As

Publication number Publication date
US6526422B1 (en) 2003-02-25
WO2001088713A3 (en) 2003-02-27
WO2001088699A2 (en) 2001-11-22
WO2001088713A2 (en) 2001-11-22
AU2001261587A1 (en) 2001-11-26
WO2001088699A3 (en) 2003-03-20
US6560619B1 (en) 2003-05-06

Similar Documents

Publication Publication Date Title
AU2001264601A1 (en) Work-stealing queues for parallel garbage collection
AU6785100A (en) Scalable-remembered-set garbage collection
AU2001275716A1 (en) File analysis
EP1366696A3 (en) Mail collection box
AU2001269580A1 (en) Sack with cover
AU2001284813A1 (en) Refuse collecting tool
GB0007493D0 (en) Garbage collection
AU2003248863A1 (en) Collection device for depositing refuse for disposal
AU6141600A (en) Sorting device
AU7778200A (en) Gas collection device
AUPR706701A0 (en) Material collection improvement
AUPQ567300A0 (en) Bin improvements
AU2001291898A1 (en) Recyclable garbage separator
AU142506S (en) Bin
AU2001241088A1 (en) Garbage processing device
AU2001287754A1 (en) Impactor
AU2002221762A1 (en) Method for sorting rubbish
AU2002351512A1 (en) Waste sorting device
AU4429301A (en) Collection bag with insert
AU748458C (en) Collection device
TW451905U (en) Structure for garbage can
AU4858301A (en) Collecting material
AUPR051400A0 (en) Collection device
GB2403890B (en) Refuse collection system
AU2001294904A1 (en) System for auditing refuse collection