Skip to content

Open-Source Licensed Educational SSD Simulator for High-Performance Storage and Full-System Evaluations

License

Notifications You must be signed in to change notification settings

snowphone/SimpleSSD-Standalone

 
 

Repository files navigation

Runtime Bad Block Salvation

  • Base simulator: SimpleSSD version 2.0

Requirements

  • cmake
  • g++
  • gnu-parallel
  • python3

Build

Run ./build.sh && make

Execution

Basic execution: ./simplessd-standalone {config_path} {ssd_config_path} {log_folder_path}

Batch script: ./run.sh

Config

SimpleSSD-Standalone Config

Location: config/(alibaba|exchange|msnfs|systor17)_sampled.cfg

Block Traces

Name Description
Format {time} 0 {slba} {nlb} {op}
time relative time (ns)
slba start logical block address (512-byte aligned)
nlb number of logical blocks
op R|W

Sampled Traces

Write size in trace: 24GB (actual write size must be bigger than OP size)

Trace Location

/mnt/hdd_4/hdd_2/sixtyfive in cluster

Miscellaneous Scripts

Script Description
stats.cpp Prints {name}, {# of lines}, {total size}, {total write size}, {bandwidth} in csv format.
sample.py Parses traces in a given write size from the middle of the total block trace.

Analysis

After baseline and our scheme are evaluated on ./results/,

  • tools/analyze.py: converts trace.txt to json format.
  • tools/normalize.py: reads json files converted from analyze.py and prints normalized performance in csv format.

About

Open-Source Licensed Educational SSD Simulator for High-Performance Storage and Full-System Evaluations

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 94.5%
  • Python 4.1%
  • CMake 1.1%
  • Shell 0.3%