Full HTML for

Basic foilset aJava Grande and Pragmatic Programming Environments

Given by Geoffrey Fox at Invited Talk at ISCOPE 98, Santa Fe on Dec 10 98. Foils prepared Jan 1 99
Outside Index Summary of Material


We give a poetic discussion of the Pragmatic Object Web and the nature of computer science and physics.
We describe Java Grande -- definition, motivation and current status
  • motivation discusses Java as a language and where it is clearly good and where it could be good!
  • Describe 3 very different aspects of computation where Java can be used
The Java Grande Forum has numerical and distributed computing working groups and projects include
  • study changes to Java and its runtime to enhance Grande applications and their programming environment
  • community activity to define seamless interfaces allowing universal access to general hosts
Discuss Java for Parallel Computing including message passing passing (MPI) and data parallelism
Give example of implied multi tier service architecture

Table of Contents for full HTML of aJava Grande and Pragmatic Programming Environments

Denote Foils where Image Critical
Denote Foils where Image has important information
Denote Foils where HTML is sufficient

1 Java Grande and Pragmatic Programming Environments
2 Abstract of ISCOPE Java Grande Presentation
3 Physics and Computer Science I
4 Physics and Computer Science II
5 Computer Science in the Heat Bath of the World I
6 Computer Science in the Heat Bath of the World II
7 Computer Science in the Heat Bath of the World III
8 So what will we discuss?
9 What is Java Grande?
10 Recapping the Issues in Java Grande
11 Why is Java Worth Looking at?
12 What is the Competition?
13 Why could Java succeed where Fortran and C++ failed?
14 PPT Slide
15 A Multi-Tier Computing System
16 What is the Process?
17 What is Goal of Java Grande Forum?
18 Presentations at SC98 Panel Session
19 Two types of Things the Forum is doing
20 Activities of the Java Grande Forum I
21 Gosling on Operator Overloading
22 Numerical Computing in Java
23 Java Grande Forum Floating Point Proposals I
24 Java Grande Forum Floating Point Proposals II
25 Activities of the Java Grande Forum II
26 Some Remarks on Remote Method Invocation RMI
27 Performance for Java RMI/ORB's
28 Java Performance for Structures
29 C++ ORB Much Faster than Java!
30 Future Activities of Concurrency Group
31 Java Framework for Computing Services
32 Possible Services in a Java Computing Framework
33 DATORR and JavaCS
34 Activities in MPI for Java
35 PPT Slide
36 PPT Slide
37 Java and Parallelism I?
38 Java and Parallelism II?
39 What should you do as a Java Grande believer I?
40 What should you do as a Java Grande believer II?
41 HPcc Prototype WebFlow and JWORB over GLOBUS
42 Summary of NPAC's JWORB natural Building Block of the POW
43 Gateway Building Blocks: JWORB WebFlow on GLOBUS
44 Next Steps for HPcc using JavaBeans
45 WebFlow WaveFilter Module
46 WebFlow + High Performance Backend Functional Architecture
47 WebFlow over Globus for NCSA Alliance Quantum Chemistry Application View
48 WebFlow on Globus -- LMS at CEWES
49 Multi-Server Middle Tier
50 HLA/RTI and Coarse Grain Technologies I
51 HLA/RTI and Coarse Grain Technologies II

Outside Index Summary of Material



HTML version of Basic Foils prepared Jan 1 99

Foil 1 Java Grande and Pragmatic Programming Environments

From aJava Grande and Pragmatic Programming Environments Invited Talk at ISCOPE 98, Santa Fe -- Dec 10 98. *
Full HTML Index
ISCOPE Meeting Dec 8-11 1998
Geoffrey Fox
Northeast Parallel Architectures Center
Syracuse University
111 College Place
Syracuse NY
gcf@npac.syr.edu
http://www.javagrande.org
http://math.nist.gov/javanumerics/
http://www.npac.syr.edu/users/gcf/iscopedec98

HTML version of Basic Foils prepared Jan 1 99

Foil 2 Abstract of ISCOPE Java Grande Presentation

From aJava Grande and Pragmatic Programming Environments Invited Talk at ISCOPE 98, Santa Fe -- Dec 10 98. *
Full HTML Index
We give a poetic discussion of the Pragmatic Object Web and the nature of computer science and physics.
We describe Java Grande -- definition, motivation and current status
  • motivation discusses Java as a language and where it is clearly good and where it could be good!
  • Describe 3 very different aspects of computation where Java can be used
