DPU Policer Synchronization Using Thresholded Pipeline Counters
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In a data processing unit (DPU) with multiple pipelines, determining if an entity has exceeded its assigned rate limit is challenging when traffic is distributed across different pipelines, as the policer logic must account for traffic across all pipelines to enforce rate limits accurately.
Innovation Solution
Implementing synchronization counters in each pipeline to maintain policing entries, allowing each pipeline to update its local policing entries and synchronize with other pipelines when a threshold is reached, providing a decentralized system that avoids reliance on a central synchronizer and reduces bandwidth usage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a central synchronizer is used to maintain policing entries across multiple pipelines, then rate limit enforcement accuracy is improved, but system complexity and bandwidth usage increase
Solution Approach 1:
The patent divides the centralized policing entry storage into distributed policing entries across multiple pipelines. Each pipeline maintains its own policing entries locally rather than relying on a central synchronizer, which segments the system to reduce complexity while maintaining enforcement accuracy through local decision-making capabilities.
Solution Approach 2:
Each pipeline is equipped with local policing entries that contain the specific rate limit information needed for local packet processing decisions. This local quality approach allows each pipeline to independently enforce rate limits without requiring continuous communication with a central synchronizer, reducing bandwidth usage and system complexity.
2Reliability
If a central synchronizer is used to synchronize policing entries across pipelines, then rate limit enforcement accuracy is improved, but bandwidth usage increases
Solution Approach 1:
Policing entries are pre-distributed to each pipeline before packet processing begins. Each pipeline has the necessary rate limit information available locally in advance, eliminating the need for continuous synchronization traffic and reducing bandwidth usage while maintaining enforcement accuracy.
Solution Approach 2:
The patent extracts the synchronization function from the system by allowing each pipeline to maintain independent policing entries with embedded rate limit information. This removes the need for ongoing communication with a central synchronizer, significantly reducing bandwidth consumption while preserving rate limit enforcement accuracy.
3Device complexity
If each pipeline maintains independent policing entries without synchronization, then system complexity is reduced, but rate limit enforcement accuracy deteriorates
Solution Approach 1:
Each pipeline maintains a copy of the relevant policing entry information locally. Rather than having one centralized copy that requires synchronization, each pipeline has its own copy with the rate limit parameters needed to make independent enforcement decisions, ensuring accuracy without complex synchronization mechanisms.
4Stability of the object's composition
If centralized synchronization is implemented, then policing entry consistency across pipelines is improved, but processing speed decreases
Solution Approach 1:
Each pipeline serves itself by maintaining local policing entries with all necessary rate limit information. The pipelines make autonomous enforcement decisions without waiting for synchronization from a central authority, eliminating synchronization delays and maintaining high processing speed while ensuring consistent rate limit enforcement across all pipelines.
Data Source
AI summary
Embodiments herein describe synchronizing policing entries for multiple pipelines using synchronization counters. That is, memories for each of the pipelines can store policing entries which determine whether a packet for a particular entity (e.g., a flow, a VM, or host) has exceeded a data or packet rate. If the packet is allowed (the rate is not exceeded), the policing entry at the local pipeline is updated. However, the policing entries for the other pipelines are not aware of this update. In one embodiment, in addition to maintaining policing entries, the pipelines also update synchronization (sync) counters which are updated when the policing entries are updated. When a synch counter reaches a threshold, a sync event is triggered where the value of the synch counter is used to update the values of the policing entries in the other pipelines in the DPU.


