Given by Geoffrey C. Fox at JavaOne Birds of a Feather on Java Grande San Francisco on June 16 99. Foils prepared July 6 99
Outside Index
Summary of Material
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! |
Outside Index Summary of Material
JavaOne |
Birds of a Feather June 16, 1999 San Francisco |
Marriot Hotel |
Geoffrey Fox |
NPAC |
Syracuse University |
gcf@npac.syr.edu |
http://www.javagrande.org |
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" |
Activities involve "Working with Outside Community" (e.g. Floating Point Rules and RMI)
|
ACM Java Grande Conference '00 June '00 (? Stanford, San Francisco, UC Berkeley) |
SC99 November '99 "Presence"
|
ISCOPE '99 December 99 has strong Grande C++ and growing Java constituency. Could collocate Forum activity |
We learnt from the Keynote talks that: |
Parallel Computing (use of multiple CPU's to address a single problem) is inevitable
|
Today's supercomputer is a window to capabilities of tomorrow's desktop |
We will see by 2005, One Million connected workstation's, ?100? million connected consumer devices
|
Complexity prevents scaling of large systems
|
What can we learn from current Grande experience?
|
Current Grande techniques teach us algorithmic requirements such as the nifty sorting algorithms but only how to scale to 1000's of processes in controlled environments
|
New programming models i.e. new Java Grande framework requires merging and modifying Java and Grande ideas |
Java Grande Forum is bringing two communities together to address near term and future issues to enable scalable world wide Java VM |
Java thread model is insufficient for large scale parallelism |
Need to take experience from Grande community and provide
|
Performance is critical
|
Numerical computing has special needs in both
|
Java Grande framework must address both low level (messaging, floating point coding) and high level interfaces (portals to simulations, immersive worlds ...) |
Set of Workshops with increasing interest
|
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 |
Increase in Java tracks in mainstream Grande and Computer Science conferences
|
Centerpiece: ACM Java Grande Conferences held just before JavaOne (June 12-14 99, perhaps June 2-4 2000) |
We set up in February 98 a Forum to bring together players in this field |
Numerics Boisvert/Pozo
|
Concurrency and Applications Gannon/Caromel
|
New Areas
|
Geographically |
Distributed |
Grandecomputer |
Resources |
Enterprise |
Middleware |
Gateway |
System |
Geographically Distributed users |
and consultants |
1 |
2 |
3 |
Java Applets |
Java Language |
Java Servers |
Application Integration |
Visualization Server |
Seamless Access |
Collaboration |
Security Lookup |
Registration |
Agents/Brokers |
Backend Services |
Middleware |
Bunch of |
Web Servers |
and Object |
Brokers |
So computer users are interested in 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 Computing Portal Framework" |
This enables development of Web Interfaces ("Portals") 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 Portal Framework will allow vendors to compete on either User Front End (GUI) or back end services with the JavaCS framework providing universal linkage |
Java Database Connectivity JDBC offers seamless access to databases with typically the three tier architecture shown below
|
Desktop Access to Remote Resources or DATORR was initial name |
http://www-fp.mcs.anl.gov/~gregor/datorr |
Oct 8-9 Meeting at Argonne and SC98 BoF |
Feb 15-16 at Sandia Albuquerque |
Collecting projects and abstracting requirements from user and system point of view |
Aim is to suggest standards for client-middleware (what is a task?) and middleware-backend (what is a resource) |
Standards will be in XML so can use in your favorite object model |
Common Portal Architecture initiative in NCSA alliance will drive DATORR with application requirements and (several) "workbench"/"Portal" implementations |
Integration with synergistic Grid Forum activities |
Role of Enterprise Javabeans? |
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)
|
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
|
So Java not only will run anywhere but can be expected to get same answers everywhere
|
Natural tension between performance (both in terms of speed and precision) and reproducibility
|
Java has particularly bad floating point performance due to
|
Solution requires "Change in Java Rules" and better compilers |
Design Goals/Requirements:
|
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 FMA) |
associatefp: Allow conventional compiler optimizations |
Sun will consider some version of this starting with ability to use FMA |
Generic Types, Operator Overloading and lightweight classes are also serious possibilities for thoughtful additions to Java language |
Working with internal Sun staff on drafting modest proposals (as of March 11 meeting in Palo Alto) |
Distributed and Parallel Computing led by Dennis Gannon and Denis Caromel (INRIA, France)
|
Development of Grande Application benchmarks
|
RMI and Object Serialization.
|
Problem Solved? yes and no. |
What is next? Jini ? |
Java Grande Forum Benchmarking Activity
|
Serial Suite
|
Context
|
Goals
|
Java API for MPI
|
Experiments with OO models.
|
Performance Studies (see ACM Java Grande Conference 99) |
What are the outstanding Issues for Grande Applications?
|
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
|
Forum suggests (optional) changes in several areas including
|
What is the Impact of Jini?
|