The Java Grande Forum has numerical and distributed computing working groups and projects include
  • study changes to Java and its runtime to enhance Grande applications and their programming environment
  • community activity to define seamless interfaces allowing universal access to general hosts
Discuss Java for Parallel Computing including message passing passing (MPI) and data parallelism
Give example of implied multi tier service architecture

HTML version of Basic Foils prepared Jan 1 99

Foil 3 Physics and Computer Science I

From aJava Grande and Pragmatic Programming Environments Invited Talk at ISCOPE 98, Santa Fe -- Dec 10 98. *
Full HTML Index
Physics is governed by the elegant (in hope and practice) laws of Mother Nature and there is an absolute truth even if it can take a while to obtain the experimental evidence to isolate it
  • Physics is beautiful and a science ....
So (different) forms of elegant simple laws of computer science can and should be proposed by Knuth, Stepanov and Gosling etc but these cannot govern computing (as practiced in the real world) in the same way that Einstein's equations govern space-time
  • Computer science principles guide or influence the evolution of computing environments
  • Space Time MUST obey Einstein's laws ...

HTML version of Basic Foils prepared Jan 1 99

Foil 4 Physics and Computer Science II

From aJava Grande and Pragmatic Programming Environments Invited Talk at ISCOPE 98, Santa Fe -- Dec 10 98. *
Full HTML Index
Rather computer science is rather the study of the large macroscopic system formed by interacting entities -- the users and developers of computers -- interacting in the heat bath formed by market forces.
  • What counts are the parameters of this heat bath such as temperature, free energy, critical points etc.
  • Different principles (no GOTO's, distributed objects) are like the different particle species in the physics analogy and together they merge into the final multi-faceted equilibrium
Computer science is pragmatic and an art ......

HTML version of Basic Foils prepared Jan 1 99

Foil 5 Computer Science in the Heat Bath of the World I

From aJava Grande and Pragmatic Programming Environments Invited Talk at ISCOPE 98, Santa Fe -- Dec 10 98. *
Full HTML Index
In times gone by, we had rather stable heat baths associated with IBM/Digital, UNIX and Microsoft
Note one can have false equilibria when temperatures are low and coupling is small -- if you don't believe me, run a Monte Carlo simulation or try to avoid a false minima in an heuristic optimization
HPCC
Loose Coupling!

HTML version of Basic Foils prepared Jan 1 99

Foil 6 Computer Science in the Heat Bath of the World II

From aJava Grande and Pragmatic Programming Environments Invited Talk at ISCOPE 98, Santa Fe -- Dec 10 98. *
Full HTML Index
So it is important to know when we are near a critical point and about to change state -- such is a revolution and is typically associated with increasing temperature as interactions between base entities equilibrate the system
The Web has caused the current stirring of the technology cauldron as we evolve to the Pragmatic Object Web or POW
Traditional Industry CORBA
Microsoft COM
Sun Micro. Computer Science Java/RMI/JINI
W3C The People XML HTTP-NG
POW
HPCC

HTML version of Basic Foils prepared Jan 1 99

Foil 7 Computer Science in the Heat Bath of the World III

From aJava Grande and Pragmatic Programming Environments Invited Talk at ISCOPE 98, Santa Fe -- Dec 10 98. *
Full HTML Index
So the equilibrated POW will exhibit the
  • Simplicity of XML (a Fortran Namelist done right)
  • Elegance of Java (Fortran done better and worse)
  • Performance of COM (Fortran Libraries done right)
  • Completeness of CORBA (Distributed file names done right)
It may or may not be owned by Microsoft ...
Note Java the language could survive while RMI is replaced by CORBA/XML servers (written in Java) using IIOP and HTTP-NG
Note that while the four stakeholders interact in the market heat bath
  • HPCC and Scientific Computing is still largely decoupled from marketplace and may not be able to benefit from the POW
  • Physics as we know it is a beautiful dying field ...
So my goal is to gift the benefits of POW to scientific computing and to rescue physics by merging it with computer science (this is my Internetics talk on another day)

HTML version of Basic Foils prepared Jan 1 99

Foil 8 So what will we discuss?

From aJava Grande and Pragmatic Programming Environments Invited Talk at ISCOPE 98, Santa Fe -- Dec 10 98. *
Full HTML Index
In general, we will try to couple scientific computing/HPCC to the POW heat bath
Majority of HPCC users (not perhaps ones at this conference) are still using unattractive programming environments with a programming model (explicit message passing) we thought crude 10 years ago
  • We have failed to deploy quality HPCC software as not enough money to build robust sophisticated software
POW can provide wonderful base distributed computing technology on which we can base much better HPCC software
  • Parallel computing is a special case of distributed computing with low latency and high bandwidth
In particular, we focus on Java as this is likely to be a significant part of POW and there are serious difficulties in using it as is!
First we think of a name for types of applications we wish to study

HTML version of Basic Foils prepared Jan 1 99

Foil 9 What is Java Grande?

From aJava Grande and Pragmatic Programming Environments Invited Talk at ISCOPE 98, Santa Fe -- Dec 10 98. *
Full HTML Index
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!

HTML version of Basic Foils prepared Jan 1 99

Foil 10 Recapping the Issues in Java Grande

From aJava Grande and Pragmatic Programming Environments Invited Talk at ISCOPE 98, Santa Fe -- Dec 10 98. *
Full HTML Index
These exist from both a computer science and user point of view
Grande applications are very complex but field is small (1% or so of total computing world)
  • It is a much larger fraction of academic computation
The field needs Java as it provides a wonderful distributed computing software infrastructure on which to build applications and tools
  • e.g. RMI JINI etc can enable metacomputing?
  • Users can enjoy Java program development environment
Not clear that Java needs the field and so Grande field needs to be humble and persuasive in its requests
Currently the Grande field is intrigued but skeptical due to poor Java performance
Java community doing battle in commercially critical areas
Need to bring communities together

HTML version of Basic Foils prepared Jan 1 99

Foil 11 Why is Java Worth Looking at?

From aJava Grande and Pragmatic Programming Environments Invited Talk at ISCOPE 98, Santa Fe -- Dec 10 98. *
Full HTML Index
The Java Language has several good design features
  • secure, safe (wrt bugs), object-oriented, familiar (to C C++ and even Fortran programmers)
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 resources
Children will learn Java (and other POW technologies) as it is a social language with natural graphical "hello world"
Java is rapidly getting best integrated program development environments
Java naturally integrated with network and universal machine supports potentially powerful "write once-run anywhere" model
There is a large and growing trained labor force
Can we exploit this in Grande Applications?

HTML version of Basic Foils prepared Jan 1 99

Foil 12 What is the Competition?

From aJava Grande and Pragmatic Programming Environments Invited Talk at ISCOPE 98, Santa Fe -- Dec 10 98. *
Full HTML Index
So most existing Grande codes are written in Fortran or 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
  • Fortran77 has excellent compilers, good user base but will not be taught broadly and clearly limited in capabilities; in particular not object oriented
  • Fortran90 and HPF will not "make it" (reasons not important)
  • Subsume discussion of C under that of C++
Five years ago, it looked as though C++ could become language of choice (perhaps with Fortran as inner core) but this appears stalled
  • The language is complex and no agreement on Grande standards?
  • Java halted C++ (in HPCC) "bandwagon"?
So there is no competition -- Java is currently our only hope

HTML version of Basic Foils prepared Jan 1 99

Foil 13 Why could Java succeed where Fortran and C++ failed?

From aJava Grande and Pragmatic Programming Environments Invited Talk at ISCOPE 98, Santa Fe -- Dec 10 98. *
Full HTML Index
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
  • We could be third (Fortran, C++, Java) time lucky
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

HTML version of Basic Foils prepared Jan 1 99

Foil 14 PPT Slide

From aJava Grande and Pragmatic Programming Environments Invited Talk at ISCOPE 98, Santa Fe -- Dec 10 98. *
Full HTML Index

HTML version of Basic Foils prepared Jan 1 99

Foil 15 A Multi-Tier Computing System

From aJava Grande and Pragmatic Programming Environments Invited Talk at ISCOPE 98, Santa Fe -- Dec 10 98. *
Full HTML Index
Geographically
Distributed
Grandecomputer
Resources
Enterprise
Middleware
Gateway
System
Geographically Distributed users
and consultants
1
2
3
Java Applets
Java Language
Java Servers

HTML version of Basic Foils prepared Jan 1 99

Foil 16 What is the Process?

From aJava Grande and Pragmatic Programming Environments Invited Talk at ISCOPE 98, Santa Fe -- Dec 10 98. *
Full HTML Index
Set of Workshops with increasing interest
  • Syracuse December 96 -- 50 participants
  • Las Vegas June 97 -- 100
  • Palo Alto February 98 -- 200
  • Southampton (Europe) -- 60
Topics include compilation issues; applications; algorithms (math libraries); benchmarking; Java based programming environments(visualization); parallel computing and largest set of papers are in distributed systems
Next meetings will at IPPS (April 99) and just before JavaOne 99 (Java developers conference) in June 99 to enhance interaction between Grande community and mainstream Java world
Java Grande Forum to act as a focus for Grande community activities and coordinate the (feeble 1%) voice into mainstream!

HTML version of Basic Foils prepared Jan 1 99

Foil 17 What is Goal of Java Grande Forum?

From aJava Grande and Pragmatic Programming Environments Invited Talk at ISCOPE 98, Santa Fe -- Dec 10 98. *
Full HTML Index
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 with some 250 attendees) where we released our first report (54 pages on web site)
http://www.javagrande.org

