by Dr. Allon Cohen
Flash is bringing breakthrough performance to enterprise data centers. With latencies at a fraction of HDDs and IOPS levels at hundreds of thousands and more, flash has placed itself as an important tier between dynamic random-access memory (DRAM) and rotating HDD storage.
However, a large price differential still exists between flash-based
storage and HDDs. With flash prices continuing to be higher than capacity HDDs
for some time to come, it becomes clear that an optimal data center deployment
includes a combination of flash storage and capacity HDDs. IT managers are left
with an optimization question: How do they maximize the performance boost
effect of their flash resources across the data center?
A key principle to maximizing the impact of flash storage is making sure it’s available to any application requiring this resource – when it requires it. Although the benefits from applying this principle are easily understood, implementing it in an optimized manner is far from trivial.
Many applications in the data center suffer from storage bottlenecks and can benefit from flash storage to alleviate any performance issues they encounter. Examples include VDI implementations suffering from a severe storage peak surges during morning boot storms and CRM system databases encountering sudden unplanned business surges.
A key fact often overlooked, however, is that most applications will only need to use flash for short peak periods during the day. Assigning the flash statistically for 24 hours to an application that requires it only for one hour is a clear waste of data center resources. In the 23 hours the flash is not needed by this particular application, it should be used to benefit other data center applications.
Generally, peak surges occur for different applications at different times. The best practice is to deploy the flash storage in the data center in such a way that allows for its easy use throughout the day. The table below provides a list of applications in typical data centers that encounter IO surges which can be alleviated with flash storage. For example, in VDI deployments flash storage is definitely required for the one-hour morning boot surge, but after most employees have booted, storage requests drop significantly. During the rest of the day (after the boot surge) HDD storage can perfectly well serve the regular IO requirement of the VDI environment.
Similarly, the nightly build process of a production system may require fast access to storage at night (and hence benefit from flash usage) but during the day remains relatively idle while company employees are working on the build executables. Mail servers usually encounter peak usage around 10 or 11 a.m. At these times, many employees react to new business data for the day by going over their inboxes and processing emails received during the previous night and morning. During the afternoon hours, mail servers often see much less email traffic. (Check your own outbox: How many emails did you send this week in the mornings, compared to in the afternoons?)
Trace observations from production servers have found order-of-magnitude differences in storage access needs between peak usage times and median usage. In the old HDD-only world, IT had to, at great expense, purchase enough HDD spindles to handle peak loads. With the advent of flash storage, however, a new paradigm emerges. One can purchase just enough HDDs to handle regular loads and leave the peak surges to be handled efficiently by a relatively small amount of flash.
Be Static in a Dynamic World
For CPU and memory resources, dynamic resource utilization is hardly a new concept. In fact, dynamically sharing CPU and memory is at the core of the server virtualization and cloud computing revolutions engulfing enterprise data centers. Until now, storage has been lagging behind in this dynamically changing world. Moving virtual machines among servers has become almost transparent. In contrast, moving the virtual machines’ data from one location to another remains a rather painful process.
Flash storage caches are the key to breaking this chain tying server data to a particular location. To prevent performance drops, applications need fast responses from the data they are accessing during their peak surges. However, they do not needall their data near them all the time. To optimize the usage of flash in the data center, the IT manager needs a virtualization caching layer that can:
- Identify Virtual
Machines reaching peak storage usage storms;
allocate data center flash resources to those applications in need;
- Use intelligent
caching to move only the relevant data blocks to a flash resource near the
current Virtual Machine location; and
- Free flash
resources and return them to the data center resource pool when not needed.
By deploying dynamic flash
allocation in the data center, the IT manager can achieve substantial
performance boosts for the entire suite of data center applications, even with
relatively small amounts of flash storage. Think of HDDs and flash storage as
family cars and ambulances. If you plan correctly, 99% of the time, your family
car will get you where you need to be when you need to get there. Sometimes,
though, you need an ambulance. Assigning each person his or her own ambulance
is completely inefficient. A much better approach is to dynamically send the
ambulance to whoever needs it.
Dr. Allon Cohen is the Vice President of Marketing and Product Management at SANRAD (Tel Aviv, Israel). www.sanrad.com