Dynamic tuning of garbage threshold to reduce unreclaimable garbage overhead
US-2024126689-A1 · Apr 18, 2024 · US
US9575879B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9575879-B2 |
| Application number | US-201313870028-A |
| Country | US |
| Kind code | B2 |
| Filing date | Apr 25, 2013 |
| Priority date | May 15, 2012 |
| Publication date | Feb 21, 2017 |
| Grant date | Feb 21, 2017 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Methods, computer program products, and systems for managing memory in a computer system in which memory locations in use at any given time are represented as a set of memory objects in a first object graph. The first object graph includes a system root object associated by references to each of the memory objects. A method includes creating a second root object for the memory so as to form a second object graph for the memory. The method also includes, in response to the dereferencing of a first object from the first object graph, associating the dereferenced first object with the second object graph so that the second object graph includes at least one dereferenced object.
Opening claim text (preview).
What is claimed is: 1. A method of managing memory in a computer system in which memory locations in use at any given time are represented as a set of memory objects in a first object graph that includes a system root object associated by references to each of said memory objects, the method comprising: creating a second root object for said memory so as to form a second object graph for said memory; and in response to a dereferencing of a first object from said first object graph, associating said dereferenced first object with said second object graph so that said second object graph comprises one or more dereferenced objects. 2. A method according to claim 1 , further comprising: identifying a second object in said first object graph that referenced said first object immediately prior to the dereferencing of said first object; and creating a reference from said second object graph to said second object so as to associate said first object in said second object graph with said second object in said first object graph. 3. A method according to claim 2 , further comprising: creating a first metadata object in said second object graph, said first metadata object being arranged to provide said reference from said second object graph to said second object in said first object graph and to reference said first object in said second object graph. 4. A method according to claim 1 , further comprising: identifying predetermined metadata for said first object that identifies the location of said first object in said first object graph immediately prior to said dereferencing; and storing said metadata in said second object graph in association with said first object. 5. A method according to claim 4 , wherein said metadata is stored in a second metadata object associated with said first object in said second object graph. 6. A method according to claim 4 , wherein said metadata comprises data identifying a field in said second object used to reference said first object immediately prior to said dereferencing of said first object from said second object. 7. A method according to claim 1 , further comprising: in response to a first stage of garbage collection in which a first set of objects comprising all objects present in said first object graph is identified, identifying a second set of objects comprising objects present in said second object graph and not present in said first object graph; and saving predetermined data associated with each of said objects in said second set of objects prior to any further stage of garbage collection in which said second set of objects is deleted from said memory. 8. A method according to claim 7 , wherein said predetermined data comprises data identifying said first object. 9. A method according to claim 7 , wherein said predetermined data comprises data identifying said second object that referenced said first object immediately prior to the dereferencing of said first object. 10. A method according to claim 7 , wherein said predetermined data comprises data identifying the field in said second object that referenced said first object in said first object graph immediately prior to said dereferencing. 11. A system for managing memory in a computer system, the system comprising: a memory, wherein memory locations in the memory that are in use at any given time are represented as a set of memory objects in a first object graph, the first object graph including a system root object associated by references to each of the memory objects; and a processor, the system configured to: create a second root object for said memory so as to form a second object graph for said memory; and in response to a dereferencing of a first object from said first object graph, associate said dereferenced first object with said second object graph so that said second object graph comprises one or more dereferenced objects. 12. The system according to claim 11 , wherein the system is further configured to: identify a second object in said first object graph that referenced said first object immediately prior to the dereferencing of said first object; and create a reference from said second object graph to said second object so as to associate said first object in said second object graph with said second object in said first object graph. 13. The system according to claim 12 , wherein the system is further configured to: create a first metadata object in said second object graph said first metadata object being arranged to provide said reference from said second object graph to said second object in said first object graph and to reference said first object in said second object graph. 14. The system according to claim 11 , wherein the system is further configured to: identify predetermined metadata for said first object identifying the location of said first object in said first object graph immediately prior to said dereferencing; and store said metadata in said second object graph in association with said first object. 15. The system according to claim 14 , wherein said metadata is stored in a second metadata object associated with said first object in said second object graph. 16. The system according to claim 14 , wherein said metadata comprises data identifying a field in said second object used to reference said first object immediately prior to said dereferencing of said first object from said second object. 17. The system according to claim 11 , wherein the system is further configured to: in response to a first stage of garbage collection in which a first set of objects comprising all objects present in said first object graph is identified, identify a second set of objects comprising objects present in said second object graph and not present in said first object graph; and save predetermined data associated with each of said objects in said second set of objects prior to any further stage of garbage collection in which said second set of objects is deleted from said memory. 18. The system according to claim 17 , wherein said predetermined data comprises data identifying said first object. 19. The system according to claim 17 , wherein said predetermined data comprises data identifying said second object that referenced said first object immediately prior to the dereferencing of said first object.
Garbage collection, i.e. reclamation of unreferenced memory · CPC title
Accessing, addressing or allocating within memory systems or architectures (digital input from, or digital output to record carriers, e.g. to disk storage units, G06F3/06) · CPC title
Free address space management · CPC title
Indexing; Data structures therefor; Storage structures (for retrieval from the web G06F16/951) · CPC title
Graphs; Linked lists (G06F16/9027 takes precedence) · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.