Fusion-io today announced new milestones in the development of flash-aware applications. The Fusion-io Atomic Writes API contributed for standardization to the T10 SCSI Storage Interfaces Technical Committee is now in use in mainstream MySQL databases MariaDB 5.5.31 and Percona Server 5.5.31 as well as the upcoming Percona Server 5.6. Fusion-io will be contributing its nonvolatile memory key-value interface to flash, NVMKV, to the Open Compute Project and has posted the first flash-aware Linux kernel virtual memory Demand Paging Extension to GitHub for community testing.
“A flash-aware application optimizes the placement, movement, and especially the processing of data with awareness of NAND flash in the memory hierarchy, and offers configuration options for leveraging the properties of flash memory to improve performance, manageability, and return on investment,” said Pankaj Mehra, Fusion-io Chief Technology Officer. “With flash-aware applications, developers can eliminate redundant layers in the software stack, deliver more consistent low latency, more application throughput, and increased NAND flash durability, all with less application-level code. Complementing our ongoing standards work, we are pleased to make NVMKV and the Linux Demand Paging Extension available to the open source community, as Fusion-io continues to add uncommon value to common standards.”
“The Open Compute Project is dedicated to promoting more openness and accelerating the pace of innovation in the development of datacenter technologies,” said Frank Frankovsky, chairman of the Open Compute Foundation and vice president of hardware design and supply chain at Facebook. “Contributions like the one Fusion-io is proposing today play a crucial role in the work of opening up the datacenter, and we are excited to see what the community does with the NVKMV flash interface.”
The latest releases of MySQL databases MariaDB and Percona Server deliver the option for flash-aware operation. These two popular MySQL distributions are the first enterprise applications to ship using Atomic Writes, streamlining the software stack by replacing the need to write twice to maintain atomicity, or database ACID compliance.
“Increasingly our customers expect MariaDB products to not just compete with, but to exceed what they can get from rival database technologies,” said Monty Widenius, MariaDB creator. “The highly innovative solutions we have worked on with the Fusion-io Atomic Writes API are a great example of how both companies are bringing the best thinking to the best database in the world.”
By enabling a processor to simultaneously write multiple independent storage sectors as a single storage transaction, Atomic Writes streamlines data writes to improve performance and extend the life of flash memory. In I/O intensive workloads, Atomic Writes provides performance throughput increases up to 50%, as well as a 4x reduction in latency spikes, compared to running the databases on the same flash memory platform without Atomic Writes. Fusion-io is also extending the general purpose Linux I/O layer to allow these mainstream file systems to make the benefits of Atomic Writes accessible to a wider variety of applications.
“Atomic Writes moves beyond redundant architectures left over from building databases for disk drive systems,” said Peter Zaitsev, CEO and Founder of Percona. “Flash-aware applications streamline the software stack to extend the potential of flash beyond basic, block addressable storage. New flash-aware APIs like Atomic Writes help deliver high performance MySQL acceleration optimized for modern datacenter architectures designed around efficiency and performance. We have included the Atomic Writes API in the current version of Percona Server 5.5 as well as the upcoming Percona Server 5.6.”
Key-value stores are schema-less data structures used in NoSQL databases popular in hyperscale computing. As a native key-value interface library to flash memory, the NVMKV key-value store library leverages the dynamic mapping abilities and associated data structures in the Flash Translation Layer (FTL). NVMKV eliminates the need to continually convert native key-value I/O to block I/O used in disk storage, significantly reducing complexity. Leveraging the built-in garbage collection facilities of modern Flash Translation Layers also delivers additional flash-aware benefits with NVMKV. Fusion-io has made the NVMKV interface available to the open-source community to accelerate the development of flash-aware database applications.
Demand Paging is a method for virtual memory management in computer operating systems where a data block is copied onto physical memory only if an application attempts to access it. In disk drive environments, Demand Paging is unacceptably slow, causing database developers to develop complex alternatives that add extra application code. As new MySQL and new NoSQL databases continue to gain popularity, revisiting Demand Paging in flash-aware applications accelerates development by streamlining the software stack. When working set size exceeds the capacity of DRAM, flash-aware Demand Paging provides continued application performance, ensuring that performance bends but does not break. This intelligence helps to provide resources to the most critical data in flash-powered servers hosting flash-aware applications.
NVMKV and the flash-aware Demand Paging Extension are hosted at http://opennvm.github.io/ and can be accessed on the Open Compute website at http://www.opencompute.org/projects/storage/.