The emergence of a new technology creates an excellent potential for learning. This is also the time when the birth rate of myths is at a peak level. NVMe over Fabrics (NVMe-oF) is no different. During customer meetings over the last 2-3 years at various forums, I have come across a common set of Myths about NVMe-oF. Let’s take them head-on, one at a time.
#1 | Myth: NVMe-oF uses 64,000 queues, each with 64,000 commands. Reality: Just because specification supports this, doesn’t mean you are going to use it. |
NVMe has many forward-looking provisions to keep it relevant for a very long future. One of them is using 64,000 queues, each with 64K outstanding commands. What are the chances of having a production application using such a high number of queues? Almost zero. Even if your NVMe implementation supports this, the upper layers may not be able to utilize such a large number of queues in near future. Also, does it really makes sense to allocate more than one queue-pair to a CPU core? A balanced approach between performance and implementation simplicity will be the key to the long-term success. In that case, how many CPU cores you have? Many but nowhere close to 64,000. Be clear of the difference between having a provision vs using it.
#2 | Myth: You can read or write more data using NVMe-oF. Reality: You can’t beat the laws of physics. Data throughput is limited by your underlying connectivity. |
An initiator or a target in a Fibre channel fabric, using a 32G HBA cannot send or receive more than 28 Gbps. Existing All Flash arrays, based on SCSI, are able to operate at line-rate. Don’t just blindly believe on higher data throughput because a 32G FC port is limited to 28 Gbps or a 25 Gbps Ethernet port is limited to its maximum throughput capacity. No protocol can go beyond the physical laws.
#3 | Myth: NVMe-oF will be mainstream by 2020. Reality: NVMe-oF will eventually be mainstream but 2020 is not possible. |
As of the end of 2018, FC-NVMe is the only available variant of NVMe-oF. Still, there is a long way to go. Customers will take a long time to upgrade their infrastructure to start running production FC-NVMe traffic. Ethernet based implementations of NVMe-oF are already lagging behind. If you are overly excited by the performance results of any NVMe-oF implementation, remember, performance is just one aspect of any production environment. Multi-pathing, troubleshooting, resiliency, and management capabilities often lag behind. Without these capabilities, no technology can become mainstream. 2020 for NVMe-oF to be mainstream? Simply not possible.
#4 | Myth: NVMe-oF will replace SCSI-over-Fabrics (FCP, iSCSI, etc.). Reality: These technologies are designed to co-exist and will always do. |
Read the details under #3. SCSI and NVMe will co-exist for a very long time, which is different from replacement. Some of the applications may never have a need to migrate to NVMe. Also, just because NVMe is good, doesn’t mean SCSI is bad. Improvements will make (and have been making) their way to the SCSI stack as well.
#5 | Myth: Vendor X sells a network switch which is purposefully built for NVMe-oF. Reality: Nobody makes a network switch for just one type of upper layer protocol. |
Marketing machines work hard whenever a new technology surfaces. Everybody tries to prove that their offering is better than others. That is absolutely fine but some vendors go to a level of portraying as if they purposefully architected their network switches for a new protocol. I clearly see that happening for NVMe-oF and probably you see the same, but, both you and I need to look for real underlying benefits of a network switch instead of statements like ‘purposefully built for NVMe-oF’. Such statements sound like old candy in a new wrapper.
#6 | Myth: You must have a next-gen network to run NVMe-oF traffic. Reality: You should always have a next-gen network. NVMe-oF is no different. |
NVMe-oF specification makes no mention of the speed of the network. Technically you can run NVMe-oF traffic at any speed. In fact, FC-NVMe traffic can flow without any problems on a Cisco MDS 9000 switch that was built 15 years back. So, technically, there is no such requirement of a next-gen network. You should keep your network infrastructure upgraded all the time irrespective of NVMe-oF. That is just a generic guideline.
The positive side of a myth is that it provokes the thought process and warrants us to refresh the basics. Overall, Stay (correctly) informed, continue bursting the myths.