Given by Geoffrey C. Fox at RCI Federal SIG Meeting Williamsburg Marriot on April 17 97. Foils prepared April 17 97
Outside Index
Summary of Material
We describe issues affecting the depoloyment and impact of the NII/Internet2/NGI on HPCC and Education |
These two areas are chosen because they are applications I have some insight in |
Other areas will be equally or more important |
Probably the biggest issue will be determining new "enterprise models" and working out how to change organizations |
Java JavaScript VRML2 Multimedia Web (audio/video) Web-linked databases, Web Collaboration are key component technologies |
Outside Index
Summary of Material
Geoffrey Fox |
Syracuse University |
111 College Place |
Syracuse |
New York 13244-4100 |
We describe issues affecting the depoloyment and impact of the NII/Internet2/NGI on HPCC and Education |
These two areas are chosen because they are applications I have some insight in |
Other areas will be equally or more important |
Probably the biggest issue will be determining new "enterprise models" and working out how to change organizations |
Java JavaScript VRML2 Multimedia Web (audio/video) Web-linked databases, Web Collaboration are key component technologies |
By definition, Web Software will be the "best" software ever built because it has the largest market (and so greatest leverage of investment dollars) and most creative business model (harness the world's best minds together with open interfaces)
|
One should build upwards from the "democractic Web"
|
This allows you to both deliver your application to the general public (not always required but often desireable) and use the best leveraged software |
Note Web Software tends to offer highest functionality as opposed to highest performance and HPCC often requires different trade-offs |
Web Software MUST be cheaper and better than MPP software as more money invested! |
Therefore natural strategy is to get parallel computing environment by adding synchronization of parallel algorithms to loosely coupled Web distributed computing model |
Web Technology is still uncertain and there may be major changes but "enough" capabilities are in place to build very general (~all) applications
|
Rapidly evolving Standards and a mechanism to get rapid consensus |
Fortran 77 -> Fortran90 --> HPF --> Fortran2000 (23 years) |
VRML Idea (1994) --> VRML1 deployed (95) --> VRML2 deployed (early 97) (2.3 years)
|
Classic Web: HTTP Mime HTML CGI Perl etc. |
Java and JavaScript Compiled to almost compiled (applet) to fully Interpreted Programming Language |
VRML2 as a dynamic 3D Datastructure for products and their simulation object |
Java Database Connectivity (JDBC) and general Web linked databases |
Dynamic Java Servers and Clients |
Rich Web Collaboration environment building electronic societies |
Security -- still needs maturing as very clumsy or non existent at present in many cases |
Compression/ Quality of Service for Web Multimedia
|
Emerging Web Object model including integration of Corba (see JavaBeans and Orblets) |
1)Compute Power ? Maybe |
2)Network Bandwidth? In some cases |
3)Implementing / Discovering new ways of doing Business? Usually the major issue
|
Which organizations will still be here 10 years from now ? Consider University education as an example |
Many US Universities export education. |
Is global communication and "Virtual University Technology" good or bad?
|
Many other Enterprises have similar Challenges and Opportunities! |
4)Web Technologies are very rich and are perhaps 10 times as complicated as HPCC and Parallel Programming |
Much harder to match the drumbeat of web than drumbeat of HPCC |
I use a research <--> Teach iterative cycle to learn and understand significance of new technologies
|
5)Rapid evolution of technologies implies that any "product" is bound to be out of date
|
See Original Foil |
Problem with HPCC is not ideas but rather finding enough people to implement robust rich software
|
View parallel computing as a special case of distributed computing with tighter synchronization and lower latency
|
Java/JavaScript front ends for interoperability and visualization is first step
|
Initially Aimed at education where usability higher priority than performance |
Teaching Java and JavaScript greatly aided by interpreted technology which allow integration of demonstrations into lectures |
VPL aimed at allowing embedding of F90, HPF and MPI (etc.) examples in lectures and convenient support of homeworks for transient inexperienced users. |
Features of VPL:
|
User registers data in Java Applet and running HPF/MPI program and transfers between client applet and running simulation in a fashion similar to AVS |
This interacts via wrappers to MPI/HPF/F90 running programs |
NPAC Web Based Geographical Information System in Stand Alone Mode |
A GIS application is a specialized OpenInventor viewer, however it accepts any OpenInventor 2.1 scene model. That's why it's so easy to integrate it with third party applications, which produce IO/VRML output. The images show GIS integration with Weather Simulation application. A GIS viewer can also display animated objects controlled by Simulation Engine. |
Parallel Java is inevitable and indeed Java will replace Fortran and C++ in general scientific computing
|
The (commercial) Web itself will lead to "coarse grain software integration" in AVS like data flow environments
|
Web Collaboration technology can revolutionize computational steering
|
Can use network of Web Clients and/or Web Servers |
Not clear if distinction (in capability) between web server and client will remain |
Web Client Models Include SuperWeb from UCSB and hotwired article "Suck your Mips". |
More powerful but less pervasive is a pure Web Server model as in NPAC WebFlow |
Can either use in controlled (IntraNets or run a server on every node of your MPP) or uncontrolled (the whole world wide web) fashion
|
Note total compute power in all Web "clients" is about 1000 times that in all Central Supercomputers |
High Level WebHPL (Interpreted Interface to parallel Java, Fortran, C++) |
or WebFlow (AVS on the Web) |
Low Level WebVM (MPI on the Web) is linked servers |
Using Servlets (Jeeves) or Resource Objects (Jigsaw) |
Java is basis of Web Collaboration Systems with Applets Coordinated by Java Server |
Habanero from NCSA was one of first |
TANGOsim uses more modern Web Technology and incorporates a Discrete Event Simulator |
TANGOsim |
Basic |
Replicated Applications |
1)Virtual Users 2)Customized Views |
TANGO Java |
Collaboratory |
Server |
HTTP |
Server |
MultiMedia Mail |
C2 Commander |
Chat |
VTC |
Event Driven |
Simulation |
Engine |
C2 Radar Officer |
3D GIS |
Scripting |
Language |
C2 Weather Officer |
Message Routing |
SW/Data Distrib. |
Other |
Collaborators |
MultiMedia Mail |
Chat |
Simulation |
Engine Controller |
All Clients |
Typical Clients |
Feb 97 Demonstration of Tango |
Clearly Java Collaboration Systems are natural implementations of general environments that mix computers and people |
Computational Steering -- a simulation is like a participant in a Tango session which has
|
Need to link to Tango, Java data analysis/visulaization front ends as well as distributed resource management systems such as ARMS from Cornell |
Note synergy with Java Server based distributed computing such as WebFlow which builds an AVS like environment with graphical interfaces to software Integration |
More ambitious to upgrade discrete event simulation component of TANGOsim to support full SIMNET/DSI (Distributed Simulation Internet) functionality. |
Note that Java is natural language for DSI/Forces Modelling because these typically use object parallelism which fits both language and applet/JavaBean capabilities. |
See discussion in http://www.npac.syr.edu/projects/javaforcse |
Key question is performance of Java |
Note Web Software can be run on High Performance IntraNets such as Iway so hardware need NOT be a problem! |
Java is currently semi-interpreted and (as in Linpack online benchmark) is about 50 times slower than good C or Fortran
|
Java --> (javac)--> Downloadable Universal Bytecodes --> (Java Interpreter) |
--> Native Machine Code
|
However Language can be efficiently compiled with "native compilers" |
Java ----> (native compiler) |
---> Native (for Particular Machine) Code |
Lots of Interesting Compiler issues for both compiled and scripted Java |
Syracuse Workshop saw no serious problem to High Performance Java on sequential or Shared Memory Machines |
Some restrictions are needed in programming model |
For instance, Avoid Complicated Exception handlers in areas compilers need to optimize! |
Should be able to get comparable performance on compiled Java C and Fortran starting with either Java Language or JavaVM bytecodes |
The Interpreted (Applet) JavaVM mode would always be slower than compiled Java/C/Fortran -- perhaps by a factor of two with best technology |
Numerical Objects in (C++/Fortran/C/Java) |
Expose the Coarse Grain Parallelism |
Expose All Levels of Memory Hierarchy |
a) Pure Script (Interpreted) |
c) High Level Language but Optimized Compilation |
d) Machine Optimized RunTime |
b) Semi- Interpreted |
a la Applets |
Memory Levels in High |
Performance CPU |
Nodes of Parallel/ Distributed System |
Applications requires a range of capabilities in any language |
High level ("Problem Solving Environment") manipulating"large" objects
|
Intermediate level Compiled Code targetted at "sequential" (multi-threaded) architecture
|
Lower level runtime exploiting parallelism and memory hierarchies
|
1)Classic solution of large scale PDE or Particle dynamics problem
|
2)Modest Grain size Functional Parallelism as seen in overlap of communication and computation in a node process of a parallel implementation.
|
3)Object parallelism seen in Distributed Simulation where "world" modelled (typically by event driven simulation) as set of interacting macroscopic (larger than grid points) objects
|
4)MetaProblems consisting of several large grain functionally distinct components such as
|
Java: 1) Not Supported, 2) is Thread mechanism, 3) is Java Objects or Applets, 4) is JavaBeans or equivalent |
Fortran: 1)is supported in HPF, 2--4) are not supported |
As we saw large scale Applications need many forms of parallelism and it is not needed/appropriate to use the same mechanism for each form
|
Thus Java needs (runtime and perhaps language) extension to support HPF/HPC++ like (shared memory model for programmer) data parallelism but "Java plus message passing" is already here
|
Java raises issue of role of Interpreters versus Compilers |
Success of systems like MATLAB and languages like APL show relevance of interpreters in Scientic Computing |
PERL, JavaScript, TcL, Visual Basic etc. indicate growing use of Interpreters in other domain
|
We suggest that integration of Interpreters and compilers is an important research issue and could suggest new models for parallelism
|
Optimizing Interpreters (as in JIT for Java) |
A library model where interpreted toolkits invoke lovingly parallelized high performance libraries |
Natural linkage to interpreted data analysis / visualization |
HTML Java etc will give higher quality basic Curricula with glossaries, database search, hyperlinking etc. |
Virtual Laboratories for Science, Programming etc.
|
Voice (RealAudio) and video capture of teacher as augmentation of lecture curricula material
|
Searchable video archives for finding critical few minutes clips to use in class
|
We have made Good Progress here using Web Technology |
WebWisdom is our System at NPAC built from PERL and JavaScript and features |
Built-in Audio |
Hierarchically Arranged Information |
Parameterized HTML |
Automatic Logging of pages accessed |
Set of Illustrations of JavaScript WebWisdom Education and Presentation Delivery System |
Set of Illustrations of JavaScript WebWisdom Education and Presentation Delivery System |
WebWisdom defaults to HTML where "contains all information" and Persuasion/Poewerpoint original Otherwise |
You can always use either version |
We are told that we should communicate science and engineering better to the world! |
Previously such communication skills were the written and spoken word but now perhaps we can imagine that "Java/Web programming" as another key Communication skill |
This suggests newjob opportunities and new curricula such as |
Degrees in Scientific Communication which combine classical Physics (etc.) education with Simulation and Web Technologies .... |
Take Web electronic society technology which link people together and use to join teachers mentors and students
|
Meanwhile can look at VRML2 for Immersive virtual learning environments |
All of these technologies can be used either synchronously (organized sessions) or asynchronously (students learn in their own time and interact with teacher/mentor in batch mode) |
Log educational sessions (including multimedia material) in databases and use for assesment |
Uses linkage of TANGO to JavaScript WebWisdom which supports Persuasion, Powerpoint, HTML and Screendump mixed Presentations with audio (tagged to specific foils) and notes |
Full Webwisdom used by Teacher allows access to full curricula and options |
Client (Slave) WebWisdom displays pages chosen by teacher (with same audio and notes) and generates automatic HTML index
|
Currently WebWisdom used in non TANGO mode with classic large screen display |
TANGO WebWisdom allows one to use same approach to distributed PC's which is surely more attractive (Web font sizes designed for monitors -- not classroom displays) |
To allow use on low speed lines (28.8 kbaud modems), distribute CD ROM of material to students |
Client WebWisdom will map URL sent from Teacher WebWisdom to link on PC (if exists) and so ONLY control information is sent on Web |
Standard low bit rate codecs support audio and video conferencing over phone lines |
For asynchronous learning, ship HTML Index with lesson audio to clients and students use offline with TANGO used to support synchronous audio and video conferencing |
Will use in China (already succesfully used material Spring 96 Semester between Syracuse and Harbin) and for Syracuse University "Limited Residency" continuing programs where students visit University once to three times per semester (see Computing for the Future Certificates)
|
Screen of User1. Weather Report, Hopfield Neural Network and Cross Product applets started. |
Initial applications include corporate training and University continuing education
|
This is outreach to people wanting to learn new skills and so critical as all organizations redefine themselves |
Also use in Chinese Universities and HBCU's in the U.S. where we can help faculty upgrade their curricula |
NPAC will have all these capabilities in a deployable system by end of 97. |