WebNet98
The Virtual Workshop Companion:
A Web Interface for Online Labs

Susan Mehringer
Cornell Theory Center, Cornell University
Ithaca, NY USA, susan@tc.cornell.edu

David Lifka
Cornell Theory Center, Cornell University
Ithaca, NY USA, lifka@tc.cornell.edu

Abstract: The Virtual Workshop is a Web-based set of modules on high performance computing. One interesting new technique we have been refining over the past year is to securely issue lab exercise commands directly through the web page. This paper describes the interface itself, how this technique is incorporated into online lab exercises, participant evaluation, and future plans.

Introduction

Cornell Theory Center (CTC) began offering asynchronous learning over the Web in 1995 with its first offering of the Virtual Workshop. Since then, we have served over 800 workshop participants, expanded the number of topics covered, and introduced new Web-based features to enhance the learning environment. One exciting new technique is presented here; called the Virtual Workshop Companion, it allows execution of lab exercise commands via a secure web interface.

CTC Education and the Virtual Workshop

CTC has been developing and delivering education in high performance computing to researchers, faculty and students, for over ten years. CTC education programs have included on-site workshops in high performance computing and discipline-specific computing software and techniques, special programs for K-12 and undergraduates, and education accounts for college courses. The course materials are based on the CTC's IBM RS/6000 SP scalable parallel computer, and all lab exercises are run on this machine.

Web-based materials are well suited to our education environment, which requires frequent material updates to keep pace with rapidly changing technology. We migrated our extensive set of workshop lectures, on-line tutorials, and lab exercises into dual-purpose web-based modules which could serve as either live lectures or on-line self-paced materials.

In 1995 we offered our first remote workshop via the World Wide Web. To date, we have conducted seven Virtual Workshops to over 800 participants. These workshops covered different sets of six topics comprised of thirty-seven modules; Parallel Programming, Message Passing Interface (MPI), High Performance Fortran (HPF), Parallel Virtual Machine (PVM), Performance, and Scientific Visualization.

A goal in the Virtual Workshop evolution is experimentation with techniques intended to provide more interaction, as well as options for participants with different learning styles. Features we have added include

Mehringer discussed these techniques at WebNet 97 in a talk titled "Techniques For Enhancing Web-Based Education".

A more comprehensive total learning environment has been achieved by refining the Virtual Workshop Companion, which provides the ability to edit, compile, set run-time parameters such as number of processors, and submit a program, all without leaving the Web browser. The Virtual Workshop Companion utilizes a combination of Java programs and Perl scripts. The Java programs handle the front end user interface, while the Perl scripts interact with AFS Kerberos authentication to provide the required security for the users.

The Virtual Workshop Companion: How it Works

In order to develop the Virtual Workshop Companion, we needed a mechanism for users to type commands as they are instructed, have the commands execute on the IBM SP, and display the results of these commands in the web page. To accomplish this we have developed the Secure Web (Sweb) package for Web-based authentication. This will guarantee that only authorized users of the VW can obtain access to the IBM SP or other secure resources at CTC.

Sweb uses Java clients that connect to a port on an Sweb server that resides in a secure machine room. This server does not allow users to telnet into it directly and has a trusted relationship with the IBM SP. This means agents running as a user on this server can rsh commands to the IBM SP nodes. Figure 1 shows how users communicate with the sweb server from their web browser and commands are issued to the IBM SP from the Sweb server for them. When a client connects, the server creates a user agent that communicates with the client on a new available network port. This agent will not perform any user tasks or commands until the user has successfully authenticated him/herself.

The Java client has a login box in which users enter their username and password. The client encrypts this information and sends it to the listening agent. Once users have successfully authenticated themselves, tasks or commands generated by interaction with the VW Web pages can be run on the Sweb server or on the IBM SP via rsh. The results of these tasks and commands are returned to the waiting client in the form of text, numeric, or image data. The network connection between the client and its associated agent is persistent; only the valid Web user can send commands to the authenticated Sweb agent.

Figure 1: Sweb Server Communication

The Sweb user agent code that runs on the Sweb server is written in Perl. All commands a user attempts are checked and "untainted" [1] for security purposes. This code issues an AFS "klog command" on the Sweb server with the user provided username and password to acquire an AFS kerberos token. Once a token is successfully obtained the Perl agent uses the UNIX setuid capability to become a process running as that user. At this point all commands issued by the user's agent are run for the user, as the user.

In addition to the login box, we have written additional Java applets which are layered on top of the Sweb Java class library. The applets implement a simple file browser and editor, a restricted Unix shell, and command boxes.

Sweb provides the flexibility necessary for other applications which require access to secure resources. An example is Llava, a tool which allows remote resource and queue monitoring of the IBM SP from a web browser. Sweb allows us to ensure that only people with accounts on the CTC SP system can access this information. Another application is remote execution of IBM Data Explorer modules which produce jpeg images that can be displayed using the remote users web browser.

The Virtual Workshop Companion: Design Implementation

Prior to development of the Virtual Workshop Companion, we had a set of fourty online lab exercises, each in the format of a simple html page, organized in a standard format. The labs were written to practice and reinforce concepts presented in an instruction module. The labs consist of background information followed by specific tasks. To work through a lab exercise, the workshop participant would bring up the lab exercise instructions in the browser, open a telnet window to the IBM SP where the exercises are based, and go between the browser and telnet window to read instructions, then edit or issue commands.

