Full HTML for

Scripted foilset Java and Web Technologies in HPCC

Given by Geoffrey C. Fox at SIAM Conference Minneapolis -- OO Methods Session on March 16 97. Foils prepared March 18 97
Outside Index Summary of Material


Please go to URL http://www.npac.syr.edu/projects/javaforcse
We describe 3 major areas where Java (and other Web Technologies) can have significant impact
1) Java can be used to build user Interfaces and here we describe the Virtual Programming Laboratory VPL
2) Java can support coarse grain integration and metacomputing
  • Here we describe both WebFlow (AVS on the web) and Tango (a Java Collaboratory)
  • Both Computational Steering and "Forces Modelling" seem naturally implemented with this technology
3) Java as a traditional compiled language for computational kernels
  • Here we discuss sequential and parallel issues
  • Integration of Interpreted and Compiled Environments

Table of Contents for full HTML of Java and Web Technologies in HPCC

Denote Foils where Image Critical
Denote Foils where HTML is sufficient
Denote Foils where Image is not available
denotes presence of Additional linked information which is greenblueed out if missing

1 The Role of Java in Scientific Computing
SIAM Meeting Mar 16,97 Minneapolis
Session on OO Methods in Parallel Processing organized by Dennis Gannon
http://www.npac.syr.edu/users/gcf/javainhpccmar97

2 Abstract of Java in HPCC Presentation
3 Java for Scientific Computing Resource
4 There are (at least) 3 Major Roles for JAVA in Computation
5 The 3 Roles of Java
6 Java for Building User Interfaces
7 Summary of the VPL -- Virtual Programming Laboratory
8 The Virtual Programming Laboratory
9 User view of the VPL
10 VPL Used in Cornell HPF Virtual Workshop
11 Client-server interaction in VPL as it is implemented in Virtual Workshop
12 Server Side Structure of the VPL
13 Structure of Java Wrappers in the VPL
14 Architecture of use of JPVS (Java Performance Visualization System) with C + MPI Program
15 Kivanc Dincer's Java FrontEnd to Pablo - I
16 Kivanc Dincer's Java FrontEnd to Pablo - II
17 The Java Applet Supporting Data Visualization in the VPL
18 Web Based MetaComputing
19 Java Server Based Web Computing
20 Java Server Structure in WebFlow
21 Different WebVM Approachs
22 Article on MIP Sucking Java Applets
23 TANGOsim Collaboration/ Simulation/ Training in Java
24 TANGO Collaborative System Control Panel
25 Typical Web Collaboration Architecture
26 The TANGOsim C2 Application
27 Command and Control Screen with F15 Track
28 C2 application Radar Officer Screen
29 TANGO Highlights - I
30 Global Architecture of Tango System
31 Tango Client Communication Structure
32 TANGO Highlights - II
33 RomeLab C2 Auxiliary Applications
34 Tango Application to Education
35 Distributed Tango WebWisdom
36 TANGOsim for Distributed Simulation and Computational Steering - I
37 Classes of Simulations and their High Performance Needs
38 TANGOsim for Distributed Simulation and Computational Steering - II
39 Java as the Language for Computational Kernels!
40 Some Critical Features of Java as a Programming Language
41 Comparison of Java and Fortran 77/90
42 Java Links the Bottom and Top of Pyramid
43 Isn't the Web hardware and software too slow to be interesting for HPCC? -Java- I
44 What Limits Performance of Compiled Java?
45 Isn't the Web hardware and software too slow to be interesting for HPCC? -Java- II
46 Hierarchy of Software Levels
47 Isn't the Web hardware and software too slow to be interesting for HPCC? -Java- III
48 Classes of Simulations and their High Performance Needs
49 Some Critical Features of Java and Parallelism - II
50 Network of Web Servers and Clients
51 Remarks on HPJava -- Data Parallel Java - II
52 Integration of Interpreted and Compiled Environments
53 Select Active Processors in HPJava Demo
54 Game of Life Execution Pattern in HPJava Demo

