IP Library Granted Patent US 12,216,522
Granted Patent B2
US 12,216,522 · App. 17/898,451 · Granted Feb 4, 2025

Methods and systems for expanding GPU memory footprint based on hybrid-memory

Inventors: Venkatachary Srinivasan (Sunnyvale, CA); David Michael Finnegan (Warwick, NY)
G06F11/0709G06F9/505G06F16/27
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,216,522
App. No.
17/898,451
Granted
Feb 4, 2025
Kind
B2
Abstract

In one aspect, a computerized method for expanding a graphics processing unit (GPU) memory footprint based on a hybrid-memory of a distributed database system (DDBS) includes the step of providing the DDBS. The DDBS is modified to include a plurality of GPUs; providing a local memory of a GPU of the plurality of GPUs. The method includes the step of filling the local memory of the GPU with one or more digests from the DDBS. The method includes the step of running a distributed general-purpose cluster-computing framework instance on the local memory of the GPU. The method includes the step of fetching data from the local memory of the GPU using the distributed general-purpose cluster-computing framework instance. The method includes the step of storing a result of the fetch operation in the DDBS to extend the local memory of the GPU to handle more data than what is fitted into the local memory of the GPU.

Claims (21)

1. A computerized method for expanding a graphics processing unit (GPU) memory footprint based on a hybrid-memory of a distributed database system (DDBS) comprising:

providing the DDBS, wherein the DDBS is modified to include a plurality of GPUs, wherein the DDBS comprises a No-SQL DDBS, and wherein DDBS uses a hybrid memory architecture that provides an ability to have real-time access to data by leveraging one or more flash memory systems, and wherein the DDBS implements a one-way hash RIPEMD to produce a digest that is stored as a set of relevant data components for processing by the DDBS;

providing a local memory of a GPU of the plurality of GPUs;

filling the local memory of the GPU with one or more digests from the DDBS;

running a distributed general-purpose cluster-computing framework instance on the local memory of the GPU;

fetching data from the local memory of the GPU using the distributed general-purpose cluster-computing framework instance;

storing a result of the fetch operation in the DDBS to extend the local memory of the GPU to handle more data than what is fitted into the local memory of the GPU;

using a two-faced process that distributes the data in parallel to the local memory of each GPU of the plurality of GPUS;

scanning the DDBS and obtain the digest; and

using the digest obtained from the DDBS to populate each local memory of each GPU of the plurality of the GPUs, and wherein the DDBS performs a plurality of parallel scans, and

wherein each individual process on the GPU, using the digest fetch the data from DDBS in batches in a sub-millisecond period.

2. The computerized method of claim 1 , wherein a plurality of GPUs are provided.

3. The computerized method of claim 2 , wherein a distributed general-purpose cluster-computing framework process is run on each of the plurality of GPUs.

4. The computerized method of claim 3 , wherein the distributed general-purpose cluster-computing framework comprises an open-source distributed general-purpose cluster-computing framework.

5. The computerized method of claim 4 , wherein the open-source distributed general-purpose cluster-computing framework comprises an APACHE SPARK distributed general-purpose cluster-computing framework.

6. The computerized method of claim 5 , wherein the DDBS comprises a hybrid memory architecture that is extended to the plurality of GPUs.

7. The computerized method of claim 6 further comprising:

with the DDBS, running a divide and conquer algorithm to run a computation on each of GPU of the plurality of GPUs to analyze the data that each GPU has in its respective local memory.

8. The computerized method of claim 7 , wherein the DDBS runs a Spark instance on each local memory of each GPU of the plurality of GPS.

9. The computerized method of claim 8 , wherein the DDBS store digests a larger piece of data in a DDBS node memory.

10. The computerized method of claim 9 , wherein when running an individual process on a specified GPU of the plurality of GPUs, using the digest, the data from the DDBS is fetched in batches.

Assignments (1)
SECURITY INTEREST Recorded Sep 4, 2024
From: AEROSPIKE, INC.
To: CANADIAN IMPERIAL BANK OF COMMERCE, AS ADMINISTRATIVE AGENT
Reel/Frame 068479/0616 →
Continuity (5)
Continuation 17563017 · Dec 27, 2021
Continuation In Part 17317878 · May 11, 2021
Provisional Application 63105357 · Oct 26, 2020
Provisional Application 63022584 · May 11, 2020
Related Publication 20230113180A1 · Apr 13, 2023
References Cited (9)
US 20080276067A1 · Chen · 2008 [cited by examiner]
US 20180004777A1 · Bulkowski · 2018 [cited by examiner]
US 20190312772A1 · Zhao · 2019 [cited by examiner]
US 20200265068A1 · Zhang · 2020 [cited by examiner]
US 20210081849A1 · Mezaael · 2021 [cited by examiner]
US 20210097432A1 · Olgiati · 2021 [cited by examiner]
US 20220188965A1 · Li · 2022 [cited by examiner]
Chao Li; Locality-Driven Dynamic GPU Cache Bypassing; 2015; ACM; pp. 67-77 (Year: 2015). [cited by examiner]
Jan Vesely; Observations and Opportunities in Architecting Shared Virtual Memory for Heterogeneous Systems; IEEE; pp. 161-171 (Year: 2016). [cited by examiner]