HTML version of Basic Foils prepared Jan 1 99

Foil 18 Presentations at SC98 Panel Session

From aJava Grande and Pragmatic Programming Environments Invited Talk at ISCOPE 98, Santa Fe -- Dec 10 98. *
Full HTML Index
Report from the Numerics Working Group of the Java Grande Forum, Ron Boisvert NIST
Report from the Applications and Concurrency Working Group of the Java Grande Forum, Dennis Gannon, Indiana University and NASA Ames
Compilers and Performance of Java, Marc Snir, IBM
Linear Algebra in Java, Cleve Moler , The MathWorks
Building Libraries in Java, Jack Dongarra, University of Tennessee and Oak Ridge National Laboratory
Lessons from C++, John Reynders, Los Alamos
Application Experience in Oil Industry, Siamak Hassanzadeh, Sun
Java Benchmarks, David Henty, Edinburgh Parallel Computing Center
MPI for Java, Vladimir Getov, Westminster University England
Java Framework for Computing Services (Desktop Access to Remote Resources), Gregor von Laszewski, Argonne National Laboratory

HTML version of Basic Foils prepared Jan 1 99

Foil 19 Two types of Things the Forum is doing

From aJava Grande and Pragmatic Programming Environments Invited Talk at ISCOPE 98, Santa Fe -- Dec 10 98. *
Full HTML Index
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
  • floating point, arrays, complex etc.
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
  • Fiscally important fields such as databases, have established such standards -- we should follow their example
