Automatic resizing of shared memory for messaging
First Claim
1. A method for estimating the hypothetical performance of an application, comprising:
- identifying at least one pool size, each pool size specifying the size of a memory that could hypothetically be used by the application;
tracking one or more requests that are made by the application during execution; and
for each pool size, calculating the number of spills or unspills that would result from the one or more requests if the application were allocated the amount of memory specified by the pool size.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods and systems for estimating the hypothetical performance of a messaging application are disclosed. A number of pool sizes may be identified, each pool size being a potential size for the memory allocated to the messaging application. An online simulation is running during the execution of the messaging application. The online simulation tracks the requests made by the messaging application and predicts the operation of the messaging application for each pool size. The data predicted includes the number of spill and unspill operations that read and write to disk. In addition, a method for calculating the age of the oldest message in a memory pool is disclosed. The age is used in determining the number of spill and unspill operations.
-
Citations
20 Claims
-
1. A method for estimating the hypothetical performance of an application, comprising:
-
identifying at least one pool size, each pool size specifying the size of a memory that could hypothetically be used by the application;
tracking one or more requests that are made by the application during execution; and
for each pool size, calculating the number of spills or unspills that would result from the one or more requests if the application were allocated the amount of memory specified by the pool size. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method for estimating the hypothetical age of a memory with a predetermined size, comprising:
-
tracking one or more requests that are made by an application during execution;
generating one or more outstanding message count data points based on the requests, each data point specifying an age and a message count, the message count being an estimate of the number of messages in the queue that are younger than the age; and
interpolating among the data points to find an age corresponding to the number of messages that can be stored in a memory with the predetermined size. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18)
-
-
19. A computer program product comprising a computer usable medium having executable code to execute a process for estimating the hypothetical performance of an application, the process comprising the steps of:
-
identifying at least one pool size, each pool size specifying the size of a memory that could hypothetically be used by the application;
tracking one or more requests that are made by the application during execution; and
for each pool size, calculating the number of spills or unspills that would result from the one or more requests if the application were allocated the amount of memory specified by the pool size.
-
-
20. A system for estimating the hypothetical performance of an application, comprising:
-
means for identifying at least one pool size, each pool size specifying the size of a memory that could hypothetically be used by the application;
means for tracking one or more requests that are made by the application during execution; and
means for calculating, for each pool size, the number of spills or unspills that would result from the one or more requests if the application were allocated the amount of memory specified by the pool size.
-
Specification