Outside Index Summary of Material



HTML version of Scripted Foils prepared March 18 97

Foil 1 The Role of Java in Scientific Computing
SIAM Meeting Mar 16,97 Minneapolis
Session on OO Methods in Parallel Processing organized by Dennis Gannon
http://www.npac.syr.edu/users/gcf/javainhpccmar97

From Java and Web Technologies in HPCC SIAM Conference Minneapolis -- OO Methods Session -- March 16 97. *
Full HTML Index
Geoffrey Fox
Syracuse University
111 College Place
Syracuse
New York 13244-4100

HTML version of Scripted Foils prepared March 18 97

Foil 2 Abstract of Java in HPCC Presentation

From Java and Web Technologies in HPCC SIAM Conference Minneapolis -- OO Methods Session -- March 16 97. *
Full HTML Index
Please go to URL http://www.npac.syr.edu/projects/javaforcse
We describe 3 major areas where Java (and other Web Technologies) can have significant impact
1) Java can be used to build user Interfaces and here we describe the Virtual Programming Laboratory VPL
2) Java can support coarse grain integration and metacomputing
  • Here we describe both WebFlow (AVS on the web) and Tango (a Java Collaboratory)
  • Both Computational Steering and "Forces Modelling" seem naturally implemented with this technology
3) Java as a traditional compiled language for computational kernels
  • Here we discuss sequential and parallel issues
  • Integration of Interpreted and Compiled Environments

HTML version of Scripted Foils prepared March 18 97

Foil 3 Java for Scientific Computing Resource

From Java and Web Technologies in HPCC SIAM Conference Minneapolis -- OO Methods Session -- March 16 97. *
Full HTML Index
See Original Foil

HTML version of Scripted Foils prepared March 18 97

Foil 4 There are (at least) 3 Major Roles for JAVA in Computation

From Java and Web Technologies in HPCC SIAM Conference Minneapolis -- OO Methods Session -- March 16 97. *
Full HTML Index
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!

HTML version of Scripted Foils prepared March 18 97

Foil 5 The 3 Roles of Java

From Java and Web Technologies in HPCC SIAM Conference Minneapolis -- OO Methods Session -- March 16 97. *
Full HTML Index

HTML version of Scripted Foils prepared March 18 97

Foil 6 Java for Building User Interfaces

From Java and Web Technologies in HPCC SIAM Conference Minneapolis -- OO Methods Session -- March 16 97. *
Full HTML Index
This is least controversial and is essentially WebWindows for User Interfaces
Fortran was never good at user interfaces!

HTML version of Scripted Foils prepared March 18 97

Foil 7 Summary of the VPL -- Virtual Programming Laboratory

From Java and Web Technologies in HPCC SIAM Conference Minneapolis -- OO Methods Session -- March 16 97. *
Full HTML Index
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:
  • Text Editor and File Manager
  • Web Interface for compilation and job submittal with simple aids such as prompts on HPF syntax, choice of platform and automatic makefiles
  • Client side Java applets for Performance and Data visualization
  • Security mechanisms

HTML version of Scripted Foils prepared March 18 97

Foil 8 The Virtual Programming Laboratory

From Java and Web Technologies in HPCC SIAM Conference Minneapolis -- OO Methods Session -- March 16 97. *
Full HTML Index

HTML version of Scripted Foils prepared March 18 97

Foil 9 User view of the VPL

From Java and Web Technologies in HPCC SIAM Conference Minneapolis -- OO Methods Session -- March 16 97. *
Full HTML Index

HTML version of Scripted Foils prepared March 18 97

Foil 10 VPL Used in Cornell HPF Virtual Workshop

From Java and Web Technologies in HPCC SIAM Conference Minneapolis -- OO Methods Session -- March 16 97. *
Full HTML Index
This added security and various user requested improvements such as choice of editor (emacs vi etc.)

HTML version of Scripted Foils prepared March 18 97

