DIABLO TECHNOLOGIES MEMORY CHANNEL STORAGE AND VMWARE VIRTUAL SAN : VDI ACCELERATION A DIABLO WHITE PAPER AUGUST 2014 Ricky Trigalo Director of Business Development Virtualization, Diablo Technologies Daniel Beveridge Senior End User Computing Architect, Office of CTO - diablo-technologies.com Diablo_Tech
DIABLO TECHNOLOGIES MEMORY CHANNEL STORAGE AND VMWARE VIRTUAL SAN : VDI ACCELERATION The VDI Storage Challenge Virtualization is widely used in today s datacenters with nearly three-quarters of all enterprise workloads now running in VM s (Virtual Machines). The typical VDI (Virtual Desktop Infrastructure) user runs more applications simultaneously on his virtual machine than ever before, increasing the memory footprint and causing heavy file I/O. In light of this, the vsphere Administrator must maintain a high quality user experience. This requires the VM s be serviced with high transaction rates, fast response times and predictable performance. Traditionally, a VDI architect would increase the amount of memory and storage allocated to the VM in order to eliminate VM Operation System paging and decrease storage utilization driven by OS paging activity. Alternatively, the admin might split the user application workload across more VMs in order to increase the total compute and storage resources provided by the hypervisor. Compounding these issues, in VDI environments, usage of linked clone virtual machines is commonly used to simplify maintenance, as well as to save storage capacity. Concurrent, multiple read commands from these cloned VM s are routinely issued for different areas of the data store disks, causing the IO Blender effect. This effect requires faster storage capable of low latency random I/O in order to properly service the VM s and maintain the high quality user experience. In addition, sometimes a small number of VM(s) will over-consume shared resources, disrupting the performance of other VMs. This issue is known as the Noisy Neighbor problem. This is a particularly difficult challenge for hard disk drives (HDD s) in storage and RAID arrays, as these drives service many simultaneous random I/O requests very poorly. A possible solution to the IO Blender effect and the Noisy Neighbor problem is to use all-flash storage arrays. As SSD prices decrease, all-flash arrays are becoming more frequently considered in an attempt to retain the user experience. However, even modern flash arrays have fundamental limitations on I/O latency driven from their continued use of SATA / SAS / or PCIe I/O bus transports. This paper will provide an alternative flash solution that solves these issues in a highly effective manner. 1
Diablo MCS for VDI VDI Architects want to provide their users with the best possible experience, while minimizing resources and cost. Whenever possible, reducing I/O latency while providing adequate IOPS is key to accomplishing these goals. To achieve this, fast storage inside the server is required to provide high performance and low, predictable response times for random access IOs. Diablo has developed the Memory Channel Storage architecture, creating an ultra-low latency persistence layer, sitting directly on the memory bus of the server processors. MCS based devices, by nature, enjoy highly scalable performance at very low, predictable response times. While other flash architectures, including PCI-Express based devices, might provide low response times or high performance, they cannot provide both simultaneously and often suffer from large performance fluctuations under heavy loads. MCS leverages the NUMA server architecture to provide high performance and low latency, which generates predictable application response times and is independent of the quantity of data transferred to and from the storage device. MCS as VM OS Paging for VDI The initial test was to determine the quality of the user experience while using MCS as a low latency, local datastore, for VM OS paging. When a VM requires more memory than is available, the Operating System will page to the VM disk. This test was completed with two scenarios: 1. Enough allocated DRAM for the entire working set to reside in memory 2. Significantly reduced memory than required by the VM to test the user experience during aggressive OS Paging. The test compares MCS devices with a PCIe device using identical configurations to determine how well each flash architecture can respond to high pressure I/O. First, we compared the Memory Channel Storage user experience with and without paging using the View Planner benchmark tool for VDI, by reducing the allocated memory per virtual machine from 1 GB to 512 MB and finally, 256 MB. Next, tests were run using a PCIe device of the same capacity as the MCS configuration, with and without OS paging (again, reducing memory allocation from 1 GB to 512 MB, then 256 MB). Tests were run using View Planner, a comprehensive standard methodology for comparing virtual deployment platforms. This test utilizes application-centric benchmarks of real-world workloads to determine the performance of each individual application operation within a given desktop. View Planner provides results for 46 different tests, with the results being measured in response times to the virtual machines. 2
Configuration Setup Dual Socket Sandy Bridge CPU Intel Xeon CPU E5-4650L @2.60 GHz - 2 Sockets - 8 cores/socket - 16 Threads/socket VMFS Datastore: - 4 x 200 GB MCS devices (800 GB) - FusionIO 2 Drive (800 GB) 200 Windows 7 32-bit VMs - 1GB/512MB/256MB RAM per VM Test Setup VMWare View Planner 2.1 - Remote mode test - Agressive user profile 2 sec think time View Planner Test - Office 2007 - Video streaming - Adobe Acrobat - Windows 7 - Web Album - Internet Browsers Test Results We saw that even when the desktops were aggressively paging to the MCS local datastore, the overall user experience was not impacted significantly and the View Planner score for operation completion time remained very low which translates to a good user experience. Running the same test with the PCIe based datastore, the score was passing when no paging occurred, but when the VM over committed memory and required aggressive OS paging, the user experienced long delays and as a result, the View Planner test did not produce a passing score. Thus in the PCIe design, the VDI Administrator would need to increase the VM resources to offer an acceptable user experience. Good VDI designs protect the user experience against unknown host conditions and use of the MCS architecture demonstrates a level of protection for users when unanticipated memory consumption takes place. Users will not be impacted even when the OS is required to page to the disk during memory intensive application usage. This protection offered by the MCS architecture will enable VDI designers to allocate less memory to VDI desktops from the start given the protection offered to users during above average memory usage. 3
View Planner Group A Results View Planner Group A measures the score of interactive/fast running operations that are CPU bound, such as browsing through a PDF file, modifying a word document, etc. We measured the total test completion time score and the Standard Deviation for the three memory allocation scenarios (1 GB, 512 MB and 256 MB per VM). Testing illustrated that as the VM s required paging, users relying on the PCIe datastore experience poor performance for CPU bound operations. In a similar way, the standard deviation score is higher in the PCIe case while the VM is paging, therefore the completion time is unpredictable. In the MCS datastore case, users are impacted significantly less while the VM is paging, as the completion time is lower and the standard deviation remains uniform. Therefore, the performance is consistent and predictable whether the VM is paging or not. 4
View Planner Group B results Group B scores longer running, slower operations that are IO bound, such as opening a large document, saving a PowerPoint file, etc. Similar to Group A results, we observed that when the PCIe based VM required paging, the user experienced poor, unpredictable performance with roughly double the average score and up to 7x the variation in performance at the highest contention levels. For IO bound operations, the overall PCIe score was significantly higher than the MCS datastore, even when the VM was not over committed with respect to memory demonstrating the inherent benefits of the MCS architecture. Note: Running a Virtual machine in a local data store is not a typical deployment in data centers, as the basic requirement is full redundancy with no single point of failure for its users and data. The following section will illustrate results when utilizing the typical virtualization architecture deployed in data centers. 5
Virtual SAN for VDI Virtual SAN is a new software-defined storage tier for vsphere, bringing the benefits of the software-defined data center to storage. By clustering server hard disk and solid state drives (HDDs and SSDs), Virtual SAN creates a flash-optimized, highly resilient shared datastore designed for virtual environments. VSAN provides scale-out hybrid storage with built in resiliency protection from hardware failures and policy-driven per VM SLA (Service Level Agreement). Virtual SAN allows disk groups to be created and made accessible to the hypervisor for use by applications and VM s. A VSAN datastore is a container of disk groups across a cluster of nodes. Each node running VSAN supports up to five disk groups. Each disk group is comprised of one flash device and up to seven devices for data. A disk group provides two tiers of storage: 1. A data tier containing all user and VM information 2. A flash tier as a datastore or for caching of hot, or most recently accessed, information from the data tier If it is necessary for the administrator to add more devices to the flash tier or to the data tier, clustered storage must be split into multiple disk groups. Memory Channel Storage provides high performance persistent memory in the VSAN flash tier layer (figure 1) with the lowest, most consistent response times and the highest throughput per VM. MCS AS FLASH TIER IN SPINDLE-BASED VSAN VM VM VM VM VM VM VM VM VM VM VM VM VM VM VM VM VM VM VM vsphere 5.5. vsphere 5.5. Up To 32 Cluster Nodes vsphere 5.5. vsphere 5.5. VIRTUAL VSAN MCS TIER SPINDLE TIER Figure 1: MCS devices in flash tier of VSAN disk group 6
MCS vraid-0 Flash for VSAN Diablo recently released RAID-0 (striped) support for Memory Channel Storage devices natively in the MCS driver not only for ESXi, but also for Virtual SAN. MCS vraid-0 is a software solution which allows multiple devices to appear as one logical device. The hypervisor exposes the striped devices as a new LUN to be used by the VMs. MCS vraid-0 supports VMFS and VMFS-5 on ESXi 5.5 and can be used as part of the VSAN Flash tier for a single disk group. When used in the VSAN architecture, the administrator can use the newly striped flash device in the flash tier of the disk group. By striping MCS devices in the flash tier, the user keeps the latency very low even at high IOPS. This means the VM s achieve extremely fast response times at very high transaction rates. As a result, even when the Virtual Machine needs to perform OS paging due to memory pressures, the VM will continue to provide a strong user experience. As VSAN keeps the data distributed in the cluster, MCS allows a high quality user experience while using less memory allocated to each VM as well as in the case of an application with an unpredictable heavy foot print workload in the Virtual Machine. HYBRID VSAN: MCS OVER HDD HYBRID VSAN: PCIe OVER HDD VM VM VM VM VM VM VM VM VM VM VM VM VM VM VM VM vsphere 5.5 vsphere 5.5 vraid-0 FLASH TIER MCS [400 GB CAPACITY] FLASH TIER PCIe SSDs [800 GB CAPACITY] DATA TIER DATA TIER DISK GROUP A STRIPED DEVICES FOR VSAN FLASH TIER DISK GROUP A PCIE REQUIRES MULTIPLE DISK GROUPS FOR VSAN Figure 2: Multiple striped MCS devices in flash tier and multiple unstriped HDD devices in the data tier 7
Configuration Setup Two VSAN clusters were used, one utilizing a 800 GB PCIe flash device and one utilizing two 200 GB MCS devices striped together utilizing the Diablo MCS vraid-0 driver. Therefore, the VSAN configuration using MCS devices contains just half the amount of flash capacity in the flash tier as the VSAN configuration using PCIe devices. The following is the system set up for both VSAN clusters: 3 VSAN Cluster Nodes: IBM x3650 M4 s 16 cores per server Host RAM: 128GB VSAN Setup: - 1 VSAN Disk Group per host o Data Tier: 6 x 200 GB 7200 RPM SAS HDD o Flash Tier: 800 GB PCIe SSD vs 2 * 200GB MCS devices - Default VSAN Policy Virtual Machines: - 250 Virtual Machines - Windows 7, 32-bit - 1 GB DRAM - 1 vcpu View Planner: - Local mode test - Aggressive user profile: 2 second think time - Standard View Planner profile test Group A and Group B Test Results Using Virtual SAN (VSAN) During our testing, we observed that while using MCS as the flash tier, even with approximately half of the flash capacity, the View Planner score achieved is 25% better than when using PCIe as the VSAN flash tier. 8
9
Summary Diablo Memory Channel Storage technology showcases dramatic improvements in both average latency and variations in latency as compared to PCIe flash devices. MCS technology brings storage closer to the CPU, using the memory bus as the transport layer and bypassing many sources of variation in the traditional storage path. The architecture shows its strength under pressure, demonstrating linear user experience even when aggressive OS paging activity is underway within the virtual desktop. As a result, VDI administrators have an opportunity to provision less memory to the ESX hosts and to VMs while maintaining a best of breed user experience. Memory can be allocated to VMs based on values closer to average consumption instead of peak consumption with the assurance that MCS technology can minimize the impact during periods of peak or anomaly consumption. MCS and VSAN are perfect partners for a high performance software defined storage architecture. 2013. All Rights Reserved. The dt logo, Diablo Technologies, Memory Channel Storage and MCS are registered trademarks of Diablo Technologies, Incorporated. +1 (613) 569-9999 www.diablo-technologies.com Diablo_Tech 10