LRUmap

From dankwiki
Jump to: navigation, search

O(1)-time LRU which grows more space-efficient as the number of LRU sets increases, introduced by this paper from CS7260, spring 2010. VLHU (Volatile Least Heavily Used) is a replacement algorithm designed to allow large-scale changes in the tracked set over time, but to be resistant against a burst of new entries. These properties are desirable, for instance, when tracking entities in a network which can be temporarily overwhelmed by an attacker capable of spoofing, or tracking memory locations in a computer when non-temporal bursting traffic (say, a block of text being passed read only once by an online algorithm) is equivalent to the size of the cache.

Source code can be found at GitHub: http://github.com/dankamongmen/lrumap.

Origin

VLHU is a data structure of, to the best of my knowledge, my creation. It is a sufficiently trivial idea that I'm sure it's been invented and discarded countless times. I first used it in the Reflex Interceptor in 2003.