I spoke to Gary Orenstein, Fusion-io's SVP of Products, about the company's new Atomic series of storage devices and ioMemory. These products are designed to accelerate applications by the addition of NAND-based flash memory to the system configuration. The goal is make flash work like system memory and support programs, such as mySQL.
Nonvolatile memory to the rescue
Using nonvolatile memory to support an application's buffer pool makes it possible for those applications to perform much better. They don't have to reach out to rotating media to store and retrieve data as often. The Flash memory is much faster than disks and offers latency figures that resemble those of much more expensive DRAM memory.
Orenstein pointed out that the company had been able to support up to 32 SAP HANA nodes on a single configuration using ioMemory devices.
Different workloads exercise different system components in different ways. The wrong mix of capabilities might make a specific system configuration perform badly even though it might have very powerful processors or extremely large memory capacity. This is true of small, medium or very large system configurations. With this in mind Fusion-io, along with many other storage competitors, have introduced many different types of flash-based storage cards or storage appliances.
The secret sauce
The secret sauce designers add to a system design is an educated sense of what each type of workload does and what system resources will be used up first. The rest of the system only needs to be good enough to support that component up to its maximum. Low-cost system design plays heavily on this concept. This means that adding flash storage in the right way and to the right place in a storage solution means the difference between getting a noticeable boost in storage performance and seeing little to no change.
Knowing when and where to add flash storage
Adding any more of those resources will simply add cost to the system and the customer will see little or no additional benefit. The example would be when an automobile manufacturer puts a $15,000 jet engine in a vehicle when the owner can't go any faster than the legal speed limit. Most, if not all, of that horsepower is going to be wasted.
How do different types of workloads use system resources
Computationally intense jobs, such as technical computing or modeling, tend to extensively exercise processors, cache memory and system memory. So, system configurations should include the most powerful processors, a very large system cache and enough high-speed memory for the task at hand. Fusion-io would recommend adding flash-based cache to these configurations to reduce the need to store data on rotating media while still offering nonvolatile storage for critical data.
Database-intense workloads, on the other hand, tend to stress system cache, memory, storage and network subsystems more than processing even though processing power is still important. These systems might trade fast I/O channels, flash cache and very high-speed disks. Another approach for these workloads is to simply replace all disks with more expensive, but much faster, DRAM or Flash storage. Fusion-io would point out that their flash-based storage appliances provide the needed performance at a price that is very similar to typical storage devices.
Virtualized systems (that is, systems that are support many different workloads) tend to use system components differently than when those same workloads are hosted on physical systems. Typically the differences are that the memory and storage subsystems are stressed far more heavily than if the system is supporting a smaller number of host-based tasks. Host systems that support a large number of workloads that are encapsulated into virtual machines or into operating system partitions (operating system virtualization and partitioning) tend to stress all of the internal components more than if the same physical host was executing any one of those workloads exclusively. Fusion-io offers a flash-based storage appliance that targets this use case.
Cloud computing environments often stress the network, memory and processing subsystems more because much of the user interactions and access to storage are coming over a lower performance wide area network rather than a high-performance local network. While Fusion-io's storage devices might offer some help here, network virtualization products are a better fit in this use case.
Fusion-io wants to cover the whole storage waterfront with flash-based devices. So far, it appears that they're successfully achieving their goal. Other suppliers, such as IBM, HDS, and NetApp — as well as a host of smaller suppliers — are addressing some or all of the same needs. Fusion-io appears to have the products needed to win. Can they convince IT decision makers to give them a try is the next challenge