Hardware-Assisted Transport Resource Isolation for Fair Connection Throughput
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing network systems face performance unfairness and slowdowns due to slower connections oversubscribing shared hardware resources, leading to potential global pauses and degradation of faster connections.
Innovation Solution
Implementing a hardware-assisted transport layer with dynamic resource limits that individually manage and pause connections based on available resource space, congestion, and type of data transaction to prevent global pauses and ensure fair resource allocation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If multiple connections share hardware resources, then resource utilization increases, but slower connections cause head-of-line blocking that degrades faster connections
Solution Approach 1:
The patent segments the shared hardware resources into connection-specific resource pools, where each connection has its own allocated memory buffers and processing resources. This segmentation prevents slower connections from blocking faster ones by isolating their resource usage, thereby maintaining high resource utilization while preserving individual connection speeds.
Solution Approach 2:
The patent implements local quality by providing different resource allocation strategies for different connections based on their performance characteristics. Faster connections receive priority resource allocation and lower latency processing paths, while slower connections are allocated resources that prevent them from interfering with faster connections, thus optimizing each connection's throughput locally.
2Reliability
If the transport layer initiates a global pause to prevent system crashes, then resource exhaustion is avoided, but performance unfairness increases and faster connections are impeded
Solution Approach 1:
The patent extracts the pause mechanism from a global level to a connection-specific level. Instead of pausing all connections when resources are exhausted, the system individually pauses only the specific connection that is causing resource exhaustion. This maintains system stability while preserving performance fairness by allowing faster connections to continue operating without being impeded by slower ones.
Solution Approach 2:
The patent implements dynamic resource allocation and dynamic pausing decisions at the connection level. The system continuously monitors resource usage per connection and dynamically adjusts which connections are paused based on current resource availability and connection performance characteristics, rather than applying a static global pause policy.
3Productivity
If slower connections consume disproportionate hardware resources, then resource allocation efficiency decreases, but the risk of global pauses increases
Solution Approach 1:
The patent changes the parameter of resource allocation from a shared pool model to a connection-specific allocation model with explicit limits. Each connection is assigned specific resource parameters (memory buffers, processing slots) that are monitored and enforced. This prevents slower connections from consuming disproportionate resources while maintaining efficient overall resource utilization and reducing global pause risk.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
Methods, systems, and apparatus, including computer-readable storage media for resource isolation between connections with shared hardware resources. A network device, such as a network interface card, is configured to determine dynamic resource limits for each connection, and backpressure each connection individually to avoid a global pause when the shared hardware resources are oversubscribed by the current connections. As a result, slower connections may be paused for exceeding resource limits, protecting faster connections from slowing down because resources are shared between both types of connections. Dynamic resource limits can be generated and updated not only per connection, but also based on subsets of the shared hardware resources assigned to different sources of data, as well assigned to different types of transactions communicated over a connection. A hardware-assisted transport layer can be configured to apply dynamic resource limits individually to different connections. from a variety of different upper-layer protocols (ULPs).