Full HTML for

Basic foilset Java Grande (a.k.a. Java for High Performance Computing) in a Nutshell

Given by Geoffrey C. Fox at Sun MicroSystems Java Day at CMU Pittsburgh on Sept 26 1998. Foils prepared Sept 30 1998
Outside Index Summary of Material


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 Java Grande (a.k.a. Java for High Performance Computing) in a Nutshell

Denote Foils where Image Critical
Denote Foils where HTML is sufficient

1 Java Grande (a.k.a. Java for Scientific Computing or High Performance Computing) in a Nutshell
2 Abstract of CMU Java Grande Presentation
3 What is Java Grande?
4 What are the Issues in Java Grande?
5 What is the Process?
6 Why is Java Worth Looking at?
7 What is the Competition?
8 Why could Java succeed where Fortran and C++ failed?
9 PPT Slide
10 A Multi-Tier Computing System
11 What is Goal of Java Grande Forum?
12 Two types of Things the Forum is doing
13 Activities of the Java Grande Forum I
14 Gosling on Operator Overloading
15 Numerical Computing in Java
16 Matrix Multiplication Example
17 Java Grande Forum Proposals
18 Activities of the Java Grande Forum II
19 Some Remarks on Remote Method Invocation RMI
20 Performance for Java RMI/ORB's
21 Java Performance for Structures
22 C++ ORB Much Faster than Java!
23 What should you do as a Java Grande believer?
24 WebFlow + High Performance Backend Functional Architecture
25 WebFlow Multi-Tier Java plus high performance legacy code for NCSA Alliance Quantum Chemistry Application View
26 Summary of NPAC's JWORB natural Building Block of the Gateway
27 Multi-Server Middle Tier
28 Java and Parallelism I?
29 Java and Parallelism II?
30 PPT Slide
31 PPT Slide
32 Where are we now?
33 Java Framework for Computing Services I
34 Proposed Java Computing Services Framework II
35 Possible Services in a Java Computing Framework

Outside Index Summary of Material



HTML version of Basic Foils prepared Sept 30 1998

Foil 1 Java Grande (a.k.a. Java for Scientific Computing or High Performance Computing) in a Nutshell

From Java Grande (a.k.a. Java for High Performance Computing) in a Nutshell Sun MicroSystems Java Day at CMU Pittsburgh -- Sept 26 1998. *
Full HTML Index
Java Day CMU September 25 98
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/jgcmusept98

HTML version of Basic Foils prepared Sept 30 1998

Foil 2 Abstract of CMU Java Grande Presentation

From Java Grande (a.k.a. Java for High Performance Computing) in a Nutshell Sun MicroSystems Java Day at CMU Pittsburgh -- Sept 26 1998. *
Full HTML Index
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 Sept 30 1998

Foil 3 What is Java Grande?

From Java Grande (a.k.a. Java for High Performance Computing) in a Nutshell Sun MicroSystems Java Day at CMU Pittsburgh -- Sept 26 1998. *
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 Sept 30 1998

Foil 4 What are the Issues in Java Grande?

From Java Grande (a.k.a. Java for High Performance Computing) in a Nutshell Sun MicroSystems Java Day at CMU Pittsburgh -- Sept 26 1998. *
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 marching on in commercially critical areas
Need to bring communities together

HTML version of Basic Foils prepared Sept 30 1998

Foil 5 What is the Process?

From Java Grande (a.k.a. Java for High Performance Computing) in a Nutshell Sun MicroSystems Java Day at CMU Pittsburgh -- Sept 26 1998. *
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)
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 meeting will be just before JavaOne 99 (Java developers conference) in March 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 Sept 30 1998

Foil 6 Why is Java Worth Looking at?

From Java Grande (a.k.a. Java for High Performance Computing) in a Nutshell Sun MicroSystems Java Day at CMU Pittsburgh -- Sept 26 1998. *
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 and support resources
Java is rapidly getting best integrated program development environments
Parallel Computing is a special case of distributed computing
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 Sept 30 1998

Foil 7 What is the Competition?

From Java Grande (a.k.a. Java for High Performance Computing) in a Nutshell Sun MicroSystems Java Day at CMU Pittsburgh -- Sept 26 1998. *
Full HTML Index
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
  • 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 splintered with no agreement on Grande standards -- partly because use in Grande applications is too small to motivate standards and partly due to culture
  • Java halted C++"bandwagon"
So there is no competition -- Java is currently our only hope

HTML version of Basic Foils prepared Sept 30 1998

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

From Java Grande (a.k.a. Java for High Performance Computing) in a Nutshell Sun MicroSystems Java Day at CMU Pittsburgh -- Sept 26 1998. *
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 Sept 30 1998

Foil 9 PPT Slide

