Skip to main content

Advertisement

Log in

Freezing time emulating new and faster devices with virtual machines

  • Review Paper
  • Published:
CCF Transactions on High Performance Computing Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Fig. 1
Fig. 2
Fig. 3

Adapted from Lu et al. (2016)

Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11

Similar content being viewed by others

Notes

  1. 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)

    Article  Google Scholar 

  • 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)

    Google Scholar 

  • 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)

    Article  Google Scholar 

  • 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)

    Article  Google Scholar 

  • 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)

    Article  Google Scholar 

  • Xen\_Project (2015) Xen project beginners guide. https://wiki.xenproject.org/wiki/Xen_Project_Beginners_Guide

Download references

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

Authors

Corresponding author

Correspondence to Alessandro Elias.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s42514-020-00023-y

Keywords

Navigation