Foil 11 Client-server interaction in VPL as it is implemented in Virtual Workshop

From Java and Web Technologies in HPCC SIAM Conference Minneapolis -- OO Methods Session -- March 16 97. *
Full HTML Index
Note computation and user files are stored on server side
EPIC (Edinburgh EPCC) is client side for files AND computation

HTML version of Scripted Foils prepared March 18 97

Foil 12 Server Side Structure of the VPL

From Java and Web Technologies in HPCC SIAM Conference Minneapolis -- OO Methods Session -- March 16 97. *
Full HTML Index
Just the runtime issues

HTML version of Scripted Foils prepared March 18 97

Foil 13 Structure of Java Wrappers in the VPL

From Java and Web Technologies in HPCC SIAM Conference Minneapolis -- OO Methods Session -- March 16 97. *
Full HTML Index
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

HTML version of Scripted Foils prepared March 18 97

Foil 14 Architecture of use of JPVS (Java Performance Visualization System) with C + MPI Program

From Java and Web Technologies in HPCC SIAM Conference Minneapolis -- OO Methods Session -- March 16 97. *
Full HTML Index
SDDF is Pablo data format

HTML version of Scripted Foils prepared March 18 97

Foil 15 Kivanc Dincer's Java FrontEnd to Pablo - I

From Java and Web Technologies in HPCC SIAM Conference Minneapolis -- OO Methods Session -- March 16 97. *
Full HTML Index

HTML version of Scripted Foils prepared March 18 97

Foil 16 Kivanc Dincer's Java FrontEnd to Pablo - II

From Java and Web Technologies in HPCC SIAM Conference Minneapolis -- OO Methods Session -- March 16 97. *
Full HTML Index

HTML version of Scripted Foils prepared March 18 97

Foil 17 The Java Applet Supporting Data Visualization in the VPL

From Java and Web Technologies in HPCC SIAM Conference Minneapolis -- OO Methods Session -- March 16 97. *
Full HTML Index
This interacts via wrappers to MPI/HPF/F90 running programs

HTML version of Scripted Foils prepared March 18 97

Foil 18 Web Based MetaComputing

From Java and Web Technologies in HPCC SIAM Conference Minneapolis -- OO Methods Session -- March 16 97. *
Full HTML Index
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
  • Uncontrolled mode has interesting economic implications and is controversial in security, network performance area
Note total compute power in all Web "clients" is about 1000 times that in all Central Supercomputers

HTML version of Scripted Foils prepared March 18 97

Foil 19 Java Server Based Web Computing

From Java and Web Technologies in HPCC SIAM Conference Minneapolis -- OO Methods Session -- March 16 97. *
Full HTML Index
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

HTML version of Scripted Foils prepared March 18 97

Foil 20 Java Server Structure in WebFlow

From Java and Web Technologies in HPCC SIAM Conference Minneapolis -- OO Methods Session -- March 16 97. *
Full HTML Index
Using Servlets (Jeeves) or Resource Objects (Jigsaw)

HTML version of Scripted Foils prepared March 18 97

Foil 21 Different WebVM Approachs

From Java and Web Technologies in HPCC SIAM Conference Minneapolis -- OO Methods Session -- March 16 97. *
Full HTML Index

HTML version of Scripted Foils prepared March 18 97

Foil 22 Article on MIP Sucking Java Applets

From Java and Web Technologies in HPCC SIAM Conference Minneapolis -- OO Methods Session -- March 16 97. *
Full HTML Index
http://www.packet.com/packet/ Hot Wired Tuesday January 7 Edition
Applet calculates pi while you read article!

HTML version of Scripted Foils prepared March 18 97

Foil 23 TANGOsim Collaboration/ Simulation/ Training in Java

From Java and Web Technologies in HPCC SIAM Conference Minneapolis -- OO Methods Session -- March 16 97. *
Full HTML Index
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

HTML version of Scripted Foils prepared March 18 97