1) requires us to work with the computing mainstream -- 2) is internal to community

HTML version of Basic Foils prepared Jan 1 99

Foil 20 Activities of the Java Grande Forum I

From aJava Grande and Pragmatic Programming Environments Invited Talk at ISCOPE 98, Santa Fe -- Dec 10 98. *
Full HTML Index
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
  • Changes in Java controversial handling of floating point which currently has goal of reproducible results but this leads to non optimal accuracy
  • Better Support of Complex arithmetic
  • Lightweight classes and Operator overloading -- enables implementation of complex as a class
  • "Fortran rectangular multidimensional arrays" -- Java naturally has "arrays of arrays"
  • High quality math libraries with agreed interfaces -- FFT, Matrices and Linear Algebra, Transcendental functions

HTML version of Basic Foils prepared Jan 1 99

Foil 21 Gosling on Operator Overloading

From aJava Grande and Pragmatic Programming Environments Invited Talk at ISCOPE 98, Santa Fe -- Dec 10 98. *
Full HTML Index
Java Grande 98 Feb 28 98

HTML version of Basic Foils prepared Jan 1 99

Foil 22 Numerical Computing in Java

From aJava Grande and Pragmatic Programming Environments Invited Talk at ISCOPE 98, Santa Fe -- Dec 10 98. *
Full HTML Index
So Java not only will run anywhere but can be expected to get same answers everywhere
  • As long as use of Native (C, Fortran) libraries and indeterminate concurrency controlled
Natural tension between performance (both in terms of speed and precision) and reproducibility
  • Need to encourage more research into "reproducible algorithms" but support both goals
Java has particularly bad floating point performance due to
  • As in all applications, immature compiler (JIT) technology
  • does not exploit proprietary hardware features (extended precision, fused multiply add)
  • does not allow well known compiler optimizations (associativity)
Solution requires "Change in Java Rules" and better compilers

HTML version of Basic Foils prepared Jan 1 99

Foil 23 Java Grande Forum Floating Point Proposals I

From aJava Grande and Pragmatic Programming Environments Invited Talk at ISCOPE 98, Santa Fe -- Dec 10 98. *
Full HTML Index
Design Goals/Requirements:
  • Good Performance on most processors
  • High performance sometimes
  • exact reproducibility sometimes
  • access to IEEE floating point features
