History

Recall the history of Page Tables

Heuristic for Promotion

FreeBSD: Multiple huge page sizes, reserves contiguous and defers promotion

HawkEye

HawkEye has 4 major advancements:

  • Asynchronous Page Zeroing
    • Bypass allows for performance
    • Free list and Non-zero list
  • Dissolution of memory bloat
    • Break apart pages with too many zero baseline pages
    • Bloat-recovery thread activates at high memory pressure, checks whether or not a threshold pages are zeroed or not, if not, breaks them up.
  • Fine-grain promotion
    • Tracks which base pages in huge page regions are “hot” and places them in buckets
    • Promotes pages with higher TLB pressure
  • MMU Overhead
    • Per-process allocation is done by priority of MMU overhead (hardware/software) or buckets

Even with software-only HawkEye-G, there are massive improvements in runtime.

Especially useful for virtualization.

CBMM

All kernel operations have a cost-benefit to the userspace. They utilize models to express page promotion, zeroing, and eager paging.