Systems and methods for scalable N-core stats aggregation
First Claim
1. A method comprising:
- (a) maintaining, in shared memory of a multi-core system intermediary between one or more clients and servers, a global device number for each core of the multi-core system, each core comprising one or more packet engines processing network traffic between the one or more clients and servers;
(b) executing, by an aggregator of the multi-core system, a computing thread for each core of the multi-core system;
(c) collecting, by a first computing thread of the aggregator, first statistics of network traffic processed by one or more packet engines on a first core and collecting, by a second computing thread of the aggregator, second statistics of network traffic processed by one or more packet engines on a second core; and
(d) maintaining, by the multi-core system, a statistics log for two or more cores of the multi-core system, including at least the first core and the second core, transferring, by the first computing thread, the first statistics with a marker to the statistics log, the marker corresponding to a global device number of the first core.
8 Assignments
0 Petitions
Accused Products
Abstract
The present invention is directed towards systems and methods for aggregating and providing statistics from cores of a multi-core system intermediary between one or more clients and servers. The system may maintain in shared memory a global device number for each core of the multi-core system. The system may provide a thread for each core of the multi-core system to gather data from the corresponding core. A first thread may generate aggregated statistics from a corresponding core by parsing the gathered data from the corresponding core. The first thread may transfer the generated statistics to a statistics log according to a schedule. The system may adaptively reschedule the transfer by monitoring the operation of each computing thread. Responsive to a request from a client, an agent of the client may obtain statistics from the statistics log.
-
Citations
20 Claims
-
1. A method comprising:
-
(a) maintaining, in shared memory of a multi-core system intermediary between one or more clients and servers, a global device number for each core of the multi-core system, each core comprising one or more packet engines processing network traffic between the one or more clients and servers; (b) executing, by an aggregator of the multi-core system, a computing thread for each core of the multi-core system; (c) collecting, by a first computing thread of the aggregator, first statistics of network traffic processed by one or more packet engines on a first core and collecting, by a second computing thread of the aggregator, second statistics of network traffic processed by one or more packet engines on a second core; and (d) maintaining, by the multi-core system, a statistics log for two or more cores of the multi-core system, including at least the first core and the second core, transferring, by the first computing thread, the first statistics with a marker to the statistics log, the marker corresponding to a global device number of the first core. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A system comprising:
-
an intermediary device intermediary between one or more clients and servers; shared memory between multiple cores of the intermediary device, the shared memory maintaining a global device number for each of the multiple cores, each core comprising one or more packet engines processing network traffic between the one or more clients and servers; and an aggregator of the intermediary device, executing a computing thread for each of the multiple cores, comprising at least a first computing thread collecting first statistics of network traffic processed by one or more packet engines on a first core and a second computing thread collecting second statistics of network traffic processed by one or more packet engines on a second core, and transferring the first statistics with a marker to a statistics log of the multi-core intermediary device, the marker corresponding to a global device number of the first core, the statistics log maintained for two or more cores of the multi-core intermediary device, including at least the first core and the second core. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
Specification