Idle transitions sampling with execution context
US-9176783-B2 · Nov 3, 2015 · US
US9418005B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9418005-B2 |
| Application number | US-23530208-A |
| Country | US |
| Kind code | B2 |
| Filing date | Sep 22, 2008 |
| Priority date | Jul 15, 2008 |
| Publication date | Aug 16, 2016 |
| Grant date | Aug 16, 2016 |
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.
A computer implemented method, apparatus, and computer program product for managing garbage collection. Monitoring is performed for a garbage collection state in a virtual machine. Responsive to detecting the garbage collection state, a priority for a set of garbage collection threads is increased.
Opening claim text (preview).
What is claimed is: 1. A computer implemented method for managing garbage collection, the computer implemented method comprising: granting a lock to a thread requesting the lock; responsive to granting the lock, identifying whether the thread is one of a set of garbage collection threads; responsive to identifying the thread is one of the set of garbage collection threads, initiating a garbage collection state; responsive to detecting the garbage collection state, determining whether to change a priority of the thread identified using a policy comprising predetermined criteria including what threads are currently executing, what memory ranges are being accessed, and what processes are executing; responsive to meeting the predetermined criteria, increasing a priority of each garbage collection thread identified in the set of garbage collection threads, wherein increasing the priority of each garbage collection thread in the set of garbage collection threads further comprises: paging in other ones of the set of garbage collection threads, including expected data area accesses for the other ones of the set of garbage collection threads; and paging in expected data area accesses for the thread identified; responsive to detecting the garbage collection state, decreasing a priority of each thread in a set of non-garbage collection threads. 2. The computer implemented method of claim 1 further comprising: responsive to detecting the garbage collection state, paging out the set of non-garbage collection threads. 3. The computer implemented method of claim 1 further comprising: responsive to detecting the garbage collection state, paging out data areas associated with the set of non-garbage collection threads. 4. The computer implemented method of claim 1 further comprising: responsive to detecting the garbage collection state, paging in data areas previously or expected to be used by the set of garbage collection threads. 5. The computer implemented method of claim 1 further comprising: responsive to detecting the garbage collection state, assigning a processor to perform the garbage collection in a number of processors in a multi-processor data processing system. 6. The computer implemented method of claim 1 further comprising: responsive to ending the garbage collection state, increasing a priority of a number of threads not required for the garbage collection. 7. The computer implemented method of claim 1 , wherein responsive to detecting the garbage collection state further comprises monitoring for the garbage collection state, and wherein the monitoring further comprises: waiting to receive a notification of the garbage collection state from one of a profiler and a virtual machine. 8. The computer implemented method of claim 7 , wherein the monitoring further comprises: monitoring a set of locks associated with a heap for the garbage collection thread obtaining the lock from the set of locks. 9. The computer implemented method of claim 8 , wherein the garbage collection thread is registered to allow for an identification of the garbage collection thread when the garbage collection thread obtains the lock. 10. The computer implemented method of claim 1 , wherein the garbage collection state is detected on a periodic basis. 11. The computer implemented method of claim 1 , wherein the computer implemented method is implemented in at least one of a device driver, a virtual machine, an operating system, and an application performing the garbage collection. 12. A computer comprising: a bus; a storage device connected to the bus, wherein program code is stored on the storage device; and a processor unit is connected to the bus, wherein the processor unit executes the program code: to grant a lock to a thread requesting the lock; responsive to granting the lock, to identify whether the thread is one of a set of garbage collection threads; responsive to identifying that the thread is one of the set of garbage collection threads, to initiate a garbage collection state; responsive to detecting the garbage collection state, to determine whether to change a priority of the thread identified using a policy comprising predetermined criteria including what threads are currently executing, what memory ranges are being accessed, and what processes are executing; responsive to meeting the predetermined criteria, to increase a priority of each garbage collection thread identified in the set of garbage collection threads, wherein increasing the priority of each garbage collection thread in the set of garbage collection threads further comprises: paging in other ones of the set of garbage collection threads, including expected data area accesses for the other ones of the set of garbage collection threads; and paging in expected data area accesses for the thread identified; and responsive to detecting the garbage collection state, to decrease a priority of each thread in a set of non-garbage collection threads. 13. The computer of claim 12 , wherein the processor unit further executes the program code to page out the set of non-garbage collection threads in response to detecting the garbage collection state. 14. The computer of claim 12 , wherein the processor unit further executes the program code to page out data areas associated with the set of non-garbage collection threads in response to detecting the garbage collection state. 15. The computer of claim 12 , wherein the processor unit further executes the program code to page in data areas previously or expected to be used by the set of garbage collection threads in response to detecting the garbage collection state. 16. The computer of claim 12 , wherein the processor unit further executes the program code to assign a processor to perform the garbage collection in a number of processors in a multi-processor data processing system in response to detecting the garbage collection state. 17. The computer of claim 12 , wherein the processor unit further executes the program code to increase a priority of a number of threads not required for the garbage collection in response to ending the garbage collection state. 18. A computer program product for managing garbage collection, the computer program product comprising: a non-transitory computer recordable storage medium; program code, stored on the non-transitory computer recordable storage medium, for granting a lock to a thread requesting the lock; program code, stored on the non-transitory computer recordable storage medium, responsive to granting the lock, for identifying whether the thread is one of a set of garbage collection threads; program code, stored on the non-transitory computer recordable storage medium, responsive to identifying the thread is one of the set of garbage collection threads, for initiating a garbage collection state; program code, stored on the non-transitory computer recordable storage medium, responsive to detecting the garbage collection state, for determining whether to change a priority of the thread identified using a policy comprising predetermined criteria including what threads are currently executing, what memory ranges are being accessed, and what processes are executing; program code, stored on the non-transitory computer recordable storage medium, responsive to meeting the predetermined criteria for increasing a priority of each garbage collection thread identified in the set of garbage collection threads, wherein increasing the priority of each garbage collection thread in the set of garbage collection threads furth
Incremental or concurrent garbage collection, e.g. in real-time systems (G06F12/0261 takes precedence) · CPC title
Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.