skip to main content
research-article

SmartFVM: A Fast, Flexible, and Scalable Hardware-based Virtualization for Commodity Storage Devices

Published:12 April 2022Publication History
Skip Abstract Section

Abstract

A computational storage device incorporating a computation unit inside or near its storage unit is a highly promising technology to maximize a storage server’s performance. However, to apply such computational storage devices and take their full potential in virtualized environments, server architects must resolve a fundamental challenge: cost-effective virtualization. This critical challenge can be directly addressed by the following questions: (1) how to virtualize two different hardware units (i.e., computation and storage), and (2) how to integrate them to construct virtual computational storage devices, and (3) how to provide them to users. However, the existing methods for computational storage virtualization severely suffer from their low performance and high costs due to the lack of hardware-assisted virtualization support.

In this work, we propose SmartFVM-Engine, an FPGA card designed to maximize the performance and cost-effectiveness of computational storage virtualization. SmartFVM-Engine introduces three key ideas to achieve the design goals. First, it achieves high virtualization performance by applying hardware-assisted virtualization to both computation and storage units. Second, it further improves the performance by applying hardware-assisted resource orchestration for the virtualized units. Third, it achieves high cost-effectiveness by dynamically constructing and scheduling virtual computational storage devices. To the best of our knowledge, this is the first work to implement a hardware-assisted virtualization mechanism for modern computational storage devices.

