IP Library Granted Patent US 9,207,985
Granted Patent B2
US 9,207,985 · App. 13/612,238 · Granted Dec 8, 2015

Intelligent computer memory management

Inventor: Arun Iyengar (Yorktown Heights, NY)
Assignee: International Business Machines Corporation
G06F9/5016G06F12/02
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,207,985
App. No.
13/612,238
Granted
Dec 8, 2015
Kind
B2
Abstract

A plurality of memory allocators are initialized within a computing system. At least a first memory allocator and a second memory allocator in the plurality of memory allocators are each customizable to efficiently handle a set of different memory request size distributions. The first memory allocator is configured to handle a first memory request size distribution. The second memory allocator is configured to handle a second memory request size distribution. The second memory request size distribution is different than the first memory request size distribution. At least the first memory allocator and the second memory allocator that have been configured are deployed within the computing system in support of at least one application. Deploying at least the first memory allocator and the second memory allocator within the computing system improves at least one of performance and memory utilization of the at least one application.

Claims (17)

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

initializing a plurality of memory allocators within a computing system, wherein at least a first memory allocator and a second memory allocator in the plurality of memory allocators are each customizable to efficiently handle a set of different memory request size distributions, wherein to efficiently handle memory request size distributions comprises special free lists tailored to store free blocks of a plurality of particular sizes of the memory request size distributions, the free blocks are allocated from the special free lists to handle memory requests;

customizing the first memory allocator to efficiently handle a first memory request size distribution;

customizing the second memory allocator to efficiently handle a second memory request size distribution, the second memory request size distribution being different than the first memory request size distribution;

deploying the plurality of memory allocators on a multi-user system where users are charged a monetary fee based on consumption of resources thereby;

determining, by the plurality of memory allocators, consumption of at least one of a set of memory resources and a set of persistent storage resources by a user;

determining, by the plurality of memory allocators, a cost associated with the consumption that has been determined; and

determining a monetary fee to charge the user based on the cost that has been determined.

2. The method of claim 1 , further comprising: restricting at least one of a number of memory resources and a number of persistent storage resources available to the user based on the cost that has been determined.

3. The method of claim 1 , wherein determining a cost further comprises: assigning the cost based on a time period when the consumption occurred.

4. The method of claim 1 , wherein determining a cost further comprises: assigning the cost based on whether the user is above or below a consumption threshold.

5. A method for managing computer memory, the method comprising:

initializing a plurality of memory allocators within a multi-user computing system, wherein at least a first memory allocator and a second memory allocator in the plurality of memory allocators are each customized to efficiently handle a first and a second set of memory request size distributions, respectively, of main memory, wherein to efficiently handle memory request size distributions comprises special free lists tailored to store free blocks of a plurality of particular sizes of the memory request size distributions, the free blocks are allocated from the special free lists to handle memory requests;

deploying at least one memory allocator of the first memory allocator and the second memory allocator in support of at least one application's use of main memory in the multi-user computing system, where users of the at least one application are charged a monetary fee based on consumption of memory resources by the at least one application's use of main memory in the multi-user computing system;

determining, by the at least one memory allocator, a consumption of at least one of a set of memory resources by a user of the at least one application on the multi-user computing system;

determining, by the at least one memory allocator, a cost associated with the consumption that has been determined; and

determining a monetary fee to charge the user based on the cost that has been determined.

Continuity (2)
Continuation 12887964 · Sep 22, 2010
Related Publication 20130019079A1 · Jan 17, 2013