Given by Geoffrey C. Fox at MAPINT/MDICE Symposium ASC Dayton Ohio on August 25-27 98. Foils prepared August 27 98
Outside Index
Summary of Material
We describe Java Grande Forum -- motivation and current status
|
Seamless interfaces allowing universal access to general hosts
|
We introduce Gateway multi-tier architecture and illustrate it with some |
CORBA like distributed objects using NPAC's WebFlow and JWORB object broker |
Outside Index Summary of Material
MAPINT Symposium August 25-27 1998 |
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/jgmapintaug98 |
We describe Java Grande Forum -- motivation and current status
|
Seamless interfaces allowing universal access to general hosts
|
We introduce Gateway multi-tier architecture and illustrate it with some |
CORBA like distributed objects using NPAC's WebFlow and JWORB object broker |
http://www.javagrande.org |
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! |
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 |
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 |
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 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) |
Compiling, Executing, Specification of features needed for execution optimization
|
Accounting -- integrate with Web commerce technology? |
Authenication, 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
|
Resource Discovery, Allocation and Scheduling
|
Module linkage model for metaproblems (multidisciplinary applications) -- can we use standard JavaBean approach? |
Middle Tier (Business) Logic links user and system view of data and services |
Generalized distributed object (database record is "just" a distributed object) specification |
Different but linkable transport protocols |
Client |
Client Tier Middle (Gateway) Tier Back End |
Client |
Middle Tiers |
Back End |
Thin Client |
Business Logic |
Old way: Use an Object Database |
Current Approach: Use a Relational Database and business logic in EJB |
Object Database |
Application using data objects |
Backend relational database such as Oracle |
Enterprise Javabean mapping user object to backend persistent data model |
Application using data objects |
Middle Tier |
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 |
We have multiple supercomputers in the backend -- one doing CFD simulation of airflow; another structural analysis while in more detail you have linear algebra servers (Netsolve); Optimization servers (NEOS); image processing filters(Khoros);databases (NCSA Biology workbench); visualization systems(AVS, CAVEs)
|
All linked to collaborative information systems in a sea of middle tier servers(as on previous page) to support design, crisis management, multi-disciplinary research |
Seamless Interface -- an Enterprise Javabean which processes input from user's Java Applet interface and maps user generic commands to those on specific machine
|
Resource management of heterogeneous MPP backend (linked to seamless interface) |
Database and Object Brokers; Network servers like Netsolve |
Collaboration Servers including Habanero, Tango, Lotus Notes ... |
Visualization Servers |
"Business Logic" to map user data view (e.g. objects) to persistent store (e.g. Oracle database) and simulation engine (MPP) preferred format |
The 90% of users who only need HPCC occasionally |
Most of a Command and Control Application |
Several FMS and IMT Applications |
Some I/O Intensive applications |
High value services with modest computational needs e.g. grid generation and other pre-processing, data manipulation and other post-processing |
Video Servers for Training |
Design and Planning Tools |
"Glue" for Multidisciplinary Interactions |
Control of Metacomputing applications |
JINI Java Resource Registration and Discovery Service |
NPAC Project illustrating multi tier Gateway incorporating Java Applet Program Composition at Client |
DMSO HLA/RTI Compliance (FMS,IMT) |
CORBA COM Java Web Interoperable Gateway GLOBUS High Performance Backend inherits Gateway Services: Collaboration, Distributed Objects, Databases, Visualization ..... |
Client (Tier 1): Java Graph Editor for Webflow linked to interpreted debugger (DARP), Java Visualizer SciVis
|
Middle Tier 2: Network of JWORB or Java Servers running on Gateway Tier linking to CORBA COM and HTTP(Internet)
|
Back-end Tier 3: Simple MPI or Globus (or similar) where available and where necessary |
Next foils show
|
Original Image |
Output Image |
Some of |
Available Image Filters |
Visual DataFlow |
Interface |
Client Tier |
IIOP High Functionality |
Middle Tier |
Future Globus |
Globus |
Future Parallel I/O |
WebFlow |
server |
WebFlow |
server |
WebFlow |
server |
EDYS |
CASC2D |
Data Retrieval |
High Performance SubSystem |
CASC2D |
proxy |
IIOP |
Web Browser |
Data Wizard |
WMS interface |
Toolbar |
HTTP |
WMS |
File Transfer |
File Transfer |
GLOBUS |
Internet |
WebFlow modules |
(back-end) |
WebFlow |
middle-tier |
WebFlow applet |
(front-end) |
JWORB - Java Web Object Request Broker - multi-protocol middleware network server (HTTP + IIOP + DCE RPC + RMI transport) |
Current prototype integrates HTTP and IIOP i.e. acts as Web Server and CORBA Broker
|
Next step: add DCE RPC support to include Microsoft COM |
JWORB - our trial implementation of Pragmatic Object Web |
First non DMSO implementation of RTI -- HLA (distributed event driven simulation) Runtime |