Dynamic Link Compression for High-Speed Interconnects
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
High-speed interconnects in systems like processors and multi-processor systems face bandwidth bottlenecks due to data transfer rates exceeding the capabilities of IO or socket-to-socket interconnects, leading to reduced system performance as buffers and queues become filled.
Innovation Solution
Implementing dynamic low-latency link compression schemes that selectively compress packets based on queue depth, using multiple compression levels and supporting both packet and pointer-based transmission to optimize throughput without significantly increasing latency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If transmit and receive buffers and queues are used to address bandwidth requirements, then system performance is maintained, but interconnect links become bottlenecks when buffers are filled, reducing throughput
Solution Approach 1:
The patent dynamically changes the compression parameter based on queue depth conditions. When the transmit queue depth exceeds a threshold, compression is activated to reduce data volume and prevent buffer overflow. This parameter change allows the system to adapt to varying load conditions, maintaining throughput while managing latency by only compressing when necessary.
Solution Approach 2:
The system implements dynamic selection between compressed and uncompressed transmission modes based on real-time queue depth monitoring. This dynamic approach allows the interconnect to switch transmission strategies adaptively, optimizing throughput under high-load conditions while avoiding unnecessary compression overhead during low-load periods, thus balancing throughput and latency requirements.
2Productivity
If compression is applied to increase throughput, then bandwidth utilization improves, but additional processing time increases latency
Solution Approach 1:
The patent applies compression selectively rather than universally - only to packets in the transmit queue when depth exceeds a threshold. This partial action approach compresses only the necessary portion of data traffic, achieving throughput improvement where needed while avoiding the excessive latency that would result from compressing all traffic regardless of conditions.
Solution Approach 2:
The system performs preliminary compression of packets before they are transmitted over the interconnect. By compressing data in advance while it resides in the transmit queue, the system prepares reduced-size data for transmission, preventing the need for larger buffer allocations and reducing the risk of buffer overflow, thereby improving throughput without adding transmission-time latency.
3Reliability
If buffers are increased to prevent overflow, then system performance is maintained, but interconnect links become bottlenecks, reducing overall bandwidth utilization
Solution Approach 1:
The patent changes the data volume parameter by applying compression when queue depth indicates high utilization. This reduces the effective buffer requirements while maintaining the ability to handle high traffic loads, preventing buffer overflow without needing excessively large buffers that would indicate bottleneck conditions and reduce overall bandwidth utilization efficiency.
Data Source
AI summary
Methods and apparatus for low-latency link compression schemes. Under the schemes, selected packets or messages are dynamically selected for compression in view of current transmit queue levels. The latency incurred during compression and decompression is not added to the data-path, but sits on the side of the transmit queue. The system monitors the queue depth and, accordingly, initiates compression jobs based on the depth. Different compression levels may be dynamically selected and used based on queue depth. Under various schemes, either packets or messages are enqueued in the transmit queue or pointers to such packets and messages are enqueued. Additionally, packets/message may be compressed prior to being enqueued, or after being enqueued, wherein an original uncompressed packet is replaced with a compressed packet. Compressed and uncompressed packets may be stored in queues or buffers and transmitted using a different numbers of transmit cycles based on their compression ratios. The schemes may be implemented to improve the effective bandwidth of various types of links, including serial links, bus-type links, and socket-to-socket links in multi-socket systems.


