Full HTML for

Basic foilset Possible Java Frameworks for Computing

Given by Geoffrey C. Fox, Wojtek Furmanski at Visit to Sun and JavaSoft on Friday 13, June 97. Foils prepared 15 June 97
Outside Index Summary of Material


We describe a set of possible Java Frameworks for computing covering both numerical computation, interoperable interfaces to compute services and distributed computing
We use NPAC projects to illustrate various features including the role of Java servers and Collaborator Systems

Table of Contents for full HTML of Possible Java Frameworks for Computing

Denote Foils where Image Critical
Denote Foils where HTML is sufficient

1 Possible Java Frameworks for Computing
2 Possible Java Frameworks for Computing
3 Too many Frameworks!
4 Proposed Java Computing Services Framework
5 Implementation of a Java Computing Framework
6 What is the HPJava@NPAC
7 Motivation of HPJava@NPAC - I A high performance Java Framework
8 Motivation of HPJava@NPAC - II A high performance Java Framework
9 Mechanisms for Data Parallelism in HPJava
10 Computing Services at 3 levels
11 Java Server versus HP level - I
12 Java Server versus HP level - I
13 Java Server versus HP level - II
14 Role of Collaboratory Systems
15 HPJava@NPAC Prototype SubSystems - I
16 HPJava@NPAC Prototype SubSystems - II (components)

Outside Index Summary of Material



HTML version of Basic Foils prepared 15 June 97

Foil 1 Possible Java Frameworks for Computing

From Possible Java Frameworks for Computing Visit to Sun and JavaSoft -- Friday 13, June 97. *
Full HTML Index
Geoffrey Fox, Wojtek Furmanski
Syracuse University
NPAC
111 College Place Syracuse NY 13244 4100
3154432163

HTML version of Basic Foils prepared 15 June 97

Foil 2 Possible Java Frameworks for Computing

From Possible Java Frameworks for Computing Visit to Sun and JavaSoft -- Friday 13, June 97. *
Full HTML Index
Numerical Computing Framework
  • library interfaces, (sparse) matrix storage, complex, evaluation rules, IEEE floating point support, "BLAS"
Distributed Simulation Framework
  • Java implementations of DMSO HLA and DIS standards
Computing Services Framework
  • Enables Interoperable web compute interfaces
High Performance Framework
  • Parallel Computing, I/O, Databases, Object Brokers
  • Java MPI Interface
Distributed Computing Framework
  • Network of Java Servers

HTML version of Basic Foils prepared 15 June 97

Foil 3 Too many Frameworks!

From Possible Java Frameworks for Computing Visit to Sun and JavaSoft -- Friday 13, June 97. *
Full HTML Index
These are too many frameworks and probably several are rather controversial as there is no agreed model of the use of Web in Computing
  • In fact, many people believe this is a mistake!
The most promising for early consideration are
1) The Numerical Computing Framework which is essentially use of Java in Computational Science and Engineering
2) The Computing Services Framework which we give a little more detail on.

HTML version of Basic Foils prepared 15 June 97

Foil 4 Proposed Java Computing Services Framework

From Possible Java Frameworks for Computing Visit to Sun and JavaSoft -- Friday 13, June 97. *
Full HTML Index
Enables development of Web Interfaces to run a given job on any computer compliant with this framework just as JDBC gives a universal interface to any relational database
Compiling, Executing
Scheduling jobs as in Codine or LSF
Accessing and storing into File Systems
Visualization Interface (how applets access server side information)

HTML version of Basic Foils prepared 15 June 97

Foil 5 Implementation of a Java Computing Framework

From Possible Java Frameworks for Computing Visit to Sun and JavaSoft -- Friday 13, June 97. *
Full HTML Index
The Computing Services Framework allows vendors to compete on User Front End (GUI) or back end services
The framework is implemented as a set of drivers which map generic Java Interfaces to particular software (e.g. a compiler) on particular machines.

HTML version of Basic Foils prepared 15 June 97

Foil 6 What is the HPJava@NPAC

From Possible Java Frameworks for Computing Visit to Sun and JavaSoft -- Friday 13, June 97. *
Full HTML Index
HPJava@NPAC is a set of prototypes to explore features of a Java Framework for High Performance Computing
  • Some of the work holds for more general Java Computing Frameworks
We are now integrating them together to produce a reasonably complete Java based Prototype High Performance Computing Environment

HTML version of Basic Foils prepared 15 June 97

Foil 7 Motivation of HPJava@NPAC - I A high performance Java Framework

From Possible Java Frameworks for Computing Visit to Sun and JavaSoft -- Friday 13, June 97. *
Full HTML Index
HPCC is a small field with limited resources for a very hard problem and must leverage as much software as possible
The Web provides an excellent pervasive user interface with Java Applets and WebWindows
The Web provides a potentially excellent high performance object oriented language (Java) for scientific and engineering computation
The Web provides a rich but modest performance distributed computing environment based on either Web Servers or Clients
  • We will choose to use servers as higher functionality although currently less broadly deployed

