DOCSIS Batch Packet Filtering Using a Single ACL Lookup
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional DOCSIS filter processing techniques divide data packets into multiple Access Control Lists (ACLs) per filter group, failing to leverage the full potential of wide CPU instructions like Intel AVX-512, leading to sub-optimal performance and increased CPU cycles.
Innovation Solution
Implementing a single ACL for DOCSIS filter processing of a batch of data packets by including the filter group ID in each rule and packet, allowing a single ACL look-up for the entire batch, thereby optimizing CPU utilization and reducing cycle count.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If data packets are divided into multiple ACLs per filter group, then false matches are avoided, but CPU cycles increase and performance deteriorates
Solution Approach 1:
The patent merges multiple ACL lookups into a single ACL lookup by consolidating filter rules from multiple filter groups into one unified ACL structure. This is achieved by modifying the ACL data structure to include filter group identifiers and organizing rules hierarchically, allowing the system to process batches of packets through a single ACL lookup operation while maintaining the ability to distinguish between different filter group requirements.
Solution Approach 2:
The patent introduces a new dimension to the ACL structure by incorporating filter group IDs as an additional layer of organization within the ACL rules. This dimensional extension allows the system to maintain multiple filter group contexts within a single ACL lookup operation, enabling batch processing without sacrificing the ability to enforce filter group-specific rules and avoid false matches.
2Measurement precision
If multiple ACL lookups are performed per filter group, then filtering precision is maintained, but CPU utilization increases
Solution Approach 1:
The patent combines multiple sequential ACL lookup operations into a single lookup operation by restructuring the ACL to accommodate multiple filter groups. The unified ACL structure allows the CPU to perform one lookup operation that simultaneously evaluates rules from multiple filter groups, thereby reducing CPU energy consumption while preserving filter matching accuracy through the inclusion of filter group identifiers in the lookup process.
Solution Approach 2:
The patent creates a unified ACL structure that copies and integrates rules from multiple filter groups into a single data structure. This unified ACL copy maintains the integrity of individual filter group rules while enabling batch processing, allowing the system to achieve energy-efficient single-lookup processing without sacrificing the precision of individual filter group matching.
3Reliability
If batches are divided for ACL lookups, then false matches are prevented, but cycle count increases
Solution Approach 1:
The patent merges the processing of multiple batches into a single ACL lookup operation by organizing filter rules in a unified structure that accommodates batch processing. The unified ACL allows the system to process entire batches of packets in one lookup operation while maintaining match accuracy through filter group identifier inclusion, thereby eliminating the time loss associated with multiple sequential lookups.
Solution Approach 2:
The patent enables continuous processing of packet batches through a single ACL lookup operation, eliminating the interruptions and overhead associated with multiple sequential lookups. The unified ACL structure maintains continuous filtering accuracy across entire batches by incorporating filter group identifiers, allowing the system to process packets continuously without the time penalties of batch division and multiple lookup operations.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
The present disclosure provides mechanisms to optimize filter processing. Conventional filter processing techniques involve dividing a batch of received data packets into multiple Access Control Lists (ACLs) per filter group, and thus, cannot leverage of optimal ACL processing of large packet batches using the latest processor instruction sets such as 512 bit wide instructions. The filter processing techniques discussed in the present disclosure, some or all rules for a batch of packets are included in a single ACL look-up by including a filter group identifier (ID) in each rule, and also adding the filter group ID to a field of the packet undergoing the ACL look-up. This avoids false matches while also employing a single ACL look-up for an entire batch of packets, regardless of batch-size. The filter processing techniques can be applied to DOCSIS packet processing pipelines and/or other filtering mechanisms.