We propose three modes of floating point execution
strictfp: Reproducible results as in current default
new default: Exploit natural hardware (extended exponent in Intel and fused multiply add)
associatefp: Allow conventional compiler optimizations
with new Intel algorithm, strictfp will be a little more than 2 times slower than default; associatefp gains will be algorithm dependent (regular problems will have greatest gain)

HTML version of Basic Foils prepared Jan 1 99

Foil 24 Java Grande Forum Floating Point Proposals II

From aJava Grande and Pragmatic Programming Environments Invited Talk at ISCOPE 98, Santa Fe -- Dec 10 98. *
Full HTML Index
Less critical are following niceties:
indigenous keyword specifies maximum precision format supported by hardware
anonymous {float, double, indigenous} specifies floating point format to be used in calculating expressions
  • C used to always use double internally
Also recommended IEEE floating point support library to get and set floating point flags and rounding modes
Need to implement strictfp version of Java Math libraries

HTML version of Basic Foils prepared Jan 1 99

Foil 25 Activities of the Java Grande Forum II

From aJava Grande and Pragmatic Programming Environments Invited Talk at ISCOPE 98, Santa Fe -- Dec 10 98. *
Full HTML Index
Distributed and Parallel Computing led by Dennis Gannon and Denis Caromel (INRIA, France)
  • Performance of RMI (Attractive Java distributed object model - "remote method invocation")
  • Performance of Java runtime (the virtual machine VM) with lots of threads, I/O, memory use
  • Parallel Computing interfaces including Java MPI binding
  • Development of universal (Condor, Globus, Legion UNICORE WebSubmit ..) Java interface to computing resources -- enables seamless computing (easier than metacomputing!)
  • Special seamless computing meeting at Argonne October 98
Development of Grande Application benchmarks

HTML version of Basic Foils prepared Jan 1 99

Foil 26 Some Remarks on Remote Method Invocation RMI

From aJava Grande and Pragmatic Programming Environments Invited Talk at ISCOPE 98, Santa Fe -- Dec 10 98. *
Full HTML Index
So good news is that RMI has enabled very active distributed computing research and indeed development as in JavaSpaces from Sun
Performance is reasonable but insufficient for some applications
  • It is already good enough to get started and for instance outperforms many (Java) CORBA implementations
Forum suggests (optional) changes in several areas including
  • Serialization -- this is used in Persistent object storage and to transmit objects between different programs in a distributed application -- can be optimized differently for each case
  • Transport Layer -- need to be able to layer RMI interfaces over fast transport mechanisms -- Myrinet, native ATM etc.

HTML version of Basic Foils prepared Jan 1 99

Foil 27 Performance for Java RMI/ORB's

From aJava Grande and Pragmatic Programming Environments Invited Talk at ISCOPE 98, Santa Fe -- Dec 10 98. *
Full HTML Index
JacORB
JWORB
ORBIX
RMI
Transmit
Variable Size
Integer Arrays
Best
Worst
Array Size

HTML version of Basic Foils prepared Jan 1 99

Foil 28 Java Performance for Structures

From aJava Grande and Pragmatic Programming Environments Invited Talk at ISCOPE 98, Santa Fe -- Dec 10 98. *
Full HTML Index
Java ORBs Transferring
variable size Array of Structures
(RMI slowed by serialization)
RMI
JacORB
ORBIX, JWORB
Best
Worst
Array Size

HTML version of Basic Foils prepared Jan 1 99

Foil 29 C++ ORB Much Faster than Java!

From aJava Grande and Pragmatic Programming Environments Invited Talk at ISCOPE 98, Santa Fe -- Dec 10 98. *
Full HTML Index
Arrays of Integers C++ about 20 times faster than Java
RMI (Fastest Java) omniORB (C++)
Best
Worst
Array Size

HTML version of Basic Foils prepared Jan 1 99

Foil 30 Future Activities of Concurrency Group

From aJava Grande and Pragmatic Programming Environments Invited Talk at ISCOPE 98, Santa Fe -- Dec 10 98. *
Full HTML Index
What is the Impact of Jini?
  • A collection of standard Java services with major implications for Metacomputing.
    • Discovery of resources
    • Distributed Event management
    • Brokering and Transaction
    • Java Spaces Linda like distributed computing system (whereas Jini is a general service suite)
  • What is the role of Jini in large scale "Grid" environments such as Globus and Legion?
  • Important in DATORR process

HTML version of Basic Foils prepared Jan 1 99

Foil 31 Java Framework for Computing Services