Foil 24 TANGO Collaborative System Control Panel

From Java and Web Technologies in HPCC SIAM Conference Minneapolis -- OO Methods Session -- March 16 97. *
Full HTML Index
Control Application layout (started in Netscape browser). Two users logged in. List of available applications visible.

HTML version of Scripted Foils prepared March 18 97

Foil 25 Typical Web Collaboration Architecture

From Java and Web Technologies in HPCC SIAM Conference Minneapolis -- OO Methods Session -- March 16 97. *
Full HTML Index
TANGOsim
Basic
Replicated Applications
1)Virtual Users 2)Customized Views

HTML version of Scripted Foils prepared March 18 97

Foil 26 The TANGOsim C2 Application

From Java and Web Technologies in HPCC SIAM Conference Minneapolis -- OO Methods Session -- March 16 97. *
Full HTML Index
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

HTML version of Scripted Foils prepared March 18 97

Foil 27 Command and Control Screen with F15 Track

From Java and Web Technologies in HPCC SIAM Conference Minneapolis -- OO Methods Session -- March 16 97. *
Full HTML Index
Feb 97 Demonstration of Tango

HTML version of Scripted Foils prepared March 18 97

Foil 28 C2 application Radar Officer Screen

From Java and Web Technologies in HPCC SIAM Conference Minneapolis -- OO Methods Session -- March 16 97. *
Full HTML Index
Feb 97 Demonstration of Tango

HTML version of Scripted Foils prepared March 18 97

Foil 29 TANGO Highlights - I

From Java and Web Technologies in HPCC SIAM Conference Minneapolis -- OO Methods Session -- March 16 97. *
Full HTML Index
Entirely Web-based system (runtime implemented in Java)
Able to tap any information resources
Self-distributing software model (applets not applications)
Unrestricted inter-applet communication
Supports all basic collaboratory functions:
  • statefull system, security/session management, data/event distribution, scalable multimedia support (VTC, digital networked video)

HTML version of Scripted Foils prepared March 18 97

Foil 30 Global Architecture of Tango System

From Java and Web Technologies in HPCC SIAM Conference Minneapolis -- OO Methods Session -- March 16 97. *
Full HTML Index
CA -- Control Application
SA -- Standalone Application
HTTP -- Classic HTTP Server
N -- Netscape Navigator
LD -- Local Daemon
CS -- Central Server
DB -- Database
A -- Java Applet

HTML version of Scripted Foils prepared March 18 97

Foil 31 Tango Client Communication Structure

From Java and Web Technologies in HPCC SIAM Conference Minneapolis -- OO Methods Session -- March 16 97. *
Full HTML Index
This shows how a Java/C Plug-In enables Communication between Java Server and TANGO Clients

HTML version of Scripted Foils prepared March 18 97

Foil 32 TANGO Highlights - II

From Java and Web Technologies in HPCC SIAM Conference Minneapolis -- OO Methods Session -- March 16 97. *
Full HTML Index
Language independent: support for non-Java applications
  • APIs available for Java, C, C++, JavaScript
Archiving system for session replays
  • Relational database backend
Dynamic and flexible master-slave mode
Entirely open, extensible system with growing set of applications
Multiplatform: SGI/Sun/Win 95/NT
TANGOsim mode provides support for discrete event simulations
Used in Command and Control, telemedicine, and weather application in Rome Laboratory Project that funded.

HTML version of Scripted Foils prepared March 18 97

Foil 33 RomeLab C2 Auxiliary Applications

From Java and Web Technologies in HPCC SIAM Conference Minneapolis -- OO Methods Session -- March 16 97. *
Full HTML Index
Chatboard
Collaboratory Web browser
Collaboratory search engine
Mmail - TANGO multimedia mail
  • supports test, images, audio, video
  • persistent storage for MM messages
Weather with 2D and 3D views and simulation and sensor data displays
All apps collaboratory and compatible with Simulation Engine, hence scriptable.

