Infiniband Host Channel Adapter Hardware Linked List Queue
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Infiniband network nodes face challenges in efficiently managing and processing multiple data units across linked lists, particularly in ensuring data units are stored and transmitted in the correct order while allowing flexibility in processing order across different linked lists.
Innovation Solution
A hardware linked list queue is implemented on a communications adapter that dynamically manages multiple linked lists, allocating new lists as needed and ensuring data units are stored and transmitted based on their index values, allowing for individual management of each linked list and flexible processing order.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If a single queue is used to store all data units, then the queue structure is simple, but data units from different linked lists cannot be processed independently and order is lost
Solution Approach 1:
The patent divides a single queue into multiple independent linked lists, where each linked list stores data units for a specific queue pair. This segmentation allows data units from different queue pairs to be processed independently while maintaining their respective order, resolving the contradiction between queue simplicity and data processing order reliability.
2Productivity
If multiple linked lists are implemented to manage different queue pairs, then data units can be processed independently and in-order within each list, but the hardware complexity increases
Solution Approach 1:
The patent merges multiple linked lists into a single hardware linked list queue structure, where different queue pairs share the same physical hardware resources. This combining approach enables independent processing of data units from different queue pairs while avoiding the complexity of implementing separate hardware queues for each queue pair, thus improving productivity without proportionally increasing hardware complexity.
3Adaptability or versatility
If data units are stored in a fixed queue structure, then the storage structure is simple, but the system cannot handle dynamic allocation and multiple queue pairs efficiently
Solution Approach 1:
The patent implements a dynamic queue structure where linked lists can be created, destroyed, and modified at runtime based on the number and requirements of queue pairs. This dynamic approach allows the system to adapt to varying numbers of queue pairs and data unit sizes without requiring a fixed, complex storage structure, thereby improving adaptability while managing hardware complexity through software-controlled allocation.
Data Source
AI summary
A method for temporary storage of data units including receiving a first data unit to store in a hardware linked list queue on a communications adapter, reading a first index value from the first data unit, determining that the first index value does match an existing index value of a first linked list, and storing the first data unit in the hardware linked list queue as a member of the first linked list. The method further includes receiving a second data unit, reading a second index value from the second data unit, determining that the second index value does not match any existing index value, allocating space in the hardware linked list queue for a second linked list, and storing the second data unit in the second linked list.


