Abstract
Recent proposals of emerging data storage devices make it necessary to reevaluate all levels of the storage hierarchy to optimize the software stack performance. However, these new devices are not always widely available and therefore early experiments may be impossible. Emulators aim at mimicking as close as possible the behavior of a component, nonetheless, emulating new and fast storage devices is a challenging task due to time perception. In this work, we propose an approach to emulate storage devices using virtual machines (VMs) allowing the evaluation of a new device within a real system. We use a technique called freezing time, which pauses a VM to manipulate its clock and hide the real I/O completion time. Our approach is implemented at the hypervisor level and it is transparent to the guest operating system or application. We evaluate the technique under a real system using regular magnetic disks to emulate faster storage devices. Our method presented a latency error of 6.5% compared to a real device. Moreover, decoupled experiment between two laboratories, at the Barcelona Super Computing Center (BSC) in Spain, and the Center of Computer Science and Free Software (C3SL) in Brazil, demonstrated that our approach is reproducible and promising to allow the virtual evaluation of next-gen storage devices.
Similar content being viewed by others
Notes
Boxplots give an impression of how values of a group are distributed. The middle 50% of all values are within the box itself and the so-called whiskers have a length of at most 1.5-times the interquartile range.
References
Amsden, Z.: Timekeeping virtualization for x86-based architectures. http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/Documentation/virtual/kvm/timekeeping.txt (2010a)
Amsden, Z.: Timekeeping virtualization for X86-based architectures. http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/Documentation/virtual/kvm/timekeeping.txt. Accessed 15 Apr 2015 (2010b)
Axboe, J.: blktrace user guide. http://www.cse.unsw.edu.au/aaronc/iosched/doc/blktrace.html (2007)
Bayati, M., Bhimani, J., Lee, R., Mi, N.: Exploring benefits of NVME SSDS for bigdata processing in enterprise data centers. In: 2019 5th International Conference on Big Data Computing and Communications (BIGCOM), pp. 98–106 (2019). https://doi.org/10.1109/BIGCOM.2019.00024
Bhavik, S.I.: (Ahmedabad (2016) Methods and systems for performing a read ahead operation using an intelligent storage adapter. http://www.freepatentsonline.com/9311021.html
Bona, L.C., Elias, A., Ziviani, A.P., Cortes, T., Nou, R., Alves, M.A.: Freezing time: a new approach for emulating fast storage devices using VM. In: 2018 IEEE 26th International Symposium on Modeling, Analysis, and Simulation of Computer and Telecommunication Systems (MASCOTS), IEEE, pp. 16–24 (2018)
Elias, A.: Emulator source code. https://github.com/alessandro11/qemu-freezing-time.git (2019)
Flower, J., Gajjar, K.: Adaptive intelligent storage controller and associated methods. US Patent 9,256,542 (2016)
Gordon, A., Har’El, N., Landau, A., Ben-Yehuda, M., Traeger, A.: Towards exitless and efficient paravirtual I/O. In: Proceedings of the 5th Annual International Systems and Storage Conference, ACM, New York, NY, USA, SYSTOR ’12, pp 10:1–10:6 (2012). https://doi.org/10.1145/2367589.2367593
Gu, Z., Zhao, Q.: A state-of-the-art survey on real-time issues in embedded systems virtualization. J. Softw. Eng. Appl. 5(04), 277 (2012)
Gupta, D., Yocum, K., McNett, M., Snoeren, A.C., Vahdat, A., Voelker, G.M.: To infinity and beyond: time warped network emulation. In: Proceedings of the twentieth ACM symposium on Operating systems principles, ACM, pp. 1–2 (2005)
Hajnoczi, S.: Coroutines in QEMU: the basics. http://blog.vmsplice.net/2014/01/coroutines-in-qemu-basics.html (2014)
Kim, J., Ahn, S., La, K., Chang, W.: Improving i/o performance of NVME SSD on virtual machines. In: Proceedings of the 31st Annual ACM Symposium on Applied Computing, ACM, pp. 1852–1857 (2016)
Kim, T.Y., Kang, D.H., Lee, D., Eom, Y.I.: Improving performance by bridging the semantic gap between multi-queue SSD and I/O virtualization framework. In: 2015 31st Symposium on Mass Storage Systems and Technologies (MSST), IEEE, pp. 1–11 (2015)
Knuth, D.E.: The Art of Computer Programming, Volume 1 (3rd Ed.):: Fundamental Algorithms, pp. 193–200. Addison Wesley Longman Publishing Co., Inc, Boston (1997)
Lee, Y.C., Kuo, C.T., Chang, L.P.: Design and implementation of a virtual platform of solid-state disks. IEEE Embed. Syst. Lett. 4(4), 90–93 (2012)
Lu T, Huang P, He X, Zhang M (2016) Understanding the impact of cache locations on storage performance and energy consumption of virtualization systems. In: 2016 USENIX workshop on cool topics on sustainable data centers
Oh, M., Eom, H., Yeom, H.Y.: Enhancing the I/O system for virtual machines using high performance SSDs. In: Performance Computing and Communications Conference (IPCCC), 2014 IEEE International, IEEE, pp. 1–8 (2014)
Rizzo, L., Lettieri, G., Maffione, V.: Speeding up packet i/o in virtual machines. In: Architectures for Networking and Communications Systems (ANCS), 2013 ACM/IEEE Symposium on, IEEE, pp. 47–58 (2013)
Russell, R.: Virtio: towards a de-facto standard for virtual I/O devices. ACM SIGOPS Oper. Syst. Rev. 42(5), 95–103 (2008)
Sanchez, D., Kozyrakis, C.: ZSim: Fast and accurate microarchitectural simulation of thousand-core systems. ACM SIGARCH Comput. Arch. News ACM 41–3, 475–486 (2013)
Xen\_Project (2015) Xen project beginners guide. https://wiki.xenproject.org/wiki/Xen_Project_Beginners_Guide
Acknowledgements
This work was partially supported by the Spanish Ministry of Science and Innovation under the TIN2015-65316 Grant, the Generalitat de Catalunya under contract 2014-SGR-1051, the Serrapilheira Institute (Grant number Serra-1709-16621), as well as the European Union’s Horizon 2020 Research and Innovation Programme, under Grant Agreement no. 671951 (NEXTGenIO) for the extensions added after the MASCOTS paper.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Bona, L.C.E., Elias, A., Ziviani, A.P. et al. Freezing time emulating new and faster devices with virtual machines. CCF Trans. HPC 2, 3–15 (2020). https://doi.org/10.1007/s42514-020-00023-y
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s42514-020-00023-y