Skip to main content

uNVMe-TCP: A User Space Approach to Optimizing NVMe over Fabrics TCP Transport

  • Conference paper
  • First Online:
Internet of Vehicles. Technologies and Services Toward Smart Cities (IOV 2019)

Part of the book series: Lecture Notes in Computer Science ((LNISA,volume 11894))

Included in the following conference series:

Abstract

Recently, NVM Express® has released the new TCP transport specification for NVMe over fabrics (NVMe-oF). And there are two kinds of implementations, i.e., one in kernel space and the other in user space. The implementation in the kernel (e.g., Linux kernel) is feasible, but there are several drawbacks such as performance, flexibility, and stability. In this paper, we would like to introduce uNVMe-TCP, which follows the specification and provides the NVMe/TCP transport in user space with improved performance and usage experience. We choose the optimization in user space since it is very difficult to optimize the whole NVMe I/O stack in kernel space through different kernel modules, and the optimization may affect other applications in user space. The idea of uNVMe-TCP is to optimize the whole NVMe I/O stack on TCP transport, i.e., leveraging the lock-free user space NVMe I/O stack and configurable network I/O stack (both kernel and user space TCP stack can be supported). Currently uNVMe-TCP provides the solution on both target and initiator side, and it can be tested against Linux kernel solution with good interoperability. Besides, some experiments are conducted to demonstrate the performance of uNVMe-TCP. Compared with the kernel solution, uNVMe-TCP shows 15% to 30% latency improvement on average with FIO benchmark. And the per CPU core performance of uNVMe-TCP is promising, i.e., it is 2.2 times of the kernel on average with the increasing number of connections. Furthermore, uNVMe-TCP is also scalable in CPU aspect.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. NVM Express Spec 1.3. https://nvmexpress.org/wp-content/uploads/NVM-Express-1_3d-2019.03.20-Ratified.pdf

  2. IETF. Internet Small Computer Systems Interface (iSCSI). https://tools.ietf.org/html/rfc3720

  3. NVM Express over Fabrics 1.0. http://nvmexpress.org/wp-content/uploads/NVMe_over_Fabrics_1_0_Gold_20160605-1.pdf

  4. Yang, Z., et al.: SPDK: a development kit to build high performance storage applications. In: 2017 IEEE International Conference on Cloud Computing Technology and Science (CloudCom), pp. 154–161, December 2017

    Google Scholar 

  5. SPDK github. https://github.com/spdk/spdk

  6. NVMe-oF - TP 8000 TCP Transport. https://nvmexpress.org/wp-content/uploads/NVM-Express-over-Fabrics-1.0-Ratified-TPs.zip

  7. RDMA Consortium. iSCSI Extensions for RDMA (iSER) and Datamover Architecture for iSCSI (DA) Specifications

    Google Scholar 

  8. VMware Virtual NVMe support. https://kb.vmware.com/s/article/2147714

  9. Yang, Z., Liu, C., Zhou, Y., Liu, X., Cao, G.: 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), pp. 67–76, November 2018

    Google Scholar 

  10. Yang, J., Minturn, D.B., Hady, F.: When poll is better than interrupt. In: Proceedings of the 10th USENIX Conference on File and Storage Technologies (2012)

    Google Scholar 

  11. Data Plane Development Kit. http://dpdk.org/

  12. Vector Packet Processing. https://fd.io/technology/

  13. Flexible I/O Tester. https://github.com/axboe/fio

  14. Intel DC series P4600 2TB SSD. https://www.intel.com/content/dam/www/public/us/en/documents/product-briefs/ssd-dc-p4600-brief.pdf

  15. SPDK NVMe-oF (Target & Initiator) Performance Report Release 19.01.1. https://dqtibwqq6s6ux.cloudfront.net/download/performance-reports/SPDK_nvmeof_perf_report_19.01.1.pdf

  16. Mellanox Messaging Accelerator. http://www.mellanox.com/related-docs/prod_acceleration_software/VMA_EN.pdf

  17. Shivam, P., Wyckoff, P., Panda, D.: EMP: Zero-copy OS-bypass NIC-driven gigabit ethernet message passing. In: SC 2001: Proceedings of the 2001 ACM/IEEE Conference on Supercomputing, p. 49, November 2001

    Google Scholar 

  18. Goldenberg, D., Kagan, M., Ravid, R., Tsirkin, M.S.: Zero copy sockets direct protocol over infiniband – preliminary implementation and performance analysis. In: Proceedings of the 13th Symposium on High Performance Interconnects, HOTI 2005, pp. 128–137. IEEE Computer Society, Washington, DC (2005)

    Google Scholar 

  19. Li, Y.-C., Chiang, M.-L.: LyraNET: a zero-copy TCP/IP protocol stack for embedded operating systems. In: 11th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications (RTCSA 2005), pp. 123–128, August 2005

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Ziye Yang .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2020 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Yang, Z., Wan, Q., Cao, G., Latecki, K. (2020). uNVMe-TCP: A User Space Approach to Optimizing NVMe over Fabrics TCP Transport. In: Hsu, CH., Kallel, S., Lan, KC., Zheng, Z. (eds) Internet of Vehicles. Technologies and Services Toward Smart Cities. IOV 2019. Lecture Notes in Computer Science(), vol 11894. Springer, Cham. https://doi.org/10.1007/978-3-030-38651-1_13

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-38651-1_13

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-38650-4

  • Online ISBN: 978-3-030-38651-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics