Multi-Core Statistics Aggregation via Intermediary Mediator

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional network systems face challenges in efficiently aggregating and consolidating performance statistics from multiple cores of a multi-core network appliance, leading to fragmented data management and reduced visibility into network performance.

Innovation Solution

A system and method that maintain a global device number for each core in shared memory, with an aggregator thread collecting and consolidating statistics from each core, and adaptively scheduling transfers to provide unified performance and trace data, mimicking a single-core system.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple cores process network traffic streams in parallel, then processing capacity and throughput are improved, but data fragmentation and aggregation complexity increase

Engineering Contradiction:
Improvenetwork traffic processing capacityVSAvoiddata aggregation complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces an aggregator as an intermediary component that receives performance data from multiple packet engines across different cores. The aggregator consolidates fragmented data into unified performance records, simplifying the aggregation process while maintaining parallel processing capabilities. This mediator approach resolves the contradiction by adding a coordination layer that manages data flow without reducing core processing capacity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system segments the multi-core processing into independent packet engines, each handling specific network traffic streams. Each packet engine maintains local performance data independently, allowing parallel processing to continue while the aggregator collects and consolidates these segmented data pieces. This segmentation enables scalability without proportionally increasing aggregation complexity.

Inventive Principle:
Principle #1Segmentation

2Measurement precision

If performance data is collected from each core individually, then data granularity and detail are improved, but data consolidation time and overhead increase

Engineering Contradiction:
Improveperformance data granularityVSAvoiddata consolidation time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

Packet engines perform preliminary data collection and formatting locally before transferring to the aggregator. Each packet engine maintains performance data in a standardized structure in advance, so the aggregator receives pre-processed data ready for consolidation. This preliminary action reduces the aggregator's workload and consolidation time while preserving detailed performance metrics.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements continuous performance data collection from all packet engines simultaneously, rather than sequential collection. Multiple cores continue processing and generating performance data in parallel while the aggregator continuously consolidates incoming data streams. This continuous parallel operation maintains high measurement granularity without significant consolidation delays.

Inventive Principle:
Principle #20Continuity of useful action

3Stability of the object's composition

If unified performance data is provided for the entire appliance, then data consistency and visibility are improved, but individual core performance tracking may be reduced

Engineering Contradiction:
Improveperformance data consistencyVSAvoidindividual core performance details
Core Design Contradiction:
Stability of the object's compositionVSLoss of information

Solution Approach 1:

The aggregator merges performance data from multiple packet engines into unified performance records that represent the entire appliance's performance. This merging maintains data consistency across the system while preserving individual core contributions through structured data fields that track source identification. The unified view is achieved without losing individual core performance information.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The performance data structure implements a nested organization where individual packet engine performance records are nested within overall appliance performance records. Each packet engine's detailed metrics are preserved as nested elements within the unified data structure, allowing both granular and aggregate views of performance data to coexist consistently.

Inventive Principle:
Principle #7Nested doll (Nesting)

Data Source

PatentEP2659620B1Systems and methods for scalable n-core statistics aggregation
Publication Date: 2018.10.17 CITRIX SYSTEMS INC
  • EP2659620B1 patent drawingFigure 1A
  • EP2659620B1 patent drawingFigure 1B
  • EP2659620B1 patent drawingFigure 1C

AI summary

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.