FAST QUERY PROCESSING IN COLUMNAR DATABASES WITH GPUS
First Claim
1. A method for processing a query associated with a database, the method comprising:
- receiving the query;
estimating a number of groups based on the received query and the database;
copying a plurality of data from the database to graphics processing unit (GPU) memory associated with a GPU;
creating a global hash table in GPU memory based on the estimated number of groups;
determining if a group associated with the database is present in the global hash table;
adding the group to the global hash table based on determining that the group is not present in the global hash table;
aggregating a value associated with the group in the global hash table based on determining that the group is present in the global hash table;
determining a plurality of results based on the received query and the global hash table; and
retrieving the determined plurality of results.
1 Assignment
0 Petitions
Accused Products
Abstract
According to one exemplary embodiment, a method for processing a query associated with a database is provided. The method may include receiving the query. The method may include estimating a number of groups. The method may include copying a plurality of data from the database to graphics processing unit (GPU) memory. The method may include creating a hash table in GPU memory. The method may include determining if a group associated with the database is present in the hash table. The method may include adding the group to the hash table based on determining that the group is not present in the hash table. The method may include aggregating a value associated with the group in the hash table based on determining that the group is present in the hash table. The method may include determining a plurality of results. The method may then include retrieving the plurality of results.
7 Citations
7 Claims
-
1. A method for processing a query associated with a database, the method comprising:
-
receiving the query; estimating a number of groups based on the received query and the database; copying a plurality of data from the database to graphics processing unit (GPU) memory associated with a GPU; creating a global hash table in GPU memory based on the estimated number of groups; determining if a group associated with the database is present in the global hash table; adding the group to the global hash table based on determining that the group is not present in the global hash table; aggregating a value associated with the group in the global hash table based on determining that the group is present in the global hash table; determining a plurality of results based on the received query and the global hash table; and retrieving the determined plurality of results. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
Specification