REFERENCES

  1. [1] 2021. Flexible I/O Tester. https://github.com/axboe/fio.Google ScholarGoogle Scholar
  2. [2] 2021. Intel Solid State Drives. https://www.intel.com/content/www/us/en/products/memory-storage/solid-state-drives.html.Google ScholarGoogle Scholar
  3. [3] 2021. Linux KVM. https://www.linux-kvm.org/page/Main_Page.Google ScholarGoogle Scholar
  4. [4] 2021. QEMU. https://www.qemu.org/.Google ScholarGoogle Scholar
  5. [5] 2021. Samsung SmartSSD Computational Storage. https://samsungsemiconductor-us.com/smartssd/.Google ScholarGoogle Scholar
  6. [6] 2021. Xilinx Alveo U250 FPGA. https://www.xilinx.com/products/boards-and-kits/alveo/u250.html.Google ScholarGoogle Scholar
  7. [7] 2021. Xilinx FPGAs & 3D ICs. https://www.xilinx.com/products/silicon-devices/fpga.html.Google ScholarGoogle Scholar
  8. [8] 2021. Xilinx QDMA Subsystem for PCI Express. https://www.xilinx.com/products/intellectual-property/pcie-qdma.html.Google ScholarGoogle Scholar
  9. [9] Bergman Shai, Brokhman Tanya, Cohen Tzachi, and Silberstein Mark. 2017. SPIN: Seamless operating system integration of peer-to-peer DMA between SSDs and GPUs. In 2017 USENIX Annual Technical Conference (ATC 17). 167179.Google ScholarGoogle Scholar
  10. [10] Gu Boncheol, Yoon Andre S., Bae Duck-Ho, Jo Insoon, Lee Jinyoung, Yoon Jonghyun, Kang Jeong-Uk, Kwon Moonsang, Yoon Chanho, Cho Sangyeun, et al. 2016. Biscuit: A framework for near-data processing of big data workloads. In 2016 ACM/IEEE 43rd Annual International Symposium on Computer Architecture (ISCA). IEEE, 153165.Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. [11] Ajay Gulati, Irfan Ahmad, and Carl A. Waldspurger. 2009. PARDA: Proportional allocation of resources for distributed storage access. In FAST, Vol. 9. 8598.Google ScholarGoogle Scholar
  12. [12] Jun Sang-Woo, Liu Ming, Lee Sungjin, Hicks Jamey, Ankcorn John, King Myron, Xu Shuotao, et al. 2015. BlueDBM: An appliance for big data analytics. In 2015 ACM/IEEE 42nd Annual International Symposium on Computer Architecture (ISCA). IEEE, 113.Google ScholarGoogle Scholar
  13. [13] Khawaja Ahmed, Landgraf Joshua, Prakash Rohith, Wei Michael, Schkufza Eric, and Rossbach Christopher J.. 2018. Sharing, protection and compatibility for reconfigurable fabric with AmorphOS. In 13th USENIX Symposium on Operating Systems Design and Implementation (OSDI 18). 107127.Google ScholarGoogle Scholar
  14. [14] Korolija Dario, Roscoe Timothy, and Alonso Gustavo. 2020. Do OS abstractions make sense on FPGAs?. In 14th USENIX Symposium on Operating Systems Design and Implementation (OSDI 20). 9911010.Google ScholarGoogle Scholar
  15. [15] Kwon Dongup, Ahn Jaehyung, Chae Dongju, Ajdari Mohammadamin, Lee Jaewon, Bae Suheon, Kim Youngsok, and Kim Jangwoo. 2018. DCS-ctrl: A fast and flexible device-control mechanism for device-centric server architecture. In 2018 ACM/IEEE 45th Annual International Symposium on Computer Architecture (ISCA). IEEE, 491504.Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. [16] Kwon Dongup, Boo Junehyuk, Kim Dongryeong, and Kim Jangwoo. 2020. FVM: FPGA-assisted virtual device emulation for fast, scalable, and flexible storage virtualization. In 14th USENIX Symposium on Operating Systems Design and Implementation (OSDI 20). 955971.Google ScholarGoogle Scholar
  17. [17] Landau Alex, Ben-Yehuda Muli, and Gordon Abel. 2011. SplitX: Split guest/hypervisor execution on multi-core. In WIOV.Google ScholarGoogle Scholar
  18. [18] Lee Joo Hwan, Zhang Hui, Lagrange Veronica, Krishnamoorthy Praveen, Zhao Xiaodong, and Ki Yang Seok. 2020. SmartSSD: FPGA accelerated near-storage data analytics on SSD. IEEE Computer Architecture Letters 19, 2 (2020), 110113.Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. [19] Li Huaicheng, Hao Mingzhe, Novakovic Stanko, Gogte Vaibhav, Govindan Sriram, Ports Dan R. K., Zhang Irene, Bianchini Ricardo, Gunawi Haryadi S., and Badam Anirudh. 2020. LeapIO: Efficient and portable virtual NVMe storage on ARM SoCs. In Proceedings of the Twenty-Fifth International Conference on Architectural Support for Programming Languages and Operating Systems. 591605.Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. [20] Ma Jiacheng, Zuo Gefei, Loughlin Kevin, Cheng Xiaohe, Liu Yanqiang, Eneyew Abel Mulugeta, Qi Zhengwei, and Kasikci Baris. 2020. A hypervisor for shared-memory FPGA platforms. In Proceedings of the Twenty-Fifth International Conference on Architectural Support for Programming Languages and Operating Systems. 827844.Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. [21] Mailthody Vikram Sharma, Qureshi Zaid, Liang Weixin, Feng Ziyan, Gonzalo Simon Garcia De, Li Youjie, Franke Hubertus, Xiong Jinjun, Huang Jian, and Hwu Wen-mei. 2019. DeepStore: In-storage acceleration for intelligent queries. In Proceedings of the 52nd Annual IEEE/ACM International Symposium on Microarchitecture. 224238.Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. [22] Nalawade Shraphalya B. and Gawali Dhanashri H.. 2017. Design and implementation of Blowfish algorithm using reconfigurable platform. In 2017 International Conference on Recent Innovations in Signal Processing and Embedded Systems (RISE). IEEE, 479484.Google ScholarGoogle ScholarCross RefCross Ref
  23. [23] Peng Bo, Zhang Haozhong, Yao Jianguo, Dong Yaozu, Xu Yu, and Guan Haibing. 2018. MDev-NVMe: A NVMe storage virtualization solution with mediated pass-through. In 2018 USENIX Annual Technical Conference (ATC 18). 665676.Google ScholarGoogle Scholar
  24. [24] Peter Simon, Li Jialin, Zhang Irene, Ports Dan RK, Woos Doug, Krishnamurthy Arvind, Anderson Thomas, and Roscoe Timothy. 2014. Arrakis: The operating system is the control plane. In 11th USENIX Symposium on Operating Systems Design and Implementation (OSDI 14). 116.Google ScholarGoogle Scholar
  25. [25] Riedel Erik, Gibson Garth, and Faloutsos Christos. 1998. Active storage for large-scale data mining and multimedia applications. In Proceedings of 24th Conference on Very Large Databases. Citeseer, 6273.Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. [26] Ruan Zhenyuan, He Tong, and Cong Jason. 2019. INSIDER: Designing in-storage computing system for emerging high-performance drive. In 2019 USENIX Annual Technical Conference (ATC 19). 379394.Google ScholarGoogle Scholar
  27. [27] Russell Rusty. 2008. virtio: Towards a de-facto standard for virtual I/O devices. ACM SIGOPS Operating Systems Review 42, 5 (2008), 95103.Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. [28] Schmid Robert, Plauth Max, Wenzel Lukas, Eberhardt Felix, and Polze Andreas. 2020. Accessible near-storage computing with FPGAs. In Proceedings of the Fifteenth European Conference on Computer Systems. 112.Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. [29] Tavakkol Arash, Sadrosadati Mohammad, Ghose Saugata, Kim Jeremie, Luo Yixin, Wang Yaohua, Ghiasi Nika Mansouri, Orosa Lois, Gómez-Luna Juan, and Mutlu Onur. 2018. FLIN: Enabling fairness and enhancing performance in modern NVMe solid state drives. In 2018 ACM/IEEE 45th Annual International Symposium on Computer Architecture (ISCA). IEEE, 397410.Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. [30] Ting Kurt K., Yuen Steve C. L., Lee Kin-Hong, and Leong Philip H. W.. 2002. An FPGA based SHA-256 processor. In International Conference on Field Programmable Logic and Applications. Springer, 577585.Google ScholarGoogle ScholarCross RefCross Ref
  31. [31] Yang Ziye, Liu Changpeng, Zhou Yanbo, Liu Xiaodong, and Cao Gang. 2018. SPDK Vhost-NVMe: Accelerating I/Os in virtual machines on NVMe SSDs via user space vhost target. In 2018 IEEE 8th International Symposium on Cloud and Service Computing (SC2). IEEE, 6776.Google ScholarGoogle ScholarCross RefCross Ref
  32. [32] Yoon Joohyeong, Jeong Won Seob, and Ro Won Woo. 2020. Check-in: In-storage checkpointing for key-value store system leveraging flash-based SSDs. In 2020 ACM/IEEE 47th Annual International Symposium on Computer Architecture (ISCA). IEEE, 693706.Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. [33] Zha Yue and Li Jing. 2020. Virtualizing FPGAs in the cloud. In Proceedings of the Twenty-Fifth International Conference on Architectural Support for Programming Languages and Operating Systems. 845858.Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. [34] Zhang Jie, Kwon Miryeong, Gouk Donghyun, Koh Sungjoon, Lee Changlim, Alian Mohammad, Chun Myoungjun, Kandemir Mahmut Taylan, Kim Nam Sung, Kim Jihong, et al. 2018. FlashShare: Punching through server storage stack from kernel to firmware for ultra-low latency SSDs. In 13th USENIX Symposium on Operating Systems Design and Implementation (OSDI 18). 477492.Google ScholarGoogle Scholar

Index Terms

  1. SmartFVM: A Fast, Flexible, and Scalable Hardware-based Virtualization for Commodity Storage Devices

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in

        Full Access

        • Published in

          cover image ACM Transactions on Storage
          ACM Transactions on Storage  Volume 18, Issue 2
          May 2022
          248 pages
          ISSN:1553-3077
          EISSN:1553-3093
          DOI:10.1145/3522733
          • Editor:
          • Sam H. Noh
          Issue’s Table of Contents

          Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 12 April 2022
          • Accepted: 1 January 2022
          • Received: 1 December 2021
          Published in tos Volume 18, Issue 2

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • research-article
          • Refereed

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader

        Full Text

        View this article in Full Text.

        View Full Text

        HTML Format

        View this article in HTML Format .

        View HTML Format