Full HTML for

Basic foilset VPL -- The Virtual Programming Laboratory

Given by Kivanc Dinver, Geoffrey Fox at Java for CSE Meeting on December 16 1996. Foils prepared January 15 1997
Outside Index Summary of Material


VPL is a Web-based tool that supports remote access to local computational resources.
Provides a virtual programming environment accessible via Web browsers over the Internet.
We describe basic system as used in CPS615 Class Fall 96 and extensions including
Java to MPI support as well as Fortran plus MPI, HPF
User choice for Editors
Visualization of Scientific Results and Machine Performance

Table of Contents for full HTML of VPL -- The Virtual Programming Laboratory

Denote Foils where Image Critical
Denote Foils where HTML is sufficient

1 Virtual Programming Laboratory
2 Trends in Using Web Technology for Distant Education
3 Virtual Programming Lab (VPL)
4 A Brief History
5 Overall Design of VPL
6 Client-Server Interaction
7 Client Site (Front-End) Items
8 Server Site Compilation Items
9 PP Presentation
10 MPI binding to Java
11 Choosing an Editor for VPL
12 Using Java for Building Visualization Components
13 Use of Visualization in VPL
14 JPVS : Using Java for Performance Visualization
15 JPVS (continued)
16 Example: Preparing Visualization Traces for [C + MPI] Codes
17 PP Presentation
18 VPLPlot: Using Java for Plotting 2-D Data Graphs
19 PP Presentation
20 Using Java for Data Visualization
21 Future Directions
22 Acknowledgments

Outside Index Summary of Material



HTML version of Basic Foils prepared January 15 1997

Foil 1 Virtual Programming Laboratory

From VPL -- The Virtual Programming Laboratory Java for CSE Meeting -- December 16 1996. *
Full HTML Index
Kivanc Dincer & Geoffrey C. Fox
Northeast Parallel Architectures Center
Syracuse University
http://kestrel1.npac.syr.edu:6151/vpl/

HTML version of Basic Foils prepared January 15 1997

Foil 2 Trends in Using Web Technology for Distant Education

From VPL -- The Virtual Programming Laboratory Java for CSE Meeting -- December 16 1996. *
Full HTML Index
Most of the related work aim to replace classroom activity with a virtual teaching environment.
Some others concentrate on collaborative environments.
What about the lab activities required for HPCC programming courses?
  • Teaching scientific programming involves lots of homework.
  • VPL targets/addresses this requirement.

HTML version of Basic Foils prepared January 15 1997

Foil 3 Virtual Programming Lab (VPL)

From VPL -- The Virtual Programming Laboratory Java for CSE Meeting -- December 16 1996. *
Full HTML Index
VPL is a Web-based tool that supports remote access to local computational resources.
Provides a virtual programming environment accessible via Web browsers over the Internet.
targeted towards both novice and advanced users.
helps collaborating teams in using each others' parallel computational resources and newly developed software.

HTML version of Basic Foils prepared January 15 1997

Foil 4 A Brief History

