Towards an O(1) VM
Linux already scales fairly well towards many CPUs, lots of files, lots
of network connections and several other kinds of "big". However, the
VM still has a bunch of places with very bad worst case (or even average
case) behaviour that we will want to tackle in order to make Linux work
well on machines with many gigabytes of RAM.
In this paper I will explore the problem spaces and algorithmic complexities
of VM various strategies in the following areas:
- O(1) page launder
- rmap: object based vs pte based.
- O(1) page aging / LRU choice
- balancing filesystem cache vs. anonymous memory