WO2001061472A3 - Incremental class unloading in a train-algorithm-based garbage collector - Google Patents

Incremental class unloading in a train-algorithm-based garbage collector Download PDF

Info

Publication number
WO2001061472A3
WO2001061472A3 PCT/US2001/004806 US0104806W WO0161472A3 WO 2001061472 A3 WO2001061472 A3 WO 2001061472A3 US 0104806 W US0104806 W US 0104806W WO 0161472 A3 WO0161472 A3 WO 0161472A3
Authority
WO
WIPO (PCT)
Prior art keywords
heap
objects
train
extra
algorithm
Prior art date
Application number
PCT/US2001/004806
Other languages
French (fr)
Other versions
WO2001061472A2 (en
Inventor
Alexander T Garthwaite
Ole Agesen
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
Priority to AU2001238291A priority Critical patent/AU2001238291A1/en
Publication of WO2001061472A2 publication Critical patent/WO2001061472A2/en
Publication of WO2001061472A3 publication Critical patent/WO2001061472A3/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44594Unloading
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4488Object-oriented
    • G06F9/4493Object persistence
    • 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/99941Database schema or data structure
    • Y10S707/99944Object-oriented database structure
    • 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

Abstract

A garbage collector collects a train-managed heap in accordance with the train algorithm. In doing so, it concentrates into a respective train the heap-located objects that belong to garbage cycles even if those cycles additionally include certain types of objects that are outside the train-managed heap. It does so by using objects within the heap as proxies for those extra-heap objects, and it evacuates into a proxy object's train any collection-set objects referred to by the extra-heap objects for which the proxy object is a proxy. The objects in those garbage cycles containing the extra-heap objects can thereby be collected incrementally despite the extra-heap references to them.
PCT/US2001/004806 2000-02-15 2001-02-14 Incremental class unloading in a train-algorithm-based garbage collector WO2001061472A2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU2001238291A AU2001238291A1 (en) 2000-02-15 2001-02-14 Incremental class unloading in a train-algorithm-based garbage collector

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/504,091 US6529919B1 (en) 2000-02-15 2000-02-15 Incremental class unloading in a train-algorithm-based garbage collector
US09/504,091 2000-02-15

Publications (2)

Publication Number Publication Date
WO2001061472A2 WO2001061472A2 (en) 2001-08-23
WO2001061472A3 true WO2001061472A3 (en) 2002-06-27

Family

ID=24004805

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2001/004806 WO2001061472A2 (en) 2000-02-15 2001-02-14 Incremental class unloading in a train-algorithm-based garbage collector

Country Status (3)

Country Link
US (1) US6529919B1 (en)
AU (1) AU2001238291A1 (en)
WO (1) WO2001061472A2 (en)

Families Citing this family (43)

* 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
US6502111B1 (en) * 2000-07-31 2002-12-31 Microsoft Corporation Method and system for concurrent garbage collection
US6874074B1 (en) * 2000-11-13 2005-03-29 Wind River Systems, Inc. System and method for memory reclamation
EP1262870A1 (en) * 2001-05-30 2002-12-04 STMicroelectronics Limited Use of an atomic swap instruction for a shared queue
US6928460B2 (en) * 2002-07-01 2005-08-09 Sun Microsystems, Inc. Method and apparatus for performing generational garbage collection in a segmented heap
US7035884B2 (en) * 2002-11-05 2006-04-25 Sun Microsystems, Inc. Placement of allocation trains in the train algorithm
US7539713B2 (en) 2002-11-05 2009-05-26 Sun Microsystems, Inc. Allocation of likely popular objects in the train algorithm
US6999979B2 (en) * 2002-11-05 2006-02-14 Sun Microsystems, Inc. Efficient encoding of references into a collection set
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
US7085790B2 (en) * 2002-12-06 2006-08-01 Sun Microsystems, Inc. Advancing cars in trains managed by a collector based on the train algorithm
US7072905B2 (en) * 2002-12-06 2006-07-04 Sun Microsystems, Inc. Better placement of objects reachable from outside a generation managed by 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
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
US7143124B2 (en) 2002-12-06 2006-11-28 Sun Microsystems, Inc. Detection of dead regions during incremental collection
US7024437B2 (en) * 2002-12-06 2006-04-04 Sun Microsystems, Inc. Better placement of objects reachable from special objects during collection 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
US7096329B2 (en) * 2003-02-27 2006-08-22 Sun Microsystems, Inc. Better placement of objects promoted into a generation managed by the train algorithm
US20040186863A1 (en) * 2003-03-21 2004-09-23 Garthwaite Alexander T. Elision of write barriers for stores whose values are in close proximity
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
US7404182B1 (en) 2003-10-03 2008-07-22 Sun Microsystems, Inc. Deferring and combining write barriers for a garbage-collected heap
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
US7302515B1 (en) * 2004-03-12 2007-11-27 Sun Microsystems, Inc. Exploiting popular objects to reduce mutator overhead
US7428560B1 (en) * 2004-03-12 2008-09-23 Sun Microsystems, Inc. Age segregation for garbage collector
US8131955B2 (en) * 2004-04-15 2012-03-06 Microsoft Corporation Ephemeral garbage collection using a tracking mechanism on a card table to determine marked bundles
US7617264B1 (en) 2004-04-15 2009-11-10 Sun Microsystems, Inc. Parallel remembered-set processing respecting popular-object detection
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
US7676801B1 (en) * 2004-08-31 2010-03-09 Sun Microsystems, Inc. Scanning of evacuated objects in a generation managed by the train algorithm
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
US7895588B2 (en) * 2004-12-20 2011-02-22 Sap Ag System and method for detecting and certifying memory leaks within object-oriented applications
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
US7685182B2 (en) * 2007-05-08 2010-03-23 Microsoft Corporation Interleaved garbage collections
US8694751B2 (en) * 2008-12-31 2014-04-08 International Business Machines Corporation Defer separating children in parallel copying garbage collection
US8489653B2 (en) 2011-02-08 2013-07-16 International Business Machines Corporation Incremental class unloading in a region-based garbage collector
US8738877B2 (en) 2011-12-14 2014-05-27 Advance Micro Devices, Inc. Processor with garbage-collection based classification of memory
US11550714B2 (en) * 2019-04-15 2023-01-10 International Business Machines Corporation Compiling application with multiple function implementations for garbage collection

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0940755A1 (en) * 1998-03-06 1999-09-08 Sun Microsystems, Inc. Methods and apparatus for generational dynamic management of computer memory

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4912629A (en) 1986-06-26 1990-03-27 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Real-time garbage collection for list processing using restructured cells for increased reference counter size
US5333318A (en) * 1990-09-27 1994-07-26 Motorola, Inc. Creating and searching a quad linked list in a trunked communication system
US5801943A (en) * 1993-07-23 1998-09-01 Condition Monitoring Systems Traffic surveillance and simulation apparatus
US5687370A (en) * 1995-01-31 1997-11-11 Next Software, Inc. Transparent local and distributed memory management system
US5953736A (en) 1997-04-23 1999-09-14 Sun Microsystems, Inc. Write barrier system and method including pointer-specific instruction variant replacement mechanism
US5845298A (en) 1997-04-23 1998-12-01 Sun Microsystems, Inc. Write barrier system and method for trapping garbage collection page boundary crossing pointer stores
US5903900A (en) 1997-04-23 1999-05-11 Sun Microsystems, Inc. Method and apparatus for optimizing exact garbage collection of array nodes in a carded heap
US5900001A (en) 1997-04-23 1999-05-04 Sun Microsystems, Inc. Method and apparatus for optimizing exact garbage collection using a bifurcated data structure
US5845278A (en) * 1997-09-12 1998-12-01 Inioseek Corporation Method for automatically selecting collections to search in full text searches
US6289358B1 (en) * 1998-04-15 2001-09-11 Inktomi Corporation Delivering alternate versions of objects from an object cache
US6148310A (en) * 1998-08-25 2000-11-14 International Business Machines Corporation Method for combining card marking with remembered sets for old area of a memory heap
US6226653B1 (en) * 2000-01-10 2001-05-01 International Business Machines Corporation Method and apparatus for performing generational garbage collection using remembered set counter

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0940755A1 (en) * 1998-03-06 1999-09-08 Sun Microsystems, Inc. Methods and apparatus for generational dynamic management of computer memory

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
B. VENNERS: "Inside the Java 2 Virtual Machine", ADDISON-WESLEY, 12-99, XP002174290 *
HUDSON ET AL: "Incremental Collection of Mature Objects", MEMORY MANAGEMENT. INTERNATIONAL WORKSHOP IWMM. PROCEEDINGS, XX, XX, September 1992 (1992-09-01), pages 388 - 406, XP002105707 *
SELIGMAN ET AL: "Incremental Mature Garbage Collection Using the Train Algorithm", ECOOP. EUROPEAN CONFERENCE ON OBJECT-ORIENTED PROGRAMMING, XX, XX, vol. 952, 26 March 1995 (1995-03-26), pages 235 - 252, XP002105706 *

Also Published As

Publication number Publication date
US6529919B1 (en) 2003-03-04
WO2001061472A2 (en) 2001-08-23
AU2001238291A1 (en) 2001-08-27

Similar Documents

Publication Publication Date Title
WO2001061472A3 (en) Incremental class unloading in a train-algorithm-based garbage collector
WO2007027900A3 (en) Disposal bag assembly and disposal system
EP0800195A3 (en) Switchgear
JP2003510764A5 (en) Modified lithium vanadium oxide electrode materials and articles made from the materials
WO2002100775A3 (en) Carbon nanotube coatings as chemical absorbers
GB2338244B (en) A microbe composition, a method to prepare the same and uses thereof
USD463271S1 (en) Deodorant container
BG103706A (en) Solid state structural component, in particular solar battery component, as well as a method for its preparation
Lu et al. Comparative study on characteristics of P fixation by Mn, Fe and Al
CN105083826A (en) Conveying system for solid state household garbage
CN201907810U (en) Scalable trash can
Collamer et al. The changing role of transaction costs in the evolution of joint implementation
EP1410708A3 (en) Grass collector
ZA200110134B (en) Modified vanadium compound, producing method thereof, redox flow battery electrolyte composite and redox flow battery electrolyte producing method.
Vishwanath et al. Municipal waste management in Tumkur Town- An environmental perspective
Lee et al. Biosorption of Chromium by Ca-loaded Laminaria Japonica Biomass
CN201164329Y (en) Pocket
WO2005054069A3 (en) Containers having one or more compartments and a handle
Zhou et al. Study on Vacuum Separate Collection and Re-use of Civic Feces, Garbage and Domestic Wastewater
CN201559942U (en) Garbage bin
NZ518303A (en) Container for aerobic decomposition of waste and frame for use in such a container
Linsley-Hood JLH: a lifetime in electronics
Min et al. Status, problems and countermeasures of municipal solid wastes and their treatment in China
Xue et al. Calculation Research of the Radar Cross Section
Barnes et al. Process for the microbial oxidation of sulphidic wastes

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
AK Designated states

Kind code of ref document: A3

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A3

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: JP