Int. J. Cloud Computing, Vol. X, No. Y, xxxx 1
Copyright 20XX Inderscience Enterprises Ltd.
Using cloud computing to support higher education in networks and systems
Jianwei Liu, Yunhui Fu and Jim Martin* School of Computing, Clemson University, Clemson, SC, 29634, USA Email: firstname.lastname@example.org Email: email@example.com Email: firstname.lastname@example.org *Corresponding author
Abstract: Virtual machine (VM) technology is widely used in higher education to support pedagogy and research. However, without a standard platform for managing VM technology, VM-based infrastructure is likely to be acquired and deployed in an ad-hoc manner. The virtual computing lab (VCL) system is an open source cloud computing platform developed specifically to support higher education. The main goal of VCL is to make available dedicated, custom compute environments to users. We built a small VCL cloud and trialed its use to support several networking courses offered in the School of Computing at Clemson University during the 2013/2014 academic year. In this paper, we summarise the trial and provide results and conclusions. We found that well provisioned PCs might support up to ten VMs however when subject to peak loads, the system is not able to support accurate and reproducible network experiments.
Keywords: virtual computing lab; VCL; higher education; cloud computing.
Reference to this paper should be made as follows: Liu, J., Fu, Y. and Martin, J. (xxxx) Using cloud computing to support higher education in networks and systems, Int. J. Cloud Computing, Vol. X, No. Y, pp.xxxxxx.
Biographical notes: Jianwei Liu is a PhD student in the School of Computing at Clemson Unversity. He received his Bachelors degree of Software Engineering, and Master of Science degree of Telecommunication and Information Systems from Xidian University in 2007 and 2010, respectively. His research interests include cloud computing, cloud-based network resource management, and M2M communications.
Yunhui Fu received his BS in Electrical Engineering from the Central South University at Changsha, China in 2000, and MS in Computer Science from the University of Taxas-Pan American in 2010. Since then, he has been in Clemson University to pursue his PhD. His research interests include improving he reliability, scalability of media communication over wired and wireless packet network.
Jim Martin is an Associate Professor in the School of Computing at Clemson University. His research interests include broadband access, wireless networks, internet protocols, and network performance analysis. His current research projects include heterogeneous wireless systems and DOCSIS 3.x cable access networks. He has received funding from NSF, NASA, the Department of
2 J. Liu et al.
Justice, Cisco, IBM, CableLabs, and BMW. Dr Martin received his Ph.D. from North Carolina State University. Prior to joining Clemson, he was a consultant for Gartner, and prior to that, a software engineer for IBM.
This paper is a revised and expanded version of a paper entitled Using cloud computing to support higher education in networks and systems presented at Proceedings of 2nd International IBM Cloud Academy Conference (IBM ICA), Atlanta, GA, April 19, 2014.
A growing number of courses in universities require computer software as a learning tool. As the variety of software to be installed on campus computers grows, software licensing and management of open source software will continue to be a challenging problem. Security and failure-resilience of those systems is more critical than with personal computing, since they are used by potentially large number of users. Traditionally, groups of campus computers are imaged with a particular combination of system and application software. Instructors might not have the permission to change the image. While this approach can achieve the desired level of security and robustness, there are several disadvantages. First, it is not flexible. Instructors may require specific software running on specific operating system at specific period of time. System changes on campus computers even require the information technology department involved. Second, the approach is not efficient. It is common that specific software for courses to be only installed on a small portion of the departmental computers. Installing a large amount of software on all machines can lead to deteriorated performance and potential software conflicts.
Virtual machine (VM) technology is a promising solution to the above issues. Images of VMs can be tailored by instructors based on their unique course requirements. VMs can be isolated from other systems thereby supporting course scenarios where students require root permission. Allowing instructors (or students) to take snapshots of VMs enhances system robustness. However, as the level of capability of VM systems increases, the complexity and cost surrounding creation, storage, and management of VMs can become unmanageable.
VM technology is widely used in higher education to support pedagogy (Xu et al., 2012; Powell et al., 2007; Krishna et al., 2005; Du and Wang, 2008). Here at Clemson University, and likely at other universities, there is no standard mechanism in place to manage VMs. As a consequence, departments or individual faculty are likely to setup VM-based infrastructure to support education on an as-needed basis. Engineering programs teach domain specific problem solving methods using a wide variety of software systems that likely include clustered Linux environments, high performance computing, big data programming environments. These systems typically are based on combinations of licensed and open-source software. As the adoption of software systems in higher education grows, the management of the required infrastructure will continue to become more challenging. Cloud computing is a possible approach to meet the rapidly evolving computing requirements faced by higher education.
Using cloud computing to support higher education in networks and systems 3
The technology and ideas surrounding cloud computing have evolved significantly over the last several years. At the highest level, cloud computing provides services to users over a network. The nature of the service, the target user community, and the economics that drive the use and adoption of the system all contribute to a diverse range of cloud computing systems. We focus on cloud computing to support higher education focusing on courses that involve networks or systems. These courses tend to be hands-on, lab oriented courses that involve writing and testing software in realistic system environments. Prior to VM technology, systems courses typically required a specific lab containing dedicated lab machines. It is likely that these courses impose the most challenging requirements on a potential cloud-based system that supports higher education.
In this paper, we report on our progress in evaluating cloud-based VM technology to support higher education. We used the virtual computing lab (Schaffer et al., 2009), a cloud computing platform that has been recently contributed by IBM and North Carolina State University as an Apache open source project (Apache VCL:, https://vcl:apache:org/). The goal of VCL is to make available an easily managed, cloud compute environment to users that could include students, faculty or staff in a University environment.
We built a small VCL cloud and trialed its use to support several networking courses in the 2013/2014 academic year. As shown in Figure 1, the cloud in the middle represents the Clemson School of Computing network with our VCL cloud in the core. Inside this cloud, the different ellipses signify various VM images that can be instanced for teaching purposes. Some might serve as software defined routers, others might serve to provide network emulation or simulation environments. The testbed is designed to support a small-scale trial of VCL. It involves two well provisioned compute nodes that were allowed to support up to ten VMs. We did not permit users to request bare-metal machines. While the testbed can be used for other computer science courses, we focused our trial on a single course: an entry level graduate course on computer networking (specifically, CPSC8510). Our test bed currently does not integrate with OpenStack either. However, CCIT at Clemson is evaluating OpenStack to see he chance of overlaying VCL over OpenStack. We hope our trial can serve some useful information for them.
The paper is organised as follows. First, we provide necessary background information. Then we present related test beds and research work in Section 3. Next, we present the details of our VCL cloud in Section 4. In Section 5, we detail the customised images that we developed, following by some case studies of how we use VCL in our networking courses in Section 6. In Section 7, we summarise the lessons we have learned based on the trial. In the final section we identify next steps.
4 J. Liu et al.
Figure 1 The concept of our cloud-based virtual lab (see online version for colours)
In this section, we briefly overview VCL. We compare VCL with other cloud technologies that are available. The main goal of VCL is to make available dedicated, custom compute environments to users. The compute environments can range from something as simple as a VM running productivity software to a cluster of powerful physical servers running complex HPC simulations. North Carolina State University (NCSU) and other schools in North Carolina rely on VCL for managing compute resources for faculty, staff, and students (https://vcl:ncsu:edu/). VCL is used to provide compute platforms to faculty and students since 2004. It is now used by many universities and high schools across the USA and in Europe (Schaffer et al., 2009).
The VCL infrastructure includes a web server, a database, and a management node. Open source tools like Apache, MySQL, and extreme cluster/cloud administration toolkit (xCAT) are used for the above modules respectively. It requires all nodes to have two network interfaces, one that connects to the campus network and another that connects to a private network that is used to transfer images. A typical deployment of VCL would integrate with existing campus computing infrastructure (Peeler and Thompson, 2007).
VMs have been used in industry for many years. Advances in technology, the importance of computing to business, as well as economic factors have results in wide use of cloud computing in enterprise environment. OpenStack (Sefraoui et al., 2012) is an enterprise level VM management framework that is now widely used for data centre VM management. It can manage large number of server resources and VMs, with rich sets of features such as floating IP addresses and storing and managing files programmatically. Comparing with VCL, OpenStack has more features, works with large number of nodes, and supports almost all of the widely used VM formats. However, the amount of work in setting it up may intimidate small or medium sized organisation users away. So, in an
Using cloud computing to support higher education in networks and systems 5
OpenStack enabled campus, the integration of VCL with OpenStack is an interesting direction to explore.
SaltStack (Hosmer, 2013) is a widely used configuration management tool that can largely reduce the time of orchestration for servers (Kavis, 2013). It solves the problem of what if I want to configure 1,000 VMs to run the same service. Vagrant (Delaney, 2014) is another VM management tool that allows users to script and package the VM configuration and the provisioning setup. VM management tools and systems such as SaltStack and Vagrant focus on scalability whileVCLfocuses on resource management and access control.
The academic research community has developed slicing techniques to support research experimentation. A slice is defined as a set of basic resource allocation units, such as processing or network components, and a set of users that are allowed to access them in a controlled manner. Research projects including PlanetLab (Chun et al., 2003), Emulab (Hibler et al., 2008), and Global Environment for Network Innovations (GENI) (Berman et al., 2014) all involve large scale deployments of sliced-based test beds.
Clemson has a large computing environment referred to as the Palmetto cluster (CCIT, 2014). It currently comprises over 1,977 compute nodes (21,392 cores), plus 440 NVIDIA Tesla GPU accelerators. It ranked #8 among academic research clusters on June 2013 top 500 list, and benchmarked at nearly 400 TFlops using 195 nodes (3,120 Intel Sandy Bridge cores + 390 NVIDIA Tesla K20m accelerators). Users can use portable batch system (PBS) script to request computer resources that include the desired number of cores, the amount of memory and the interconnect type. Palmetto is designed to serve as a general purpose super-computing platform. Compute resources allocated to users are bare-metal machines (although we expect to see native VM support in the future). Therefore, users can not control the images of the computers and are generally not allowed to access them as root users.
The performance/quality of service (QoS) provided by Palmetto is based on a best effort model as it lacks the necessary isolation mechanisms to prevent users from interfering with each other. If a user job consumes significant CPU resource at one node, or has significant memory leakage, the other tasks running on that node will be impacted. For a cloud used for networking teaching or experiment purpose, this difference will likely render different results for the same experimentation.
3 Related work
The use of cloud computing has been studied by the academic community. It has been noted that the flexibility of cloud computing economic models might benefit small and medium sized institutions to utilise cloud-based solutions rather than purchasing physical machines (Sultan, 2011). Stein et al. (2013) further argued that the budget in educational institutions is usually limited, and tried to utilise VCL-based cloud computing to assist pedagogy in K-12 schools. From their experience, VCL can provide computational resources for teaching and learning both cost-effectively and with the flexibility that education requires.
In supporting high education using cloud computing or emulation, Xu et al. (2012), Rollins (2011), Berman et al. (2014), Collicutt (2014) and Huang et al. (2014) have made contribution from various perspective using different approaches. Similar to our work,
6 J. Liu et al.
Xu et al. (2012) provides a virtual laboratory platform to support networking courses. Based on the XEN hypervisor, the solution has the advantage of fine grained control of the software as it was developed by the authors. However, as stated in the paper, reliability i...