From aJava Grande and Pragmatic Programming Environments Invited Talk at ISCOPE 98, Santa Fe -- Dec 10 98. *
Full HTML Index
So real computer users are not so interested in fancy metacomputing but rather in being able to run their jobs in a seamless way that does not keep changing as backend computer resources are upgraded
Viewing computing as a distributed (object) service, need to define a "Java Framework for Computing Services"
This 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
  • Metacomputing in addition allows linkage of multiple computers to run together on a single job
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

HTML version of Basic Foils prepared Jan 1 99

Foil 32 Possible Services in a Java Computing Framework

From aJava Grande and Pragmatic Programming Environments Invited Talk at ISCOPE 98, Santa Fe -- Dec 10 98. *
Full HTML Index
Grande Resource Discovery, Allocation and Scheduling
  • Recent JINI Sun technology looks attractive
We are defining methods and properties of computers and programs viewed as distributed objects
  • Thus we are inevitability defining a CORBA facility for computing
Compiling, Executing, Specification of features needed for execution optimization
  • This includes parameters needed by MPI/HPF decompositions such as number of processors
  • Resource Management and Scheduling jobs as in Codine or LSF or commercial NT environments
Accounting -- integrate with Web commerce technology?
Authentication, Security (especially hard in metacomputing as link several different management policies)
  • Public Key Infrastructure expected from Internet commerce very important

HTML version of Basic Foils prepared Jan 1 99

Foil 33 DATORR and JavaCS

From aJava Grande and Pragmatic Programming Environments Invited Talk at ISCOPE 98, Santa Fe -- Dec 10 98. *
Full HTML Index
Desktop Access to Remote Resources
http://www-fp.mcs.anl.gov/~gregor/datorr
email datorr@mcs.anl.gov
Oct 8-9 Meeting at Argonne and SC98 BoF
Next Meeting perhaps Feb 15-16 at Sandia Albuquerque
Collecting projects and abstracting requirements from user and system point of view
Hope to suggest standards by SC99

HTML version of Basic Foils prepared Jan 1 99

Foil 34 Activities in MPI for Java

From aJava Grande and Pragmatic Programming Environments Invited Talk at ISCOPE 98, Santa Fe -- Dec 10 98. *
Full HTML Index
mpiJava - Modelled after the C++ binding for MPI. Implementation through JNI wrappers to native MPI software. http://www.npac.syr.edu/projects/pcrc/HPJava/
JavaMPI - Automatic generation of wrappers to legacy MPI libraries. C-like implementation based on the JCI code generator. http://perun.hscs.wmin.ac.uk/JavaMPI/
MPIJ - Pure Java implementation of MPI closely based on the C++ binding. A large subset of MPI is implemented using native marshaling. http://ccc.cs.byu.edu/DOGMA/
Working on two MPI bindings for Java
  • Natural extension of current C++ binding
  • More powerful one ignoring Fortran and C heritage!
Report on Java Grande Web Page http://www.javagrande.org

HTML version of Basic Foils prepared Jan 1 99

Foil 35 PPT Slide

From aJava Grande and Pragmatic Programming Environments Invited Talk at ISCOPE 98, Santa Fe -- Dec 10 98. *
Full HTML Index
mpiJava Performance
C versus Java(J)
WMPI PC with NT MPICH Sun Solaris
Shared Memory
PC using C
Sparc using Java
Best
Worst

HTML version of Basic Foils prepared Jan 1 99

Foil 36 PPT Slide

From aJava Grande and Pragmatic Programming Environments Invited Talk at ISCOPE 98, Santa Fe -- Dec 10 98. *
Full HTML Index
mpiJava Performance
C versus Java(J)
WMPI PC with NT
MPICH Sun Solaris
Distributed Memory
PC using C
Sparc using Java
Best
Worst

HTML version of Basic Foils prepared Jan 1 99

Foil 37 Java and Parallelism I?

From aJava Grande and Pragmatic Programming Environments Invited Talk at ISCOPE 98, Santa Fe -- Dec 10 98. *
Full HTML Index
There are several forms of parallelism
  • a) Fine grain functional parallelism as in overlap of communication and computation
  • b) Coarse grain distributed objects
  • c) Fine grain data parallelism which is historically either implemented with high level language (HPF) or explicit user defined message passing(MPI) -- this gives "massive parallelism" as in parallelism over grid points or particles in scientific computing
