IP Library Granted Patent US 12,632,382
Granted Patent B2
US 12,632,382 · App. 17/983,859 · Granted May 19, 2026

Mitigation of garbage collection overhead

Inventors: Huamin Chen (Westboro, MA); Chen Wang (Chappaqua, NY)
Assignee: Red Hat, Inc.
G06F12/0253G06F11/3452
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,632,382
App. No.
17/983,859
Granted
May 19, 2026
Kind
B2
Abstract

A method includes collecting resource utilization statistics associated with execution of an application, identifying calls to a function associated with management of the application, and adjusting an allocation of computing resources for executing the application in view of the resource utilization statistics and the calls to the function.

Claims (49)

1 . A method comprising:

collecting, within a defined period of time, resource utilization statistics associated with execution of an application;

monitoring, by a processing device within the defined period of time, calls to a function associated with management of the application during execution of the application, wherein the function comprises a garbage collection process;

determining a threshold number of calls to the function have occurred within the defined period of time;

determining a pattern of calls to the function within the defined period of time;

comparing the pattern of calls to the function within the defined period of time to resource utilization statistics for the defined period of time; and

updating, by the processing device, an allocation of computing resources for executing the application in view of the resource utilization statistics, the calls to the function, the threshold number of calls occurring within the defined period of time, and comparison of the pattern of calls to the function within the defined period of time to the resource utilization statistics for the defined period of time, wherein updating the allocation of computing resources includes determining whether to adjust an amount of memory allocated to the application in response to determining that the threshold number of calls to the function have occurred within the defined period of time.

2 . The method of claim 1 , further comprising:

correlating the resource utilization statistics and the calls to the function; and

adjusting the allocation of computing resources in view of the correlation.

3 . The method of claim 1 , further comprising:

determining, in view of the calls to the function, whether to adjust an amount of processing cycles provided for execution of the application.

4 . The method of claim 3 , wherein determining whether to adjust the amount of processing cycles is in response to determining that the calls to the function take more than a threshold amount of time to complete.

5 . A system comprising:

a memory; and

a processing device, operatively coupled to the memory, to:

collect, within a defined period of time, resource utilization statistics associated with execution of an application;

monitor, by a processing device within the defined period of time, calls to a function associated with management of the application during execution of the application, wherein the function comprises a garbage collection function; and

determine a threshold number of calls to the function have occurred within the defined period of time;

determine a pattern of calls to the function within the defined period of time;

compare the pattern of calls to the function within the defined period of time to the resource utilization statistics for the defined period of time; and

adjust, by the processing device, an allocation of computing resources for executing the application in view of the resource utilization statistics, the calls to the function, the threshold number of calls occurring within the defined period of time, and comparison of the pattern of calls to the function within the defined period of time to the resource utilization statistics for the defined period of time, wherein updating the allocation of computing resources includes determining whether to adjust an amount of memory allocated to the application in response to determining that the threshold number of calls to the function have occurred within the defined period of time.

6 . The system of claim 5 , wherein the processing device is further to:

correlate the resource utilization statistics and the calls to the function; and

adjust the allocation of computing resources in view of the correlation.

7 . The system of claim 5 , wherein the processing device is further to:

determine, in view of the calls to the function, whether to adjust an amount of processing cycles provided for execution of the application.

8 . The system of claim 7 , wherein the processing device is to determine whether to adjust the amount of processing cycles in response to determining that the calls to the function take more than a threshold amount of time to complete.

9 . A non-transitory computer-readable storage medium including instructions that, when executed by a processing device, cause the processing device to:

collect, within a defined period of time, resource utilization statistics associated with execution of an application;

monitor, by the processing device within the defined period of time, calls to a function associated with management of the application during execution of the application, wherein the function comprises a garbage collection function;

determine a threshold number of calls to the function have occurred within the defined period of time;

determine a pattern of calls to the function within the defined period of time;

compare the pattern of calls to the function within the defined period of time to the resource utilization statistics for the defined period of time; and

updating, by the processing device, an allocation of computing resources for executing the application in view of the resource utilization statistics, the calls to the function, the threshold number of calls occurring within the defined period of time, and comparison of the pattern of calls to the function within the defined period of time to the resource utilization statistics for the defined period of time, wherein updating the allocation of computing resources includes determining whether to adjust an amount of memory allocated to the application in response to determining that the threshold number of calls to the function have occurred within the defined period of time.

