Efficient skipping of data compression processes at computing devices
AssigneeIntel Corporation
InventorsKiran C. Veernapu, Abhishek R. Appu, Prasoonkumar Surti, Arijit Mukhopadhyay, Altug Koker, Joydeep Ray
Life of this patent
Estimating the term…
Abstract
A mechanism is described for facilitating selective skipping of compression cycles in computing devices. A method of embodiments, as described herein, includes facilitating determining a first current output relating to compression of a current set of data to be same as a previous output from compression of a previous set of data, and turning off a compression engine to skip compression of the current set of data.
Claims22
An apparatus comprising:
- one or more processors comprising a graphics processor;
- a compression engine to compress input data to generate compressed output data;
- a data storage comprising storage for input data and compressed output data;
- and
- a comparator to compare sets of data;
- wherein the one or more processors are to:
- monitor data that is directed to the compression engine for compression, including detecting a first set of input data that is compressed to generate a first set of output data;
- maintain a cache to store compression processes and results of the compression processes, including storage of the first set of input data and the first set of output data, wherein the cache utilizes spatial locality to provide correlations between adjacent cache lines in the cache;
- detect a second set of input data that is directed to the compression engine for compression;
- predict whether a second set of output data resulting from compression of the second set of input data is expected to be the same as a previous set of output data stored in the cache, wherein the prediction is based at least in part on a comparison between the second set of input data and one or more other sets of input data stored in the cache using the comparator, and wherein the prediction is based at least in part on the spatial locality that provides the correlations in the cache;
- and
- upon a prediction that the second set of output data is expected to be the same as the first set of output data:
- turn off the compression engine to skip compression of the second set of input data, and
- use the first set of output data as an output for compression of the second set of input data.
A method comprising:
- monitoring input data that is directed to a compression engine for compression, including detecting a first set of input data that is compressed to generate a first set of output data;
- maintaining a cache to store compression processes and results of the compression processes, including storage of the first set of input data and the first set of output data, wherein the cache utilizes spatial locality to provide correlations between adjacent cache lines in the cache;
- detecting a second set of input data that is directed to the compression engine for compression;
- predicting whether a second set of output data resulting from compression of the second set of input data is expected to be the same as a previous set of output data stored in the cache, wherein the prediction is based at least in part on a comparison between the second set of input data and one or more other sets of input data stored in the cache using a comparator, and wherein the prediction is based at least in part on the spatial locality that provides the correlations in the cache;
- and
- upon a prediction that the second set of output data is expected to be the same as the first set of output data:
- turning off the compression engine to skip compression of the second set of input data, and
- using the first set of output data as an output for compression of the second set of input data.
At least one non-transitory machine-readable medium comprising instructions that when executed by a computing device, cause the computing device to perform operations comprising:
- monitoring input data that is directed to a compression engine for compression, including detecting a first set of input data that is compressed to generate a first set of output data;
- maintaining a cache to store compression processes and results of the compression processes, including storage of the first set of input data and the first set of output data, wherein the cache utilizes spatial locality to provide correlations between adjacent cache lines in the cache;
- detecting a second set of input data that is directed to the compression engine for compression;
- predicting whether a second set of output data resulting from compression of the second set of input data is expected to be the same as a previous set of output data stored in the cache, wherein the prediction is based at least in part on a comparison between the second set of input data and one or more other sets of input data stored in the cache using a comparator, and wherein the prediction is based at least in part on the spatial locality that provides the correlations in the cache;
- and
- upon a prediction that the second set of output data is expected to be the same as the first set of output data:
- turning off the compression engine to skip compression of the second set of input data, and
- using the first set of output data as an output for compression of the second set of input data.
Dependencies are inferred from the claim text.