IP Library › Granted Patent US 7,356,655
Granted Patent B2
US 7,356,655 · App. 10/438,393 · Granted Apr 8, 2008

Methods, systems, and media for managing dynamic storage

Assignee: International Business Machines Corporation
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 7,356,655
App. No.
10/438,393
Granted
Apr 8, 2008
Kind
B2
Abstract

Methods, systems, and media for managing dynamic memory are disclosed. Embodiments may disclose identifying nodes with having memory for dynamic storage, and reserving a portion of the memory from the identified nodes for a heap pool. After generating a heap pool, embodiments may allocate dynamic storage from the heap pool to tasks received that are associated with one of the identified nodes. More specifically, embodiments identify the node or home node associated with the task, the amount of dynamic storage requested by the task, and create a heap object in the node associated with the task to provide the requested dynamic storage. Some embodiments involve de-allocating the dynamic storage assigned to the task upon receipt of an indication that the task is complete and the dynamic storage is no longer needed for the task. Several of such embodiments return the de-allocated dynamic storage to the heap pool for reuse.

Claims (18)

1. A method for managing memory, the method comprising:

identifying a plurality of nodes each having a respective processor and respective memory for heap storage;

reserving the heap storage from the memories of the nodes in a heap pool, the heap pool comprising:

a description of nodes having memory for heap storage;

a description of available memory for heap storage;

a description of memory being used for heap storage; and

control information for managing heaps;

receiving a request from an application for heap storage, the request being associated with a at least one node of the plurality of nodes, the association between the request and the at least one node being defined in a task node association data structure of the application; and

allocating a portion of the heap storage from the heap pool to the request based upon the association between the request and the at least one node as defined in the task node association data structure.

2. The method of claim 1 , further comprising de-allocating the portion upon completion of a task associated with the request, to return the portion to the heap pool.

3. The method of claim 1 , wherein identifying the plurality of nodes comprises identifying the at least one node from a system topology and determining the node has the respective memory.

4. The method of claim 1 , wherein reserving the heap storage comprises:

identifying a range of virtual addresses of the heap storage associated with the at least one node; and

storing the range with a node identification for the at least one node in the heap pool.

5. The method of claim 1 , wherein receiving the request comprises receiving a task having an identifier that associates the task with the at least one node and an amount of dynamic storage.

6. The method of claim 1 , wherein receiving the request comprises receiving a task having an identifier associating the task with a home node, wherein the home node is the at least one node.

7. The method of claim 1 , wherein allocating the portion of the heap storage from the heap pool comprises determining an address range of the heap storage reserved in the heap pool.

8. The method of claim 7 , wherein allocating the portion of the heap storage from the heap pool further comprises creating an object for the request in the address range and returning a pointer for the object to the request.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 15, 2003
From: ALLEN, KENNETH R.; KIRKMAN, RICHARD K.; MCCARTHY, PATRICK J.; OUREN, WADE B.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 014082/0348 →
Continuity (1)
Related Publication 20040230762A1 · Nov 18, 2004