I spoke with Infinio's CTO, Scott Davis, about his solution for lackluster VDI performance and during our phone call, he told me that companies need not suffer poorly performing virtual desktops anymore. Of course I was intrigued and wanted to hear more, especially because I'm a self-proclaimed "VDI Buster". Infinio's solution involves a sophisticated content-based directory, which enables global data deduplication across an entire cluster. This deduplication creates an effective cache size that is five to eight times the physical memory allocated to Infinio.
Before you go off on the "Oh, it's caching" tangent, like I did, let me explain the problem that Infinio solves that causes so many VDI projects to be abandoned due to performance issues.
Desktop computers are different than servers. Servers process user requests in the background and deliver "answers" over the network in small chunks. Desktops are all foreground processing-oriented with graphics, keystrokes, and mouse movements--all of which have to be processed and sent over the "wire" in real time to the user. This isn't a problem when your disk, memory, operating system, cache, and peripherals are close to the user, say for example, while using a laptop. This generally makes response times instantaneous to the user, because the "wires" (interfaces, buses, hardware) are all local to the user.
In VDI, the server has to process keystrokes, graphics, mouse movements, user requests, and processing and then send the results over the "wire" or airwaves back to the user. The process is reasonably fast if you only put one to five virtual machine desktops on a host. However, that isn't an efficient use of money because you can buy a pretty nice laptop for $400 or $500. To spend $5,000, or more, per desktop in server hardware is a bit ridiculous.
The answer to the problem is to place more virtual machines on a host to better leverage the hardware resources that servers provide. By hosting 50 or more virtual machines, you effectively bring the price per user back down into a manageable, reasonable, and financially sensible range.
However, when you do this, users complain that their desktops are too slow to be useful. And they are. That's because each desktop requires so much exclusive processing power, memory, and disk access than a server is capable of handling. Bottlenecks occur, performance suffers, users suffer, and VDI projects get sent to the dustbin.
The solution often involves using SSDs, upgrading the network, maxing out host systems with CPU and memory, fewer virtual desktops per host, and budgets go up, up, and away.
It would have been less expensive to buy everyone a nice Macbook Pro and then give them a $5,000 "We didn't make you use virtual desktops" bonus.
Infinio takes a small amount of RAM from each of your ESX hosts, and pools it together to create a distributed caching layer. Our innovative content-based design means that the cache is deduplicated; this enables Infinio to run exclusively in RAM, avoiding the complexities of SSDs and flash devices.
All it takes is a 30-minute installation that doesn't require reboots, special training, or changes to your environment.
Once it's up and running, Infinio becomes your right-hand-man for performance. We serve I/O requests out of cache, speeding up response time and taking traffic off the storage network. Then, we provide you easy-to-understand visibility into storage performance so you can see how much better things are.
And all of this at half the cost of the nearest competitor.
The amount of RAM that Infinio takes from each host is about 8GB. But it returns as much as 64GB in deduplicated, cache to make those virtual desktops pop with the feel of a local operating system. This caching layer effectively moves data closer to the user where it can be quickly accessed.
The reason that caching reused data makes sense, if you think about it, is that even the fastest SSDs (local or remote) have access times in the triple digit nanosecond range. Memory has access times in the double, single, and sub-single digit nanosecond range. Once data is accessed on the disk and read into memory, then it's transferred over the network to the user. Do you see any potential for bottlenecks in the disk-to-memory-to-network-to-user equation? Exactly. This is why caching works. And this is why Infinio's solution works.
Infinio offers a free trial and a demo for those who are interested in super-charging a VDI deployment.