From VPL -- The Virtual Programming Laboratory Java for CSE Meeting -- December 16 1996. *
Full HTML Index
An initial prototype was used to to demonstrate PCRC project at Supercomputing `95:
  • NPAC HPF compiler +
  • CSC's parallel C++ compiler
An upgraded version were tailored for Cornell Theory Center environment (IBM SP-2 +Andrew File System) as the Web/HPF module. (To be used in their Virtual Workshops starting in February1997.)
VPL was used by CPS-615 students for HPF and MPI programming assignments in Fall 96.

HTML version of Basic Foils prepared January 15 1997

Foil 5 Overall Design of VPL

From VPL -- The Virtual Programming Laboratory Java for CSE Meeting -- December 16 1996. *
Full HTML Index
It is a client-server architecture - a central Web server serves/coordinates the access requests to local computational resources.
Users are represented with a "form" interface where they fill out / select the services that they require.
VPL supports access to course materials and tutorials as well as a programming interface to run
  • HPF / Fortran 90 programs
  • MPI programs written in C / Fortran 77 / JAVA programs
on parallel machines.

HTML version of Basic Foils prepared January 15 1997

Foil 6 Client-Server Interaction

From VPL -- The Virtual Programming Laboratory Java for CSE Meeting -- December 16 1996. *
Full HTML Index
Client
Server
Web Browser
HTTP Server
(NCSA)
Local
File System
HTTP
Connection
over
Internet
(User Directories)
Access Control

HTML version of Basic Foils prepared January 15 1997

Foil 7 Client Site (Front-End) Items

From VPL -- The Virtual Programming Laboratory Java for CSE Meeting -- December 16 1996. *
Full HTML Index
Programming Interfaces
Fortran 90/HPF
Module
MPI Module
JAVA/C/Fortran
2-D
Graphics
Text Output
Performance
Visualization
Data
Visualization
Text Editor
File Manager
Directory & File Operations
Output Manipulation
Web
Browser

HTML version of Basic Foils prepared January 15 1997

Foil 8 Server Site Compilation Items

From VPL -- The Virtual Programming Laboratory Java for CSE Meeting -- December 16 1996. *
Full HTML Index
Compilers
and Linkers
Java
HPF
Fortran 90
C
Fortran 77
User Directories
Parallel Job
Launcher
Workstation Cluster
Source File
Executables

HTML version of Basic Foils prepared January 15 1997

Foil 9 PP Presentation

From VPL -- The Virtual Programming Laboratory Java for CSE Meeting -- December 16 1996. *
Full HTML Index

HTML version of Basic Foils prepared January 15 1997

Foil 10 MPI binding to Java

From VPL -- The Virtual Programming Laboratory Java for CSE Meeting -- December 16 1996. *
Full HTML Index
Recent work by E.Akarsu (CHIMP MPI) and B.Carpenter & M. Chang (MPICH) will make it possible to write SPMD style Java code with calls to the MPI message-passing routines.
  • Implementation is still in testing stage.
VPL will be extended to include Java+ MPI programming utilities.
  • Day-to-day status of the "Java+MPI" work can be monitored remotely using VPL.

HTML version of Basic Foils prepared January 15 1997

Foil 11 Choosing an Editor for VPL

From VPL -- The Virtual Programming Laboratory Java for CSE Meeting -- December 16 1996. *
Full HTML Index
Editor choices:
  • Conventional UNIX editors - vi, emacs, pico, etc..
  • CGI-based editors - functionality is embedded in browsers.
  • Java-based editors - more flexible in functions.
We currently use a CGI-based editor:
  • most of the "routine editing work" is done on client site - communicates with the server only for "saving" and "loading" of user files.
  • uploading/downloading of files from/to client site user accounts is an essential function of such an editor.

HTML version of Basic Foils prepared January 15 1997

Foil 12 Using Java for Building Visualization Components

From VPL -- The Virtual Programming Laboratory Java for CSE Meeting -- December 16 1996. *
Full HTML Index
Java AWT (Abstract Window Toolkit) is part of freely distributed Java Developer's Kit (JDK).
It contains basic widgets for platform-independent implementations.
Visualization system components written using Java are directly supported by the browser and they are independent of the server machine and client machine hardware and software (in the higher system level).

HTML version of Basic Foils prepared January 15 1997

Foil 13 Use of Visualization in VPL

From VPL -- The Virtual Programming Laboratory Java for CSE Meeting -- December 16 1996. *
Full HTML Index
We employ components written in Java for
  • visualization of user programs' performance
  • visualization of [distributed] data structures in user programs
  • controlling the program parameters during visualization
Both real-time and postmortem visualization is possible using Java; our work concentrated only on the latter one.

HTML version of Basic Foils prepared January 15 1997

Foil 14 JPVS : Using Java for Performance Visualization

From VPL -- The Virtual Programming Laboratory Java for CSE Meeting -- December 16 1996. *
Full HTML Index
A concept demo of JPVS (Java-Based Performance Visualization System) was prepared for the ARPA PI meeting in June `96.
JPVS helps to visualize execution traces generated from Fortran or C codes instrumented with Pablo trace collection (instrumentation) library calls.
  • Pablo is a performance analysis environment designed to organize and visualize information collected from programs executing on parallel processors.
  • developed by Reed et al. at University of Illinois.

