NVMe over TCP is here! Late last year, the NVM Express Organization published the specification for the TCP transport of NVMe-over-Fabrics. As of Linux kernel 5.0, released in March, Linux natively supports NVMe over TCP. DriveScale announced that our 3.4 release, available now, has full support for NVMe over TCP. However, your servers may not yet support NVMe over TCP because you’ll have to wait for your Linux distribution to support it. First out of the gate will be Ubuntu 19.04, due to be released next week.
NVMe over TCP was put forth by companies that understand that the alternative RDMA based NVMe-over-Fabric transports are often too hard to deploy in real world scenarios. At DriveScale, we believe that NVMe over TCP will replace NVMe on RDMA for the vast majority of applications – but of course, we will continue to support NVMe on RDMA/RoCE/Ethernet for the apps that need it.
Interestingly, there are companies trying to close the last performance gap between TCP and RDMA through some hardware acceleration. Lightbits Labs was responsible for most of the standards and Linux kernel effort for NVMe over TCP and now has a product that has an optional hardware accelerator to make the TCP targets run more efficiently. Solarflare has long had TCP offload hardware/software, and they are now specifically supporting the NVMe over TCP efforts. As the market demands, DriveScale may end up partnering with these companies, or others, to offer higher performance solutions.
So let’s update our composability scorecard for NVMe over Fabrics with the latest NVMe over TCP.
As you can see, NVMe on TCP now gets an ‘A’ for performance, compared to RDMA’s ‘A+’ or iSCSI’s ‘B’. DriveScale’s product continues to greatly increase the resilience, security, and ease-of-use relative to “vanilla” NVMe over Fabrics.