HTML version of Scripted Foils prepared March 18 97

Foil 34 Tango Application to Education

From Java and Web Technologies in HPCC SIAM Conference Minneapolis -- OO Methods Session -- March 16 97. *
Full HTML Index
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
  • should integrate with HTML editor to allow student annotation
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)

HTML version of Scripted Foils prepared March 18 97

Foil 35 Distributed Tango WebWisdom

From Java and Web Technologies in HPCC SIAM Conference Minneapolis -- OO Methods Session -- March 16 97. *
Full HTML Index
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)
  • Corporate Programs where we substitute limited residency at Syracuse by University team visiting site where many students can congregate

HTML version of Scripted Foils prepared March 18 97

Foil 36 TANGOsim for Distributed Simulation and Computational Steering - I

From Java and Web Technologies in HPCC SIAM Conference Minneapolis -- OO Methods Session -- March 16 97. *
Full HTML Index
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
  • simulation engine
  • visualization subsystem
  • one of more computaional scientists
Need to link to Tango, Java data analysis/visulaization front ends as well as distributed resource management systems such as ARMS from Cornell

HTML version of Scripted Foils prepared March 18 97

Foil 37 Classes of Simulations and their High Performance Needs

From Java and Web Technologies in HPCC SIAM Conference Minneapolis -- OO Methods Session -- March 16 97. *
Full HTML Index
1)Classic solution of large scale PDE or Particle dynamics problem
  • Data parallelism over grid points or particles
2)Modest Grain size Functional Parallelism as seen in overlap of communication and computation in a node process of a parallel implementation.
  • More generally overlap of I/O -- disk,visualization -- and computation
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
  • Objects are weopens, military units etc. in SIMNET/DSI (Forces Modelling)
4)MetaProblems consisting of several large grain functionally distinct components such as
  • Structural Analysis, Airflow, Manufacturing Process, Pricing, Controls etc. in MDO approach to manufacturing and design
  • more generally are components of a Problem Solving Environment
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

HTML version of Scripted Foils prepared March 18 97

Foil 38 TANGOsim for Distributed Simulation and Computational Steering - II

From Java and Web Technologies in HPCC SIAM Conference Minneapolis -- OO Methods Session -- March 16 97. *
Full HTML Index
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

HTML version of Scripted Foils prepared March 18 97

Foil 39 Java as the Language for Computational Kernels!

From Java and Web Technologies in HPCC SIAM Conference Minneapolis -- OO Methods Session -- March 16 97. *
Full HTML Index
Java for User Interfaces and MetaComputing is natural from its design!
Java for your favourite Conjugate Gradient routine (etc.) is less obvious .....

HTML version of Scripted Foils prepared March 18 97

Foil 40 Some Critical Features of Java as a Programming Language

