The Virtual Computing Laboratory (VCL) began in the spring of 2004 with the idea of providing dedicated remote access to a range of computing environments for students and researchers to access from any networked location either on or off campus.
The computing resources available to students and researchers were sparse. Students who needed to use computing resources from off-campus locations had to use traditional shared “dial-up” servers or travel to campus computing labs for software that was not available remotely. The “dial-up” servers usually consisted of Unix servers, or windows terminal servers, located in data centers or network closets across campus. In a shared computing resource environment, where many students run high-end applications or experiment with computer science coding assignments on the same computer, the level of service degrades very quickly. Frequently the remote server crashed due to the load of the machine. As a result, processor and memory limitations were set to alleviate issues, but the side effect is now many of the applications students need to use will no longer execute. Windows terminal services were also problematic; this solution is fine for lightweight business applications, but when trying to provide engineering CAD or simulation-based applications to thousands of remote users, this method did not scale well in terms of flexible computing resources, usability, and it is very costly. Additionally, software media distribution for distance education students was prohibitive. Depending on the application and the related license agreement, it was limited to university-owned computers and was not allowed to be installed on the student’s personal computer.
Two NCSU computing units drove the development and implementation of VCL from this idea. The College of Engineering’s, Information Technology & Engineering Computer Services (ITECS) and the High-Performance Computing (HPC) team of the Office of Information Technology began building an on-demand provisioning system.
At the heart of VCL is a web-based service for scheduling and provisioning remote access to high-end computational resources. These resources consist of blade computers located in multiple data centers and other specialized University lab computers. The blade computing resources are dynamically loaded on demand with a choice of operating system images and predefined application sets in either bare metal or hypervised environments. The blade servers also provide flexibility between High-Performance computing and academic computing by easily repurposing during low use times between cluster use for batch processing or single seat use for customized environments.
In November 2008 the VCL code base was accepted into the Apache Software Foundation (ASF) as an incubator project. The Apache Software Foundation provides support for the Apache community of open-source software projects. The development of VCL moved form NCSU to the ASF incubator project, allowing for broader community acceptance and contributions from the larger open-source community.
In June 2012, VCL graduated to an Apache top level project. More information regarding the ASF VCL project and be found at http://vcl.apache.org/
Initial 2004 VCL Development and Steering teams:
Development | Steering |
Billy Beaudoin – ITECS | Sam Averitt – Central IT (retired) |
Michael Bugaev – HPC | Dr. Henry Schaffer – HPC |
Aaron Peeler – ITECS | Bill Scott – ITECS COE (retired) |
Josh Thompson – ITECS | Dr. Eric Sills – HPC |
Dr. Mladen Vouk – Project Lead | Jason Young – ITECS COE |