Apparatus, system, and method for dynamically allocating main memory among a plurality of applications
First Claim
1. An apparatus to dynamically allocate main memory among a plurality of applications, the apparatus comprising:
- a cache memory module configured to maintain at least a first list and a second list, each list configured to store a plurality of pages, the cache memory module having a maximum capacity of pages; and
a resize module configured to modify the maximum capacity of pages by adaptively selecting the first or second list and subtracting pages from the selected list to decrease the maximum capacity.
1 Assignment
0 Petitions
Accused Products
Abstract
An apparatus, system, and method are disclosed for dynamically allocating main memory among applications. The apparatus includes a cache memory module configured to maintain a first list and a second list, each list having a plurality of pages, and a resize module configured to resize the cache by adaptively selecting the first or second list and subtracting pages from or adding pages to the selected list. The system includes the apparatus and a cache replacement module configured to adaptively distribute a workload between the first list and the second list. The method includes maintaining a first list and a second list, each list having a plurality of pages, maintaining a cache memory module having a selected size, and resizing the selected size by adaptively selecting the first or second list and adding pages to the selected list to increase the selected size and subtracting pages from the selected list to decrease the selected size.
102 Citations
30 Claims
-
1. An apparatus to dynamically allocate main memory among a plurality of applications, the apparatus comprising:
-
a cache memory module configured to maintain at least a first list and a second list, each list configured to store a plurality of pages, the cache memory module having a maximum capacity of pages; and
a resize module configured to modify the maximum capacity of pages by adaptively selecting the first or second list and subtracting pages from the selected list to decrease the maximum capacity. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A system to dynamically allocate main memory among a plurality of applications, the apparatus comprising:
-
a cache memory module configured to maintain a first list and a second list, each list configured to store a plurality of pages, the cache memory module having a maximum capacity of pages;
a cache replacement module configured to adaptively distribute a workload between the first list and the second list; and
a resize module configured to resize the maximum capacity by adaptively selecting the first or second list and subtracting pages from the plurality of lists to decrease the maximum capacity. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21, 22)
-
-
23. A signal bearing medium tangibly embodying a program of machine-readable instructions executable by a digital processing apparatus to perform an operation to dynamically allocate main memory among a plurality of applications, the operation comprising:
-
maintaining at least a first list and a second list, each list configured to store a plurality of pages;
maintaining a cache memory module having a maximum capacity of pages; and
resizing the maximum capacity by adaptively selecting the first or second list and subtracting pages from the selected list to decrease the maximum capacity . - View Dependent Claims (24, 25, 26, 27)
-
-
28. A method for dynamically allocating main memory among a plurality of applications, the method comprising:
-
maintaining at least a first list and a second list, each list configured to store a plurality of pages;
maintaining a cache memory module having a maximum capacity of pages; and
resizing the maximum capacity by adaptively selecting the first or second list and subtracting pages from the selected list to decrease the maximum capacity .
-
-
29. A method for deploying a computing infrastructure, comprising integrating computer-readable code into a computing system, wherein the code in combination with the computing system is capable of dynamically allocating main memory among a plurality of applications, the method comprising:
-
maintaining at least a first list and a second list, each list configured to store a plurality of pages;
maintaining a cache memory module having a maximum capacity of pages; and
resizing the maximum capacity by adaptively selecting the first or second list and subtracting pages from the selected list to decrease the maximum capacity.
-
-
30. An apparatus to dynamically allocate main memory among a plurality of applications, the apparatus comprising:
-
means for maintaining at least a first list and a second list, each list configured to store a plurality of pages;
means for maintaining a cache memory module having a maximum capacity of pages; and
means for resizing the maximum capacity by adaptively selecting the first or second list and subtracting pages from the selected list to decrease the maximum capacity.
-
Specification