10 . The non-transitory computer-readable storage medium of claim 9 , wherein the processing device is further to:

correlate the resource utilization statistics and the calls to the function; and

adjust the allocation of computing resources in view of the correlation.

11 . The non-transitory computer-readable storage medium of claim 9 , wherein the processing device is further to:

determine, in view of the calls to the function, whether to adjust an amount of processing cycles provided for execution of the application.

12 . The non-transitory computer-readable storage medium of claim 11 , wherein determining whether to adjust the amount of processing cycles is in response to determining that the calls to the function take more than a threshold amount of time to complete.

13 . The non-transitory computer-readable storage medium of claim 9 , wherein the application is executed within a container.

14 . The non-transitory computer-readable storage medium of claim 9 , wherein the resource utilization statistics include at least one of memory utilization processor utilization, or cache utilization.

15 . The method of claim 1 , wherein the application is executed within a container.

16 . The method of claim 1 , wherein application is a cloud native application.

17 . The method of claim 1 , wherein the resource utilization statistics include at least one of memory utilization processor utilization, or cache utilization.

18 . The system of claim 5 , wherein the application is executed within a container.

19 . The system of claim 5 , wherein application is a cloud native application.

20 . The system of claim 5 , wherein the resource utilization statistics include at least one of memory utilization processor utilization, or cache utilization.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 1, 2023
From: INTERNATIONAL BUSINESS MACHINES CORP. (IBM)
To: RED HAT, INC.
Reel/Frame 062842/0318 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 12, 2023
From: CHEN, HUAMIN
To: RED HAT, INC.
Reel/Frame 062353/0311 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 12, 2023
From: WANG, CHEN
To: INTERNATIONAL BUSINESS MACHINES CORP. (IBM)
Reel/Frame 062353/0325 →
Continuity (1)
Related Publication 20240152453A1 · May 9, 2024
References Cited (27)
US 7506317B2 · Liang · 2009 [cited by examiner]
US 7624137B2 · Bacon · 2009 [cited by examiner]
US 7716451B2 · Creamer · 2010 [cited by examiner]
US 7996446B2 · Bacon · 2011 [cited by examiner]
US 9606820B2 · Daudel · 2017 [cited by examiner]
US 9798629B1 · Shilane · 2017 [cited by examiner]
US 10509581B1 · Abrol · 2019 [cited by examiner]
US 10678687B2 · Na · 2020 [cited by examiner]
US 11102282B2 · Chatt et al. · 2021 [cited by applicant]
US 20050149585A1 · Bacon · 2005 [cited by examiner]
US 20050289307A1 · Achanta · 2005 [cited by examiner]
US 20070260843A1 · Creamer · 2007 [cited by examiner]
US 20090055615A1 · Creamer · 2009 [cited by examiner]
US 20090300086A1 · Bacon · 2009 [cited by examiner]
US 20140040591A1 · Gounares · 2014 [cited by examiner]
US 20150121029A1 · Declercq · 2015 [cited by examiner]
US 20150381453A1 · Skjolsvold · 2015 [cited by examiner]
US 20160285711A1 · Akidau · 2016 [cited by examiner]
US 20180067856A1 · Walker · 2018 [cited by examiner]
US 20180322064A1 · Poxon · 2018 [cited by examiner]
US 20190205250A1 · Fang · 2019 [cited by examiner]
US 20210055862A1 · Mulholland et al. · 2021 [cited by applicant]
US 20210352044A1 · Asveren et al. · 2021 [cited by applicant]
US 20220027379A1 · Unterbrunner et al. · 2022 [cited by applicant]
US 20230033562A1 · Jeong · 2023 [cited by examiner]
Suo, Kun, “Characterizing and Optimizing the Performance of Virtualized Network Systems in the Cloud,” PhD Dissertations—Univ. of Texas—Arlington; May 11, 2022—2 pages. http://hdl.handle.net/10106/28615. [cited by applicant]
Nisbet, Andy et al.; “Profiling and Tracing Support for Java Applications,” Tenth ACM/SPEC Intl. Conf. on Performance Engineering (ICPE '19), Apr. 7-11, 2019, Mumbai, India; 9 pages. https://doi.org/10.1145/3297663.3309… [cited by applicant]