Given by Geoffrey C. Fox at CRPC NSF Review on August 16 1996 . Foils prepared August 17 1996
Outside Index
Summary of Material
Secs 51
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 |
PCRC embodies the Parallel Computing Synchronization and collective parallel algorithms and runtime that will enable efficient Web-based computing |
Replace user interface of HPF or HPC++ with the Web(work) and use pervasive Web Technologies in infrastructure (World Wide Virtual Machine -- WWVM) |
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
|
From Kivanc Dincer |
From Kivanc Dincer |
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
|
http://www.npac.syr.edu/factoring/status.html |
Web Sieving started in September 1995. |
On April 10, 1996, we found that |
RSA-130 = 1807082088687404805951656164405905566278102516769401349170127021450056662540244048387341127590812303371781887966563182013214880557 has the following factorization: RSA-130 = 39685999459597454290161126162883786067576449112810064832555157243 * 45534498646735972188403686897274408864356301263205069600999044599 |
An example of Web-based Computing |
It lets researchers author tools and leave them on the machine of choice on the web |
It allows multiple data bases to intercommunicate with each other and the functional operators that the software tools represent and to make a web browser the window into this system. |
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" |
From Gregor von Laszewski |
From Gregor von Laszewski |
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.
|