Troy Baer, Jim Giuliani, and Leslie Southern
Ohio Supercomputer Center
1224 Kinnear Road
Columbus, Ohio 43212
In September of 1998, the Ohio Supercomputer Center (OSC) delivered a one day workshop on the Fortran 90 programming language at the CEWES MSRC in Vicksburg, Mississippi. The TANGO Interactive collaborative software was used to deliver this course simultaneously to students in the OSC classroom as well as two other MSRCs (ASC and ARL). The goal of this workshop was to evaluate the use of TANGO Interactive to deliver a traditional lecture-based instructional method to multiple sites over the Internet.
The topic of the course discussed here was the Fortran 90 programming language. In particular, the course is designed to present to users familiar with the Fortran 77 language standard the new features available in the Fortran 90 standard, such as dynamic memory allocation, derived data types, modules, and array syntax. The course has been taught several times by instructors at OSC, typically in an intensive one-day lecture format.
The notes used in this Fortran 90 course were originally written using Frame Maker by Dr. Dave Ennis of OSC. They were then converted to HTML by Leslie Southern and Vic Sauber and placed on OSC's technical information server. These notes are split into sections dealing with specific Fortran 90 topics:
The course is taught as a series of lectures on the topics listed above. The notes usually are projected on a screen at the front of the classroom, using either an overhead project and transparencies made from the Frame Maker source, or a projector attached to an instructor computer station which runs a Web browser to display the HTML version of the notes. Attendees are given the option of following along using either a hard copy of the notes or the online HTML notes using a Web browser on the classroom workstations.
The software infrastructure used to deliver this course content simultaneously to several sites over the Internet is TANGO Interactive, from the Northeast Parallel Architectures Center (NPAC) at Syracuse University. This software consists of a plugin for the Netscape Navigator Web browser and several Java and Javascript applets. The TANGO suite allows applications to be shared between users in a master/slaves or peering collaboration.
To use TANGO, the user first connects to a web page containing a Javascript applet which brings up a TANGO startup window (shown in Figure 1). This allows the user to select the interface (the set of shared applications available) as well as the TANGO collaboration server to which to connect. This TANGO server need not reside on the same system as a Web server, although it is often convenient to colocate the two. Once the user selects a collaboration server and interface, he or she is presented with a login window (shown in Figure 2) where they can enter an identifier for themselves. Once an identifier is entered, the user is presented with the TANGO control application (shown in Figure 3), which is used to initiate sessions of shared applications or to connect to already existing sessions.
There were four TANGO applications used to deliver the Fortran 90 course over the Internet: shared browser, Buena Vista, chat, and whiteboard. The first of these, the shared browser, is a normal Netscape Navigator window, except that it tracks the current URL in the shared browser window of the user who is the master of the shared browser session. When the master user's shared browser moves to a new URL, the shared browser of all the other users in that session also move to the new URL. In the Fortran 90 workshop, this was used to display the current slide to users at remote sites.
The second TANGO application used for this workshop was the Buena Vista audio/video conferencing software. Buena Vista is a two-way streaming audio and video conferencing tool which can be run in either full or half duplex. Versions of Buena Vista are available for Intel based PCs as well as SGI workstations, and the two versions are completely interoperable. For the Fortran 90 workshop, Buena Vista was used to deliver a "talking head" consisting of audio and video streams of the instructor's lectures to the remote sites, as well as the facilitation of discussions between the instructor and remote attendees.
The third TANGO application used in the Fortran 90 workshop was the chat client (shown in Figure 4). This is a fairly conventional chat program, similar to many IRC (Internet Relay Chat) clients. In the Fortran 90 workshop, it was used to allow users at remote sites to pose questions to the instructors and to discuss network problems when Buena Vista crashed.
The final TANGO application used in the Fortran 90 workshop was the object whiteboard (shown in Figure 5). The object whiteboard is a shared vector drawing package. For the workshop described here, it was used to display diagrams and example code fragments.
Except for Buena Vista, the TANGO applications used for this workshop require minimal bandwidth, on the order of 10 kB/s or less. Buena Vista, because it does synchronous audio and video streaming, requires considerably more bandwidth depending on the quality of the audio and video streams generated. The TANGO developers recommend that for best results, networks should be able to sustain 100 kB/s with minimal latency or jitter. As will be seen below, this is difficult to get over the main Internet backbones.
The main classroom for this distributed workshop was the Training and Education Facility (TEF), located in the Information Technology Laboratory (ITL) at the Army Corps of Engineers Waterworks Experiment Station (CEWES) Major Shared Resource Center (MSRC) in Vicksburg, Mississippi. This classroom is outfitted with SGI Indy workstations at each of the student desks and an SGI O2 workstation at the instructor desk. The O2 is connected to a projection system which projects an image of the O2's display onto a screen at the front of the classroom; it is also equipped with a digital video camera and a headset microphone, as well as a PA system and analog video cameras for capturing classes on videotape.
The second classroom for this workshop is the "Fishbowl", located at the Ohio Supercomputer Center (OSC) in Columbus, Ohio. This classroom is configured similarly to the TEF at CEWES, except that the student workstations are mostly SGI O2s rather than Indies. There is also no analog video camera in the Fishbowl.
Other participants connected on an individual basis from a variety of sites, including the Aeronautical Systems Center (ASC) MSRC at Wright-Patterson Air Force Base (WPAFB) in Dayton, Ohio; the Army Research Laboratory (ARL) MSRC at Aberdeen Proving Grounds in Aberdeen, Maryland; and NPAC in Syracuse, New York. In most cases, users at these sites were connecting from a workstation or PC in their own office rather than in a classroom.
All of the MSRC sites are connected over the Defense Research and Engineering Network (DREN) backbone, shown in Figure 6. However, network traffic from NPAC and OSC was forced to cross the MCI (now Cable and Wireless) and Sprint Internet backbones to reach the MSRC sites. These commercial Internet backbones are saturated during much of the business day, which added a considerable amount of latency to traffic between OSC and CEWES.
Several problems with TANGO and the network infrastructure were experienced throughout the workshop. Some of these problems were caused by high latencies, while others were caused by application bugs or in one case a server being down. These problems made it difficult to get consistent performance out of the TANGO applications, especially Buena Vista.
The first problem, seen about an hour before the workshop started,
was that NPAC's web server (trurl.npac.syr.edu
) was
down during part of the morning of the workshop. This caused
problems with OSC's TANGO installation, which expected to be able to
download the TANGO startup web page from the NPAC web server.
Luckily, this necessary web page was replicated on the CEWES TANGO
server (tango.wes.hpc.mil
), and the OSC installation of
TANGO was temporarily modified to use the CEWES version of the page
instead of the NPAC version.
An ongoing problem throughout the day was the network congestion seen between OSC and CEWES. This became progressively worse as the day wore on and the public Internet backbones became saturated from cross-continental network traffic. This caused the downloading of applets and web pages to slow to as low as 3 kB/s. It also created problems with Buena Vista such that no one at OSC who joined the workshop's Buena Vista session after 10am (EDT) was able to get both audio and video streams to work consistently. This was exacerbated by the fact that Buena Vista transmits audio and video streams in a point-to-point rather than multicast manner.
Another Buena Vista problem, unrelated to network performance, was that the SGI version of Buena Vista initally overrides the current audio settings of the workstation and sets the output/speaker level to between 90 and 100 percent of maximum. This can cause discomfort or potentially even hearing damage for users wearing headphones. It can also lead to acoustic feedback problems on systems where a microphone is set to transmit.
The instructor's reactions to this teaching environment were mixed. While the TANGO tools were generally effective in delivering the course content, there were several minor annoyances which were chronic enough to become frustrating. For example, questions asked by the local class were not heard by the remote students unless repeated by the instructor, and this was somewhat distracting while trying to formulate answers to technical questions about the course content. Similarly, questions asked in in the chat window by remote students had be repeated for the benefit of the local students, with a similar level of distraction.
One source of frustration for the instructor was particular to the configuration of the TEF classroom. The O2 instructor workstation in the TEF was at a right angle to the main axis of the classroom. This forced the instructor to either face the workstation and its digital camera and "ignore" the local class, or face the local class and "ignore" the remote students. This was especially problematic when questions were asked from remote sites via the chat window.
Figure 1: TANGO Startup Window
Figure 3: TANGO Control Application
Figure 5: TANGO Object Whiteboard
Figure 6: DREN Connectivity Map
Please see http://www.osc.edu/~troy/tango/ for a student-oriented introduction to TANGO Interactive.