# US 12,216,522 B2 · Methods and systems for expanding GPU memory footprint based on hybrid-memory

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,216,522 B2
- Document ID: US12216522B2
- Status: Granted
- Kind: B2
- Application number: 17/898,451
- Filed: 2022-08-29
- Published: 2023-04-13
- Granted: 2025-02-04
- Earliest claimed: 2020-05-11
- Applicants: Venkatachary Srinivasan; David Michael Finnegan
- Inventors: Venkatachary Srinivasan; David Michael Finnegan
- Web page: https://patentgrep.com/patent/US12216522B2

## CPC

- G06F 11/0709: {in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems}
- G06F 11/0778: {Dumping, i.e. gathering error/state information after a fault for later diagnosis}
- G06F 9/505: {considering the load}
- G06F 16/27: Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F 16/81: Indexing, e.g. XML tags; Data structures therefor; Storage structures
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## 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

### Claim 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.

### Claim 2 (depends on 1)

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

### Claim 3 (depends on 2)

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

### Claim 4 (depends on 3)

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

### Claim 5 (depends on 4)

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.

### Claim 6 (depends on 5)

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

### Claim 7 (depends on 6)

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.

### Claim 8 (depends on 7)

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.

### Claim 9 (depends on 8)

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

### Claim 10 (depends on 9)

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.
