IP Library Granted Patent US 9,274,840
Granted Patent B2
US 9,274,840 · App. 13/842,923 · Granted Mar 1, 2016

Dynamic memory management with thread local storage usage

Inventors: Michael H. Dawson (Ontario, CA); Parijat Dube (Hicksville, NY); Liana L. Fo (Irvington, NY); Michel H. T. Hack (Cortlandt Manor, NY); Graeme Johnson (Ontario, CA); Li Zhang (Yorktown Heights, NY)
Assignee: International Business Machines Corporation
G06F9/5016
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 9,274,840
App. No.
13/842,923
Granted
Mar 1, 2016
Kind
B2
Abstract

Methods and arrangements for dynamic memory management. Data are accepted for thread local storage, and memory usage is monitored in thread local storage. A memory block is allocated to thread local storage for storing accepted data, based on the monitored memory usage.

Claims (32)

1. A method comprising:

utilizing a processor to execute computer code configured to perform the steps of:

accepting data for thread local storage, the thread local storage comprising threads for monitoring virtual machines, wherein each thread stores and processes data structures locally without storing a variable on a stack;

monitoring memory usage in thread local storage via determining thread activity; and

allocating to the thread local storage a memory block for storing accepted data, based on the monitored memory usage;

said allocating comprising determining a memory block size correlated to thread activity.

2. The method according to claim 1 , wherein said monitoring comprises monitoring memory usage with respect to thread local storage of at least two threads.

3. The method according to claim 1 , wherein said monitoring comprises determining a time for filling a predetermined thread local storage memory block.

4. The method according to claim 3 , wherein said determining of a time comprises determining a current or previous time period for filling a predetermined thread local storage memory block.

5. The method according to claim 1 , wherein said allocating comprises deallocating at least one thread local storage one memory block from an inactive thread.

6. The method according to claim 1 , wherein said allocating further comprises determining a memory block size inversely correlated to elapsed time since a previous entry to a thread queue by a given thread.

7. The method according to claim 1 , wherein said allocating comprises determining a memory block size inversely correlated to elapsed time since a previous entry to a thread queue by a given thread.

8. The method according to claim 1 , wherein said determining comprises determining a previous thread activity rate via discounting related to elapsed time since a previous entry to a thread queue by a given thread.

9. An apparatus comprising:

at least one processor; and

a computer readable storage medium having computer readable program code embodied therewith and executable by the at least one processor, the computer readable program code comprising:

computer readable program code configured to accept data for thread local storage, the thread local storage comprising threads for monitoring virtual machines, wherein each thread stores and processes data structures locally without storing a variable on a stack;

computer readable program code configured to monitor memory usage in thread local storage via determining thread activity; and

computer readable program code configured to allocate to the thread local storage a memory block for storing accepted data, based on the monitored memory usage;

the allocating comprising determining a memory block size correlated to thread activity.

10. A computer program product comprising:

a non-transitory computer readable storage medium having computer readable program code embodied therewith, the computer readable program code comprising:

computer readable program code configured to accept data for thread local storage, the thread local storage comprising threads for monitoring virtual machines, wherein each thread stores and processes data structures locally without storing a variable on a stack;

computer readable program code configured to monitor memory usage in thread local storage via determining thread activity; and

computer readable program code configured to allocate to the thread local storage a memory block for storing accepted data, based on the monitored memory usage;

the allocating comprising determining a memory block size correlated to thread activity.

11. The computer program product according to claim 10 , wherein said computer readable program code is configured to monitor memory usage with respect to thread local storage of at least two threads.

12. The computer program product according to claim 10 , wherein said computer readable program code is configured to determine a time for filling a predetermined thread local storage memory block.

13. The computer program product according to claim 12 , wherein said computer readable program code is configured to determine a current or previous time period for filling a predetermined thread local storage memory block.

14. The computer program product according to claim 10 , wherein said computer readable program code is configured to deallocate at least one thread local storage memory block from an inactive thread.

15. The computer program product according to claim 10 , wherein said computer readable program code is configured to determine a memory block size inversely correlated to elapsed time since a previous entry to a thread queue by a given thread.

16. The computer program product according to claim 10 , wherein said computer readable program code is configured to determine a previous thread activity rate via discounting related to elapsed time since a previous entry to a thread queue by a given thread.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 21, 2013
From: DAWSON, MICHAEL H.; DUBE, PARIJAT; FONG, LIANA L.; HACK, MICHEL H.T.; JOHNSON, GRAEME; ZHANG, LI
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 030056/0351 →
Continuity (1)
Related Publication 20140282583A1 · Sep 18, 2014