Given by Geoffrey C. Fox at CRPC NSF Review August 15-16 1996 on 16 August 96. Foils prepared 12 August 1996
Outside Index
Summary of Material
Secs 43
We describe some of forces driving the Web and its technologies of relevance to large scale distributed metacomputing |
We focus on Two Areas in this talk
|
Outside Index Summary of Material
Geoffrey Fox, Wojtek Furmanski
|
We describe some of forces driving the Web and its technologies of relevance to large scale distributed metacomputing |
We focus on Two Areas in this talk
|
This is second in set of five talks that roughly correspond to layers in an integrated environment for high performance computing in a networked (meta)computing environment |
Ian Foster: Middleware enabling Wide Scale high performance communication -- Globus, Nexus -- and application motivation |
Geoffrey Fox: Role of Web Technology in Scientific Computing and Data Processing for Middleware and Programming |
Ken Kennedy, Jack Dongarra and Mani Chandy describe higher level Compilation and technology for Domain Specific Problem Solving Environments |
Much of Syracuse work is in collaboration with CRPC Associate Marina Chen at Boston University |
Large Scale Applications (as discussed by Foster) need many forms of parallelism
|
Java needs (runtime and perhaps language) extension to support HPF/HPC++ like data parallelism but Foster's talk has shown that "Java plus message passing" is already here
|
It is possible that Java will not "make it" but current momentum is hard to derail!
|
If Java is not the web language of future, then whatever replaces it must be better and our remarks should be applied to its replacement! |
Java likely to be a dominant language as will be learnt and used by a broad group of users
|
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 |
Java may replace C++ as major system building language
|
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 |
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
|
Use Native Classes selectively for
|
Web Servers and HTTP are not as efficient as PVM/MPI daemons and their messaging but
|
Deploy Web technology first in education and in program development where high functionality of "Web Productivity Environment" is more important than performance |
Then run production in classic "bare-bones" HPCC environment |
Internet is quite slow and getting slower but in fact many Web activities focus on IntraNets -- domain and perhaps geographically specialized hardware running pervasive Web Softwate
|
Superficially one can state goal as adding to the distributed computing model of the Web, the HPCC lessons and algorithms needed for high performance and tight synchronization of multiple servers and clients (Web is typically loose coarse grained coupling).
|
http://kestrel1.npac.syr.edu:3000/hpf-demo/ (Kivanc Dincer) |
Allows one to specify program from Web Client, Invoke HPF Compiler and excute on a chosen set of networked Workstations |
Implemented as a network of HTTPD Web Servers using CGI scripts which replace PVM daemons and invoke communication implemented by modifying PVM software |
Supports HPF and Global Arrays (Chemistry full matrix primitives developed at Pacific NorthWest Lab)
|
Will be used in Virtual Workshop (Cornell) and Fox's introductory computational Science class this fall CPS615
|
Have implemented a large(16) number of Java Applets interfacing to SDDF (Self-Defining Data Format), provided by Pablo Performance Analysis Environment, developed at UIUC by CRPC Associate Dan Reed |
Running Node Program --> SDDF Performance Monitoring Data --> Web server |
which can be accessed by full set of Web Tools including
|
see: http://www.npac.syr.edu/users/dincer/pablo/ |
Will add Java "wrapper" to HPF data-structures so can use Java for scientific visualization of applications that run in HPF |
This illustrates how use of the rich Web information improves HPCC programming environment for easy linkage of databases and logging and display of scientific and performance visualization |
In "WebWindows" Approach one naturally gets a Web Server and Client on every node
|
Several emerging technologies
|
Build initial experiments conservatively so insensitive to rapid evolution of Web |
Note Problem Solving Environments and "Forces Modelling" (Human/Instrument in the loop) applications require integration of computing and collaboration
|
Succesful examples:
|
Java is a convenient User Interface builder which allows one to develop |
quickly customized Interfaces
|
This gives AVS and Khoros like environments |
As part of black hole Grand Challenge, we are designing an interface to adaptive mesh (AMR) "Problem Solving environment" |
As Java lies "inbetween" Fortran and C++, one can expect that data parallel Java can learn from corresponding HPF and HPC++ studies |
"Parallel Compiler Runtime Consortium" produced a very rough draft
|
Java does not support templates and STL approach of C++ not so natural |
Need to recognize that performance of Objects in Java poorer than that of "simple types" |
Java spans high level interpreted objects to low level optimally compiled "simple types" |
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 |
e.g. A = HParray.matmul(B,C)
|
This leads to Java wrappers invoked by HPF-style Java(Script) interpreter which interfaces to native HPF or other implementations.
|