Given by Geoffrey C. Fox at Penn State Jan 13,Wright State Jan 27,SIAM March 16 1997 on January 1997. Foils prepared May 6 1997
Outside Index
Summary of Material
Java appears to offer a good compromise between C++ and Fortran with both high performance and attractive object oriented features and will be learnt by the next generation as their first language
|
Java Collaboration Systems promise to add to Web dissemination of material (which we review) interactive linkage of teachers and students -- the missing link |
TANGOsim links concepts with a discrete event simulator integrated into collaboration environment
|
Outside Index
Summary of Material
Geoffrey Fox NPAC Syracuse University |
111 College Place |
Syracuse NY 13244-4100 |
Java appears to offer a good compromise between C++ and Fortran with both high performance and attractive object oriented features and will be learnt by the next generation as their first language
|
Java Collaboration Systems promise to add to Web dissemination of material (which we review) interactive linkage of teachers and students -- the missing link |
TANGOsim links concepts with a discrete event simulator integrated into collaboration environment
|
Java for the User Interface: This is roughly the "WebWindows Philosophy" of building applications to Web Server/Client Standards |
Java for Coarse Grain Software Integration: see collaboration and metacomputing |
Java as a high performance scientific language: for "inner" (and outer) loops Here parallelism is important but sequential issues also critical and first issues to examine! |
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 |
Bottom of Pyramid has 100 times dollar value and 1000 times compute power of best supercomputer |
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 |
More Appropriate to build HPF/MPI on top of Web Technology than to port HPF/MPI to the Web/PC Cluster world |
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! |
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 |
Personal Digital Assistants and Video Games are at the bottom of Pyramid .......... |
This is least controversial and is essentially WebWindows for User Interfaces |
Fortran was never good at user interfaces! |
In this section we look at Java for MetaComputing |
and in particular WebFlow which can be thought of as WebWindows version of AVS or Khoros |
The Web adds more value to Parallel Computing than PC World (previous mass market and great software) |
As PC was a sequential and not networked (distributed) model |
Java for User Interfaces and MetaComputing is natural from its design! |
Java for your favourite Conjugate Gradient routine (etc.) is less obvious ..... |
SMP's are another natural software infrastructur base technology |
But this is a much smaller base than PC/Web/ Video Games etc. |
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 |
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 .... |
Web technologies have potential for interactive rich environments which are clearly superior to existing video based conferencing and distance education
|
Java Collaboration systems such as Habanero (NCSA), Shaking Hands(IBM) and Tango(NPAC) very important
|
CGI scripts and client side Javascript is straight forward today |
Virtual Programming Laboratory -- MPI, HPF on the Web -- deployed in Syracuse course CPS615 and next Cornell Virtual Workshop |
Java Applets for simulation as in Syracuse's Phy105/307
|
Multimedia databases with database search of close captions and other text material
|
Database supported Mail, FAQ, User support etc. |
VRML 2.0 for virtual environments and scientific visualization
|
Ongoing NSF MRA grant to Cornell and Syracuse is building advanced Web resources to incorporate simulation (Java Applets) into Syracuse University's very successful "Science for 21st Century" freshman course for non science majors
|
Several Universities using Java in Introductory Computer science courses
|
Living SchoolBook -- Syracuse (NPAC and School of Education, Columbia Teachers college) -- ATM links to New York State schools, Museum of Science and Technology in Syracuse
|
Thinkquest (ANS) database support by Syracuse |
Move Undergraduate courses (e.g. Science for the 21st. Century) to high school level. |
Set of innovative interfaces (pressure, optical, muscle movement) linked to Java applets |
Link to web disseminated education |
http://www.npac.syr.edu/projects/pulsar
|
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 |
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 |
CA -- Control Application |
SA -- Standalone Application |
HTTP -- Classic HTTP Server |
N -- Netscape Navigator |
LD -- Local Daemon |
CS -- Central Server |
DB -- Database |
A -- Java Applet |
This shows how a Java/C Plug-In enables Communication between Java Server and TANGO Clients |
Java can help in both dissemination and collaboration aspects of education |
A Java GreenBoard |
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:
|
This added security and various user requested improvements such as choice of editor (emacs vi etc.) |
Note computation and user files are stored on server side |
EPIC (Edinburgh EPCC) is client side for files AND computation |
Just the runtime issues |
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 |
SDDF is Pablo data format |
This interacts via wrappers to MPI/HPF/F90 running programs |
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) |
Task I: Gather requirements from key constituencies (DoD modernization program, NSF PACI, Interested Universities and K-12 school districts) |
Task II: System Design and Integration |
Task III: Build core system |
Task IV: Integrate middle layer services into core system |
Task V: Build Tools on top of middle layer |
Task VI: Develop courseware |
Task VII: Deliver and Assess courses |
The layered design includes a secure database at its core on top of which are built a set of services including
|
The communication system supports the worldwide delivery and includes support for distributed databases to get high performance with for instance core courseware replicated on delivery machines with CD-ROM's or other such mechanisms. |
The top layer of WebWisdom consists of education and training specific capabilities, which customize and extend the generic middle-layer services.
|
The delivery system is based on customized shared browser windows for curricula together with more generic collaboration capabilities e.g. audio-videoconferencing is used by students and teachers for traditional voice interactions.
|
We believe that impressive demonstrations of all the above capabilities have already been prototyped and one can now build such a system.
|