VDI - Virtual Desktop Infrastructure

In fall 2011, ECS announced that students could use the VDI, a virtual Windows desktop. You can check out the VDI page. You can read below more about the VDI, what it runs on, how it works, and so much more.

Teaser to get you to read more –“ I am writing the VDI article on a VDI client.  8^)”

Virtual Desktop Infrastructure – Abridged – W/O jargon

The VDI, which consists of ten fast computers, fast networking, fast storage, and virtual desktop software, provides Engineering students with remote access to the Engineering Windows environment. 

Virtual Desktop Infrastructure – Abridged – W/ jargon

High performance networking, ten dual 2.93 GHz hexacore computer blades with 96 GB of memory each, and a Storage Area Network (SAN) server with 2.4 TB of mixed, solid-state hard drive (SSD) / 15000 rpm serial-attached  SCSI (SAS) drives were combined with new virtual computer software to create the Engineering College’s Virtual Desktop Infrastructure (VDI). The VDI has up to 200 remotely accessible virtual Windows computers that students can use to access their Engineering account and Engineering College software from a non-Engineering computer lab, general assignment classroom, or portable or home computer.

Virtual Desktop Infrastructure – Unabridged

For many years now the one question students ask us the most is “How do I log in remotely to an Engineering College Windows computer?”  Until this fall  the answer was, “You can’t [because Windows is a single user operating system].”  NX Client (NoMachine) provides remote desktop access to Linux computers. The Virtual Private Network (VPN) https://connect2.engineering.uiowa.edu provides secure, remote access to your files as well as access to on-campus-only resources like the library from a personal computer. But there was no workable remote access to Windows for students ...until now.  Incremental improvements in several technologies combined with funding support from the University, the College, and Hewlett-Packard have enabled this successful offering.  Check out https://vdi.engineering.uiowa.edu

It was the improvement of virtual computing that enabled us to implement a dynamic virtual hardware solution.  Virtual hardware has revolutionized computer server environments recently and has now become viable for desktop environments.  What is virtual hardware and what makes it possible?

How Virtualization Works

Because different models of computers have different hardware, engineers write drivers that normalize the view of the hardware to the operating system. This hardware abstraction layer (HAL) enables a single version of an operating system like 64-bit Windows to run on every computer within a class of hardware that have the same HAL. The HAL standardizes communications between the computer, which is hardware, and the operating system, which is software. In the famous Turing test, software interacts with people as if it were a human using language as the interface.  Imagine a twist on the Turing test where software interacts with the operating system as if it were hardware using the HAL as the interface.  A program replaces the real computer hardware with virtual computer hardware in the form of a software program that interacts with the HAL as if it were real hardware.  The operating system on the other side of the HAL interacts with the virtual hardware as if it were real hardware.  In our server room we have sets of well configured computers in clusters each running virtual machine hosting software from VMWare that allow us to run, manage, and manipulate a number of virtual client machines per cluster.  Almost all of the servers that support the Engineering College are now virtual machines. 

The core software component used to deliver remote Windows desktops is VDI software from VMWare. It manages most aspects of the client virtual computers including authentication, on-line client count, communications, and access to resources.  Users install a View client on their local computer which uses special, high-performance algorithms to communicate through the VDI software to the Windows client operating system. 

There are several hardware components that improve the VDI experience. This last year we completed a network upgrade (see that article)  that increased the speed tenfold on both the local area network (LAN) side and maybe even more significantly on the storage area network (SAN) side. As a general rule the hard drive storage for virtual machines is placed on a SAN rather than locally on the host computer. This allows the virtual machines to be moved easily among hardware host computers while maintaining an active connection to their disk store. The VDI software uses a single, golden, system image as the configured operating system when booting all of the virtual client computers. It also has to store metadata to support all of the running VDI client computers. These data are critical to the performance of every VDI client computer.  We used a special 2.4 TB SAN storage component that actively combines high performance 15000 rpm SAS (serial attached SCSI) hard drives with solid state drives (SSD) to deliver data to the VDI host quickly with very low latency.  The most requested data are migrated to the SSD, which is non-volatile random access memory (NVRAM)-based storage that has no mechanical parts and therefore a very fast response.  The SSD SAN storage is for the metadata like the golden boot image and VDI operational data. Once a virtual machine is created and the OS booted up, the client operating system uses the standard SAN storage just like the operating system on a physical desktop computer.

Hewlett-Packard donated a C7000 blade chassis and two computer blades. We purchased eight more computer blades. The idea of a blade chassis is that multiple computers can share common resources like communications, power, and cooling, and be a hot-swappable component. These are effectively hot-pluggable (with the power on) computer mother boards.  Our ten blades were each configured with two CPU sockets for two hexacore 2.93 GHz Intel X5670 processors and 96 GBytes of RAM.* Two of the blades are configured with VDI management software in a redundant configuration such that both have to fail for the service to stop.  The remaining eight blades support the VDI clients.  A pool of clients that have been launched wait for users to connect. When a user connects to the VDI server, a virtual computer is removed from the pool and assigned to the user. This asignment increases the active license count. At that time another virtual computer is booted up from the golden image and added to the pool. When an active user logs out from their assigned virtual computer, it is deleted and the active license count is decreased.

We are just completing an upgrade to VDI version 5 that will improve graphics and overall performance. The new version will allow heavy graphics-based programs like AutoCAD to run on VDI, although we are not sure yet how snappy those applications will be. VMWare is working on a Macintosh client upgrade for next year as well as a Linux client.

We have high hopes for the VDI service as it enables student access to engineering software from any computer lab on campus, all of the general assignment classrooms, as well as portable computers that connect to the UI Wireless network. Additionally there are View clients for Android devices and the iPad.

*At this point in writing this article the time arrived to upgrade the Linux OS on my College computer. This is about a two-hour operation with another hour of configuration on my part to get my environment back to the way I like it.  So I have moved to my Macbook Air and using the View client logged in to vdi.engineering.uiowa.edu to start up a remote Windows session. I am writing the VDI article on a VDI client.  8^)

[March 2012]