Shared-Memory Switch Flow Control via Zone Partitioning
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional flow control procedures in data communication switches lead to inefficient packet storage memory usage and unfairly disadvantage input ports that contribute little to congestion, as they often result in unfair allocation and potential packet dropping due to latency in flow control assertion.
Innovation Solution
Implementing a strategy that virtually partitions packet storage memory into guarantee, shared, and overflow zones, where flow control is asserted based on proportional allocation rules, ensuring fair distribution and adaptive response to traffic conditions by using constants K and L to manage shared zone allocation, and incorporating an overflow zone to handle latency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If conventional flow control assertion procedures are used, then flow control is asserted at input ports, but packet storage memory is used inefficiently and input ports contributing little to congestion are unfairly disadvantaged
Solution Approach 1:
The packet storage memory is segmented into multiple zones (guarantee zone, shared zone, overflow zone) with different allocation rules. Each zone serves a specific purpose: the guarantee zone ensures minimum resources for each port, the shared zone is dynamically allocated based on congestion contribution, and the overflow zone handles latency-induced packet bursts. This segmentation resolves the contradiction by enabling differentiated treatment of input ports based on their actual congestion contribution.
Solution Approach 2:
Different allocation policies are applied to different zones of packet storage memory. The guarantee zone uses static allocation to protect non-congested ports, while the shared zone uses dynamic proportional allocation based on congestion metrics. This local differentiation allows the system to be fair to non-congested ports while efficiently utilizing memory for congested ports.
2Productivity
If conventional flow control procedures are used, then flow control is asserted based on simple thresholds, but this causes inefficient memory usage and potential packet dropping due to latency
Solution Approach 1:
The overflow zone is pre-allocated to handle packets that arrive during flow control assertion latency. This preliminary preparation ensures that packets arriving while flow control is being asserted are not dropped, but instead can be stored in the overflow zone and processed when flow control is deasserted, maintaining packet delivery guarantees while improving memory efficiency.
Solution Approach 2:
The flow control assertion threshold is made dynamic rather than static. The threshold adapts based on current memory utilization, congestion levels, and zone allocations. This dynamic adjustment allows the system to optimize memory utilization efficiency while maintaining reliable packet delivery by responding to changing traffic conditions.
3Reliability
If flow control is asserted aggressively to prevent packet dropping, then packet delivery reliability improves, but memory resources are wasted and non-congested ports are unfairly impacted
Solution Approach 1:
Different protection levels are applied to different zones: the guarantee zone provides baseline protection for all ports, the shared zone provides proportional protection based on congestion, and the overflow zone provides targeted protection only for packets affected by assertion latency. This localized quality differentiation prevents unnecessary memory consumption while ensuring packet delivery reliability where actually needed.
Solution Approach 2:
The problem of packet dropping during latency is extracted and isolated to the overflow zone, rather than requiring aggressive flow control across the entire memory space. By separating the latency-handling function into a dedicated zone, the system can maintain reliability for affected packets without unnecessarily consuming memory resources or impacting non-congested ports.
Data Source
AI summary
In a method of allocating a shared resource among a plurality of competing applicants, a share of the resource allocated to one of the applicants is limited on the basis of a current proportion of the resource allocated to the applicant and a total of respective shares of the resource currently allocated to all of the applicants.


