SoC Fabric Timed Pacing Circuitry for Congestion Avoidance
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
System on chips (SoCs) face performance degradation due to congestion in data transfer between cores and accelerators, leading to poor application performance and increased power consumption, as existing fabrics lack effective quality of service (QoS) management and ingress traffic scheduling.
Innovation Solution
The implementation of timed pacing circuitry within the SoC fabric to regulate the ingress packet rate based on QoS requirements, utilizing telemetry data to dynamically adjust the pacing of packets and prevent congestion, thereby prioritizing higher QoS packets and reducing the likelihood of packet drops.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If resources are over-provisioned to avoid congestion, then reliability is improved, but use of energy increases and device complexity increases
Solution Approach 1:
The patent implements dynamic resource allocation where the fabric bandwidth and resource provisioning are adjusted in real-time based on actual traffic conditions and QoS requirements. Instead of static over-provisioning, the system dynamically scales resources to match demand, ensuring reliability when needed while reducing power consumption during normal operation.
Solution Approach 2:
The system changes operational parameters (bandwidth allocation, pacing rates, QoS thresholds) based on traffic conditions. By monitoring fabric utilization and adjusting pacing circuitry parameters dynamically, the system maintains reliability under congestion while avoiding the constant high-power state required by traditional over-provisioning approaches.
2Reliability
If resources are over-provisioned to avoid congestion, then reliability is improved, but device complexity increases
Solution Approach 1:
The patent segments traffic into different QoS classes and handles each class with appropriate pacing and priority levels. This segmentation allows the fabric to manage congestion selectively for critical traffic without requiring complex global control mechanisms, simplifying the overall fabric design while maintaining reliability.
Solution Approach 2:
The pacing circuitry acts as an intermediary between packet sources and the fabric, regulating traffic before it enters the fabric. This intermediary layer prevents congestion from propagating through the fabric, reducing the need for complex internal fabric mechanisms and simplifying the overall system while maintaining reliability.
3Productivity
If ingress packet rate is increased to improve productivity, then productivity is improved, but reliability worsens due to congestion and packet drops
Solution Approach 1:
The pacing circuitry introduces periodic regulation of packet ingress into the fabric, controlling the rate at which packets are admitted based on QoS requirements and fabric capacity. This periodic pacing ensures high productivity by maintaining steady data flow while preventing congestion that would cause packet drops, thus preserving reliability.
Solution Approach 2:
The system implements feedback mechanisms where the pacing circuitry monitors fabric utilization and packet delivery status, adjusting the ingress rate dynamically. This feedback loop allows the system to maintain high productivity by optimizing data flow while preventing congestion, ensuring reliable packet delivery even at high rates.
4Reliability
If QoS management is implemented to improve reliability, then reliability is improved, but device complexity increases
Solution Approach 1:
The patent applies different QoS handling and pacing strategies to different traffic classes locally, rather than implementing a single complex global QoS mechanism. Each QoS class receives appropriate attention and resource allocation where needed, simplifying the overall control logic while ensuring reliable service differentiation.
Data Source
AI summary
Examples described herein relate to a system within a package. In some examples, the system includes a communication fabric and circuitry to adjust a packet throughput rate associated with the communication fabric based at least in part on incoming receive rate across multiple input ports and fabric usage. In some examples, the communication fabric is to communicatively couple devices in the package including one or more of: an accelerator, a processor, a memory, or a network interface device.


