Flash-aware Applications Futures
Wikibon has consistenty discussed the evolution of flash, software-led hyperscale computing and cloud as the foundation for flash-aware and flash optimized applications, the future of computing:
- Instead of waiting milliseconds (10-3) to write state data to disk, the application can write it in microseconds (10-6) or even faster;
- Instead of limiting applications to sips of data (say a max of 100 DB calls/transaction), applications can process buckets full of big data at a time (1,000s of DB calls);
- Instead of processing a thin stream of industrial data, applications can ingest a fire-hose of industrial big data and store and react in real time;
- Instead of breaking large applications up into loosely connected modular databases, databases can be centralized with enterprise-wide multi-functional capabilities able to execute in parallel;
- Instead of ISVs using traditional SQL shared-data databases for applications (where the cost of the underlying databases is higher than the ISV application), ISVs will have a broad choice of low-cost simpler flash-aware SQL and NoSQL databases that will be optimized for the application;
- Instead of competing against established ISVs, innovative ISVs and/or cloud service providers can break new ground with real-time intra &inter-enterprise applications -- e.g., supply chain optimization within industries;
- Instead of fitting companies to complex enterprise applications, innovative ISVs and/or cloud service providers can fit flexible applications to the company and be up and running in weeks rather than years;
- Instead of spending billions try to integrate 3-letter government entity IT systems and departmental processes, common very large database services can allow government entities to utilize systems and organize/re-organize at will.
At the 2013 Open Source Convention (OSCON), Fusion-io announced three important milestones:
- The Fusion-io Atomic Writes API has been contributed for standardization to the T10 SCSI Storage Interfaces Technical Committee and is now in use in mainstream MySQL databases MariaDB 5.5.31 (Beta) and Percona Server 5.5.31.
- Atomic Writes ensure that operations are completed in their entirety or not at all. When used, applications such as MySQL do not have to take additional code to protect their data against partial writes during failures. In MySQL, Atomic Writes remove the need to use the MySQL double write buffer. Since the application does not have to write data twice, performance increases and recovery becomes simpler. As the number of application writes is cut in half, this software extension can also double flash hardware endurance.
- MySQL Benchmarks shows that when the write IO system is stressed, the throughput can increase by over 45%, as shown in Figure 1 below.
- Fusion-io has contributed a flash-aware Demand Paging Extension that allows flash to be used as the target for demand paging.
- 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 the mainframe days, this was commonly used, and there were specific extension such as extended memory on IBM mainframes. Over time, the power and speed of processors has increased dramatically, while speed for disk drive technologies has remained static. Today In disk drive environments, Demand Paging is unacceptably slow. Database and application developers have needed to develop complex alternatives with additional complex code and maintenance.
- By using high-performance PCIe flash technologies on the server, the difference in speed of recovery of paged-put data blocks is massively reduced, providing confidence that the speed of flash storage will keep up with the speed increases in processor technology. Flash-aware Demand Paging is back!
- MySQL and new NoSQL databases continue to gain in popularity, and using flash-aware Demand Paging within applications can accelerate development by streamlining the software stack. When working set sizes exceeds the capacity of DRAM, flash-aware Demand Paging can provide continued good application performance.
- Fusion IO has contributed NVMKV interface available to the open-source community.
- 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 can eliminate the need to continually convert native key-value IO to block IO used in disk storage, significantly reducing complexity.
- One of the challenges of Key Value systems is garbage collection, and its potential impact on latency variability. Leveraging the built-in garbage collection facilities of the Flash Translation Layers with NVMKV can provide the garbage collection capabilities for KV environments with lower overheads and greater awareness of the total IO environment.
The atomic write and demand paging contributions require little work to integrate them into development environments. The NVMKV contribution will require more work by ISVs to integrate the new technologies.
Future Milestones for Flash-aware Applications
Open source contributions have become the new standards. However, for effective adoption of atomic writes and other technology standards, ISVs have to be confident that their applications can run on a different hardware, and that the ecosystem of applications around them will also adopt the standards.The T10 Technical Committee on SCSI storage interfaces and the SNIA group have both now included Atomic writes in their proposed new standards. The T10 standard is probably be finally ratified by early 2014 and will mark an important step in making flash-aware applications main stream.
The Business Case for Flash-aware Applications
In a in depth case study of a company that extensively used flash to improve application functionality, Wikibon found that the overall productivity of the company had improved by 20%. As applications become increasing flash-award, the potential for disruption within IT with new application designs is staggering. As data moves towards the server, and IO latency reduces, the cost and elapsed time of remote access to data will become higher, and the benefit of centralizing data will grow. Applications will need access to external data from cloud providers. Wikibon believes there will be a strong movement to mega data centers, where collocated private applications will be along-side cloud service providers and data aggregators, and data will be back-hauled within the data center. The flash-aware applications will be running on hyperscale servers and flash, with high-speed access to data across the data-center. Competitors and partners within a vertical industry will find themselves within the same mega datacenter.
Action Item: The development of flash-aware cloud-based applications will be a major business opportunity for all in IT, from enterprise IT to hardware and software providers, to cloud service providers, to new ISVs that will disrupt with new inter and intra business applications. There will be radically different winners and losers based on the speed of provision and adoption of these new technologies.