From Java and Web Technologies in HPCC SIAM Conference Minneapolis -- OO Methods Session -- March 16 97. *
Full HTML Index
Java likely to be a dominant language as will be learnt and used by a broad group of users
  • We have taught 3 full courses and several tutorials
  • Popular as widely applicable (growing number of API's etc.) and one gets good graphics outpiut easily.
  • Further can use Web to exchange results of your program with peers
  • Expect to be very effective in middle and high school programming
  • Kids will come to University and jobs knowing and expecting to use Java
    • They will not accept Fortran as unfamiliar and less attractive
    • They may accept C++ as a later more complicated language
    • The bottom up revolution!
Java may replace C++ as major system building language
  • Perhaps greater functionality (e.g. pointers) of C++ critical although "WebWindows" favors Java
  • but this is not topic today!

HTML version of Scripted Foils prepared March 18 97

Foil 41 Comparison of Java and Fortran 77/90

From Java and Web Technologies in HPCC SIAM Conference Minneapolis -- OO Methods Session -- March 16 97. *
Full HTML Index
Clearly Java can easily replace Fortran as a Scientific Computing Language as can be compiled as efficiently and has much better software engineering (object) and graphics (web) capabilities
  • Fortran90 is object oriented but very small user base and not clear if will replace Fortran77
  • Note Fortran90 discussion started in 1978 (after Fortran77 agreed) and took fourteen years and even now Cray's Fortran77 compiler is (on C90 for numerical relativity) much better than their Fortran90 compiler.
  • Originally Fortran90 (as Fortran8X) was designed precisely for Cray architecture systems!
  • This illustrates that informal standards activities (as in the Web and HPF) are most appropriate for rapidly changing technologies
Java can unify classic science and engineering computations with more qualitative macroscopic "distributed simulation and modelling" arena which is critical in military and to some extent industry

HTML version of Scripted Foils prepared March 18 97

Foil 42 Java Links the Bottom and Top of Pyramid

From Java and Web Technologies in HPCC SIAM Conference Minneapolis -- OO Methods Session -- March 16 97. *
Full HTML Index
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!

HTML version of Scripted Foils prepared March 18 97

Foil 43 Isn't the Web hardware and software too slow to be interesting for HPCC? -Java- I

From Java and Web Technologies in HPCC SIAM Conference Minneapolis -- OO Methods Session -- March 16 97. *
Full HTML Index
Java is currently semi-interpreted and (as in Linpack online benchmark) is about 50 times slower than good C or Fortran
  • http://www.netlib.org/benchmark/linpackjava/
Java --> (javac)--> Downloadable Universal Bytecodes --> (Java Interpreter)
--> Native Machine Code
  • Just in Time Compilers speed this up by factor of 10
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

HTML version of Scripted Foils prepared March 18 97

Foil 44 What Limits Performance of Compiled Java?

From Java and Web Technologies in HPCC SIAM Conference Minneapolis -- OO Methods Session -- March 16 97. *
Full HTML Index
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

HTML version of Scripted Foils prepared March 18 97

Foil 45 Isn't the Web hardware and software too slow to be interesting for HPCC? -Java- II

From Java and Web Technologies in HPCC SIAM Conference Minneapolis -- OO Methods Session -- March 16 97. *
Full HTML Index
Applications requires a range of capabilities in any language
High level ("Problem Solving Environment") manipulating"large" objects
  • Semi Interpreted (Java Applet) or Interpreted (Improved JavaScript)
Intermediate level Compiled Code targetted at "sequential" (multi-threaded) architecture
  • Existing Native Compiled Java using Simple types (arrays) for numerically intensive parts
  • Note as no pointers and no overloading of basic operators, Java code should be very efficient
Lower level runtime exploiting parallelism and memory hierarchies
  • "Hints" from higher level languages (in HPF style?) referencing highly functional efficient runtime optimized for high performance architectures
  • Requires extensions to both message passing and data parallel interfaces for whatever language one uses

HTML version of Scripted Foils prepared March 18 97

Foil 46 Hierarchy of Software Levels

From Java and Web Technologies in HPCC SIAM Conference Minneapolis -- OO Methods Session -- March 16 97. *
Full HTML Index
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

HTML version of Scripted Foils prepared March 18 97

Foil 47 Isn't the Web hardware and software too slow to be interesting for HPCC? -Java- III

From Java and Web Technologies in HPCC SIAM Conference Minneapolis -- OO Methods Session -- March 16 97. *
Full HTML Index
One can use "native classes" which is just a predownloaded library of optimized runtime routines which can be high performance compiled Java, C, C++, Fortran, HPF etc. modules invoked by interpreted or compiled Java
  • This does NOT violate Web Philosophy in our opinion!
Use Native Classes selectively for
  • Compiler Runtime, Matrix Primitives, Image Processing and other engineering/science libraries,
  • PDE primitives such as mesh generators,
  • optimization as needed in resource management or applications

HTML version of Scripted Foils prepared March 18 97

Foil 48 Classes of Simulations and their High Performance Needs

From Java and Web Technologies in HPCC SIAM Conference Minneapolis -- OO Methods Session -- March 16 97. *
Full HTML Index
1)Classic solution of large scale PDE or Particle dynamics problem
  • Data parallelism over grid points or particles
