Adaptive caching
AssigneeIntel Corporation
InventorsEshwari P. Komarla, Vincent J. Zimmer
Life of this patent
Estimating the term…
Abstract
Provided are techniques for cache management. An incoming request to access a first data block is received. A probability of how likely a second data block may be accessed based on the access of the first data block is determined. Whether the probability exceeds a read ahead threshold is determined. The second data block is prefetched in response to determining that the probability exceeds the read ahead threshold.
Claims27
A method for cache management, comprising:
- receiving an incoming request to access a first data block, wherein the incoming request is one of a read request and a write request;
- determining a probability of how likely a second data block may be accessed based on the access of the first data block, wherein the probability is determined using a Bayesian networks technique;
- determining whether the probability exceeds a read ahead threshold;
- prefetching the second data block in response to determining that the probability exceeds the read ahead threshold;
- receiving an administrative command;
- and
- in response to receiving the administrative command,
- determining whether a percentage of times a prefetched data block was accessed exceeds a success threshold;
- in response to determining that the percentage does not exceeds the success threshold, updating the read ahead threshold so that fewer data blocks are prefetched upon receiving additional incoming requests to access data block;
- and
- updating a hop count threshold, wherein the hop count threshold identifies a distance, wherein the hop count threshold is updated based on access statistics including a number of write requests versus read requests that were received during a certain period of time, and wherein the Bayesian networks technique is used to learn access patterns.
A system in communication with data storage, comprising:
- a computing device with an input/output (I/O) processor;
- a storage controller capable of managing input/output (I/O) access to the data storage, wherein the data storage controller is coupled to the computing device;
- and
- a cache management agent at the computing device, wherein the cache management agent is capable of receiving an incoming request to access a first data block, wherein the incoming request is one of a read request and a write request, determining a probability of how likely a second data block may be accessed based on the access of the first data block, wherein the probability is determined using a Bayesian networks technique, determining whether the probability exceeds a read ahead threshold, prefetching the second data block in response to determining that the probability exceeds the read ahead threshold, receiving an administrative command, and, in response to receiving the administrative command, determining whether a percentage of times a prefetched data block was accessed exceeds a success threshold, updating the read ahead threshold in response to determining that the percentage does not exceed the success threshold so that fewer data blocks are prefetched upon receiving additional incoming requests to access data blocks, and updating a hop count threshold, wherein the hop count threshold identifies a distance, wherein the hop count threshold is updated based on access statistics including a number of writes versus read requests that were received during a certain period of time, and wherein the Bayesian networks technique is used to learn access patterns.
An article of manufacture, embodied as a computer readable storage medium having stored therein instructions that when executed by a computing device results in the following:
- receiving an incoming request to access a first data block, wherein the incoming request is one of a read request and a write request;
- determining a probability of how likely a second data block may be accessed based on the access of the first data block, wherein the probability is determined using a Bayesian networks technique;
- determining whether the probability exceeds a read ahead threshold;
- prefetching the second data block in response to determining that the probability exceeds the read ahead threshold;
- receiving an administrative command;
- and
- in response to receiving the administrative command,
- determining whether a percentage of times a prefetched data block was accessed exceeds a success threshold;
- updating the read ahead threshold in response to determining that the percentage does not exceed the success threshold so that fewer data blocks are prefetched upon receiving additional incoming requests to access data blocks;
- and
- updating a hop count threshold, wherein the hop count threshold identifies a distance, wherein the hop count threshold is updated based on access statistics including a number of write requests versus read requests that were received during a certain period of time, and wherein the Bayesian networks technique is used to learn access patterns.
Dependencies are inferred from the claim text.