Data volumes are drastically increasing, immense information created over the past 10 years exceeds the storage capacity across all media types. While the storage systems play a critical role in modern memory hierarchy, their interfaces and simulation models are overly simplified by computer-system architecture research. Specifically, gem5, a popular full system simulator, includes only Integrated Drive Electronics interface, which was originally designed three decades ago, and simulates the underlying storage device with a constant latency value. In this work, we implement an NVMe disk and controller to enable a realistic storage stack of next generation interfaces and integrate them into gem5 and a high-fidelity solid state disk simulation model. We verify the functionalities of NVMe that we implemented, using a standard user-level tool, called NVMe command line interface. Our evaluation results reveal that the performance of a high performance SSD can significantly vary based on different software stacks and storage controllers even under the same condition of device configurations and degrees of parallelism. Specifically, the traditional interface caps the performance of the SSD by 95%, whereas NVMe interface we implement in gem5 can successfully reveal the true performance aggregated by many underlying flash-based media.
Bibliographical noteFunding Information:
Acknowledgements This research is mainly supported by NRF 2016R1C1B2015312. This work is also supported in part by IITP-2017-2017-0-01015, NRF-2015M3C4A7065645, DOE DE-AC02-05CH 11231 and MemRay Grant (2015-11-1731). This paper has been accepted by the 14th IFIP International Conference on Network and Parallel Computing as the top-ranked paper and invited for the Special Issue of International Journal of Parallel Programming. The corresponding author is M. Jung.
All Science Journal Classification (ASJC) codes
- Theoretical Computer Science
- Information Systems