HTML version of Basic Foils prepared January 15 1997

Foil 15 JPVS (continued)

From VPL -- The Virtual Programming Laboratory Java for CSE Meeting -- December 16 1996. *
Full HTML Index
JPVS includes modules for visualizing
  • processor utilization
  • inter-processor communication overhead
  • input/output
  • overall task performance.
Common types of graphical utilities in other performance analysis systems are supported:
  • animation with user-controllable speed
  • static charts like Kiviat diagrams, summary charts, Gantt charts, processor utilization graphs, communication matrix diagrams.

HTML version of Basic Foils prepared January 15 1997

Foil 16 Example: Preparing Visualization Traces for [C + MPI] Codes

From VPL -- The Virtual Programming Laboratory Java for CSE Meeting -- December 16 1996. *
Full HTML Index
Annotated
C Source
C Compiler
MPI runtime
libraries
Pablo run-
time library
Executable
File
run
Program Data
Profile Data
Trace Data
JAVA-Based Performance
Visualization System
SDDF Format

HTML version of Basic Foils prepared January 15 1997

Foil 17 PP Presentation

From VPL -- The Virtual Programming Laboratory Java for CSE Meeting -- December 16 1996. *
Full HTML Index

HTML version of Basic Foils prepared January 15 1997

Foil 18 VPLPlot: Using Java for Plotting 2-D Data Graphs

From VPL -- The Virtual Programming Laboratory Java for CSE Meeting -- December 16 1996. *
Full HTML Index
VPLPlot adds VPL the capability of drawing 1- and 2-D plots of the given data.
  • Line and scatter plots, line and area graphs, contour graphs are supported.
  • Accepts data from programs executed via VPL as well as from user-specified URL addresses.
  • All options of the "plotted graph" is customizable through a GUI.
Its implementation in Java makes VPLPlot platform-independent.

HTML version of Basic Foils prepared January 15 1997

Foil 19 PP Presentation

From VPL -- The Virtual Programming Laboratory Java for CSE Meeting -- December 16 1996. *
Full HTML Index

HTML version of Basic Foils prepared January 15 1997

Foil 20 Using Java for Data Visualization

From VPL -- The Virtual Programming Laboratory Java for CSE Meeting -- December 16 1996. *
Full HTML Index
Visualization of (distributed) data structures.
  • Especially important for languages like HPF - where data distribution determines the overall performance visualization.
  • Programmers see not only when and where communication takes place but also which sub-arrays are moving between which processors.
Controlling the execution of programs through a GUI.
  • Program parameters are changed/reset through the interface without any need for editing the code.

HTML version of Basic Foils prepared January 15 1997

Foil 21 Future Directions

From VPL -- The Virtual Programming Laboratory Java for CSE Meeting -- December 16 1996. *
Full HTML Index
an editor compatible to vi, emacs, pico is desired
System management utilities must be activated.
  • system should recover from server crashes.
    • may send a message to the Webmaster
    • a crontab file may be used for such situations.
  • Run-away processes should be taken care of.
  • tools for watching systems' performance is required.
  • An interface is needed for super users.
more than one server would be beneficial for crowded user audiences.
  • server may be moved to a different regular workstation.

HTML version of Basic Foils prepared January 15 1997

Foil 22 Acknowledgments

From VPL -- The Virtual Programming Laboratory Java for CSE Meeting -- December 16 1996. *
Full HTML Index
Saleh AlMohamed (CPS-615 TA)
Wojtek Furmanski
Tom Haupt (Tutorials)
Don Leskiw and Xiaoming Li (PCRC)
Nancy McCracken
O. Balsoy, M. Egilmezbilek, M. Sen, H. Topcuoglu (Web Technologies)
CPS-615 Students
Caroline Hecht & Kathy Barbieri (Cornell Theory Ctr)

Northeast Parallel Architectures Center, Syracuse University, npac@npac.syr.edu

If you have any comments about this server, send e-mail to webmaster@npac.syr.edu.

Page produced by wwwfoil on Sun Apr 11 1999