This method has two obvious problems. The first is that the user must constantly shift their attention between two windows. There might not be room on the screen to read both windows at the same time, making it necessary to either copy down commands or print out the instructions. The second problem stems from the exercises being based on CTC's IBM SP, not on the participant's usual computing platform. Many people who take the Virtual Workshop will not ultimately do their computing on the IBM SP, and so learning the specifics of the operating system, file system, and editor only serve to take attention away from learning the topic at hand.

The Virtual Workshop Companion addresses both problems. Since it enables commands to be issued directly from the web page, commands and instructions can all appear in one window. It also allows us the flexibility to either provide, or automatically execute, commands that are not germain to the subject, for example, knowing the exact location from which the lab files are copied.

At this stage we believe we need to offer exercises in two ways, incorporating the Virtual Workshop Companion, and using the separate telnet window. The latter is necessary until we feel most people have Java-capable browsers. This fact spawns another requirement; to find a way to implement two methods without the overhead of updating and maintaining two copies of each lab exercise.

The first production use of the Virtual Workshop Companion in 1997 was a technical success. It incorporated secure authentication and the lab exercises could be executed solely through the web page interface. However, the two problems described above were not addressed: the lab directions and web interface were still in two separate windows, and it was not easy to control how much the user needed to know about site-specifics. It was also difficult to modify additional labs to use the Virtual Workshop Companion.

Given technical success, we then began work on improving the implementation design. As discussed in the previous section, separate, task-specific applets were written to provide the functions of simple file browser and editor, a restricted Unix shell, and command boxes. We took those modular applets and incorporated them directly into the lab instruction page. After trying several models, we decided on the following design:

We believe this arrangement best satisfies the requirements. The Virtual Workshop Companion elements look the same in all labs, providing a familiar environment. It is easy to incorporate into new labs. It is flexible enough to be used with all labs. The two copies of each lab should be easy to maintain, since only one short section is added to the lab using the Virtual Workshop Companion.

Evaluation Results

We are planning to run two Virtual Workshops over the next five months. The workshops will have lab exercises available in two formats: text-only, with the lab instructions carried out in a separate telnet window, or by using the Virtual Workshop Companion. We will ask the participants which format they preferred and why. If a participant used the Virtual Workshop Companion, we will ask for a general rating, whether they felt they learned more or less by using the Companion, as compared to a telnet window, ease of use, speed of use, clarity of instructions, features they especially liked, suggestions for improvement, and comments,

Future Plans

Future plans will largely be determined by the feedback we receive during the next two Virtual Workshops, as well as our experiences implementing the Companion into our many labs. Possibilities include redesign of the user interface to modify or subsitute frames, an interface which will allow for different levels of difficulty, and/or built-in feedback.

We will continue to explore new techniques to provide an interactive and engaging learning experience in the Virtual Workshop.

Conclusions

Web-based education is an effective means for CTC to leverage its education efforts to both local and remote audiences. We expect that adding the Virtual Workshop Companion to the existing features of the Virtual Workshop will be well-received by participants, especially as they are encouraged to focus on the primary topic rather than the details of running on a particular machine. We will certainly learn from our experiences using the Virtual Workshop Companion this Spring and Summer, and expect to make further refinements based on feedback from those Virtual Workshop participants.

Summary of URLs

Cornell Theory Center
http://www.tc.cornell.edu/

CTC education
http://www.tc.cornell.edu/Edu/

Virtual Workshop
http://www.tc.cornell.edu/Edu/VW/

Llava
http://www.tc.cornell.edu/UserDoc/SP/Llava_info.html

References

[1] Wall, Larry, & Schwartz, R. L. Programming in Perl. Sebastopol, CA: O'Reilly & Associates, 1991. (See page 374)

Acknowledgements

We would like to gratefully acknowledge our colleagues who have helped develop the Virtual Workshop Companion, especially initial development work by Caroline Hecht, and recent modification and implementation by Cornell student employees Kirill Kireyev and Robert Costanzo.

We appreciate the collaborative efforts of Northeast Parallel Architecture Center (NPAC) for providing proof of concept for Web-based submission, particularly Geoffrey Fox and Kivanc Dincer.

Author Biographies

Susan Mehringer is a Senior Technical Consultant at the Cornell Theory Center, where she has been since 1987. Her current projects include work on the Virtual Workshop project, including developing modules, consulting, and assessing WWW statistics; testing new systems and software; consulting; and developing and delivering training materials.

David Lifka is a senior systems programmer at the Cornell Theory Center. He is the author of the Exensive Argonne Scheduling sYstem (EASY), which is currently in use at many of the large-scale IBM SP systems in the world. He is currently working on the Advanced Resource Management System (ARMS), which is a deterministic job scheduler for distributed heterogeneous resources. Lifka is also leading the Cornell Intel Computational Cluster effort which includes research in cluster management and job scheduling under the Microsoft NT operating system. Lifka is the creator of the Secure-Web (Sweb) package that guarantees secure access to data and computing resources via the Web.

All brand names and product names referred to in this paper are trademarks or registered trademarks of their respective holders.