IP Library Granted Patent US 10,191,775
Granted Patent B2
US 10,191,775 · App. 15/385,003 · Granted Jan 29, 2019

Method for executing queries on data chunks using graphic processing units

Inventors: Ori Brostovsky (Karmiel, IL); Omid Vahdaty (Tel Aviv, IL); Eli Klatis (Bat Yam, IL); Tal Zelig (Ramat Gan, IL); Jake Wheat (Ramat Gan, IL); Razi Shoshani (Rehovot, IL)
Assignee: SQREAM TECHNOLOGIES LTD.
G06F9/5044G06F9/5016G06F12/0811G06F12/1081G06F17/30132G06F17/30442G06F17/30519G06F12/0873G06F2212/1016G06F2212/283G06F2212/284G06F2212/463G06F2212/502G06F2212/601G06F2212/656
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 10,191,775
App. No.
15/385,003
Granted
Jan 29, 2019
Kind
B2
Abstract

The present invention discloses a method for optimizing the throughput of hardware accelerators (HWAs) in a computerized abstraction system, by utilizing the maximal data input bandwidth to the said HWAs. The method is comprised of the following steps: dynamically obtaining the quantities and properties of HWAs and storage units within the computerized abstraction system dynamically allocating cache memory space per each of the HWAs, according to the said obtained quantities and properties, to minimize the time required for reading data from storage instances to the said HWA dynamically allocating spoolers per each of the HWAs, according to the said obtained quantities and properties, to buffer the input data and ensure a continuous flow of input data, in the target HWA's maximal input bandwidth.

Claims (26)

1. A method for optimizing the throughput of hardware accelerators (HWAs), by maintaining a maximal rate of data transfer from storage units to the said HWAs, said method comprising the steps of:

storing and managing, by a File-System, access to data on a plurality of storage modules in the computerized abstraction system's environment;

allocating a memory cache space, per each of the HWAs, to minimize the time required for reading data from storage instances to target HWAs;

allocating spoolers, per each of the HWAs, to buffer the input data, and ensure a continuous flow of input data in the target HWA's maximal input bandwidth;

wherein the said memory cache space is optimally allocated, by an Opaque File System, to cache the input data, and minimize the time required for reading data from storage modules to target HWAs;

wherein the said spoolers are optimally allocated, by the Opaque File System, to buffer the input data and ensure a continuous flow of input data, in the target HWA's maximal input bandwidth; and

wherein the allocation of said memory cache space and said spoolers is adapted dynamically according to the current quantities and properties of HWA and storage instances within the computerized system.

2. The method of claim 1 , wherein the said cache memory space is divided between a local memory instance and a remote memory instance, thus forming a hierarchical cache scheme.

3. The method of claim 1 , wherein the spoolers form a data queue at the HWA's input, thus enabling the management of queued input data, for improving the data input rate.

4. The method of claim 1 , wherein:

the HWA can directly retrieve data from adjacent HWAs or storage modules in the said computerized abstraction system, without consuming resources from a common data bus or processor, and

the said retrieved data is cached by the said cache memory, to minimize the time required for reading data from the said adjacent HWAs or storage modules to the target HWA, and

the said retrieved data is buffered by the said data spoolers to ensure a continuous flow of input data in the target HWA's maximal input bandwidth.

5. A computerized abstraction system for optimizing the throughput of hardware accelerators (HWAs), by maintaining a maximal rate of data transfer from storage units to the said HWAs, said system comprised of:

a File-System for storing and managing access to data on a plurality of storage modules in the computerized abstraction systems environment

a memory cache space, allocated per each of the HWAs, to minimize the time required for reading data from storage instances to target HWAs;

spoolers allocated per each of the HWAs, to buffer the input data, and ensure a continuous flow of input data in the target HWA's maximal input bandwidth;

an Opaque File System module that:

optimally allocates the said memory cache space, to cache the input data, and minimize the time required for reading data from storage modules to target HWAs, and

optimally allocate the said spoolers to buffer the input data and ensure a continuous flow of input data, in the target HWA's maximal input bandwidth

wherein the allocation of said memory cache space and said spoolers is adapted dynamically according to the current quantities and properties of HWA and storage instances within the computerized system.

6. The system of claim 5 , wherein the said cache memory space is divided between a local memory instance and a remote memory instance, thus forming a hierarchical cache scheme.

7. The system of claim 5 , wherein the said spoolers form a data queue at the HWA's input, thus enabling the management of queued input data, to improve the data input rate.

8. The system of claim 5 , further comprising a direct memory access module, enabling the HWAs to directly retrieve data from adjacent HWAs or storage modules within the said computerized abstraction system, without consuming resources from a common data bus or processor, wherein

the said retrieved data is cached by the said cache memory, to minimize the time required for reading data from the said adjacent HWAs or storage modules to the target HWA, and

the said retrieved data is buffered by the said data spoolers to ensure a continuous flow of input data in the target HWA's maximal input bandwidth.

Assignments (2)
SECURITY INTEREST Recorded Oct 26, 2020
From: SQREAM TECHNOLOGIES LTD
To: SILICON VALLEY BANK
Reel/Frame 054170/0179 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 3, 2017
From: BROSTOVSKY, ORI; VAHDATY, OMID; KLATIS, ELI; ZELIG, TAL; WHEAT, JAKE; SHOSHANI, RAZI
To: SQREAM TECHNOLOGIES LTD
Reel/Frame 041452/0863 →
Continuity (2)
Provisional Application 62270031 · Dec 20, 2015
Related Publication 20170177412A1 · Jun 22, 2017