Shared Buffer Allocation for Virtual Links in High-Rate Communication
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing communication networks face challenges in efficiently managing and configuring buffers for multiple virtual links over a single physical link, particularly in high-rate long-haul links, where the required buffer size increases significantly, limiting the number of virtual links that can be supported without compromising memory usage.
Innovation Solution
The implementation of a system that allocates a shared buffer and dedicated buffers for each virtual link, with credit-based flow control, allowing the sender node to decide whether to buffer packets in the shared or dedicated buffer based on available space, and signaling this decision to the receiver node, thereby optimizing buffer usage and supporting a large number of virtual links over long-haul links.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If dedicated buffers are allocated for each virtual link, then buffer management is simplified and reliability is improved, but memory usage increases significantly
Solution Approach 1:
The buffer memory is segmented into multiple regions, with each region associated with a specific virtual link. This allows the system to maintain dedicated buffer regions for reliability while sharing the overall memory structure, thus reducing total memory usage compared to fully dedicated buffers for each virtual link.
Solution Approach 2:
The buffer regions are designed to be multi-functional, where each region can serve its associated virtual link while also being part of a shared memory structure that can be dynamically allocated. This universal design allows the same memory infrastructure to support multiple virtual links efficiently.
2Quantity of substance
If a shared buffer is used for multiple virtual links, then memory usage is reduced, but buffer management complexity increases
Solution Approach 1:
The buffer allocation is made dynamic rather than static. The buffer manager can dynamically allocate and deallocate buffer regions to different virtual links based on current traffic demands and link states. This dynamic approach simplifies management by allowing the system to adapt automatically rather than requiring complex static configuration for all possible scenarios.
Solution Approach 2:
The system implements feedback mechanisms where buffer usage statistics and link performance metrics are continuously monitored. This feedback information is used by the buffer manager to make intelligent allocation decisions, automatically adjusting buffer distribution to optimize performance without requiring manual intervention or complex predefined rules.
3Adaptability or versatility
If buffer size is increased to support more virtual links over long-haul links, then communication capability is improved, but device cost and complexity increase
Solution Approach 1:
Instead of increasing buffer size in a single dimension (more memory), the system introduces a new dimension of virtualization by creating multiple buffer regions that can be logically divided and assigned to different virtual links. This dimensional approach allows the same physical memory to support more virtual links through logical partitioning rather than physical expansion.
Solution Approach 2:
The system changes key parameters such as buffer region size, allocation policies, and association rules to optimize performance for different numbers and types of virtual links. By adjusting these parameters dynamically, the system can adapt to various configurations without requiring fundamentally different hardware designs or complex fixed architectures.
Data Source
AI summary
A method for communication includes, in a sender node that sends packets to a receiver node over a physical link, making a decision, for a packet that is associated with a respective virtual link selected from among multiple virtual links, whether the receiver node is to buffer the packet in a dedicated buffer assigned to the respective virtual link or in a shared buffer that is shared among the multiple virtual links. The packet is sent, and the decision is signaled, from the sender node to the receiver node.