From Java Grande (a.k.a. Java for High Performance Computing) in a Nutshell Sun MicroSystems Java Day at CMU Pittsburgh -- Sept 26 1998. *
Full HTML Index

HTML version of Basic Foils prepared Sept 30 1998

Foil 10 A Multi-Tier Computing System

From Java Grande (a.k.a. Java for High Performance Computing) in a Nutshell Sun MicroSystems Java Day at CMU Pittsburgh -- Sept 26 1998. *
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 Sept 30 1998

Foil 11 What is Goal of Java Grande Forum?

From Java Grande (a.k.a. Java for High Performance Computing) in a Nutshell Sun MicroSystems Java Day at CMU Pittsburgh -- Sept 26 1998. *
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)
http://www.npac.syr.edu/projects/javaforcse
http://www.javagrande.org

HTML version of Basic Foils prepared Sept 30 1998

Foil 12 Two types of Things the Forum is doing

From Java Grande (a.k.a. Java for High Performance Computing) in a Nutshell Sun MicroSystems Java Day at CMU Pittsburgh -- Sept 26 1998. *
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 Sept 30 1998

Foil 13 Activities of the Java Grande Forum I

From Java Grande (a.k.a. Java for High Performance Computing) in a Nutshell Sun MicroSystems Java Day at CMU Pittsburgh -- Sept 26 1998. *
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
  • Addition of Complex types or classes
  • 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, Transcendental functions

HTML version of Basic Foils prepared Sept 30 1998

Foil 14 Gosling on Operator Overloading

From Java Grande (a.k.a. Java for High Performance Computing) in a Nutshell Sun MicroSystems Java Day at CMU Pittsburgh -- Sept 26 1998. *
Full HTML Index
Java Grande 98 Feb 28 98

HTML version of Basic Foils prepared Sept 30 1998

Foil 15 Numerical Computing in Java

From Java Grande (a.k.a. Java for High Performance Computing) in a Nutshell Sun MicroSystems Java Day at CMU Pittsburgh -- Sept 26 1998. *
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 Sept 30 1998

Foil 16 Matrix Multiplication Example

From Java Grande (a.k.a. Java for High Performance Computing) in a Nutshell Sun MicroSystems Java Day at CMU Pittsburgh -- Sept 26 1998. *
Full HTML Index
IBM (Marc Snir) considers C = A*B where all are 64 by 64 matrices with triple DO loop to execute C[i][j] = C[i][j] + A[i][k] * B[k][j] running on RS6000 model 590
Initial disappointment:
  • IBM ESSL Library runs at 253 megaflops
  • JDK1.1 plus JIT runs at 3.8 megaflops -- off by a factor of 65
Runtime checks (array indices in bounds, null pointer checks) could essentially be removed by better compiler
  • removing checks gives you 33.3 megaflops (only a factor of 8)
  • C and Java with same rules give SAME performance
Using rectangular arrays (not vector of vectors) gives 44 megaflops (off by a factor of 6)
Using Hardware fused multiply add gives 64 megaflops (factor of 4)
Remaining factor requires use of associativity to block computation

HTML version of Basic Foils prepared Sept 30 1998

Foil 17 Java Grande Forum Proposals

From Java Grande (a.k.a. Java for High Performance Computing) in a Nutshell Sun MicroSystems Java Day at CMU Pittsburgh -- Sept 26 1998. *
Full HTML Index
We propose three modes of floating point
strictfp: Reproducible results as is now default
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)
Less important 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

HTML version of Basic Foils prepared Sept 30 1998

Foil 18 Activities of the Java Grande Forum II

From Java Grande (a.k.a. Java for High Performance Computing) in a Nutshell Sun MicroSystems Java Day at CMU Pittsburgh -- Sept 26 1998. *
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 Sept 30 1998

Foil 19 Some Remarks on Remote Method Invocation RMI

From Java Grande (a.k.a. Java for High Performance Computing) in a Nutshell Sun MicroSystems Java Day at CMU Pittsburgh -- Sept 26 1998. *
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 Sept 30 1998

Foil 20 Performance for Java RMI/ORB's

From Java Grande (a.k.a. Java for High Performance Computing) in a Nutshell Sun MicroSystems Java Day at CMU Pittsburgh -- Sept 26 1998. *
Full HTML Index
JacORB
JWORB
ORBIX
RMI
Transmit
Variable Size
Integer Arrays
Best
Worst
Array Size

HTML version of Basic Foils prepared Sept 30 1998

Foil 21 Java Performance for Structures

From Java Grande (a.k.a. Java for High Performance Computing) in a Nutshell Sun MicroSystems Java Day at CMU Pittsburgh -- Sept 26 1998. *
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 Sept 30 1998

Foil 22 C++ ORB Much Faster than Java!

