Compression-aware partial sort of streaming columnar data
US-2016154831-A1 · Jun 2, 2016 · US
US9628107B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9628107-B2 |
| Application number | US-201414246725-A |
| Country | US |
| Kind code | B2 |
| Filing date | Apr 7, 2014 |
| Priority date | Apr 7, 2014 |
| Publication date | Apr 18, 2017 |
| Grant date | Apr 18, 2017 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Each binary floating-point value in a set of binary floating-point values is converted to a decimal floating-point value. Data are determined including an exponent, a mantissa and a quantity of decimal digits of the mantissa for each decimal floating-point value. The exponents, the mantissas and the quantity of decimal digits are individually compressed to produce compressed floating-point values based on the individual compressions.
Opening claim text (preview).
What is claimed is: 1. A system for compressing floating-point data, the system comprising: at least one processor configured to: convert each binary floating-point value in a set of binary floating-point values to a decimal floating-point value; determine data for each decimal floating-point value including an exponent, a mantissa, and a quantity of decimal digits of the mantissa; and individually compress the exponents, the mantissas and the quantity of decimal digits of the decimal floating-point values and produce compressed floating-point values based on the individual compressions. 2. The system of claim 1 , wherein the converting includes: generating a mantissa with a minimum number of digits; and wherein the determining data includes: determining whether one or more of the exponent and the quantity of decimal digits are constant for the decimal floating-point values. 3. The system of claim 1 , wherein the individually compressing includes: analyzing the determined data to identify reduced precision within the decimal floating-point values and producing the compressed floating-point values based on the reduced precision. 4. The system of claim 1 , wherein the converting includes at least one from the group of: normalizing a position of a decimal point; and normalizing a length of a mantissa. 5. The system of claim 1 , wherein the individually compressing includes: compressing the exponents, the mantissas and the quantity of decimal digits of the decimal floating-point values using a plurality of compression formats. 6. The system of claim 5 , wherein the individually compressing further includes: selecting a compressed exponent, a compressed mantissa and a compressed quantity of decimal digits with a shortest bit length from results of the compressing using the plurality of compression formats. 7. The system of claim 5 , wherein each converted binary floating-point value comprises a corresponding set of the exponent, the mantissa and the quantity of decimal digits to form a data triplet for the individually compressing the exponents, the mantissas and the quantity of decimal digits, and the at least one processor is further configured to: process each data triplet among plural parallel processing paths, wherein each processing path includes one or more from the group of: compressing the values in each data triplet; normalizing the exponent in each data triplet and compressing the values in each data triplet; normalizing the mantissa length in each data triplet and compressing the values in each data triplet; and normalizing the exponent and the mantissa length in each data triplet and compressing the values in each data triplet; and select a compressed data triplet comprising a shortest bit length from among the compressed data triplets processed among the plural parallel processing paths. 8. A computer program product for compressing floating-point data, the computer program product comprising: a computer readable storage medium having computer readable program code embodied therewith, the computer readable program code comprising computer readable program code configured to: convert each binary floating-point value in a set of binary floating-point values to a decimal floating-point value; determine data for each decimal floating-point value including an exponent, a mantissa, and a quantity of decimal digits of the mantissa; and individually compress the exponents, the mantissas and the quantity of decimal digits of the decimal floating-point values and produce compressed floating-point values based on the individual compressions. 9. The computer program product of claim 8 , wherein the converting includes: generating a mantissa with a minimum number of digits; and wherein the determining data includes: determining whether one or more of the exponent and the quantity of decimal digits are constant for the decimal floating-point values. 10. The computer program product of claim 8 , wherein the individually compressing includes: analyzing the determined data to identify reduced precision within the decimal floating-point values and producing the compressed floating-point values based on the reduced precision. 11. The computer program product of claim 8 , wherein the individually compressing includes: compressing the exponents, the mantissas and the quantity of decimal digits of the decimal floating-point values using a plurality of compression formats. 12. The computer program product of claim 11 , wherein the computer readable program code further comprises computer readable program code configured to: select a compressed exponent, a compressed mantissa and a compressed quantity of decimal digits with a shortest bit length from results of the compressing using the plurality of compression formats. 13. The computer program product of claim 8 , wherein each converted binary floating-point value comprises a corresponding set of the exponent, the mantissa and the quantity of decimal digits to form a data triplet for the individually compressing the exponents, the mantissas and the quantity of decimal digits, and the computer readable program code further comprises computer readable program code configured to: process each data triplet among plural parallel processing paths, wherein each processing path includes one or more from the group of: compressing the values in each data triplet; normalizing the determined exponent in each data triplet and compressing the values in each data triplet; normalizing the mantissa length in each data triplet and compressing the values in each data triplet; and normalizing the determined exponent and the mantissa length in each data triplet and compressing the values in each data triplet; and select a compressed data triplet comprising a shortest bit length from among the compressed data triplets processed among the plural parallel processing paths. 14. The computer program product of claim 8 , wherein the converting includes at least one from the group of: normalizing a position of a decimal point; and normalizing a length of a mantissa.
Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers {(G06F7/4806, G06F7/4824, G06F7/49, G06F7/491, G06F7/544 take precedence)} · CPC title
Conversion to or from floating-point codes · CPC title
Conversion of a code where information is represented by a given sequence or number of digits to a code where the same {, similar or subset of} information is represented by a different sequence or number of digits · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.