US2014032509A1PendingUtilityA1
Accelerated row decompression
Est. expiryJul 24, 2032(~6 yrs left)· nominal 20-yr term from priority
G06F 16/20H03M 7/3088G06F 16/211G06F 17/30292
49
PatentIndex Score
0
Cited by
0
References
0
Claims
Abstract
A method comprises streaming one or more pages of a database to a hardware accelerator, extracting one or more rows from each of the one or more pages of the database, determining whether a given one of the extracted rows is compressed, decompressing the given one of the extracted rows responsive to the determination and outputting the decompressed row. The decompressing step is performed in the hardware accelerator. The hardware accelerator may be a field-programmable gate array. The method allows for hardware accelerated row decompression.
Claims
exact text as granted — not AI-modified1 . A method, comprising:
streaming one or more pages of a database to a hardware accelerator; extracting one or more rows from each of the one or more pages of the database; determining whether a given one of the extracted rows is compressed; decompressing the given one of the extracted rows responsive to the determination; and outputting the decompressed row; wherein the decompressing step is performed in the hardware accelerator.
2 . The method of claim 1 , wherein the hardware accelerator is a field programmable gate array.
3 . The method of claim 1 , wherein the decompressing step comprises:
reading at least one compressed symbol from the given one of the extracted rows; determining whether the compressed symbol is a character symbol; extracting at least one data value from the compressed symbol; and appending the at least one extracted data value to the decompressed row.
4 . The method of claim 3 , wherein when the compressed symbol is a character symbol, setting the at least one extracted data value equal to the character symbol.
5 . The method of claim 3 , wherein when the compressed symbol is not a character symbol, looking up a dictionary entry of the compressed symbol in a decompression dictionary.
6 . The method of claim 5 , wherein when the dictionary entry is a preceded entry, extracting an offset value of the dictionary entry to align the extracted data value.
7 . The method of claim 1 , further comprising the step of evaluating one or more predicates of a query for the decompressed row.
8 . A method, comprising:
streaming one or more blocks to a hardware accelerator; extracting one or more pages of a database from each of the one or more blocks; extracting one or more rows from each of the one or more pages; determining whether a given one of the extracted rows is compressed; decompressing the given one of the extracted rows responsive to the determination; and outputting the decompressed row; wherein the decompressing step is performed in the hardware accelerator.
9 . The method of claim 8 , wherein the hardware accelerator is a field programmable gate array.
10 . The method of claim 8 , wherein the decompressing step comprises:
reading at least one compressed symbol from the given one of the extracted rows; determining whether the compressed symbol is a character symbol; extracting at least one data value from the compressed symbol; and appending the at least one extracted data value to the decompressed row.
11 . The method of claim 10 , wherein when the compressed symbol is a character symbol, setting the at least one extracted data value equal to the character symbol.
12 . The method of claim 10 , wherein when the compressed symbol is not a character symbol, looking up a dictionary entry of the compressed symbol in a decompression dictionary.
13 . The method of claim 12 , wherein when the dictionary entry is a preceded entry, extracting an offset value of the dictionary entry to align the extracted data value.
14 . The method of claim 8 , further comprising the step of evaluating one or more predicates of a query for the decompressed row.
15 . The method of claim 1 , wherein:
the streaming step comprises streaming one or more pages of a database from a memory of a host central processing unit to the hardware accelerator; and the outputting step comprises outputting the decompressed row from the hardware accelerator to the memory of the host central processing unit.
16 . The method of claim 1 , further comprising:
transferring information related to a workload to the hardware accelerator, the workload including decompression of at least one row of at least one page of the database; and configuring a modular portion of the hardware accelerator based on the transferred information.
17 . The method of claim 16 , wherein:
the transferred information comprises a database page buffer size, a decompression dictionary buffer size, and a size of operations other than decompressing to be performed in the hardware accelerator for the workload; and configuring the portion of the hardware accelerator comprises adjusting respective numbers and sizes of page buffers, dictionaries, row decompressors and row scanners in the hardware accelerator.Join the waitlist — get patent alerts
Track US2014032509A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.