Optimizing performance in CEP systems via CPU affinity
First Claim
1. A method for optimizing performance in a complex event stream (CEP) system, the method comprising:
- obtaining, using one or more hardware processors, information about a plurality of CEP threads;
determining, using the one or more hardware processors, nearness among the plurality of CEP threads, wherein determining nearness between a first and a second CEP thread indicates how much interaction is expected to occur between the first and second CEP thread and includes creating a Directed Acyclic Graph (DAG), with each of the plurality of CEP threads assigned a different node in the DAG and edges between nodes representing data dependencies among the threads, and wherein each edge in the DAG is assigned a nearness value, the nearness value between the first and second threads being measured by calculating an actual amount of data transmitted between the first and second threads during a set period;
organizing the plurality of CEP threads into a plurality of CEP thread groups, based on the determined nearness; and
assigning, using the one or more hardware processors, each of the plurality of CEP thread groups to a different processing node of a plurality of processing nodes, each processing node having one or more processors and a memory.
1 Assignment
0 Petitions
Accused Products
Abstract
In an example embodiment, performance is optimized in a complex event stream (CEP) system. Information about a plurality of CEP threads is obtained. Then nearness among the plurality of CEP threads is determined, wherein nearness between a first and a second CEP thread indicates how much interaction is expected to occur between the first and second CEP thread. Based on the determined nearness, the plurality of CEP threads are organized into a plurality of CEP thread groups. Then, each of the plurality of CEP thread groups are assigned to a different processing node, with each processing node having one or more processors and a memory.
29 Citations
14 Claims
-
1. A method for optimizing performance in a complex event stream (CEP) system, the method comprising:
-
obtaining, using one or more hardware processors, information about a plurality of CEP threads; determining, using the one or more hardware processors, nearness among the plurality of CEP threads, wherein determining nearness between a first and a second CEP thread indicates how much interaction is expected to occur between the first and second CEP thread and includes creating a Directed Acyclic Graph (DAG), with each of the plurality of CEP threads assigned a different node in the DAG and edges between nodes representing data dependencies among the threads, and wherein each edge in the DAG is assigned a nearness value, the nearness value between the first and second threads being measured by calculating an actual amount of data transmitted between the first and second threads during a set period; organizing the plurality of CEP threads into a plurality of CEP thread groups, based on the determined nearness; and assigning, using the one or more hardware processors, each of the plurality of CEP thread groups to a different processing node of a plurality of processing nodes, each processing node having one or more processors and a memory. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. An apparatus comprising:
-
an event stream processing engine comprising; an affinity analyzer executable by a processor and configured to; obtain information about a plurality of CEP threads; determine nearness among the plurality of CEP threads, wherein determining nearness between a first and a second CEP thread indicates how much interaction is expected to occur between the first and second CEP thread and includes creating a Directed Acyclic Graph (DAG), with each of the plurality of CEP threads assigned a different node in the DAG and edges between nodes representing data dependencies among the threads, and wherein each edge in the DAG is assigned a nearness value, the nearness value between the first and second threads being measured by calculating an actual amount of data transmitted between the first and second threads during a set period; organize the plurality of CEP threads into a plurality of CEP thread groups, based on the determined nearness; and assign each of the plurality of CEP thread groups to a different processing node, each processing node having one or more processors and a memory. - View Dependent Claims (8)
-
-
9. A non-transitory machine-readable storage medium comprising instructions, which when implemented by one or more machines, cause the one or more machines to perform operations for optimizing performance in a complex event stream (CEP) system, the operations comprising:
-
obtaining, using one or more hardware processors, information about a plurality of CEP threads; determining, using the one or more hardware processors, nearness among the plurality of CEP threads, wherein determining nearness between a first and a second CEP thread indicates how much interaction is expected to occur between the first and second CEP thread and includes creating a Directed Acyclic Graph (DAG), with each of the plurality of CEP threads assigned a different node in the DAG and edges between nodes representing data dependencies among the threads, and wherein each edge in the DAG is assigned a nearness value, the nearness value between the first and second threads being measured by calculating an actual amount of data transmitted between the first and second threads during a set period; organizing the plurality of CEP threads into a plurality of CEP thread groups, based on the determined nearness; and assigning, using the one or more hardware processors, each of the plurality of CEP thread groups to a different processing node of a plurality of processing nodes, each processing node having one or more processors and a memory. - View Dependent Claims (10, 11, 12, 13, 14)
-
Specification