Internet - a Virtual Laboratory for Distributed Computing Mihai Jalobeanu1 Western University “Vasile Goldiş”
Key words: Virtual laboratory, Simulation, Remote laboratory, Web-based teaching, Free Open Source Software (FOSS) Abstract: For a computer science course of distributed computing, Internet is, at the same time, an object for study, and a (virtual) library of resources (textbooks, tutorials, FAQs, software packages (especially FOSS), project examples. But especially, a place for experiments with grid, cluster, and distributed computing tasks, i.e. a virtual laboratory for High Performance Computing. In the paper, some available learning resources and virtual laboratories are presented, and a possible architecture for a FOSS virtual laboratory to be used in our courses is suggested.
1 Introduction The learning process is based mainly on the information transfer concept. It focuses on the content and on the key authoritative figure of the teacher who provides information. Most of the e-learning solutions available now (on the market, or free for download) support the content delivery, only, in a content centred approach; i.e. escaping the knowledge construction based on learner's own experiments (learning by doing, and collaborative learning approaches). But there are projects around the world focusing on the enhancement of student experience. For example. at the University of Western Australia over AU$2.5 million has been invested, since 1993, for developing new styles of student learning using simulation, theory, and laboratory equipment. This idea of combining theory, simulators, and training isn't new. It was developed many years ago for better aircraft pilots preparation, but can be successfully applied now on the framework of network access, and Web-based teaching. It seams that the UWA team succeeded to build the first industrial robot which could be operated through Web browsers from anywhere in the world. Since 1994, they estimated 500,000 users stacking blocks in the robotics laboratory (from around 100 different countries). This research project showed how complex machines could be successfully operated by one or more simultaneous users, even using low bandwidth connections on dialup telephone lines [12]. It is to be noted that professor J. Trevelyan, the head of the Telelabs team, is also the maintainer of a Web page entitled "Remote Labs around the World" http://www-user.rhrk.uni-kl.de/~altherr/liste1.htm In the last years, especially due to IST FP6 framework, many European projects are started in
1
this topic of remote and virtual laboratories (see for example http://www.online-lab.net ). As a distinction between them, professor M. Auer from Carinthia Tech Institute, pointed out: "In a virtual lab each experiment is simulated by using software. The remote lab is designed to provide real-time experiments to students via the internet" [10]
2 The Local Situation in Teaching Computer Science The Higher Education in Computer Science, in our universities, is dominated by courses in algorithms, databases, programming languages, and operating systems. The Internet, and the World Wide Web as usual presences in our life are considered usually as well known by students, and a lot of available educational resources are omitted this way. Particularly, the traditional courses of parallel algorithms suffer of the lake of necessary infrastructure, missing the parallel architectures for testing and running parallel programs. A similar situation can be find at Distributed Databases, High Performance Computing, even at Networking Architectures, or Image Processing courses, due to the high cost of special purpose devices. Also, concerning to e-learning question, as a modern way of training, it is usual to discus some commercial learning management systems, like WebCT and Blackboard, without considering the Free and Open Source Software (FOSS) utilities, and generally omitting the real use of e-learning methods. A solution for all above problems could be a distributed learning system, as a distributed architecture for adaptive e-learning, based on distributed reusable intelligent learning activities [8]. As a system and process that uses a variety of technologies, learning methodologies, on-line collaboration, and instructor facilitation to achieve applied learning results, not possible from traditional education in a truly flexible, anytime/anywhere fashion. Experimental work is a vital component of science and engineering teaching at all levels. The increasing use of multimedia packages opens the student laboratory approach in the form of a Web-based (remotely accessible) laboratory [11]. Consequently, creating laboratory exercises and adequate facilities to supplement lecture is an important part of creating an academic program in Computer Science, Network Engineering, Information Technology, too. If such a laboratory is computer-based and distributed on the network, with Web access to software simulated experiments, it will be called a virtual laboratory. In the following we will try to identify and analyse the running projects with such a topic, especially to help us to configure our own FOSS oriented virtual laboratory. The closest to our attempt seams to be the VNELab@Tamu [14], and DISCOURSE [13].
3 Distributed Resources The whole Internet can be viewed as complex example for distributed computing, with a lot of possible case studies, and particular projects. On the other hand, World Wide Web, as a huge library, includes the needed references, as electronic books, guides, FAQs, or, at least as a chance for buying a textbook from a bookshop, like Amazon. With a bit of training, the Web portals, directories, and search engines could substitute the librarians help, in finding an author, or the texts dealing with some keywords. This is the case for HPC, grids, and
2
distributed computing, too. Between the top centers there are Argonne National Laboratory, with its Mathematics and Computer Science Division http://www.mcs.anl.gov , and LRCR Laboratory Computing Resource Center, and the GLOBUS Consortium http://www.globus.org , both institutions including professor Ian Foster in the staff, one of the foremost leaders in the new GRID technologies, in fact, the Globus founder. Globus is, at the same time, a project, and an International alliance to provide a unifying framework for work in high-performance distributed computing. It includes investigations of security, resource management, communication protocols, data management mechanisms. The Globus Toolkit is an open source software toolkit used for building Grid systems and applications. The latest release of this toolkit, available for download, is 4.0. It is being developed by the Globus Alliance and many others all over the world. The Globus Alliance produces various papers on the Grid, distributed computing, applied computer science, and related topics, all available at: http://www-unix.globus.org/alliance/publications/papers/anatomy.pdf
4 Virtual Laboratories for On-Line Learning in IT We are looking for such a product or service that allows remote learners to use various software programs, under various operating systems (such as Windows, Unix, Linux, MacOS), Virtual Machines, or Database environments. Such a product it is usually called an online virtual laboratory, and the remote access must be done over the Web, as part of an information-technology training program, or as a training part of a HE course in Computer Science. The authorship of this concept of virtual laboratory belongs to professor Przemyslaw Prusinkiewicz (Department of Computer Science of the University of Calgary), and to his graduate students Lynn Mercer and Jim Hannan. It was happen before the development and explosive proliferation of World Wide Web. 4.1 VLAB for Linux The software package for a Virtual Laboratory implementation, called VLAB, was developed by professor Prusinkiewicz and his students as an ambitious object oriented virtual laboratory on UNIX platforms. It is devoted to science teaching and learning. Into the product history, the first release of the VLAB software package was launched in 1990, as VLAB 1.0, realized by L. Mercer. A new version (2.0) was written in 1995 by E. Lowe, redesigning the communication mechanism and introducing major changing in the database browsing. The 3.0 version was realized by P. Federl, in 1996, with a reimplementation of browser. There were reported successful applications of VLAB in different computer science activities, like fractal geometry, rendering and animation of complex scenes, simulations of biological phenomena... The VLAB development short history and its design principles are presented into 1997 Master' thesis of P. Federl [7]. In [5] a challenged application for teaching computer graphics is presented. The current version of this software package, called VLAB for Linux 1.0, was reported since 2001. It is available now as a source package, called vlab-1.0-linux.tar.gz . Consequently, it can be compiled, configured, and installed into every Linux distribution, using a well prepared User Manual, available at http://pages.cpsc.ucalgary.ca/~pwp/bmv/vlab-for-linux/html-docs/index.html There is a domain-independent framework for the Virtual Laboratory, consisting of:
3
• an object-oriented file system (oofs) for representing experimental units and alternative representations of experiments; • system programs for organizing, accessing, and manipulating these objects. The main functional components of the VLAB are: 1. A special browser providing a visual interface for navigating through the hyper-objects hierarchy. 2. The Lab Table - a temporary location where the files that make up the selected object are copied. 3. Object manager - a system program with an icon and with an associated menu of operations. 4. Panel Manager - to manipulate the parameters of an experiment. 5. The Remote Access Server - allows VLAB users to access remote databases of objects over the Internet. 6. The Virtual Laboratory Daemon - support of communication between components and launching of objects. 7. The Continuous Parameter Fractal Generator - a program used for modeling objects using L-systems The last component, one of the most complex, is connected with computer graphics research direction of the team led by prof. Prusinkiewicz, and much more with their activity into the topic of Biological Modeling and Visualization - BMV. 4.2
Virtual Programming Labs
At Hong Kong Polytechnic University, under a Teaching and Learning Grant, between 20012003, it was developed a “Virtual Programming Lab for On-Line Distance Learning”, or shortly the VPL system: http://www4.comp.polyu.edu.hk/~csjcao/Projects-Teaching.html In this project, a generic Web-based Virtual Programming Lab for on-line distance learning is designed and implemented. The WWW features, especially the integration of most widespread Internet protocols, allow people to write software to make easy the access to existing Web resources, in an integrated fashion. In addition to navigation through hypermedia documents, using the remote access capability and Web technologies, various software programs can be executed remotely through WWW. Generally, such a Web server capability is considered dangerous, and a lot of security rules are established for protection through the CGI - Common Gateway Interface. In this project design, the authors intention seams to be especially the remotely running of education and programming software, hosted to various platforms. Students can use their personal computers at home to access (over the Internet) one of the Lab servers, located at school. This way, each student becomes a Lab server client, and is presented with a virtual desktop in the virtual lab. The Lab server performs functions to accommodate the various requests from the client, ranging from configuring lab environment for individual students, downloading software from the school lab servers, working through interactive sessions, or submitting a program for execution on a Lab computer, using specified software package [1]. Such a collection of computing platforms forms a virtual laboratory because the machines can be located in different buildings and even at different campuses. Depending of the local policies, the remote access can be restricted to a LAN or WAN, or through the existent client validation rules. Naturally, such a virtual laboratory facilitates resource sharing among
4
different schools, overcoming the geographical distances. Students, and teachers may access and exercise various laboratory environments through a common Web browser. The same facility of a program transfer, for execution, trough the Web access, defining the Web programming laboratory, appears into a HPC course [3] at Syracuse University, since 1998. In this course, the student programming assignments are done in C using MPI on the university parallel computing resource. For such a job, it was used a Web-based Virtual Programming Lab, where the students are developing and uploading programs via a Web page interface to the parallel machines from SU computing center. In this case, it was used the TANGO Interactive Collaborative Software as e-Learning environment. 4.3 VNE Lab @ Texas A&M University A Virtual Network Engineering Lab developed at Texas A&M University, shortly VNE Lab@TAMU, was developed to address the problem of distributed system and to support a Master's program in Network Engineering http://vne.tamu.edu/ . It seams that there are facilities capable of demonstrating ideas and networking concepts, and allowing students freedom to experiment. This VNE Lab includes four main parts: 1. A Course-ware Server - a customized server and a suite of tools for publishing traditional course materials and for delivering live educational content in streaming media, as well for providing faculty and other instructors with on-line administration tools. 2. the Web Access Gateway - with Apache on Linux, and filtered client access 3. the Direct Operations Gateway - to provide secure and direct access to the system. 4. the networking infrastructure including a local ATM network as backbone (Micro Internet Testbed Backbone), PCs running RH Linux as routers, a dynamic firewall,... The Course-ware part include an e-learning environment based on WebCT LMS, installed into a Linux platform with Apache Web server, as well as video-conference and presentation parts, using Real Player into a MS Windows NT platform. 4.4
DISCOURSE - The Berlin Distributed Computing Laboratory
DISCOURSE (DIStributed & COllaborative University Research & Study Environment)[13] is a distributed laboratory for distributed computing featuring advanced middleware technology. It is a joint project, a consortium of the four main universities from Berlin, to support
teaching in distributed computing and to investigate the interoperability of different platforms at different levels. This seams to be one of the closest project regarding the already discussed topics and target. But it is mainly oriented to mobile devices and wireless connection. Also it is build around Microsoft NET framework [9].
5 Open Source Development Laboratory - OSDL The Open Source Development Lab, or OSDL isn't, in fact a virtual laboratory like above ones. It is an international collection of test centres. Within these labs, Linux developers can test their programs and telecommunications projects on large-scale equipment that they otherwise couldn't afford [6]. It was established since 2000. Only five years old, this organisation has already expanded its lab hardware, and shifted its focus from technical
5
specifications and requirements to working with end-user companies to determine what their needs are, and how unmet needs can be met.
6 A Project for an Open Source Virtual Lab For teaching Computer Science courses [15] at the Faculty of Informatics, Western University "Vasile Goldiş", our intention is to combine the architecture of the above VNE Lab@TAMU [14], with Web VPL [1], and the DISCOURSE [13] architecture model, but substituting all the proprietary software (.NET, Real Player,...) with corresponding Free Open Source software, and operating under GNU/Linux, only. That means also the replacement of the WebCT package with Moodle LMS, into the course-ware server, with the necessary completion of the Apache Web server with PHP and MySQL servers. Another possible challenge will be to implement the video-conference and needed presentation parts exclusive through FOSS components, to build this way a real and complete FOSS VLAB. Consequently, the design of this Open Source Virtual Lab includes the following main parts: o Courseware server build with Moodle Learning Management System, under Apache Web server, with corresponding Web Forums; o Database Management System based on PHP & MySQL, on the same Apache Web server; o Web Portal covering the basic Web resources world wide regarding the topic of the courses, for a simplified access to the recommended resources; o Simulation package for a set of parallel structures, Linux cluster, and distributed computing tasks, all structured as a database; o Networking infrastructure with all mechanisms for student registration, and validation, and the necessary logging of student activities in the system; o Additional services of the Virtual Lab, for administrator, teachers and student use; At the first step, we will deal mainly with resources for operating systems, parallel algorithms and distributed computing, as well as distributed databases courses [15], using some of the already done simulation packages, like PLAPACK. We hope to simulate on the Web server some of the network configuration tasks like routing, DNS, SMTP, HTTP, to be able to offer to students a secure access to the operating system daemon scripts, and to copies of the important system commands.
References: 1] Alvin T. S. Chan, Jiannong Cao, Chi-Kin Liu, Weidong Cao: Design and Implementation of VPL: A Virtual Programming Laboratory for Online Distance Learning. ICWL 2003: 509-519. (Springer, Lecture Notes in Computer Science, Volume 2783/2003 Advances in Web-Based Learning) 2] Sujin O, Woochun Jun, Le Gruenwald, Suk-ki Hong: A Web-Based System to Teach Computer Operating System Theories and Usage to Elementary School Students. ICWL 2003, 473-484 3] Fox, G.C., Markovski R., McCracken N.J., Podgorny M., Malluhi Q., Mitra D. : More Experience with TANGO Interactive in Synchronous Distance Learning Courses. available online at http://grids.ucs.indiana.edu/ptliupages/publications/disted/tr_9932.pdf 4] Wang J., Lu W., Jia W.: A Web-Based Environment for Virtual Laboratory with CORBA
6
Technology. International Journal of Computer Processing of Oriental Languages, vol.16, 4 (2003), 261-274 5] Federl P., Prusinkiewicz P.: Virtual Laboratory: An Interactive Software Environment for Computer Graphics. Published in Computer Graphics International '99, available online at http://pages.cpsc.ucalgary.ca/~pwp/bmv/Documents/cgi99.pdf 6] P. Federl "Design and Implementation of Global Virtual Laboratory - a Network-accessible Simulation Environment", available online at http://pages.cpsc.ucalgary.ca/~pwp/bmv/vlab-forlinux/html-docs/Documents/thesis-federl.pdf 7] Leblanc D.A.: OSDL Seeks To Be Linux Center of Gravity. Linux Planet Reports, August 21, 2003 available online at http://linuxplanet.com/linuxplanet/reports/4967/ 8] Brusilovski P.: Knowledge Tree: A Distributed Architecture for Adaptive E-Learning. WWW 2004, May 17-22, New York, ACM 1-581113-912-8/04/0005 9] Schäfer K., Ritter, H., Schiller, J.: Service Access in a distributed environment using the NETbased DISCOURSE testbed. Proceedings of the 8th Netties Conference, Ilmenau, Germany, September/October 2002 10] Auer M.: Virtual Lab versus Remote Lab. available online at http://www.online-lab.net/rel/documents/auer_icde.pdf 11] Esche S.K., Hromin D.J.: Expanding the Undergraduate Laboratory Experience Using Web Technology. Proceedings of the 2001 ASEE Annual Conference and Exposition, Albuquerque, New Mexico, June 24-27, 2001 available online at http://dynamics.soe.stevens-tech.edu/abs_as012.htm 12] *** The Telelabs Project: 24 Hour Remote Access to Laboratories via the Internet. School of Mechanical Engineering, The University of Western Australia http://telerobot.mech.uwa.edu.au/index2.html (Updated August 2004) 13] *** DISCOURSE - Berlin Distributed Computing Laboratory. http://kbs.cs.tu-berlin.de/~mwerner/discourse/ 14] *** Virtual Network Engineering Lab @ Texas A&M University, College Station. http://vne.tamu.edu 15] Jalobeanu M.: Computer Science Courses Site. http://jalobean.itim-cj.ro/Cursuri/ (in Romanian)
Author: Jalobeanu, Mihai, Professor, Dr. Facultatea de Informatică, Univ. de Vest „Vasile Goldiş” Arad, Romania
[email protected]
7