Target-Aware Remote Storage Initiators to Prevent Namespace HOLB
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Remote storage systems face issues such as head of line blocking (HOLB) and resource wastage due to target namespace (NS) throttling, where some NSs are fast while others are slow, leading to inefficiencies in data transmission.
Innovation Solution
An initiator in the remote storage system that includes a submission queue, retry queue, request tracker, and packet creator, which tracks outstanding requests and moves requests to the retry queue when the target cannot handle more, preventing HOLB and resource wastage by prioritizing requests based on target awareness.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If the initiator transmits R/W requests to remote targets without tracking outstanding requests, then the data transmission rate can be maximized, but head of line blocking (HOLB) and resource wastage occur when targets cannot handle more requests
Solution Approach 1:
The initiator implements a request tracker that monitors the number of outstanding requests at each remote target namespace. This feedback mechanism allows the initiator to detect when a target cannot handle more requests and adjust its transmission behavior accordingly, preventing resource wastage while maintaining high data transmission rates.
Solution Approach 2:
Before transmitting an R/W request, the initiator checks the request tracker to determine whether the target namespace can currently handle more requests. This preliminary action prevents sending requests that would be rejected or cause HOLB, thereby avoiding resource wastage while maintaining optimal transmission throughput.
2Productivity
If the initiator sends requests to both fast and slow NSs simultaneously, then resource utilization is maximized, but HOLB occurs when slow NSs cannot process requests quickly enough
Solution Approach 1:
The initiator dynamically adjusts its request transmission strategy based on real-time tracking of outstanding requests at each namespace. When a slow NS accumulates too many outstanding requests, the initiator automatically reduces or pauses transmissions to that NS, preventing HOLB delays while continuing to maximize resource utilization by sending requests to fast NSs that can handle them.
3Ease of operation
If the initiator creates packets for all R/W requests in the SQ, then request processing is simplified, but token wastage occurs when targets cannot handle the requests
Solution Approach 1:
The initiator performs a preliminary check using the request tracker before creating packets for R/W requests. This preliminary action determines whether the target namespace can currently handle more requests, allowing the initiator to avoid creating packets that would result in token wastage, thereby balancing operational simplicity with resource efficiency.
Data Source
AI summary
Embodiments herein describe an initiator in a remote storage system (e.g., a NIC) that is aware of congestion at the target. In one example, the initiator tracks the number of outstanding requests at a target (e.g., for each namespace). If the target queue is full (i.e., the target cannot handle any more requests), the initiator can move the request from a submission queue (SQ) to a retry queue. Removing the request from the SQ permits the initiator to determine whether the next request in the SQ can be transmitted to its target (e.g., prevents HOLB and also mitigates resource wastage from creating and sending a packet to a full target queue where it will be dropped).


