Method to dynamically regulate volatile and non-volatile memory pools on persistent memory across cloud
A system for managing non-transient memory in a cloud computing environment, comprising a plurality of data processors configured to cooperatively provide a cloud computing environment, a persistent memory pool system configured to interact with each of the plurality of data processors to identify persistent non-transient data memory devices at each of the data processors and a plurality of memory pools created by the persistent memory pool system, wherein each of the plurality of memory pools has a designated function.
1 . A system for managing non-transient memory in a cloud computing environment, comprising:
a plurality of data processors configured to cooperatively provide a cloud computing environment;
a persistent memory pool system configured to interact with each of the plurality of data processors to identify persistent non-transient data memory devices at each of the data processors and to define fixed address ranges for a volatile memory pool and a non-volatile memory pool and a remaining address range for a dynamic memory pool, and responsive to a utilization threshold being exceeded for the volatile memory pool or the non-volatile memory pool, to reallocate capacity from the dynamic memory pool to the volatile memory pool or the non-volatile memory pool; and
a plurality of memory pools created by the persistent memory pool system, wherein each of the plurality of memory pools has a designated function and is associated with one or more of the persistent non-transient data memory devices.
2 . The system of claim 1 wherein the plurality of memory pools comprises the volatile memory pool.
3 . The system of claim 1 wherein the plurality of memory pools comprises the dynamic memory pool.
4 . The system of claim 1 wherein the plurality of memory pools comprises the non-volatile memory pool.
5 . The system of claim 1 wherein the plurality of memory pools comprises the volatile memory pool and the dynamic memory pool.
6 . The system of claim 1 wherein the plurality of memory pools comprises the volatile memory pool, the dynamic memory pool and the non-volatile memory pool.
7 . The system of claim 1 wherein each of the plurality of data processors can allocate a user-selected amount of memory to each memory pool.
8 . The system of claim 1 wherein each of the plurality of data processors can allocate a predetermined memory profile to each memory pool.
9 . The system of claim 1 wherein each of the plurality of data processors can dynamically allocate an amount of memory to each memory pool.
10 . The system of claim 1 wherein the persistent memory pool system can allocate memory from one of the memory pools to a different data processor of the plurality of data processors.
11 . A method for managing non-transient memory in a cloud computing environment, comprising:
interacting with each of a plurality of data processors using a persistent memory pool system;
identifying persistent non-transient data memory devices at each of the data processors using the persistent memory pool system;
creating a plurality of memory pools using the persistent memory pool system, wherein each of the plurality of memory pools has a designated function and is implemented using one or more of the persistent non-transient data memory devices; and
defining fixed address ranges for a volatile memory pool and a non-volatile memory pool and a remaining address range for a dynamic memory pool, and responsive to a utilization threshold being exceeded for the volatile memory pool or the non-volatile memory pool, reallocating capacity from the dynamic memory pool to the volatile memory pool or the non-volatile memory pool.
12 . The method of claim 11 wherein creating the plurality of memory pools using the persistent memory pool system comprises creating a volatile memory pool.
13 . The method of claim 11 wherein creating a plurality of memory pools using the persistent memory pool system comprises creating a dynamic memory pool.
14 . The method of claim 11 wherein creating a plurality of memory pools using the persistent memory pool system comprises creating a non-volatile memory pool.
15 . The method of claim 11 wherein creating a plurality of memory pools using the persistent memory pool system comprises creating a volatile memory pool and a dynamic memory pool.
16 . The method of claim 11 wherein creating a plurality of memory pools using the persistent memory pool system comprises creating a volatile memory pool, a dynamic memory pool and a non-volatile memory pool.
17 . The method of claim 11 further comprising allocating a user-selected amount of memory to each memory pool from each of the plurality of data processors.
18 . The method of claim 11 further comprising allocating a predetermined memory profile to each memory pool.
19 . The method of claim 11 further comprising dynamically allocating an amount of memory to each memory pool.
20 . The method of claim 11 further comprising allocating memory from one of the memory pools to a different data processor of the plurality of data processors.