Throwing hardware at performance issues is a time honored tradition among developers. In most recent times, the type of hardware being thrown at those problems is Flash memory that comes in a wide variety of formats. The challenge, of course, is that most existing applications were written for magnetic storage. To take advantage of Flash storage developers frequently have to rework their applications.
To help facilitate that process the folks at Fusion-io, one of the pioneers of Flash storage systems, today at the Open Source 2013 Convention announced it is contributing its nonvolatile memory key-value interface to flash (NVMKV) to the Open Compute Project while at the same time posting the first flash-aware Linux kernel virtual memory Demand Paging Extension to GitHub for community testing.
According to Gary Orenstein, vice president of products at Fusion-io, the goal is to make Flash storage much more easily accessible to developers that have built applications on top of relational databases such as MySQL that are optimized for magnetic storage. As part of that effort, Fusion-io has previously made available the Fusion-io Atomic Writes API contributed to the T10 SCSI Storage Interfaces Technical Committee.
For decades now developers have tried to wring additional performance out of magnetic disk drives by trying to optimize the placement of data on individual platters. Not only is that often difficult to consistently accomplish; it’s a time-consuming task. Flash storage eliminates the need to rely of magnetic disk drives to drive I/O performance, resulting in applications that are orders of magnitude faster.
That performance differential is creating a significant quandary for developers of applications that are already deployed in production. Newer rival applications that are optimized for Flash memory are going to be anywhere from five to ten times faster than an existing application that needs to contend with the performance attributes of a magnetic disk.
That performance differential not only creates a competitive advantage for the newer application, deploying Flash storage actually lowers the total cost of computing across the data center.
Of course, one of the biggest cultural issues that still waiting to be addressed is often the reluctance of storage administrators that tend to be fairly conservative when it comes to deploying storage technologies. From the point of view of the storage administrators, Flash memory not only introduces another tier of storage to manage; the cost per gigabyte of Flash storage is still higher than magnetic disks.
However, when the cost per gigabyte of Flash storage is weight against increased performance along with more efficient energy consumption most developers can easily justify the expense. By adding more support for APIs, vendors such as Fusion-io are simply trying to accelerate the time period through which that debate will be forced.
Right now, the biggest benefactor of Flash storage, says Orensteiin, has been NoSQL databases that were not developed with any particular storage architecture in mind. By making contributions to the Open Compute Project, Orenstein says Fusion-io is trying to make it easier to apply Flash storage to SQL databases that were mainly designed with magnetic storage systems in mind.
Regardless of how storage administrators may feel about Flash storage, as medium for driving application performance Flash storage and other types of non-volatile memory are about to play a major role in the development of applications. The only real question at this point is which developers will actually get there first.