Crate mlcr [] [src]

MLCR: Machine-Learning-based Cache Replacement

MLCR trains a neural network to "guess" how long time will pass before the cache block is accessed again. In other words, it provides a qualified guess to approximate the ideal Bélády's algorithm without a time machine.

MLCR is slow, because it needs to train a neural network, but in many cases, the added precision pays off by greatly reducing the number of cache misses. As such, it should only be used when the cached medium is significantly slower than training the network (e.g. hard disks or internet downloads).

Structs

Cache

A learning cache tracker.

ColdIter

An iterator over the coldest (best candidates for replacement) to hotter cache objects.

ConcurrentCache

A concurrent cache tracker.

Type Definitions

Id

The ID of a cache block.