Computer architects frequently use cycle-accurate simulations, which incur heavy overheads. Recently, virtual memory studies increasingly employ a lighter-weight methodology that utilizes partial simulations---of only the memory subsystem---whose output is fed into a mathematical linear model that predicts execution runtimes. The latter methodology is much faster, but its accuracy is only assumed, never rigorously validated.

We question the assumption and put it to the test by developing Mosalloc, the Mosaic Memory Allocator. Mosalloc backs the virtual memory of applications with arbitrary combinations of 4KB, 2MB, and 1GB pages (each combination forms a ``mosaic'' of pages). Previous studies used a single page size per execution (either 4KB or 2MB) to generate exactly two execution samples, which defined the aforementioned linear model. In contrast, Mosalloc can generate numerous samples, allowing us to test instead of assuming the model's accuracy. We find that prediction errors of existing models can be as high as 25%--192%. We propose a new model that bounds the maximal error below 3%, making it more reliable and useful for exploring new ideas.


October, 2020


Research Areas

  • Computer Architecture
  • Operating Systems
  • Virtual Memory




The 53rd IEEE/ACM International Symposium on Microarchitecture (MICRO)