Last September Atlantis Computing released a product called "ILIO Diskless VDI." I wrote about it on BrianMadden.com then, and Gabe and I gave it the "Best of VMworld 2012" award in the desktop virtualization category. If you're not familiar with ILIO Diskless VDI, the basic idea is that you run an Atlantis storage appliance VM on each of your VDI hosts and it uses RAM to store all the deduped, compressed disk blocks of all the desktop VMs on that host. So essentially you're using a RAM disk for the C: drive of each VDI instance, meaning they run fast. Really fast. Screaming crazy fast. And since Atlantis is only storing each disk block once (regardless of how many VMs on that host use that block), they can run dozens or hundreds of VMs off of a very small amount of memory.
The only problem with the Diskless VDI solution was that it only worked with non-persistent "shared" VDI (where all users share a golden master disk image). As you know from my article yesterday (and various other rants over the years), I believe that VDI really shines with persistent "one-to-one"desktops since (1) that's the way your current pre-VDI physical desktops work, and (2) if your desktop requirements were simple enough that gold master image sharing worked, why wouldn't you just use RDSH? (Though true there are reasons that you'd want to use a shared master, especially with something like Unidesk or Mirage, but my "default" is to do VDI just like you do physical, and that's 1-to-1.)
So while Atlantis's ILIO Diskless VDI of 2012 was cool, it wasn't useful enough to break out since it only worked with shared images.
But that all changes today, as Atlantis has released a new version of their ILIO Diskless VDI for persistent desktops. I can safely say that this product seems like the #1 ultimate best VDI storage solution on the market today. Period.
How it works
From an architecture standpoint, Atlantis's ILIO Persistent VDI product has a VM on each VDI server that they call a "Session Host." That's really no different than their previous non-persistent product. The new part is that they now also have a "Replication Host" which is a central VM that maintains the master copy of each user's blocks. (And of course this can be replicated, synced, backed up, etc.) So when a user wants to connect to their desktop, the VDI software (View, XenDesktop, etc.) routes them to some random VDI server, and that server's Atlantis ILIO Session Host VM gets all that user's blocks it doesn't already have (from other VMs) copied down to its memory from the central Replication Host.
The beauty of this is that the long-term permanent storage of each user's unique blocks is outside of the dekstop VM's IO data path. The desktop VM on the VDI host reads and writes its blocks from the RAM of the ILIO Session Host VM at full RAM speed, and the Session Host just replicates any unique compressed blocks over to the Replication Host out-of-band, taking its own sweet time. (Which, in disk speed land, is still within a few seconds.) This dual-role architecture is how Atlantis solves the CAP theorem. (Do you know of the CAP theorem? It says that when it comes to storage, you have Consistency, Availability, and Partition Tolerance—often manifested as lots of local data partitions which means the "P" ends up being "Performance"—and you can only get two out of the three out of a single system.) A lot of vendors opt for Consistency and Availability and then throw a bunch of SSDs or DRAM at the thing to solve the "Performance" part, but Altantis get the Consistency and Performance from the local Session Host and the Consistency and Availability of the centralized Replication Host. The Availability portion of the Replication Host is pretty obvious, but when it comes to consistency, Atlantis is able to keep the central host up-to-date pretty easily since they only have to write blocks that change or track small metadata, and because they're deduping everything they only have to send blocks that are new that the central Replication Host hasn't ever seen. And of course those blocks are all compressed, they serialize the writes, and they combine small changes into single blocks, so really you can imagine that hundreds of desktops can use a low-end NAS as their primary storage.
Check out this crazy amazing performance
Do you remember Chetan Venkatesh's (Atlantis CTO and Founder) session from BriForum 2010? He gave a talk where he basically said that in the future, desktops running on VDI will actually be faster than desktops running on local laptops. He based his argument on Moore's Law and shared resources and stuff like that, and his point was that some day soon, everything that a VDI desktop runs will be more-or-less instant. That presentation was over two years ago and I don't know if Chetan knew about what he wanted to do with this Diskless VDI stuff, but let me tell you, Atlantis Computing has built that. They gave me a persistent VM—complete with admin rights and everything—in their in-house production XenDesktop environment which is powered by ILIO Persistent Diskless VDI. In other words, I was running a dekstop alongside of Chetan and Bernard and Jim—just like an Atlantis employee. Since this was a persistent desktop I was able to install Chrome, Office 2013, Dropbox, 1Password, and all my other applications. And let me tell you, everything in this dekstop was instant... just so fast! I opened my huge 200-slide 100MB PowerPoint presentation and it happens instantly. Seriously, I couldn't even time it with a stopwatch. I double-click on the .pptx file and the PowerPoint splash screen is up for about 1/2 second and then my full presentation is loaded. The same goes for Word, Excel, Chrome.. everything just feels instant. This is absolutely the fastest desktop I've ever used in my life.
To prove my point, I installed the PassMark PerformanceTest 8.0 benchmarking suite into my VM and ran the DiskMark disk benchmarking utility. Check out Perfmon during that time:
Notice that for this graph of the IOPS I set the scale to 0.1, and this thing was able to deliver a maximum of over 30,000 IOPS! How crazy is that? This VM is pretty standard otherwise: Windows 7 x64, 2GB RAM (1.25GB physical with 750MB overcommit), 40GB disk size. If the peaks of 30k IOPS aren't enough to blow you away, check out the overall benchmark scores that the PassMark app showed when it was done. (The green line is me, and the red lines are other common disks that were tested):
This is crazy. My overall Disk Mark score was 4355, and if you look at the PassMark results of the current fastest drives (which is updated from thousands of tests daily), this puts my Atlantis ILIO drive in the #7 position. Overall. Of all the drives in the world. Faster than most SSDs.
This thing is crazy fast (which makes sense again since all the inline IO is in RAM), and it's a full real persistent desktop.
And remember, this Atlantis ILIO Persistent VDI is pure software
In addition to the crazy performance, remember this Atlantis ILIO solution is pure software. That's awesome for a bunch of reasons. First, it means you can scale as needed. It's not like you have to buy a $90k appliance that you then have to use for at least 2,000 users to get your money's worth. If you only have 20 users then you can buy 20 licenses (estimated around $150 each, depending on your reseller).
Being all software also means that you don't have to change architectures part way through your project. The ILIO stuff is easy enough to buy for a tiny environment and scalable enough for thousands of users. Also since it's all software, you don't need to use a PCI slot for Fusion-IO or anything, so you can pop an Nvidia GPU or Teradici card in there to get some great graphical performance.
And finally, being all software means that you don't need to buy any fancy high-speed storage to make it work. Even your old server with dual hard drives from 2005 can handle it. No SSD. No Violin. No Fusion-IO. No storage appliance. Etc.
Details of the test environment
Here's a look at the details of the VDI environment I used for the past month. Notice that there's nothing really impressive here at all. The individual machines and primary storage are not that special.
- NetApp Aggregate in RAID-DP with 10x 15k RPM SAS drive. (180GB each / 1.8TB RAW space). They tested this to handle 800 users in the LoginVSI Heavy test. This disk is only being used for replication, backup and recovery in case of a host failure.
- 1 NetApp Volume exported as NFS to the ILIO Replication Host over 2x 1Gbe (for traffic path redundancy)
- 12 cores (Dual hex-core) 2.93Ghz CPUs
- 144GB RRD3 RAM
- No local storage for VMs. (Only the hypervisor is installed on local 15K SAS disk storage)
- 3x 1Gbe bonded for storage traffic
- 1x 1Gbe for management
- VMware vSphere 5.0 and Virtual Center 5.0
- Citrix XenDesktop 5.6
- ILIO persistent VDI 4.0
Desktop & Configuration
- 50 Windows 7 VDI VMs
- RAM per desktop is 1.25GB with an overcommit of 750MB. (So each desktop VM thinks it has 2GB RAM.)
- The ILIO Session Host VM has 75GB of RAM to use for internal OS and RAM storage
RAM and Storage Consumption Stats
- On my XenDesktop server, the Atlantis ILIO Persistent VDI is turning its 75GB of physical RAM into 1.36TB of virtual NFS storage.
- On a per desktop basis, this means that each VM is using 28GB on average (40GB allocated) of virtual storage, but that is consuming only 1.5GB of physical RAM per desktop. My desktop, after a month of use, is right about at average using 27.7GB of virtual storage.
- On the NetApp backend storage, the whole VDI environment is using 98GB (~1.9GB of storage per VM).
- With 1.25GB of RAM used per desktop VM and 1.5GB of RAM used for the ILIO Session Host, I'm only using a total of 2.75GB of RAM for my desktop VM memory and storage combined. They can overcommit more agressively when using RAM as storage because the paging penalty is negligle (since they're paging onto ILIO RAM).
Like I said, Atlantis ILIO Persistent diskless VDI is the current storage solution to beat. You have a crazy amount of IOPS with full persistence of disk images in a software-only solution that doesn't require any special hardware for about $150 per user. It's amazing, and I'm hooked. What do you think?