From Java Grande (a.k.a. Java for High Performance Computing) in a Nutshell Sun MicroSystems Java Day at CMU Pittsburgh -- Sept 26 1998. *
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 Sept 30 1998

Foil 23 What should you do as a Java Grande believer?

From Java Grande (a.k.a. Java for High Performance Computing) in a Nutshell Sun MicroSystems Java Day at CMU Pittsburgh -- Sept 26 1998. *
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 Sept 30 1998

Foil 24 WebFlow + High Performance Backend Functional Architecture

From Java Grande (a.k.a. Java for High Performance Computing) in a Nutshell Sun MicroSystems Java Day at CMU Pittsburgh -- Sept 26 1998. *
Full HTML Index

HTML version of Basic Foils prepared Sept 30 1998

Foil 25 WebFlow Multi-Tier Java plus high performance legacy code for NCSA Alliance Quantum Chemistry Application View

From Java Grande (a.k.a. Java for High Performance Computing) in a Nutshell Sun MicroSystems Java Day at CMU Pittsburgh -- Sept 26 1998. *
Full HTML Index

HTML version of Basic Foils prepared Sept 30 1998

Foil 26 Summary of NPAC's JWORB natural Building Block of the Gateway

From Java Grande (a.k.a. Java for High Performance Computing) in a Nutshell Sun MicroSystems Java Day at CMU Pittsburgh -- Sept 26 1998. *
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
Next step: add DCE RPC support to include Microsoft COM
JWORB - our trial implementation of Pragmatic Object Web
Use our book "Building Distributed Systems on the Pragmatic Object Web" in your class

HTML version of Basic Foils prepared Sept 30 1998

Foil 27 Multi-Server Middle Tier

From Java Grande (a.k.a. Java for High Performance Computing) in a Nutshell Sun MicroSystems Java Day at CMU Pittsburgh -- Sept 26 1998. *
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 Sept 30 1998

Foil 28 Java and Parallelism I?

From Java Grande (a.k.a. Java for High Performance Computing) in a Nutshell Sun MicroSystems Java Day at CMU Pittsburgh -- Sept 26 1998. *
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 Sept 30 1998

Foil 29 Java and Parallelism II?

From Java Grande (a.k.a. Java for High Performance Computing) in a Nutshell Sun MicroSystems Java Day at CMU Pittsburgh -- Sept 26 1998. *
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 described 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
  • 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 Sept 30 1998

Foil 30 PPT Slide

From Java Grande (a.k.a. Java for High Performance Computing) in a Nutshell Sun MicroSystems Java Day at CMU Pittsburgh -- Sept 26 1998. *
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 Sept 30 1998

Foil 31 PPT Slide

From Java Grande (a.k.a. Java for High Performance Computing) in a Nutshell Sun MicroSystems Java Day at CMU Pittsburgh -- Sept 26 1998. *
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 Sept 30 1998

Foil 32 Where are we now?

From Java Grande (a.k.a. Java for High Performance Computing) in a Nutshell Sun MicroSystems Java Day at CMU Pittsburgh -- Sept 26 1998. *
Full HTML Index
Both working groups have made substantial progress
  • Numerics working group has proposals essentially ready for Sun
  • Concurrency working group will propose modest RMI changes
We are initiating Community actions
  • Help us collect Java Grande benchmarks
  • Work with community on standard classes and libraries
  • Participate in seamless computing framework
  • Stress Java and Java runtime (the VM) with large applications -- where are performance problems?
Join us at SC98 November 13
Note European involvement has been excellent so far
  • Caromel, Getov, Phillipsen
  • Edinburgh and NAG

HTML version of Basic Foils prepared Sept 30 1998

Foil 33 Java Framework for Computing Services I

From Java Grande (a.k.a. Java for High Performance Computing) in a Nutshell Sun MicroSystems Java Day at CMU Pittsburgh -- Sept 26 1998. *
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 Sept 30 1998

Foil 34 Proposed Java Computing Services Framework II

From Java Grande (a.k.a. Java for High Performance Computing) in a Nutshell Sun MicroSystems Java Day at CMU Pittsburgh -- Sept 26 1998. *
Full HTML Index
A "Framework" is a set of Java Calls (mainly Interfaces and not methods) to capabilities expressed in implementation neutral form
  • e.g. JDBC (Java Database Connectivity) is a universal interface to all relational databases
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)
Requires agreement by "suitable interested parties" on
  • what are the services
  • what are the interfaces for a given service
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)

HTML version of Basic Foils prepared Sept 30 1998

Foil 35 Possible Services in a Java Computing Framework

From Java Grande (a.k.a. Java for High Performance Computing) in a Nutshell Sun MicroSystems Java Day at CMU Pittsburgh -- Sept 26 1998. *
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

© 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 Apr 11 1999