di-mmap /

Filename Size Date modified Message
512 B
Fixed the driver so that pages are not flushed when a process is closed, but their VMAs are properly marked as inactive. Each buffer bank now has a list of active and inactive VMAs and tagged pages have a pointer to the banks VMA list. Stale VMAs are lazily cleaned up from each tagged page. The driver now supports a warm cache.
27.0 KB
Added the LLNL license header to all source code files. Added the full license to the top of the repo.
2.3 KB
Added some readme files that cover the nature of the project, how to compile, and how to use the runtime and simulator.
2.7 KB
Added a note about the need for a kernel patch.
2.1 KB
Added directions for using di-mmap and perma.
2.5 KB
Added the LLNL license header to all source code files. Added the full license to the top of the repo.
1.5 KB
Added a note about the need for a kernel patch.
Copyright (c) 2012, Lawrence Livermore National Security, LLC. 
Produced at the Lawrence Livermore National Laboratory. 
Written by Brian Van Essen <vanessen1@llnl.gov>. 
All rights reserved.

This file is part of DI-MMAP, Version 1.0. 
For details, see https://computation.llnl.gov/casc/dcca-pub/dcca/Downloads.html


Thank you for downloading the Data-Intensive Memory-Map Runtime
(DI-MMAP) and Persistent Memory Architecture Simulator (PerMA Sim) repository.
This code was developed at Lawrence Livermore National Laboratory to
provide a high-performance memory-map runtime and a simulator to test
future NVRAM storage technologies at scale.


The DI-MMAP runtime is a high performance memory-map runtime that
offers the following features:

1) a fixed sized page buffer
2) minimal dymaic memory allocation
3) a simple FIFO buffer replacement policy (optimized for unstructured
	data access patterns)
4) preferential caching for frequently accessed pages

To use the DI-MMAP runtime a kernel module must be compiled and
inserted into the running kernel.  Currently it has been tested with
Linux RHEL6 2.6.32 kernels.  Instructions for compiling the code are
found in README_compiling.txt.

Once the DI-MMAP module is loaded, the DI-MMAP runtime can be used in
one of two ways.

1) Direct file link: A di-mmap pseudo file is created in the /dev file
   system and it is linked to a block device.

2) DI-MMAP file system: A virtual file system (di-mmap-fs) is mounted
   and it is configured to use a directory as a backing store

DI-MMAP Publications:

A paper describing DI-MMAP was published at the DISCS 2012 workshop.
The paper "DI-MMAP: A High Performance Memory-Map Runtime for
Data-Intensive Application" and its associated slides can be found at:

PerMA Simulator:

PerMA Simulator Publications:

A paper describing the PerMA simulator was published at IPDPS 2012.
The paper "On the Role of NVRAM in Data-intensive Architectures: An
Evaluation" can be downloaded from the IEEE with DOI 10.1109/IPDPS.2012.69.