Methods for dynamically resizing memory pools
First Claim
1. A data processing system implemented method for resizing a memory pool in a database management system, comprising:
- i) forming the memory pool from at least one page grouping;
ii) if an increase in allocation to the memory pool is required, adding at least one page grouping to the memory pool to form a chain of page groupings, wherein each page of the at least one page groupings comprises a plurality of memory blocks;
iii) if a decrease in allocation to the memory pool is required, identifying at least one page grouping free of used memory blocks that are available to be freed from the memory pool, and freeing the at least one page grouping from the memory pool;
iv) if no page grouping that is available to be freed from the memory pool is identified in iii), then copying all used memory blocks from each page grouping in a candidate list of at least one page grouping having at least one used memory blocks, to another page grouping in order to free each page grouping in the candidate list, of used memory blocks,wherein if an interrupt occurs in iv) to cancel the decrease in allocation, the decrease in allocation is canceled,wherein if an interrupt occurs in iv) to further decrease allocation to the memory pool, at least one additional page grouping is added to the candidate list, andwherein if an interrupt occurs in iv) to further increase allocation to the memory pool, at least one page grouping is removed from the candidate list.
2 Assignments
0 Petitions
Accused Products
Abstract
There are disclosed methods for dynamically resizing memory pools used by database management systems. In one aspect, if a decrease in allocation to the memory pool is required, at least one page grouping that may be freed from the memory pool is identified as a candidate based on its position in a list of page groupings. If the page grouping contains any used memory blocks, the used memory blocks may be copied from a candidate page grouping to another page grouping in the list in order to free the candidate page grouping. Once the candidate page grouping is free of used memory blocks, the candidate page grouping may be freed from the memory pool. As an example, this method may be used for dynamically resizing locklists or lock memory.
21 Citations
7 Claims
-
1. A data processing system implemented method for resizing a memory pool in a database management system, comprising:
-
i) forming the memory pool from at least one page grouping; ii) if an increase in allocation to the memory pool is required, adding at least one page grouping to the memory pool to form a chain of page groupings, wherein each page of the at least one page groupings comprises a plurality of memory blocks; iii) if a decrease in allocation to the memory pool is required, identifying at least one page grouping free of used memory blocks that are available to be freed from the memory pool, and freeing the at least one page grouping from the memory pool; iv) if no page grouping that is available to be freed from the memory pool is identified in iii), then copying all used memory blocks from each page grouping in a candidate list of at least one page grouping having at least one used memory blocks, to another page grouping in order to free each page grouping in the candidate list, of used memory blocks, wherein if an interrupt occurs in iv) to cancel the decrease in allocation, the decrease in allocation is canceled, wherein if an interrupt occurs in iv) to further decrease allocation to the memory pool, at least one additional page grouping is added to the candidate list, and wherein if an interrupt occurs in iv) to further increase allocation to the memory pool, at least one page grouping is removed from the candidate list. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
Specification