GPU-Initiated Data Access for Storage Tiering
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In data centers, accessing large volumes of distributed data can lead to performance issues such as data starvation, limited bandwidth, and increased overhead, due to synchronization challenges among concurrently executing processes and limitations in traditional operating systems and network services.
Innovation Solution
The use of parallel processing units (PPUs), such as graphics processing units (GPUs), to initiate data access by implementing a client interface that accesses data from various storage locations, including volatile and non-volatile memory, and remote storage systems, thereby improving data access performance and throughput.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If traditional operating systems and network services are used for data access, then system compatibility is maintained, but data access performance is limited due to synchronization overhead and process coordination requirements
Solution Approach 1:
The patent replaces the traditional CPU-based process synchronization mechanism with a GPU-initiated direct data access system. The GPU directly issues read and put operations to storage locations without requiring CPU process coordination, eliminating the mechanical synchronization overhead while maintaining system functionality.
Solution Approach 2:
The patent introduces a storage system with direct access interfaces as an intermediary between the GPU and data storage. This intermediary layer enables the GPU to directly perform read and put operations without routing through traditional CPU process synchronization mechanisms, thereby improving performance while reducing complexity.
2Quantity of substance
If data is distributed across multiple storage systems to increase capacity, then storage scalability is achieved, but bandwidth is limited and I/O operations per second are reduced
Solution Approach 1:
The patent segments the storage system into multiple independent storage locations that can be directly accessed by the GPU in parallel. Each storage location can be independently read from or written to without requiring coordination, enabling the system to maintain high I/O operations per second while scaling storage capacity across multiple systems.
Solution Approach 2:
The patent transitions from sequential CPU-process based data access to parallel GPU-initiated access across multiple storage dimensions. By enabling the GPU to directly issue operations to multiple storage locations simultaneously, the system achieves both scalability and high throughput in the parallel processing dimension.
3Productivity
If data volumes are increased to process more information, then data processing capability is improved, but memory requirements exceed GPU and CPU memory limits
Solution Approach 1:
The patent enables the GPU to directly access and copy data from external storage locations without requiring the data to be loaded into GPU or CPU memory. This allows the system to process large volumes of data by copying directly between storage locations and GPU working memory only when necessary, effectively bypassing the memory capacity limits of individual components.
Solution Approach 2:
The patent implements a system where data is pre-stored in accessible storage locations that the GPU can directly query. This preliminary organization of data in storage allows the GPU to access information without first transferring it to limited onboard memory, enabling processing of volumes that exceed memory capacity.
Data Source
AI summary
Apparatuses, systems, and techniques to use parallel processing unit(s) (“PPU(s)”) to perform data access(es) in response to data access request(es). The data access(es) may be performed by accessing at least a first portion of data stored in at least a first location of data location(s) if the first location is on a first tier of a plurality of data tiers that is accessible by the PPU(s), and causing server interface(s) to access at least a second portion of the data stored in at least a second location of the data location(s) if the second location is on a second tier of the plurality of data tiers. The data access request(s) may be performed using an API. The data access(es) may be performed by client(s) and the server interface(s) may be implemented by server(s). The client(s) and server(s) may be implemented by node(s), and may be paused and migrated to other node(s) during execution time. The client(s) may implement synchronous and/or asynchronous interfaces.


