An extensible, high-fidelity GUI platform for the MQSim SSD Simulator. This tool provides a modern interface for configuring SSD architectures, designing workload scenarios, and visualizing performance metrics through parameter sweeps and experiments.
Figure 1: The main dashboard showing SSD Architecture and Console output.
Figure 2: Visualizing parameter sweep results for IOPS and Latency.
- SSD Architecture Designer: Visual configuration of NAND flash parameters, host interfaces (NVMe/SATA), and FTL settings.
- Workload Manager: Support for synthetic traffic generation and real-world ASCII trace execution.
- Experiment Suite: Automate parameter sweeps to see how specific hardware changes impact performance (IOPS, Latency, WAF).
- Interactive Graphs: Real-time visualization of simulation results using Matplotlib.
- Plugin System: Easily extend the studio with custom analysis or configuration tools.
- Trace Factory: Integrated editor for creating and modifying I/O traces.
- MQSim Binary: You must have the compiled
MQSimbinary.- On Linux: Run
makein the root directory. - On Windows: Build the
MQSim.slnin Visual Studio.
- On Linux: Run
- Python 3.8+
-
Clone the repository:
git clone https://github.com/yourusername/MQSim-Studio.git cd MQSim-Studio -
Install dependencies:
pip install -r requirements.txt
-
Launch the application:
python main.py
-
Configure the Binary Path: Since this is a standalone tool, you need to point it to your compiled
MQSimbinary.- Use the ... button next to the "MQSim Binary" field in the top toolbar.
- Select your compiled
MQSim(Linux) orMQSim.exe(Windows). - The tool will remember this path if you save your project workspace.
-
Run a Simulation:
- Adjust settings in the SSD Architecture and Workload Scenario tabs.
- Click [ RUN SIMULATION ].
- Use the Graph Manager tree to toggle which metrics to visualize and group them by checking parent nodes.
- View results in the Console Output and Graphs & Results tabs.
main.py: The primary GUI application logic (PySide6).mqsim_core.py: Backend wrapper for MQSim execution and XML generation.workspace/: Temporary directory for generated configurations and simulation results.plugins/: Folder for custom user-defined plugins.
Contributions are welcome! Please feel free to submit a Pull Request or open an issue for feature requests.
This studio is a graphical wrapper and analysis suite for MQSim, originally developed by the SAFARI Research Group. If you use this tool in your research, please cite the original MQSim paper:
Arash Tavakkol, Mohammad Sadrosadati, Saugata Ghose, Jeremie Kim, Nicholas Netze, Onur Mutlu, "MQSim: A Framework for Enabling Realistic Studies of Modern Multi-Queue SSD Devices," in Proceedings of the 16th USENIX Conference on File and Storage Technologies (FAST 2018), Oakland, CA, USA, February 2018.
This project is licensed under the MIT License - see the LICENSE file for details.