Three Secrets to Low-Latency Hyperconverged Storage
Feb 8, 2017 / in Main Blog / by Mark Balch
Everyone brags about IOPS with the advent of flash storage, but the real application performance factor is storage latency. Diamanti achieves 100 microsecond storage latencies, an order-of-magnitude improvement from previous architectures and the key to enabling data-intensive applications requiring hundreds of thousands of database operations each second. How does Diamanti achieve this dramatic performance increase?
Three secrets to low-latency
PCIe virtualization eliminates the software overlay - Overlays are widely used in storage virtualization, increasing I/O latency by milliseconds, negating many of the performance benefits delivered by flash media. Traditional hyperconverged systems create their own software overlay that aggregates local storage resources across multiple clustered nodes. These overlays combine with the overlays of popular hypervisors to further degrade storage latency, creating bottlenecks for data-intensive applications.
Diamanti utilizes a high-performance I/O controller connected to the CPU PCIe bus to virtualize volumes for each container in hardware, without proprietary kernel drivers and multiple layers of code. Containers issue I/O operations directly to SR-IOV devices on the PCIe bus, achieving lower latencies as compared with software virtualization.
NVMe eliminates SCSI bottlenecks - Diamanti utilizes the performance of NVMe, a fast, scalable communications interface and protocol developed for SSDs used in high bandwidth and low latency storage access. SCSI was designed decades ago for hard drives and can’t keep up with the speed of SSDs. NVMe, by contrast, requires approximately one-third the CPU instructions of SCSI per storage I/O operation. By utilizing native NVMe throughout the container cluster, Diamanti reduces the CPU time spent issuing and waiting for I/O requests.
NVMe over Ethernet eliminates TCP overhead - While TCP is ubiquitous, it’s not always the right choice for every use case. TCP introduces overhead as a consequence of providing reliable data transfer over unreliable networks. To transmit data reliably, TCP buffers data and acknowledges data conservatively with the tradeoff of increased latency.
Diamanti transacts NVMe over standard Ethernet, eliminating the overhead of TCP, while ensuring guaranteed delivery between the container and flash media. Storage traffic remains natively NVMe throughout the Diamanti cluster to maximize efficiency and throughput.
Check out these resources to learn more: