Given by Geoffrey C. Fox at EuroPar Java Grande Workshop on September 2-3 1998. Foils prepared September 13 1998
Outside Index
Summary of Material
We describe Java Grande Forum -- motivation and current status
|
Seamless interfaces allowing universal access to general hosts
|
Outside Index Summary of Material
Workshop on Java for High Performance Network Computing |
September 2-3 1998 Europar Southampton |
Geoffrey Fox |
Northeast Parallel Architectures Center |
Syracuse University |
111 College Place |
Syracuse NY |
gcf@npac.syr.edu |
http://www.javagrande.org |
http://www.npac.syr.edu/users/gcf/jgeurosept98 |
We describe Java Grande Forum -- motivation and current status
|
Seamless interfaces allowing universal access to general hosts
|
The Java Language has several good design features
|
Java has a very good set of libraries covering everything from commerce, multimedia, images to math functions (under development at http://math.nist.gov/javanumerics) |
Java has best available electronic and paper training and support resources |
Java is rapidly getting best integrated program development environments |
Java naturally integrated with network and universal machine supports powerful "write once-run anywhere" model |
There is a large and growing trained labor force |
Can we exploit this in computational science? |
Use of Java for: |
High Performance Network Computing |
Scientific and Engineering Computation |
(Distributed) Modeling and Simulation |
Parallel and Distributed Computing |
Data Intensive Computing |
Communication and Computing Intensive Commercial and Academic Applications |
HPCC Computational Grids ........ |
Very difficult to find a "conventional name" that doesn't get misunderstood by some community! |
So existing Grande codes are written in Fortran C and C++ with a clearly unattractive and comparatively unproductive programming environment |
These current languages and tools are sufficient but does not seem likely that can build much better environments around them
|
Five years ago, it looked as though C++ could become language of choice (perhaps with Fortran as inner core) but this appears stalled
|
So there is no competition -- Java is currently our only hope
|
It has some natural advantages due its internet base with threads and distributed computing built in |
It is a young language and we can take steps now to avoid unproductive proliferation of libraries and parallel constructs
|
It could have expressivity and object oriented advantages of C++ combined with performance levels of C and Fortran |
It can use its clear GUI advantages as an entrée into other aspects of Grande programming |
The two forms of Large Scale Computing Scale Computer for Scale Users in Proportion Power User to number of computers |
Parallel Commodity Distributed Computers Information Systems Technology <--------------- Internetics Technologies ---------------> |
Parallel Computer Distributed Computer |
HPF MPI Java HTML XML |
1% market |
99% of market driving |
student interest and (Java) technologies |
Geographically |
Distributed |
Grandecomputer |
Resources |
Gateway System |
hosting Seamless Access |
Database, Collaboration |
Visualization |
and other Services |
Geographically Distributed users |
Java Applet Clients |
Parallel or Sequential Java Grande Codes |
Java Servers |
Java wins today? |
Java Grande should promote |
Java has potential to be a better environment for "Grande application development" than any previous languages such as Fortran and C++ |
The Forum Goal is to develop community consensus and recommendations for either changes to Java or establishment of standards (frameworks) for "Grande" libraries and services |
These Language changes or frameworks are designed to realize "best ever Grande programming environment" |
First Meeting Mar 1 Palo Alto at Java 98 -- 200 Attendees set Agenda -- 30 permanent people and further meetings May 9-10, Aug 6-7 |
Public Discussion SC98 Orlando November 13 (3 hour panel) |
http://www.npac.syr.edu/projects/javaforcse |
http://www.javagrande.org |
1) Most important in the near term -- encourage Sun to make a few key changes in Java to allow it to be a complete efficient Grande Programming Language
|
2) As a community, recognize that sometimes standards are more appropriate than creativity and pool results of experiments to produce a Java Grande framework covering libraries and computer access
|
1) requires us to work with the computing mainstream -- 2) is internal to community |
Two major working groups promoting standards and community actions |
Numerics: Java as a language for mathematics led by Ron Boisvert and Roldan Pozo from NIST
|
Java Grande 98 Feb 28 98 |
Distributed and Parallel Computing led by Dennis Gannon and Denis Caromel (INRIA, France)
|
Development of Grande Application benchmarks |
Both working groups have made substantial progress
|
We are initiating Community actions
|
Join us at SC98 November 13 |
Note European involvement has been excellent so far
|
Allows Universal Access to all computers from the same Java Applet Front End Infrastructure for Metacomputing, Performance Modeling, Interfacing computers and data to distributed computational objects |
Java Calls (mainly Interfaces and not methods) to capabilities expressed in implementation neutral form |
Drivers convert these general calls to vendor specific implementation of service |
Java code can either be all on client (2-tier) or on client and middle tier (3 tier) |
e.g. JDBC (Java Database Connectivity) is a universal interface to all relational databases |
Adoption of this JDBC implies that vendor specific solutions are immediately less attractive
|
Java applications |
JDBC API |
JDBC Driver manager |
JDBC API |
JDBC Driver API |
Enables development of Web Interfaces to run a given job on any computer with any data source compliant with this framework just as JDBC gives a universal interface to any relational database
|
The Computing Services Framework will allow vendors to compete on either User Front End (GUI) or back end services with the JavaCS framework providing universal linkage |
The framework is implemented at the backend as a set of drivers which map generic Java Interfaces to particular software (e.g. a compiler) on particular machines.
|
Requires agreement by "suitable interested parties" on
|
"Old" (seamless workshop Reading Sept 97) link is http://www.sis.port.ac.uk/~mab/Computing-FrameWork/ |
Abstract ideas developed in Condor Globus Legion and PACE POEMS PetaSIM for harder problems (metacomputing / performance specification) and developed for seamless problem by Sweb (Cornell) WebSubmit (NIST) or UNICORE (Europe)
|
Grande Resource Discovery, Allocation and Scheduling
|
We are defining methods and properties of computers and programs viewed as distributed objects
|
Compiling, Executing, Specification of features needed for execution optimization
|
Accounting -- integrate with Web commerce technology? |
Authentication, Security (especially hard in metacomputing as link several different management policies)
|
Sharing, Accessing and Storing into File Systems |
Data and Performance Visualization Interface (how applets access server side information) |
Performance measurement and recording (cf: Pablo SDDF) |
Interfaces for Programming Tools
|
Libraries including names in generalized Math class and
|
Module linkage model for metaproblems (multidisciplinary applications) could be "outside scope" -- can we use standard JavaBean approach? |
Don't need to rewrite existing codes in Java! |
Rather use Java freely at client and "gateway" tier |
Wrap existing codes as CORBA or Java distributed objects |
Conduct suitable experiments in using Java in complete Grande applications |
Make certain your interests are represented in Java Grande Forum |
Retrain your staff in Java Web and distributed object technologies |
Put "High Performance Grande Forum compliant" Java support into your RFP's for hardware and software |
High Performance Computing and Communication Tier |
Clients |
Gateway Systems as Middle Tier |
Database |
Matrix Solver |
Optimization Service |
MPP |
MPP |
Parallel DB Proxy |
NEOS Control Optimization |
Origin 2000 Proxy |
NetSolve Linear Alg. Server |
IBM SP2 Proxy |
Gateway Control |
Agent-based Choice of Compute Engine |
Multidisciplinary Control (WebFlow) |
Data Analysis Server |