NVMe (Non-Volatile Memory Express) flash drives thrust storage media from the position of the worst performing component of the data center to the best. The technology’s low latency however, exposes other bottlenecks that went previously undetected. The new storage performance problem is not getting sufficient Input/Output Operations per Second (IOPS) out of storage media; rather it is making sure the rest of the environment can keep pace by addressing these bottlenecks. While many applications in the data center don’t require the level of performance that forces IT to address these bottlenecks, there are some applications that need all the performance the data center can deliver. These applications are increasing in number and are almost always directly tied to revenue.
Throwing Hardware at the Problem
The most common way to solve the problem is to throw hardware at the problem in the form of more powerful servers with more RAM running the storage software. The problem with this approach is that multi-core CPUs can only be leveraged so much and most storage software only scratches the surface of multi-threaded operations. RAM, at least until persistent memory is much more affordable, is also a case of diminishing returns since it can only be safely used for read Input/Output (IO).
Throwing Smarter Hardware at the Problem
Another approach is for storage vendors to offload the storage software to custom hardware, typically field gate programmable arrays (FPGA) or application-specific integrated circuits (ASIC). Having a dedicated chip to offload some of these functions does help storage systems provide closer to the raw performance potential of the NVMe flash storage but it adds expense.
Throwing Better Networking at the Problem
Whether the storage solution takes the approach of throwing more traditional hardware at the problem or throwing new, custom hardware at the problem, both need to contend with networks. The obvious concern is the network interconnecting the servers with their storage. While many modern applications have abandoned shared storage in exchange for direct attached storage, there is always a point where data must traverse a network, either to move workloads or to protect them. NVMe over Fabrics (NVME-oF) promises to offer latencies similar to direct attached NVMe storage but it requires modern infrastructure and is still in its infancy in terms of deployment.
Second, and more often overlooked, is the internal network of the server or storage system. While Peripheral Component Interconnect Express (PCIe) generation 3 is a vast improvement, most servers are well behind the latest incarnations of the PCIe standard. Even with the latest PCIe standard, the networking capabilities of PCIe pale in comparison to the “network” that connects a flash controller with the actual NAND on a flash drive.
Throwing Smarter Storage Media at the Problem
Solving the second networking problem, matching the speed of the internal capabilities of the flash drive, might actually make the other problems less of a concern. The latest development in storage is smarter storage media, or computational storage, which places processing capabilities directly on the storage media. Computational storage enables performing the initial processing directly on the drive thus reducing the amount of data that needs to be sent across the internal and external networks. It also reduces the need for high performance CPUs or FPGAs trying to accelerate processing, since most of the heavy lifting is done on the drive.
Computational storage is ideal for many of the modern workloads that are also the workloads requiring extreme levels of performance. Use cases include hyperscale data centers with Parallel Workloads, Real-time Analytics, Intelligent Edge and Content Delivery Networks. We detail these use cases in our column “Use Cases for Computational Storage.”
Sponsored by NGD Systems