Date proposed: 26 Mar 2009
Date revised: 9 Apr 2009
A virtual computing laboratory (VCL) is a collection of computers and virtual machines that are either bare metal, pre-imaged or imaged on demand with necessary software to support the needs of the user. Ideally, a reservation and provisioning system is in place to allow someone to request one or more computers, possibly with specific pre-installed software configurations, for a certain period of time.
The idea is that the user gets exclusive remote access to (or "maps" to) one or more real or virtual machines from any computer capable of running remote display software supported by the VCL. The user may have complete administrative control or simple user control of the remote real or virtual machine.
North Carolina State University is one of the originators of the VCL concept, which they developed using IBM blades and some custom software (most of which has been released as open source). They have a big system that does scheduling and allocation, which we could eventually implement here.
When there are adequate numbers of computers in a VCL, it:
Features specific and common to blade computer allow remote control of a machine: power it on and off, watch it as it starts up and shuts down, and install an operating system from virtual media (such as a CD/DVD).
Real machines ("computers") in a traditional lab are normally shared, which does not allow students to control the computer. Some computer projects are long-running (hours or days); this effectively removes the computers involved from shared use during that time.
Students can control one or more virtual machines running in a computer, but the computer must be capable of hosting one or more virtual machines. Such computers require a lot of resources to achieve a productive student experience — gigabytes of RAM, fast disks, two or more computing cores, and often a faster than normal network to connect machines. Student personal computers (including laptops) may not be capable of running virtual machines; they may not be able to upgrade their equipment due to limitations in their hardware or costs. Some students may not even own a personal computer.
Instead of sharing computers, one can provide capable computers dedicated to a student, perhaps only for a limited time. This requires space and equipment for a student workstation (desk, chair, computer, monitor), a means of ensuring that their work is not compromised by other students in the same room, and a way to re-use the computer when the student is not present and is not using the computer unattended.
Traditional computer labs require that the student be present to use the computer or software installed on that computer. Requiring presence in a lab makes distance learning, especially for military personnel, very difficult and also forces students taking courses on campus to take time away from family to commute and use the labs.
A VCL is an efficient way to address all of these issues and allow management and allocation of computing environments. Although unused lab computers can participate in a diverse VCL, they are not suited for remote control.
We propose to use computing blades to implement a VCL, similar to a successful VCL project at North Carolina State University. Blades are compact, capable computers that reside in enclosures in a server cabinet. Depending on the blade vendor, anywhere from 60 to 96 blades can be housed in one cabinet that takes up 2ft x 3ft of floor space. Blade computing is designed for central management, dense packing of computers in a small floor area, and fast connections amongst the blades.
Individual blades are very capable in their computing capacity. Each blade can have from one to four processors, and each processor can contain 2 or 4 computing cores. Maximum RAM capabilities usually start at 16GB and may be as high as 128GB. Consequently, they are highly scalable and configurable, and they can handle two or more virtual machines per processor.
Specifically, we would like to enhance our facilities to include a VCL consisting of a10- blade enclosure, with each blade having one quad-core processor (and the ability to add a second processor in the future), 8GB of RAM, a 250GB hard disk, and a means of remotely controlling the blade. Such a configuration should support 10 students connecting to 1 blade each, or up to 40 students connecting to virtual machines running within those blades. In the coming years, we would add more blades and enclosures to support more students and projects.
Our objective is to provide computing resources for:
The plan is to develop the VCL in a series of phases:
The first incarnation of a VCL is envisioned to be a group of old Dell 360 computers in SCI104 with at least 2GB of RAM running Linux, VNC as the remote display technology and probably VMware Server to support virtual machines. There will need to be 1TB of storage accessible to store and load images and virtual machines.
Each student would be allocated one real machine -- an internet-accessible IP address and a means of authenticating (if possible). VMware images for Windows and Linux would be available; providing access to the bare metal so they could install their own hardware and software would be difficult to achieve remotely, without additional hardware.
Since the proposed ITS program would require this in lieu of nomadic computing, I have already received approval to purchase the extra RAM, which is about $3300.
Blades are very compact, performance- and (often) energy-usage optimized computers housed in a 7U enclosure that holds from 10 to 16 blades. About six of these enclosures can fit in a standard 42U cabinet that has a footprint of about 2ft by 3ft, meaning that up to 96 computers would take up no more room than half the size of your desk's footprint (cabinets are about 6 ft tall).
Each blade can be managed remotely, including seeing the system boot up and usually power- cycling the blade. That gives complete control over the blade to the user, though some accommodations must be made to allow the user to access CD/DVD boot and application images remotely.
A blade with a minimal configuration costs about $1100, but that doesn't include the enclosure, which is required and about $3000 with redundant power supplies and a pair of passthru networking switches. In lieu of blades, one could use 1U servers. They cost about the same, but typically lack remote management hardware (for all blades or for individual blades) and lack redundant power supplies.
Blades are often used as individual computers for student use, as research nodes in a supercomputing cluster, or as participating nodes in a search engine.
There will need to be some mechanism for shared storage on the network -- the faster the network and storage, the better for loading and saving images, as well as booting from virtual media stored on disk. We have a lot of storage space, but it isn't all network accessible.
Here is how we can get some blades:
If we get this grant, there are 16 HP Blade Workstations available. I am not sure if they could be used in this capacity; though the grant does specify "virtual labs", that may not be the same concept as proposed here.
If approved, a Founders Endowment Grant could start the Virtual Computing Lab with an initial set of 10 quad-core uniprocessor blades (about $16K) and enclosure, with room for a second processor in the future.
Given that we have the money and we are allowed to spend it on this, the idea would be to spend about $55K on 20 energy-efficient quad-core dual-processor blades, two enclosures and a 4 year warranty -- from WA state company Silicon Mechanics.
This would be much more complicated, since if we wanted to provide complete control over any existing lab computer, we would need some way to:
Consequently, due to the expense and complexity, perhaps only limited use of a lab computer is possible -- remote use of what is already installed. This could be useful for remote access to applications which can only be installed on University computers.
One problem will be a lack of sufficient IP addresses, since the 128.208.247.0/24 subnet supporting SCI first floor is full, and I was thinking about using the 6 circuits in SCI104 to provide power.
However, we could use one of the server rooms (CP206F -- networking room, or CP206N, lab server room) if there are only one or two cabinets. Power might be an issue then; ventilation should be adequate.
Blades can consume up to 4.2KW per enclosure, and there can be up to six enclosures per cabinet.
Blades generate a lot of heat, and a room not designed for that much heat will contain some of it, making it hot and reducing the life of the equipment.