Open source software tools that we have created and contributed to in our lab:
Flexible and Effective Object Tiering (TACO 2024 and
ISMM 2023):
bkmalloc: A malloc implementation with hooks for interfacing with MAT Daemon.
MAT Daemon:
The Memory Auto Tiering (MAT) Daemon, a user-level runtime with facilities for
enabling automated object tiering on heterogeneous memory platforms.
Simplified Interface to Complex Memory (SICM)
SICM:
Memory allocator for heterogeneous memory systems, built on top of jemalloc.
SICM is part of the DOE Exascale Computing Project and is a collaborative
effort among our group as well as other researchers across various academic
institutions and DOE national laboratories. Most contributions from our group
are localized in the high level interface of SICM.
Guide
to Building and Running Applications with SICM: This repository was used
as a part of a demo that shows how to build and run applications with SICM.
The repo includes detailed instructions as well as scripts to build and run
the LULESH proxy application with the SICM toolset. A video of the demo
is available below:
Hybrid memory systems simulation tools
Marena: Heterogeneous memory arena allocator built on top of jemalloc 5.0
Memtracer: Pin tool for monitoring and managing memory accesses
Multi-tier Ramulator: Fork of Ramulator that supports hetergeneous memory device simulation
Hotgen: Python scripts for computing knapsack and hotset allocation point information
Cross-layer memory management for managed language applications
xmem: HotSpot Java VM with distinct regions for hot and cold data objects
mcolor kernel: Linux kernel with memory coloring API (based off v.2.6.32)