Skip to content
master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
src
 
 
 
 
 
 
 
 
 
 

VANS: A Validated Non-Volatile Memory Simulator

VANS is a cycle-level NVRAM simulator. Its performance is initially calibrated to match the Intel Optane Persistent Memory. But you can reconfigure VANS to model other NVRAM systems.

VANS is part of our MICRO 2020 paper.

Usage

VANS is written in C++ 17, so it requires gcc 7.0 / clang 8.0 or newer version. VANS is developed and tested with gcc 10.2.0.

To configure and build VANS:

$ mkdir build
$ cd build
$ cmake ..
$ make -j

This will compile VANS and generate the binaries in bin dir.

To run VANS with some sample traces:

$ cd bin
# Create a new directory for VANS output, or VANS will create it for you
# See configuration file 'dump' section 'path' value
$ mkdir vans_dump
# Read config file and execute a trace
$ ./vans -c ../config/vans.cfg -t ../tests/sample_traces/read.trace

We also provide a set of automated tests (please read tests/precision/README.md to setup the environments before you run these tests):

$ python3 tests/precision/precision_test.py tests/precision

Issues

We heavily refactor and rewrite the entire VANS code. These features are currently missing/not-tested, and we will add them soon:

  1. Memory mode

Bibliography

@inproceedings{LENS-VANS,
  author={Zixuan Wang and Xiao Liu and Jian Yang and Theodore Michailidis and Steven Swanson and Jishen Zhao},
  booktitle={2020 53rd Annual IEEE/ACM International Symposium on Microarchitecture (MICRO)},
  title={Characterizing and Modeling Non-Volatile Memory Systems},
  year={2020},
  pages={496-508},
  doi={10.1109/MICRO50266.2020.00049}
}

License

About

VANS: A validated NVRAM simulator

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Languages