In a Nutshell, Java is better than previous languages for a) and b) and no worse for c)
  • Automatically provides "task parallelism" which needs to be added in painful fashion for Fortran
  • The Web integration of Java gives it excellent "network" classes and support for message passing.

HTML version of Basic Foils prepared Jan 1 99

Foil 38 Java and Parallelism II?

From aJava Grande and Pragmatic Programming Environments Invited Talk at ISCOPE 98, Santa Fe -- Dec 10 98. *
Full HTML Index
Thus "Java plus message passing" form of parallel computing is actually somewhat easier than in Fortran or C.
  • Java has been integrated with PVM and MPI using either pure Java or with Java wrappers to existing implementations
Coarse grain parallelism very natural in Java and we have discussed how to use this with RMI (see WebFlow example)
"Data Parallel" languages features are NOT in Java and have to be added extending ideas from HPF and HPC++ etc
  • e.g. NPAC's HPJava translates to Java+Messaging just as HPF translates to Fortran plus message passing
Java has built in "threads" and a given Java Program can run multiple threads at a time (see work of Gannon's group)
  • In Web use, allows one to process Image in one thread, HTML page in another etc.
  • threads can be used to do more general parallel computing but only on shared memory computers

HTML version of Basic Foils prepared Jan 1 99

Foil 39 What should you do as a Java Grande believer I?

From aJava Grande and Pragmatic Programming Environments Invited Talk at ISCOPE 98, Santa Fe -- Dec 10 98. *
Full HTML Index
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
Does this change research agenda? (different types of compilers, service-based architectures, re-use commodity technologies -- don't roll your own with federal funds ...)
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

HTML version of Basic Foils prepared Jan 1 99

Foil 40 What should you do as a Java Grande believer II?

From aJava Grande and Pragmatic Programming Environments Invited Talk at ISCOPE 98, Santa Fe -- Dec 10 98. *
Full HTML Index
Get your leaders ( Larry Smarr, Sid Karin, Gil Weigand, Andy White, Ken Kennedy ..) to support the Java Grande process
Explain to Sun and JavaSoft why they should care
Note it is NOT obvious that we will succeed ........
Help us collect Java Grande benchmarks
Work with community on standard classes and libraries
Participate in establishing seamless computing framework by participation in DATORR process
Participate in Java MPI process

HTML version of Basic Foils prepared Jan 1 99

Foil 41 HPcc Prototype WebFlow and JWORB over GLOBUS

From aJava Grande and Pragmatic Programming Environments Invited Talk at ISCOPE 98, Santa Fe -- Dec 10 98. *
Full HTML Index
NPAC Project illustrating multi tier integration of POW with HPCC incorporating Java Applet Program Composition at Client
DMSO HLA/RTI Compliance (FMS,IMT)
CORBA COM Java Web Interoperable Middleware GLOBUS High Performance Backend inherits Commodity Services: Collaboration, Distributed Objects, Databases, Visualization .....

HTML version of Basic Foils prepared Jan 1 99

Foil 42 Summary of NPAC's JWORB natural Building Block of the POW

From aJava Grande and Pragmatic Programming Environments Invited Talk at ISCOPE 98, Santa Fe -- Dec 10 98. *
Full HTML Index
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
  • HTTP Services built in terms of CORBA services
  • Gives you immediately web interfaces to CORBA
  • CORBA supports applications in any language
Currently testing support of Microsoft COM
JWORB - our trial implementation of Pragmatic Object Web
First non DMSO implementation of RTI -- HLA (distributed event driven simulation) Runtime at 5% cost(!)

HTML version of Basic Foils prepared Jan 1 99

Foil 43 Gateway Building Blocks: JWORB WebFlow on GLOBUS

From aJava Grande and Pragmatic Programming Environments Invited Talk at ISCOPE 98, Santa Fe -- Dec 10 98. *
Full HTML Index
Client (Tier 1): Java Graph Editor for Webflow linked to interpreted debugger (DARP), Java Visualizer SciVis
  • In four tier model, these Java tools would run on Java Web Server with pure HTML client
Middle Tier 2: Network of Pragmatic Object Web JWORB or Java Servers running on Gateway Tier linking to CORBA COM and HTTP(Internet)
  • Java Servlet wraps non Java Application (Apache Java Server) or CORBA handles any language
Back-end Tier 3: Simple MPI or Globus (or similar) where available and where necessary
Next foils show
  • Pure Gateway Tier: WebFlow system with simple Java Image filters
  • Customized "database" solution for NCSA Alliance Grand Challenge in Quantum Monte Carlo

HTML version of Basic Foils prepared Jan 1 99

Foil 44 Next Steps for HPcc using JavaBeans

From aJava Grande and Pragmatic Programming Environments Invited Talk at ISCOPE 98, Santa Fe -- Dec 10 98. *
Full HTML Index
Currently WebFlow uses a Java Server and manipulates Java applications which can be front ends with native methods to Fortran C or C++ routines
Change Java Server to JWORB -- server integrating HTTP and IIOP (Web and CORBA)
Change Java Applications to JavaBeans and non-Java apps to CORBA objects
Change linkage in WebFlow to respect JavaBean event mechanism
Then we get HPComponentware
And using our multi-tier model high performance CORBA
WebFlow is HPCC version of a
Typical Visual Interface for JavaBeans

HTML version of Basic Foils prepared Jan 1 99

Foil 45 WebFlow WaveFilter Module

From aJava Grande and Pragmatic Programming Environments Invited Talk at ISCOPE 98, Santa Fe -- Dec 10 98. *
Full HTML Index
Original Image
Output Image
Some of
Available Image Filters
CLIENT Visual DataFlow
Interface
SERVER Processes Filters

HTML version of Basic Foils prepared Jan 1 99

Foil 46 WebFlow + High Performance Backend Functional Architecture

From aJava Grande and Pragmatic Programming Environments Invited Talk at ISCOPE 98, Santa Fe -- Dec 10 98. *
Full HTML Index

HTML version of Basic Foils prepared Jan 1 99

Foil 47 WebFlow over Globus for NCSA Alliance Quantum Chemistry Application View

From aJava Grande and Pragmatic Programming Environments Invited Talk at ISCOPE 98, Santa Fe -- Dec 10 98. *
Full HTML Index

HTML version of Basic Foils prepared Jan 1 99

Foil 48 WebFlow on Globus -- LMS at CEWES

From aJava Grande and Pragmatic Programming Environments Invited Talk at ISCOPE 98, Santa Fe -- Dec 10 98. *
Full HTML Index
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)

HTML version of Basic Foils prepared Jan 1 99

Foil 49 Multi-Server Middle Tier

From aJava Grande and Pragmatic Programming Environments Invited Talk at ISCOPE 98, Santa Fe -- Dec 10 98. *
Full HTML Index
Database
Matrix Solver
Optimization Service
MPP
MPP
Parallel DB Proxy
NEOS Control Optimization
Origin 2000 Proxy
NetSolve Linear Alg. Server
IBM SP2 Proxy
Gateway
Supporting Java
Framework
for
computing
Agent-based Choice of Compute Engine
Multidisciplinary Control (WebFlow)
Data Analysis Server
Is this really
sensible?

HTML version of Basic Foils prepared Jan 1 99

Foil 50 HLA/RTI and Coarse Grain Technologies I

From aJava Grande and Pragmatic Programming Environments Invited Talk at ISCOPE 98, Santa Fe -- Dec 10 98. *
Full HTML Index
Consider large class of problems that can be thought of a set of coarse grain entities which could be internally data parallel and the coarse grain structure is "functional or task" parallelism
Use (Enterprise) JavaBeans to represent modules at (server) client level
Use UML (and related technologies) to specify application and system structure
WebFlow is graphical (Java Applet) composition palette (Beanbox for computational modules)
Use "To be Agreed Seamless Computing Interface" to implement linkage of proxies to backend hardware
We can support any given paradigm at either high functionality (web server) or high performance (backend) level
HPCC Messaging could be a pure Java/RMI middle tier version of MPI or Nexus/Optimized Machine specific MPI at backend

HTML version of Basic Foils prepared Jan 1 99

Foil 51 HLA/RTI and Coarse Grain Technologies II

From aJava Grande and Pragmatic Programming Environments Invited Talk at ISCOPE 98, Santa Fe -- Dec 10 98. *
Full HTML Index
Coarse Grain Entities can be time synchronized simulations and use MPI(HPF?) at either middle or back end tier or as in DMSO simulations a federate running a custom discrete event simulation
Use DMSO Object model HLA to specify object structure of jobs and systems at middle tier level
A HLA Federation could be the set of all jobs to be run on a particular site
  • We can classify both jobs and computers as separate federations
A HLA Federate could be a job consisting of multiple possibly shared objects
Use DMSO Runtime Infrastructure RTI to implement dynamic management
  • As RTI already incorporates time management as a service, it can be basis of powerful commodity resource management at level of linked coarse grain objects

© 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 Fri Jan 1 1999