1 WWW.FUSIONIO.COM FUSION iocontrol HYBRID STORAGE ARCHITECTURE
Contents Contents... 2 1 The Storage I/O and Management Gap... 3 2 Closing the Gap with Fusion-io... 4 2.1 Flash storage, the Right Way... 4 2.1.1 Performance PCIe... 4 2.1.2 Reliability... 5 2.2 Feeding I/O-Hungry Applications... 5 2.3 Extending Fusion-io To Every Application... 5 3 Sharing Fusion-io Memory... 6 3.1 Avoiding Application Workload Contention... 6 3.2 The High Availability Hurdle... 6 3.3 Addressing Write-intensive Workloads... 6 3.4 Reducing $/GB While Avoiding a Slower System... 6 4 iocontrol Hybrid Storage... 7 4.1 Don t Configure Storage Performance, Manage It... 7 4.1.1 Storage Quality of Service (QoS)... 7 4.1.2 Service Levels... 8 4.2 Fusion-io High Availability... 9 4.3 Temporary Mirror for Flash Efficiency... 9 4.4 Dynamic Data Placement and Data Reduction... 10 5 Where Others Fall Short... 10 5.1 Flash with RAID is Wasteful and Slow... 10 5.2 Read-Only Flash a Partial Solution... 11 5.3 All-Flash Arrays Optimal for Single Applications or Intelligent Cache... 11 6 Fusion iocontrol: Ahead of the Curve... 11 2013 Fusion- io, Inc. All rights reserved. iodrive2, iodrive2 Duo, and iomemory are trademarks or registered trademarks of Fusion- io, Inc. All other product and company names may be trademarks of the companies with which they are associated. 2 WWW.FUSIONIO.COM
FUSION iocontrol HYBRID STORAGE ARCHITECTURE Fusion- io delivers the world's data faster. From e- commerce retailers to the world s social media leaders and Fortune Global 500 companies, companies are improving the performance and efficiency of their data centers with Fusion- io technology. iocontrol Hybrid Storage from Fusion- io is ideal for customers seeking to virtualize mission- critical workloads, deliver high performance VDI, and control efficient application acceleration across shared storage environments. 1 The Storage I/O and Management Gap For decades, CPU manufacturers have innovated to increase processing power and performance, while disk- drive manufacturers have focused on increasing capacity. These contrasting goals have exacerbated a utilization problem with today s IT infrastructures. Figure 1 CPU performance has outpaced disk performance, causing a performance gap CPUs have tremendous processing power that can perform billions of calculations per second. So much so that until recently, applications couldn t leverage CPU performance efficiently. Virtualization has made it possible to run many applications on multicore processors, promising new levels of utilization efficiency and consolidation. While disk drives deliver the capacity needed for these applications, their performance capabilities have not kept up with today s requirements. Further complicating the matter, virtualization randomizes the aggregate I/O, creating what is often referred to as the I/O blender effect. For shared storage, this is the most difficult type of workload to handle. Thus, the failure of disk drives to deliver performance to I/O hungry applications in a timely manner results in processors being greatly underutilized, and limits the consolidation potential of virtualization. 3 WWW.FUSIONIO.COM
2 Closing the Gap with Fusion- io While flash offers the requisite raw performance, it must be engineered and implemented correctly to deliver this performance to applications. Fusion- io has done this, by taking what was traditionally a consumer technology and transforming it into an enterprise solution. 2.1 FLASH STORAGE, THE RIGHT WAY Many storage vendors implement flash as simply a faster disk drive in the form of an SSD. While this provides a modest performance gain, implementing flash as a persistent memory tier is the best way to deliver consistently fast performance to applications. In addition, unlike SSDs, which protect reliability with traditional RAID technology, Fusion- io s flash memory products use Adaptive Flashback to protect data without excessive overprovisioning. Fusion- io architecture is unique and takes advantage of flash s architectural differences, allowing companies to maximize the performance of flash technology while delivering enterprise- grade reliability. 2.1.1 PERFORMANCE PCIE Most flash implementations today are NAND chips packaged into a disk- drive form factor (SSD). The device is then plugged into a disk- drive slot that is connected to a traditional RAID controller. While straightforward to implement for storage vendors, this implementation introduces system bottlenecks that severely limit flash performance. Figure 2 Traditional centralized architecture bottlenecks flash performance Fusion- io avoids system bottlenecks by implementing flash directly and natively onto the PCIe bus, reducing latency at all queue depths so the CPU is not left idle waiting for data to process - no storage protocols, embedded controllers, or embedded DRAM to get in the way of the application and the flash. Figure 3 By implementing flash on the PCIe bus, latency is significantly reduced 4 WWW.FUSIONIO.COM
2.1.2 RELIABILITY Fusion iomemory technology employs an array of techniques and patent- pending technologies that address the reliability challenges with flash memory. Fusion s iomemory OS Subsystem simplifies the data path and manages memory on the host system, rather than memory inside an embedded processor. This eliminates potential failure points and vulnerabilities that exist in other architectures. Other features, like 49- bit ECC, advanced wear leveling, and Adaptive Flashback Redundancy, provide data protection without sacrificing either capacity or performance. (See blog posts Enterprise- class Reliability and Adaptive Flashback for more information.) 2.2 FEEDING I/O- HUNGRY APPLICATIONS Most servers cannot fully utilize the CPU, leaving the processor to sit idle, wasting valuable system resources. The PCIe bus was developed so application servers could maximize the bandwidth available for transferring data to and from x86 processors at the lowest latency possible. By implementing enterprise flash directly on the PCIe bus, Fusion- io closes the storage I/O gap for performance- hungry application servers, allowing the CPU to process more data, faster. By eliminating these system bottlenecks, companies can fully utilize the CPU, maximizing efficiency and system resources while supplying applications with the performance needed to improve the user experience. 2.3 EXTENDING FUSION- IO TO EVERY APPLICATION Fusion- io s PCIe flash form- factor makes it an excellent local storage device, supercharging application servers. But why not extend Fusion- io into a shared storage environment so all application servers can share the performance boost? Figure 4 Accelerate a single application with server attached iomemory, or many with iocontrol Hybrid Storage Virtualization highlights the need for shared iomemory, as shared storage is needed to take advantage of the more advanced features, such as vmotion, HA, and DRS. Today, ninety percent of virtualization customers store data on a shared- storage system. The problem is that a shared environment calls for a new set of management capabilities. 5 WWW.FUSIONIO.COM
3 Sharing Fusion- io Memory Sharing storage resources is critical for several reasons. For one, it is more economical to scale as utilization rates increase. It is also required for many virtualization deployments. According to Enterprise Strategy Group, eighty- two percent of virtualization customers now use shared storage to support their virtualized applications. This is because using features like VMware HA, VMware FT, Hyper- V Live Migration, and Hyper- V Quick Migration require shared storage. Transforming a technology from a dedicated resource to a shared resource calls for new capabilities to address the new challenges created. 3.1 AVOIDING APPLICATION WORKLOAD CONTENTION In a shared- storage environment (SAN or NAS), every workload contends for performance resources. If one application s workload spikes, every other workload is impacted, and there is no way to manage their behavior. That means you never know what performance levels you ll experience, and the end result is a very inconsistent and sometimes disappointing end- user experience. Figure 5 Shared resource contention can negatively impact critical applications 3.2 THE HIGH AVAILABILITY HURDLE To get the most out of what hypervisors have to offer, shared storage is needed. Since many applications and VMs will reside on it, all of your eggs will be in one basket. If it were to go offline, the impact would be much broader than if a single server had gone down. A key consideration has to be higher application availability. If an application s storage is offline, it won t matter if an application is still running on the server. 3.3 ADDRESSING WRITE- INTENSIVE WORKLOADS When an application sends new data to be written to a shared- storage system, it must wait for the system to acknowledge that the data has been stored before the operation is considered complete. For most systems, this means a RAID parity bit or some sort of data redundancy is created and stored before the acknowledgment is sent. There are two reasons why this process is taxing. First, it takes time to process and store the redundant data, incurring latency. Secondly, the process reduces capacity utilization. The cost of this process is amplified for flash because performance is the key value proposition, and flash is up to 50 times more expensive than disk, on a capacity basis. Furthermore, many solutions limit flash to read- only workloads, which limits its benefit. 3.4 REDUCING $/GB WHILE AVOIDING A SLOWER SYSTEM The concept of sharing is ultimately about getting more from the same set of resources and budget. Although flash can deliver significant advantages from a performance perspective, it is still extremely expensive for most use cases. If budgets were unlimited, this would not be an issue, but that s rarely the case. The challenge is how to take advantage of flash performance while keeping $/GB affordable. 6 WWW.FUSIONIO.COM
4 iocontrol Hybrid Storage Fusion- io takes a new approach to shared storage architecture. iocontrol Hybrid Storage was designed from the ground up to deliver and manage flash performance in an efficient, highly available, enterprise- class storage system. The result is the perfect balance of high- performance memory- attached flash and affordable disk capacity in a dense footprint. 4.1 DON T CONFIGURE STORAGE PERFORMANCE, MANAGE IT With all other shared- storage systems, performance is configured, not managed. This requires translating application performance needs to a specific number of drives in a RAID configuration. While this exercise might have worked several years ago, it can t efficiently address today s performance needs. Unlike capacity, which is allocated explicitly to volumes, performance resources are pooled and must be shared across all volumes. Each application has equal access to the system s performance, creating resource contention. Applications compete for the available resources, and there is no control over the outcome. The unpredictable nature of shared- storage performance forces many IT organizations to design for worst case scenarios in order to handle peak workloads and over- purchase disks. This is an inefficient and expensive strategy, as it consumes more rack space and cooling resources, and sits idle during non- peak times. Figure 6 Shared storage unpredictability leads to worst case scenario designs that waste capacity and space 4.1.1 STORAGE QUALITY OF SERVICE (QOS) iocontrol s storage software is designed to deliver storage quality of service (QoS), which guarantees performance to each application and isolates workloads from one another. It accomplishes this by assigning performance policies to each volume. A policy defines the performance minimum a volume gets in terms of IOPS, throughput and latency. This eliminates unpredictability and the need to design storage systems for peak workload performance. For example, organizations can assign a business intelligence application 30,000 IOPS, an order database 25,000 IOPS, and a marketing file share 5,000 IOPS. This means that no matter what is happening in the system, each application will get, at a minimum, its assigned level of performance. By setting these guaranteed minimum levels of performance, iocontrol fundamentally eliminates resource contention within the storage system. While minimums are guaranteed when more system resources are available, a volume s actual performance can be much higher than the QoS target. Non- critical workload spikes will not affect business or mission critical applications. This means that critical applications like the order database or business intelligence app will never drop to unacceptable levels. 7 WWW.FUSIONIO.COM
Performance monitoring capabilities in the user interface allow performance to be monitored real- time, and viewed up to one year prior. QoS targets can be adjusted to ensure that configurations are always optimized. Storage QoS guarantees storage performance levels, so you can be confident that your system is as powerful, cost- effective and efficient as possible. 4.1.2 SERVICE LEVELS In most shared- storage environments when events like component failure, firmware upgrade, or disk drive rebuilds occur, every application is impacted the same. You really have no say in the matter. But, if you could, you d likely say that it is much more important to keep Exchange performance untouched rather than the marketing file share. iocontrol service levels allow organizations to tell the system how performance QoS settings should be maintained when storage resources are under duress. Service levels allow you to prioritize and control the performance of your system when it is in a degraded mode state. You are now able to proactively define the amount of resources a volume will receive during an event. iocontrol has three service levels built into the QoS engine: Mission- Critical, Business- Critical, and Non- Critical. These service levels instruct the system on how important it is to maintain the QoS targets that you ve defined for your volumes. iocontrol isolates the performance impact to the Non- Critical applications first, and then minimizes impact to Business- Critical applications. However, it ensures that your Mission- Critical applications are never impacted. Hence, Exchange users don t skip a beat and everything continues on as if nothing has happened. Figure 7 shows a screenshot from the user interface. An Exchange workload was simulated and categorized as Mission- Critical (green). At about 650 seconds in, a storage processor was shut off. That meant that the system lost half of its performance resources. Figure 7 Service levels ensure Mission-critical workload performance is maintained during degraded operations With any other storage system, this scenario would result in the loss of 50 percent of performance across all volumes. Not the case with iocontrol. Since the volumes associated with the Exchange workload were categorized as Mission- Critical, SQL reports as Business- Critical, and the backup Job as Non- Critical, iocontrol knows exactly where to allocate resources during an event. In this example, the Exchange workload maintained its pre- defined performance target. The SQL reports (Business- Critical) ran about 40% slower and the backup job (Non- Critical) took the biggest hit. This is exactly what you want to happen. There is no other storage system that offers this level of control over system performance. 8 WWW.FUSIONIO.COM
4.2 FUSION- IO HIGH AVAILABILITY Storage solutions that employ an Active- Passive configuration are only leveraging half of their performance resources at all times. iocontrol uses an Active- Active storage architecture, which means that all CPU, RAM and Fusion iomemory are always being utilized, while remaining highly available. iocontrol doesn t use flash as a read- only cache that accelerates merely a portion of the workload. Rather, all writes land in Fusion iomemory first, then iocontrol uses spinning disk as an availability cache, while fully utilizing iomemory for active workloads. This is accomplished while avoiding the capacity utilization impact of storing redundant data in flash, which would be the case with any system that uses it as just a tier or performance cache. 4.3 TEMPORARY MIRROR FOR FLASH EFFICIENCY From a data path perspective, iomemory is used as an active data tier (Figure 8-1). When an application sends a write request, it is mirrored between the iomemory cards on the two storage processors. Once both copies are stored, iocontrol acknowledges the write completion to the host. However, flash is too expensive to permanently maintain two copies of data. Therefore, once the write is acknowledged, the system quickly moves the redundant copy from iomemory to disk (Figure 8-2). Reads, writes, and modifies of the original copy occur in flash. At this point, the copy on disk is only used in the event that a rebuild on the flash tier is required. Lastly, if the data that is stored in iomemory is not being accessed frequently, iocontrol will evict it to make room for more active data based on the QoS setting (Figure 8-3). The decision to evict data is made in real time based on access patterns, dedupe ratios, and current performance levels. Figure 8 Writes are mirrored for protection, and subsequently destaged to disk to maximize flash capacity 9 WWW.FUSIONIO.COM
4.4 DYNAMIC DATA PLACEMENT AND DATA REDUCTION Dynamic Data Placement is a patent- pending feature that provides iocontrol with the best price- performance ratio of any midrange storage system. While it sounds similar to tiering, it is very different. Many storage vendors use what is referred to as reactive automation in which once data is written, the system begins to track block access patterns. This process can take up to a week in some storage systems. This approach makes the assumption that next week s workload will be identical to today s, which is never the case. Blocks that are hot today might be cold next week. Data is almost guaranteed not to be on the optimal tier, which was the purpose of this exercise in the first place. Reactive automation presents these issues. 1. Doesn t address current performance needs - Any spike in workload that you encountered will be addressed at some later time, meaning user experience is impacted now, and later. 2. Adds management complexity - Forces you to define when the movement occurs, how fast things move up or down, and what block size you d like the system to manage. 3. Makes performance even less predictable - Overall system performance is defined by what data is living where. The fact that the system is changing means your performance characteristics will change. 4. Additional cost - Vendors typically charge extra for the functionality. Many admins tend to turn this type of functionality off and go back to managing their systems manually. Dynamic Data Placement is different. Fusion- io studied the tiering algorithms of yesterday and re- designed them to address their shortcomings. A fundamental difference is that iocontrol uses its QoS engine to instruct Dynamic Data Placement on what to do, in real time. iocontrol stores a certain percentage of data in flash and a certain percentage in disk so that each performance QoS target can be met. Application data with higher QoS targets get a higher percentage of blocks in flash than those with lower QoS settings. The QoS engine works in lock step with Dynamic Data Placement algorithms to make real- time decisions regarding where blocks should be stored. The QoS engine compares how fast you want the volume to go with how fast it is actually going. If the volume is not meeting performance expectations, Dynamic Data Placement will instantly migrate data from the slow tier to the fast tier. Since data is migrated in real time, you can plan proactively. Let s say you have a VDI environment and know approximately when boot storms and virus scans occur. You can preemptively move more data into flash for those time periods and address the peak workload, and afterwards move data back to original configuration for steady state operation. No longer must you design your system for peak workloads that result in unused resources. 5 Where Others Fall Short 5.1 FLASH WITH RAID IS WASTEFUL AND SLOW For many vendors, flash is simply another way to prolong their legacy architecture; an opportunity to sell faster disks (SSDs). Those who are unable to leverage PCIe flash within their current architectures are relegated to deploying it as solid- state drives that plug into traditional rotating disk drive bays. This approach has major two issues: First, since controller bottlenecks, shared disk interfaces, and legacy RAID firmware stacks get in the way of flash performance, the actual system performance of these drives is typically only two to three times faster than 15K disk drives. Second, the use of RAID will not only crush performance in the case of RAID 5 and 6, but the capacity wasted on parity or mirroring makes an already expensive flash investment much more expensive and inefficient, and considerably drives up $/GB considerably. 10 WWW.FUSIONIO.COM
5.2 READ- ONLY FLASH A PARTIAL SOLUTION Vendors that implement flash as a read- only caching mechanism provide excellent read performance, but all writes are sent to disk before it allows that data to be made available for reads in the cache. This is an unbalanced approach for a general- purpose storage solution. For example, in a random write workload, reads and writes can both be impacted. 5.3 ALL- FLASH ARRAYS OPTIMAL FOR SINGLE APPLICATIONS OR INTELLIGENT CACHE Many people believe that flash can be just as cost effective as disk. However the software capabilities that reduce the cost of shared resources, such as inline deduplication, compression, and thin provisioning, reduce costs of both flash and disk drives equally. Because flash capacity is more expensive than disk capacity, a hybrid system that stores active data in flash and inactive data in disk will always be more cost effective. Flash arrays are best in the following scenarios: The array is a dedicated resource for a single application that requires very high performance, removing resource contention as an issue When you are accessing flash as a shared cache, that does not require conventional storage features, and that is utilized efficiently by intelligent flash caching software 6 Fusion iocontrol: Ahead of the Curve Fusion- io delivers enterprise- class flash memory technology, and has designed it into the first affordably priced hybrid shared storage system. New exclusive performance provisioning and management capabilities deliver predictability where it s needed. While traditional vendors struggle to optimize flash performance, Fusion- io has developed a solution that avoids bottlenecks and provides new performance management capabilities required to maximize the utilization of flash. 2013 Fusion- io, Inc. All rights reserved. iodrive2, iodrive2 Duo, and iomemory are trademarks or registered trademarks of Fusion- io, Inc. All other product and company names may be trademarks of the companies with which they are associated. 11 WWW.FUSIONIO.COM