Reallocation of pools of fixed size buffers based on metrics collected for maximum number of concurrent requests for each distinct memory size
First Claim
1. In a computing device having a memory area subdivided into a first configuration of pools of fixed size memory buffers, a method comprising the steps of:
- receiving a plurality of memory requests for memory from the memory area, each memory request specifying a particular memory size;
allocating a fixed size memory buffer from the memory area in response to each memory request, the fixed size memory buffer having a size of at least the particular size;
collecting metrics for each memory request, the metrics including distinct memory sizes based on the particular size requested, and maximum number of concurrent requests for each distinct memory size, wherein the collection of metrics on maximum number of concurrent requests is independent of the number of fixed size memory buffers in any of the pools of fixed size memory buffers; and
reconfiguring the memory area into a second configuration of pools of fixed size memory buffers using the metrics collected.
1 Assignment
0 Petitions
Accused Products
Abstract
A computing device (100) has memory (180) subdivided into a first configuration of pools of fixed size memory buffers (188). In response to requests for memory specifying a particular memory size, a fixed size memory of at least the particular size is allocated from the memory area (510, 520). Metrics are collected for each memory request, the metrics including distinct memory sizes based on the particular size requested, and the peak number of concurrent requests for each distinct memory size (530). The memory area is reconfigured as needed into a second configuration of pools of fixed size memory buffers using the metrics collected (540, 550).
-
Citations
18 Claims
-
1. In a computing device having a memory area subdivided into a first configuration of pools of fixed size memory buffers, a method comprising the steps of:
-
receiving a plurality of memory requests for memory from the memory area, each memory request specifying a particular memory size; allocating a fixed size memory buffer from the memory area in response to each memory request, the fixed size memory buffer having a size of at least the particular size; collecting metrics for each memory request, the metrics including distinct memory sizes based on the particular size requested, and maximum number of concurrent requests for each distinct memory size, wherein the collection of metrics on maximum number of concurrent requests is independent of the number of fixed size memory buffers in any of the pools of fixed size memory buffers; and reconfiguring the memory area into a second configuration of pools of fixed size memory buffers using the metrics collected. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method for memory management in a computing device, the method comprising the steps of:
-
organizing memory in the computing device into at least first, second, and third memory areas, the first memory area being subdivided into pools of fixed size buffers, the second memory area having configuration information for the first memory area, and the third memory area having a metrics storage portion; collecting metrics on memory usage of the first memory area, the metrics including distinct memory size requests and peak number of concurrent requests for each of the distinct memory size requests, wherein the collection of metrics on peak number of concurrent requests is independent of the number of fixed size memory buffers in any of the pools of fixed size memory buffers; storing the metrics in the third memory area; reconfiguring the first memory area using the metrics stored in the third memory area, including the steps of; generating new configuration for the first memory area; and storing the new configuration in the second memory area. - View Dependent Claims (7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A computing device, comprising:
-
a memory subdivided into first, second, and third areas, a first area being subdivided into pools of fixed size memory buffers, and a second area having configuration information for the first area, and a third area having metrics on usage of the first area; and a real-time operating system that is responsive to requests for memory from the first area, to collect and store the metrics from the requests for memory in the third area, wherein the metrics include distinct memory sizes associated with requests for memory from the first area, and peak number of concurrent requests corresponding to each of the distinct memory sizes, which peak number of concurrent requests is independent of the number of fixed size memory buffers in any of the pools of fixed size memory buffers. - View Dependent Claims (16, 17, 18)
-
Specification