Packing Arbiter Link Layer Data Packing Scheme
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current computing systems face inefficiencies in data transfer between processing nodes due to limited bandwidth and data corruption issues, particularly when communicating between dies and nodes, caused by mismatched data rates and inefficient packet combination.
Innovation Solution
The implementation of a packet transmitter with multiple queues and a packing arbiter that selects and combines packets based on attributes like priority, quality-of-service, and available storage space, ensuring efficient data transfer by avoiding data collisions and optimizing link packet utilization.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If packets of varying types from different sources are combined together along with control information, then the communication fabric can transmit data, but link bandwidth efficiency is reduced due to inefficient packet combination
Solution Approach 1:
The invention segments packets into different types (data packets, control packets, coherency probes) and handles them through separate queues and processing paths. The packing arbiter selectively packs only relevant packet types into link packets, avoiding unnecessary control information and improving bandwidth efficiency by transmitting only essential data.
Solution Approach 2:
Different packet types receive different treatment based on their local characteristics. The system identifies packet types at the source and applies appropriate packing strategies - data packets are packed efficiently, control packets are minimized, and coherency probes are handled separately. This localized optimization improves overall link bandwidth efficiency.
2Speed
If the transmitter sends packets at a high rate, then data transfer speed increases, but data collision occurs at the receiver reducing reliability
Solution Approach 1:
The packing arbiter performs preliminary actions by packing multiple packets into link packets before transmission. This allows the receiver to receive multiple packets in advance and process them before the transmitter sends the next batch, effectively decoupling transmission rate from reception rate and preventing data collision while maintaining high throughput.
Solution Approach 2:
The system maintains continuous useful action by keeping the transmitter busy packing packets while the receiver processes received packets. The receiver's available space is continuously monitored and utilized, ensuring that packet reception and processing occur continuously without idle gaps or collisions, thus maintaining both speed and reliability.
3Reliability
If conservative packet sending rate is used to prevent data collision, then data reliability is maintained, but link bandwidth efficiency is further reduced
Solution Approach 1:
The packing arbiter uses feedback from the receiver about available space and packet reception status to dynamically adjust the packing strategy. This feedback mechanism allows the transmitter to send packets at optimal rates without causing collisions, simultaneously improving reliability and bandwidth efficiency by avoiding both underutilization and overloading.
Solution Approach 2:
The system dynamically adjusts packet sending rates based on real-time receiver conditions. The packing arbiter monitors receiver buffer status and available space, changing transmission parameters on the fly to match actual receiver capabilities. This dynamic adaptation allows high bandwidth efficiency while preventing data collision through flexible rate adjustment.
4Ease of operation
If multiple queues are used to store packets of different types, then packet management improves, but device complexity increases
Solution Approach 1:
The packing arbiter serves multiple functions within a single component: it selects packets from different queues, determines packet types, decides packing strategies, and coordinates with the receiver. This multi-functionality reduces overall system complexity by consolidating what would otherwise require separate management units into a single intelligent arbiter.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
Systems, apparatuses, and methods for performing efficient data transfer in a computing system are disclosed. A computing system includes multiple fabric interfaces in clients and a fabric. A packet transmitter in the fabric interface includes multiple queues, each for storing packets of a respective type. The packet transmitter includes multiple queue arbiters, each for selecting a candidate packet from a respective one of the multiple queues. The packet transmitter includes a buffer for storing a link packet, which includes data storage space for storing multiple candidate packets. The packet transmitter selects qualified candidate packets from the multiple queues and inserts these candidate packets into the link packet. The packing arbiter avoids data collisions at the receiver by taking into consideration mismatches between the rate of inserting candidate packets into the link packet and the rate of creating available data storage space in a receiving queue in the receiver.