Skip to content

lastweek/NVM-Emulator

Repository files navigation

Non-Volatile Memory Emulator

Copyright (C) 2015-2018 Yizhou Shan <syzwhat@gmail.com>. All rights Reserved.

(Project done in Institute of Computing Technology, Chinese Academy of Science (ICT, CAS) around 2016. It is not maintained anymore. Happy to know one group in HUST has extended this emulator and used it in their research.)

The basic idea is to use Intel PMU to count number of read/writes requests issued from CPU to Memory. Based on this, the emulator manually inject delays to the CPU by running an idle function to emulate the extra read/write latency of NVM. The bandwidth is emulated by limiting the memory controller requests. The whole emulation model is similar to what Quartz is doing.

For anyone who interested in this project:
This emulator is much more complex that it shoud be. We SHOULD leverage the PMU facility already provided by linux kernel. I saw kernel-events improved a lot during These 2 or 3 years. Previously all x86-pmu-events code is in arch/x86/kernel/cpu/, now they have a standalone directory in arch/x86/events/.

Anyway, let us see when toothpaste company Intel will have PM ready for markets.

Publications use this emulator

[1] Caching or Not: Rethinking Virtual File System for Non-Volatile Main Memory, HotStorage'18

About

A kernel-level NVM emulator on bare-metal x86

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •  
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy