US 12,216,522 B2
Methods and systems for expanding GPU memory footprint based on hybrid-memory
Venkatachary Srinivasan, Sunnyvale, CA (US); and David Michael Finnegan, Warwick, NY (US)
Filed by Venkatachary Srinivasan, Sunnyvale, CA (US); and David Michael Finnegan, Warwick, NY (US)
Filed on Aug. 29, 2022, as Appl. No. 17/898,451.
Application 17/898,451 is a continuation of application No. 17/563,017, filed on Dec. 27, 2021, abandoned.
Application 17/563,017 is a continuation in part of application No. 17/317,878, filed on May 11, 2021, abandoned.
Claims priority of provisional application 63/105,357, filed on Oct. 26, 2020.
Claims priority of provisional application 63/022,584, filed on May 11, 2020.
Prior Publication US 2023/0113180 A1, Apr. 13, 2023
Int. Cl. G06F 16/27 (2019.01); G06F 9/50 (2006.01); G06F 11/07 (2006.01)
CPC G06F 11/0709 (2013.01) [G06F 9/505 (2013.01); G06F 16/27 (2019.01)] 10 Claims
OG exemplary drawing
 
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.