HPMMAP: High Performance Memory Mapping and Allocation Platform


About

HPMMAP is a lightweight memory manager for commodity operating systems. It provides a memory management stack that can support unmodified high performance computing (HPC) applications running on Linux. HPMMAP has the following characteristics:

  • Lightweight memory management
    • Fully automatic large page (2MB/1GB) support
    • "On-request" mapping: no page faults
  • Linux kernel module implementation
    • No kernel modification required
  • Invoked via system call inter-positioning
    • No application modification required

Architecture

HPMMAP is designed to co-exist with an unmodified Linux memory subsystem. The resulting architecture allows both HPC and commodity-class applications to co-exist on the same machine without sharing a memory management stack that is necessarily better at supporting one than the other.


Publications

  • B. Kocoloski and J. Lange, HPMMAP: Lightweight Memory Management for Commodity Operating Systems, Proceedings of the 28th IEEE International Parallel and Distributed Processing Symposium (IPDPS), May 2014. [paper] [talk]

Download

Download the public HPMMAP git repository with:

git clone https://gitlab.prognosticlab.org/prognosticlab/hpmmap

or download the tarball here.