US11151686B2ActiveUtilityA1
GPU based server in a distributed file system
Est. expiryJun 19, 2038(~11.9 yrs left)· nominal 20-yr term from priority
G06F 16/188G06F 16/1847G06F 16/182G06F 16/13G06F 11/108G06F 11/1076G06T 1/60G06F 2211/1028G06T 1/20G06F 11/004G06F 13/4221G06F 2213/0026
94
PatentIndex Score
2
Cited by
20
References
20
Claims
Abstract
A plurality of computing devices are communicatively coupled to each other via a network, and each of the plurality of computing devices is operably coupled to one or more of a plurality of storage devices. A plurality of failure resilient stripes is distributed across the plurality of storage devices such that each of the plurality of failure resilient stripes spans a plurality of the storage devices. A graphics processing unit is operable to access data files from the failure resilient stripes, while bypassing a kernel page cache. Furthermore, these data files may be accessed in parallel by the graphics processing unit.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1. A system, the system comprising:
a central processing unit (CPU);
a CPU memory running an operating system (OS) of the CPU;
an accelerator operably coupled to the CPU via a bus;
an accelerator memory operably coupled to the accelerator; and
a plurality of storage devices operably coupled to the CPU, wherein:
the plurality of storage devices is logically segmented into a plurality of stripes, no two stripes of the plurality of stripes span the same group of storage devices, and the accelerator is configured to read data, from any of the plurality of stripes, into the accelerator memory, while bypassing the OS and the CPU memory.
2. The system of claim 1 , wherein the accelerator comprises a graphics processing unit (GPU).
3. The system of claim 1 , wherein the CPU memory comprises a random access memory (RAM).
4. The system of claim 1 , wherein the accelerator is located on a network interface card (NIC).
5. The system of claim 1 , wherein the CPU is located on a NIC.
6. The system of claim 1 , wherein the accelerator and the CPU are operably coupled via a PCI Express (PCIe) bus.
7. The system of claim 1 , wherein a distributed filesystem comprises the plurality of storage devices and the CPU.
8. The system of claim 1 , wherein reading from a stripe of the plurality of stripes into the accelerator memory bypasses a kernel page cache.
9. The system of claim 1 , wherein the system comprises a frontend interface operable to read data from one or more of the plurality of storage devices.
10. The system of claim 1 , wherein an application on the accelerator is operable to provide a string of a complete file and a memory location.
11. A method, the method comprising:
generating a plurality of stripes, via one or more compute nodes, by segmenting a plurality of storage devices, wherein no two stripes of the plurality of stripes span the same group of storage devices; and
using an accelerator to read data, via a bus from any of the plurality of stripes, into an accelerator memory coupled to the accelerator, wherein reading the data comprises bypassing an operating system mechanism used for the access of the plurality of stripes.
12. The method of claim 11 , wherein the accelerator comprises a graphics processing unit (GPU).
13. The method of claim 11 , wherein the accelerator memory comprises a random access memory (RAM).
14. The method of claim 11 , wherein the accelerator and the accelerator memory are located on a network interface card (NIC).
15. The method of claim 11 , wherein a compute node of the one or more compute nodes is located on a NIC.
16. The method of claim 11 , wherein the accelerator and a compute node of the one or more compute nodes are operably coupled via a PCI Express (PCIe) bus.
17. The method of claim 11 , wherein a distributed file system comprises the plurality of storage devices and at least one of the one or more compute nodes.
18. The method of claim 11 , wherein the method comprises:
providing, via a GPU based application, a string of a complete file and a memory location; and
communicating directly with a frontend interface while bypassing a kernel driver.
19. The method of claim 11 , wherein reading data comprises using one of GPU-Direct and RDMA.
20. The method of claim 11 , wherein the method comprises determining, via a frontend interface, when data required for an operation is located in a stripe of the plurality of stripes.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.