Infrastructure for spilling pages to a persistent store
First Claim
Patent Images
1. A method for managing memory usage in a processing system, the method comprising:
- receiving a data stream comprising a plurality of tuples;
determining a query plan generated for a continuous query applied to the plurality of tuples in the data stream, the query plan including one or more operators;
determining a level of free memory associated with the processing system;
prior to scheduling an operator of the one or more operators, determining whether the operator of the one or more operators can be scheduled based at least in part on the level of free memory of the processing system;
in response to determining that the operator of the one or more operators cannot be scheduled, determining an eviction candidate; and
evicting, from the memory to a persistent storage, a page associated with the eviction candidate.
1 Assignment
0 Petitions
Accused Products
Abstract
Techniques for managing memory usage in a processing system are provided. This may be achieved by receiving a data stream including multiple tuples and determining a query plan that was generated for a continuous query applied to the multiple tuples in the data stream. The query plan may include one or more operators. Before scheduling an operator in the query plan, it is determined when an eviction is to be performed based a level of free memory of the processing system. An eviction candidate is determined and a page associated with the eviction candidate is evicted from the memory to a persistent storage.
163 Citations
20 Claims
-
1. A method for managing memory usage in a processing system, the method comprising:
-
receiving a data stream comprising a plurality of tuples; determining a query plan generated for a continuous query applied to the plurality of tuples in the data stream, the query plan including one or more operators; determining a level of free memory associated with the processing system; prior to scheduling an operator of the one or more operators, determining whether the operator of the one or more operators can be scheduled based at least in part on the level of free memory of the processing system; in response to determining that the operator of the one or more operators cannot be scheduled, determining an eviction candidate; and evicting, from the memory to a persistent storage, a page associated with the eviction candidate. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A computer program product embedded in a computer readable storage medium and including executable instructions for managing memory usage of the processing system, the computer program product comprising:
-
computer code for receiving a data stream comprising a plurality of tuples; computer code for determining a query plan generated for a continuous query applied to the plurality of tuples in the data stream, the query plan including one or more operators; computer code for determining a level of free memory associated with the processing system; computer code for prior to scheduling an operator of the one or more operators, determining whether the operator of the one or more operators can be scheduled based at least in part on the level of free memory of the processing system; computer code for determining an eviction candidate in response to determining that the operator of the one or more operators cannot be scheduled; and computer code for evicting, from the memory to a persistent storage, a page associated with the eviction candidate. - View Dependent Claims (16, 17)
-
-
18. A system for managing memory usage of the processing system, the system including a processor and a memory device including instructions that, when executed by the processor, cause the processor to:
-
receive a data stream comprising a plurality of tuples; determine a query plan generated for a continuous query applied to the plurality of tuples in the data stream, the query plan including one or more operators; determine a level of free memory associated with the processing system; prior to scheduling an operator of the one or more operators, determine whether the operator of the one or more operators can be scheduled based at least in part on the level of free memory of the processing system; determine an eviction candidate in response to determining that the operator of the one or more operators cannot be scheduled; and evict, from the memory to a persistent storage, a page associated with the eviction candidate. - View Dependent Claims (19, 20)
-
Specification