HTML version of Basic Foils prepared 15 June 97

Foil 8 Motivation of HPJava@NPAC - II A high performance Java Framework

From Possible Java Frameworks for Computing Visit to Sun and JavaSoft -- Friday 13, June 97. *
Full HTML Index
So the Web provides "everything" except high performance and data parallelism(!)
  • Use Intranets and not Internets -- or Web software on tightly coupled parallel systems
  • Supply HPCC specific software that enables low latency communication and synchronization
Agree on standards (The High Performance Java Framework) so that one can maximize software re-use

HTML version of Basic Foils prepared 15 June 97

Foil 9 Mechanisms for Data Parallelism in HPJava

From Possible Java Frameworks for Computing Visit to Sun and JavaSoft -- Friday 13, June 97. *
Full HTML Index
Java Wrappers (native classes or Server socket connections) around existing data parallel Fortran or C++
Native Java and MPI
  • Need Java MPI Interface as part of framework
Data Parallel Extensions of Java
  • Natural extensions of HPF and HPC++
  • Note one of the best C++ mechanisms (standard template library) doesn't work in Java
Java threads for data parallelism on SMP's

HTML version of Basic Foils prepared 15 June 97

Foil 10 Computing Services at 3 levels

From Possible Java Frameworks for Computing Visit to Sun and JavaSoft -- Friday 13, June 97. *
Full HTML Index
1:User View: Interoperable Web Interface accessing services through Java Compute Services Framework 2:Network of Java Servers provide distributed services to databases, compute engines, collaboratories, object brokers, instruments
  • All control at this level
High Performance layer accessed when distributed services have insufficient performance
  • Hopefully transparent to user
  • implements data but not control level
Compute processes linked by MPI or distributed units of database, object broker, I/O system etc.
Java Servers

HTML version of Basic Foils prepared 15 June 97

Foil 11 Java Server versus HP level - I

From Possible Java Frameworks for Computing Visit to Sun and JavaSoft -- Friday 13, June 97. *
Full HTML Index
If performance adequate, use server level as universal and so certainly put all control at server level
Coarse grain Integration at Server level
Fine grain linkage at High Performance layer
A
B
MPI
Java Socket

HTML version of Basic Foils prepared 15 June 97

Foil 12 Java Server versus HP level - I

From Possible Java Frameworks for Computing Visit to Sun and JavaSoft -- Friday 13, June 97. *
Full HTML Index
Note JDBC (Java Database Connection) links clients to servers at natural (sequential) SQL query and database connection level
  • This is at server not high performance level
  • parallel database invoked transparently if implemented by server
CORBA is similar except parallel CORBA still needs to be understood!
  • Only at server level so far with JavaIDL
Suggest Java Compute Framework similarly defines interfaces to distributed computing level
  • Drop down to HPCC if and only if necessary

HTML version of Basic Foils prepared 15 June 97

Foil 13 Java Server versus HP level - II

From Possible Java Frameworks for Computing Visit to Sun and JavaSoft -- Friday 13, June 97. *
Full HTML Index
Compare two ways of linking two modules or two programs of a multidisciplinary application where each module has internal MPI implementation
Server Based or High Performance MPI InterModule connectivity

HTML version of Basic Foils prepared 15 June 97

Foil 14 Role of Collaboratory Systems

From Possible Java Frameworks for Computing Visit to Sun and JavaSoft -- Friday 13, June 97. *
Full HTML Index
Systems like Tango or Habanero built around Java Servers integrate a group of multiple clients as a "Service" at the middle Java Server level
Group of collaborating clients
and client applications
Database
Object Broker
MPP

HTML version of Basic Foils prepared 15 June 97

Foil 15 HPJava@NPAC Prototype SubSystems - I

From Possible Java Frameworks for Computing Visit to Sun and JavaSoft -- Friday 13, June 97. *
Full HTML Index
VPL -- Virtual Programming Laboratory
  • WebWindows user interface to edit, compile and run HPF and MPI programs
WebFlow -- dataflow programming environment at the Java Server level
HPF Interpreter -- Java or JavaScript GUI to HPF (or MPI)
  • with middle level (server) as a "listener" matching HPF extrinsic interrupts to user execution and visualization requests

HTML version of Basic Foils prepared 15 June 97

Foil 16 HPJava@NPAC Prototype SubSystems - II (components)

From Possible Java Frameworks for Computing Visit to Sun and JavaSoft -- Friday 13, June 97. *
Full HTML Index
Fortran2Java translator of Fortran code into Java language
JavaMPI -- a partial Java Interface to MPI
TANGOsim -- Collaboratory Technology
  • links groups of clients and client application to Java Servers
SciVis Toolkit -- Library of client side applets
  • to visualize results produced by and performance data of running server side applications

© 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 Nov 29 1998