Packet Segment Size Determination for Fabric Link Optimization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Networks experience congestion and inefficient bandwidth utilization due to imbalanced link usage and delays caused by reordering and reassembling packets into fixed-sized cells, which leads to underutilization and reassembly complexities.
Innovation Solution
A system determines the optimal segment size for packets based on the memory block size of the destination port, generating segments that are either equal to or a multiple of the memory block size, thereby simplifying reordering and reassembly, and reducing delays by evenly distributing segments across available fabric links.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If packets are broken into fixed-sized cells for transmission, then network routing and switching can be simplified, but reordering and reassembling delays increase and link utilization becomes inefficient
Solution Approach 1:
The patent segments packets into variable-sized segments rather than fixed-sized cells, allowing segments to be multiples of memory block sizes. This segmentation approach maintains the benefits of divided transmission while reducing reassembly complexity and delays, as segments align with memory boundaries for more efficient processing.
Solution Approach 2:
The patent introduces dynamic segment size determination based on memory block sizes and transmission conditions. Instead of fixed cell sizes, the system dynamically adjusts segment sizes to optimize for both transmission efficiency and memory alignment, reducing the trade-off between routing simplicity and reassembly speed.
2Loss of time
If packets are transmitted as single large units, then reassembly operations are minimized, but fabric link utilization becomes imbalanced and congestion occurs
Solution Approach 1:
The patent divides packets into multiple variable-sized segments that are multiples of memory block sizes. This segmentation enables better distribution across fabric links, improving load balancing and utilization while maintaining efficient reassembly at the destination through aligned memory operations.
Solution Approach 2:
The patent changes the parameter of data unit size from fixed cells to variable segments with specific constraints (multiples of memory block sizes). This parameter change allows optimization of both link utilization and reassembly efficiency by adapting segment sizes to transmission conditions and memory architecture.
3Productivity
If variable-sized segments are used instead of fixed-sized cells, then link utilization improves and reassembly is simplified, but determination and distribution complexity increases
Solution Approach 1:
The patent applies parameter changes by constraining segment sizes to be multiples of memory block sizes. This constraint simplifies the variable-size segmentation problem by providing a regular pattern that aligns with memory architecture, reducing the complexity of determination and distribution while maintaining high link utilization.
Solution Approach 2:
The patent introduces memory block size as an intermediary parameter that mediates between packet segmentation and memory storage. This intermediary provides a natural alignment point that simplifies both the segmentation process and the subsequent reassembly operations, reducing overall system complexity.
4Loss of time
If segments are aligned with memory block sizes, then reassembly efficiency improves and delays are reduced, but flexibility in segment size selection decreases
Solution Approach 1:
The patent changes the segment size parameter to be constrained by memory block sizes rather than using arbitrary fixed cell sizes. This parameter change provides regular intervals for segment sizes, which improves reassembly efficiency through aligned memory operations while maintaining sufficient flexibility to adapt to different packet sizes and transmission conditions.
Data Source
AI summary
Example implementations relate to segment size determination. In an example, the system may include a processing resource and a memory resource storing machine-readable instructions to cause the processing resource to determine a quantity of segments to be generated from a packet, and alter, in response to the determined quantity of segments and a memory block size of a destination port, a segment size for each of the quantity of segments.