2)Modest Grain size Functional Parallelism as seen in overlap of communication and computation in a node process of a parallel implementation.
  • More generally overlap of I/O -- disk,visualization -- and computation
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
  • Objects are weopens, military units etc. in SIMNET/DSI (Forces Modelling)
4)MetaProblems consisting of several large grain functionally distinct components such as
  • Structural Analysis, Airflow, Manufacturing Process, Pricing, Controls etc. in MDO approach to manufacturing and design
  • more generally are components of a Problem Solving Environment
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

HTML version of Scripted Foils prepared March 18 97

Foil 49 Some Critical Features of Java and Parallelism - II

From Java and Web Technologies in HPCC SIAM Conference Minneapolis -- OO Methods Session -- March 16 97. *
Full HTML Index
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
  • Coarse Grain Software Integration or Coordination (item 4))
    • Naturally built into Java through Applet mechanism and networking classes
  • But Data Parallelism (item 1)) -- needed for "massive parallelism" -- but although not directly supported, we can do by hand!
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
  • Most Examples of Java+MP are in Information arena (This is how you build Java Collaboratories) but scientific examples are emerging
  • We can do Java+MP for "Laplace Equation Jacobi Iteration" and this how we (Caltech) started hypercube work in 1981
  • Note that Fortran or C plus message passing (PVM,MPI) is dominant implementation technology for data parallelism over last ten years

HTML version of Scripted Foils prepared March 18 97

Foil 50 Network of Web Servers and Clients

From Java and Web Technologies in HPCC SIAM Conference Minneapolis -- OO Methods Session -- March 16 97. *
Full HTML Index
We can use Java as an interface to to a Web-implemented simulation linking to either Server or Client

HTML version of Scripted Foils prepared March 18 97

Foil 51 Remarks on HPJava -- Data Parallel Java - II

From Java and Web Technologies in HPCC SIAM Conference Minneapolis -- OO Methods Session -- March 16 97. *
Full HTML Index
We have proposed an approach which uses native classes for "compiler runtime" and follows an HPF style with an interpreted front-end like Matlab or APL or "host" programming model as in *LISP on CM-2
e.g. A = HParray.matmul(B,C)
  • Technically Generalizes HPF Interpreter we prototyped in 1993
  • Interpreters and objects are great as long as "coarse-grain"
  • i.e. arrays not array-elements
This leads again to Java wrappers invoked by HPF-style Java(Script) interpreter which interfaces to native HPF or other implementations.
  • e.g. access HPF array Ahpf elements from Java with wrapper object A
  • HParray A = new HParrayConstructor("Ahpf");
  • A.grabelement(1,100)

HTML version of Scripted Foils prepared March 18 97

Foil 52 Integration of Interpreted and Compiled Environments

From Java and Web Technologies in HPCC SIAM Conference Minneapolis -- OO Methods Session -- March 16 97. *
Full HTML Index
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
  • Natural as computers get faster!
We suggest that integration of Interpreters and compilers is an important research issue and could suggest new models for parallelism
  • We need both Compilers and Interpreters!!
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 version of Scripted Foils prepared March 18 97

Foil 53 Select Active Processors in HPJava Demo

From Java and Web Technologies in HPCC SIAM Conference Minneapolis -- OO Methods Session -- March 16 97. *
Full HTML Index
NPAC HPJava Activity -- Michael Chang and Bryan Carpenter

HTML version of Scripted Foils prepared March 18 97

Foil 54 Game of Life Execution Pattern in HPJava Demo

From Java and Web Technologies in HPCC SIAM Conference Minneapolis -- OO Methods Session -- March 16 97. *
Full HTML Index
NPAC HPJava Activity -- Michael Chang and Bryan Carpenter

© 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 Aug 10 1997