Path Tracing Probe Analytics With Sink-Node Hardware Binning
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Path tracing solutions face challenges due to headers being too deep in packets for certain ASICs, limiting timestamp access and causing computational bottlenecks in network controllers, which are computationally expensive and result in performance issues.
Innovation Solution
Implement an optimized behavior on source nodes with edit-depth limitations and/or lacking full 64-bit timestamp access by using CPUs and NPUs to record partial timestamps in different headers, and redefine network controller behavior to combine these for full timestamps, along with hardware-based processing at sink nodes to reduce computational load.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If path tracing headers are placed deeper in packets to carry 64-bit timestamps, then timestamp accuracy is improved, but ASIC edit-depth limitations prevent access to these headers
Solution Approach 1:
The 64-bit timestamp is segmented into two 32-bit parts: the upper 32 bits are placed in a header at a shallow depth (within edit-depth limit) while the lower 32 bits are placed in a header at a deeper depth. This segmentation allows the ASIC to access the upper part while the full timestamp is reconstructed later, resolving the contradiction between timestamp accuracy and header accessibility.
Solution Approach 2:
The network controller acts as an intermediary that receives probe packets with partially recorded timestamps, combines the timestamp parts from different headers, and reconstructs the full 64-bit timestamp. This intermediary approach allows the ASIC to work within its edit-depth limitations while achieving accurate timestamping.
2Measurement precision
If network controller processes all probe packets to perform path tracing analytics, then analytics accuracy is improved, but computational cost and processing time increase
Solution Approach 1:
The computationally intensive path tracing analytics processing is extracted from the network controller and relocated to the sink node. The sink node receives probe packets, performs analytics locally using hardware resources, and only sends necessary information back to the network controller, significantly reducing the controller's computational burden while maintaining analytics accuracy.
Solution Approach 2:
The analytics processing functionality is copied to the sink node, which has sufficient computational resources and hardware acceleration capabilities. This copying allows parallel processing of multiple probe packets at the sink node, improving overall throughput while the network controller focuses on coordination and aggregation.
3Measurement precision
If full 64-bit timestamps are recorded in packet headers, then time measurement precision is improved, but header size and packet depth increase
Solution Approach 1:
The 64-bit timestamp is segmented into two 32-bit fields placed in separate packet headers at different depths. This segmentation achieves the required time measurement precision while minimizing the impact on individual header sizes and packet structure, as each header only contains a portion of the timestamp rather than the full 64 bits.
Data Source
AI summary
Techniques for processing path tracing probe packets using hardware (e.g., hardware memory of a node) and without the involvement of a path tracing collector component of a network controller. A source node may be configured to generate and assign random flow labels to a large number of probe packets and send them through the network to a sink node. The sink node may determine whether a flow indicated by the probe packet has previously been traversed. Additionally, the sink node may determine latency values associated with the flows, and store probe packets in corresponding latency bins. The latency bins may be stored in hardware memory of the sink node. Telemetry data representing the probe packets stored in the latency bins may be sent to a network controller for further network analysis.


