NIC File-System Caching for Low-Latency Storage Transfers
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data transfer methods over networks, such as RDMA, incur delays due to the need for the host's CPU to handle file-system operations and memory address pointers, which limits high-performance computing applications.
Innovation Solution
A network interface card (NIC) caches file-system internal structures on its memory, enabling the processing circuitry to perform data transfers directly with non-volatile storage devices without involving the host's CPU, using new Send Work Request (SWR) opcodes to facilitate low-latency, high-performance operations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If the host's CPU handles file-system operations and memory address pointers for data transfer, then data transfer can be performed using existing RDMA methods, but latency increases and CPU efficiency decreases
Solution Approach 1:
The patent extracts file-system operations and memory address pointer handling from the host CPU and relocates them to the NIC. The NIC maintains cached file-system internal structures and uses processing circuitry to execute file-system operations directly, eliminating the need for CPU involvement in data transfer operations and thereby reducing latency while improving CPU efficiency
Solution Approach 2:
The NIC acts as an intermediary between the network and the storage device, maintaining cached file-system internal structures in its own memory. This intermediary capability allows the NIC to handle file-system operations independently without requiring CPU intervention, thus reducing transfer latency and freeing the CPU for other tasks
2Speed
If the NIC caches file-system internal structures and performs data transfers independently, then latency is reduced and CPU efficiency improves, but device complexity increases
Solution Approach 1:
The patent merges file-system processing capabilities directly into the NIC by integrating processing circuitry that can execute file-system operations using cached internal structures. This combination of network interface functionality with file-system processing in a single device enables independent data transfer operations, improving speed while the integrated design manages complexity within the NIC itself
Data Source
Figure 1
Figure 2
Figure 3
AI summary
There is provided a network interface card for data transfer between a host and a node. File-system internal structures of the host, used for management of data stored on a non-volatile data storage device of the host, are cached on a memory of the NIC of the host. A packet(s) is received from the node. A request is extracted from the packet. The request includes an operation command for performing operations on data stored on the non-volatile data storage device of the host defined by the file-system. The request is executed by processing circuitry of the NIC according to the file-system internal structures which are stored in the memory of the NIC. The request is executed by the processing circuitry of the NIC, without necessarily being processed by a central processing unit of the host. A processor of the node generates the packet with the request.