Skip to content

Prefetcher

H. Joe Lee edited this page Jun 9, 2022 · 19 revisions

Prefetcher

Prefetcher promotes the BLOBs in Hermes to improve the I/O performance. It predicts the next BLOBs to get and place them in a queue.

Algorithms - what to prefetch

  • Size: Determine the size of a BLOB.
  • Frequency: Count the number of times a BLOB has been read since its creation.
  • Recency: Calculate the interval between the present and the last access time of a BLOB.
  • Importance: Use the importance score set by user.

For example, smaller size BLOB will require the fewer number of target buffers and can be prefetched with higher precedence. See also BLOB scoring.

Alogirthms - when to prefetch

  • vBucket::Get() API call will trigger Prefetcher if and only if the vBucket has the prefetching Trait.

Questions

  • What will be the configuration settings in hermes.conf for prefetch options?
  • Can Hermes snapshot buffers and prefetch them after crash?
Clone this wiki locally