Java Grande in a Nutshell - PowerPoint PPT Presentation

1 / 25
About This Presentation
Title:

Java Grande in a Nutshell

Description:

Development of universal (Condor, Globus, Legion UNICORE WebSubmit. ... Abstract ideas developed in Condor Globus Legion and PACE POEMS PetaSIM for ... – PowerPoint PPT presentation

Number of Views:23
Avg rating:3.0/5.0
Slides: 26
Provided by: csC4
Category:
Tags: grande | java | nutshell

less

Transcript and Presenter's Notes

Title: Java Grande in a Nutshell


1
Java Grandein a Nutshell
  • Workshop on Java for High Performance Network
    Computing
  • September 2-3 1998 Europar Southampton
  • Geoffrey Fox
  • Northeast Parallel Architectures Center
  • Syracuse University
  • 111 College Place
  • Syracuse NY
  • gcf_at_npac.syr.edu
  • http//www.javagrande.org
  • http//www.npac.syr.edu/users/gcf/jgeurosept98

2
Abstract of EuroTools Java Grande Presentation
  • We describe Java Grande Forum -- motivation and
    current status
  • motivation discusses Java as a language and where
    it is clearly good and where it could be good!
  • This has numerical and distributed computing
    working groups and one project is a community
    activity to define
  • Seamless interfaces allowing universal access to
    general hosts
  • can be CORBA facility or Java framework

3
Why is Java Worth Looking at?
  • 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
  • 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?

4
What is Java Grande?
  • 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
    doesnt get misunderstood by some community!

5
What is the Competition?
  • 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 Cbandwagon
  • So there is no competition -- Java is currently
    our only hope

6
Why could Java succeed where Fortran and C
failed?
  • 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

7
Synergy of Parallel Computing and WebInternetics
as Unifying Principle
  • The two forms of Large Scale ComputingScale
    Computer for Scale
    Users in ProportionPower User
    to number of computers
  • Parallel
    Commodity Distributed Computers
    Information Systems Technologylt-------
    -------- Internetics Technologies
    ---------------gt

1market
99 of market driving student interest and (Java)
technologies
Parallel Computer
Distributed Computer HPF MPI
Java HTML
XML
8
The 3 Roles of Java
9
Java and multi-tier Grande Systems
Java wins today?
Java Grande should promote
Parallel or Sequential Java Grande Codes
Java Applet Clients
Java Servers
Geographically Distributed Grandecomputer
Resources
Gateway System hosting Seamless Access Database,
Collaboration Visualization and other Services
GeographicallyDistributed users
10
What is Goal of Java Grande Forum?
  • 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

11
Two types of Things we are doing
  • 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

12
Activities of the Java Grande Forum I
  • 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

13
Gosling onOperator Overloading
Java Grande 98Feb 28 98
14
Activities of the Java Grande Forum II
  • 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
  • http//math.nist.gov/scimark

15
Where are we now?
  • 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

16
Java Seamless Computing Framework orCORBA
Facility for Computation
  • Allows Universal Access to all computers from the
    same Java Applet Front EndInfrastructure for
    Metacomputing, Performance Modeling, Interfacing
    computers and data to distributed computational
    objects

17
What/Why is a Framework?
  • 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
  • All vendors must however support JDBC because of
    importance of seamless interfaces!

18
JDBC Database Framework Architecture
Java applications
JDBC API
JDBC API
JDBC Driver API
JDBC Driver manager
19
Proposed Java Computing Services Framework I
  • 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
  • i.e. enables seamless computing which is a part
    of metacomputing but not as ambitious
  • 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
  • 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.
  • System vendors would be asked to deliver support
    for JavaCS as part of RFP

20
Proposed Java Computing Services Framework II
  • Requires agreement by suitable interested
    parties on
  • what are the services
  • what are the interfaces for a given service
  • As with JDBC and Oracles PL/SQL can lead to
    difficult choices!
  • Old (seamless workshop Reading 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)
  • Who else should we would be talking to?

21
Possible Services in a Java Computing Framework -
I
  • 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

22
Possible Services in a Java Computing Framework -
II
  • 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
  • Debuggers
  • Computational Steering / Interpreted Execution
  • Libraries including names in generalized Math
    class and
  • Java Grande defining this in numerics working
    group
  • Module linkage model for metaproblems
    (multidisciplinary applications) could be
    outside scope -- can we use standard JavaBean
    approach?

23
What should you do as a Java Grande believer?
  • Dont 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
  • Retrain your staff in Java Web and distributed
    object technologies
  • Put High Performance Grande Forum compliant
    Java support into your RFPs for hardware and
    software

24
Multi Tier Gateway Architecture
Clients
Gateway Systems as Middle Tier
High Performance Computing and Communication Tier
25
Multi-Server Gateway Tier
MultidisciplinaryControl (WebFlow)
Gateway Control
Parallel DBProxy
Database
NEOS ControlOptimization
OptimizationService
Origin 2000Proxy
MPP
NetSolveLinear Alg.Server
Matrix Solver
Agent-basedChoice ofCompute Engine
IBM SP2Proxy
Data AnalysisServer
MPP
Write a Comment
User Comments (0)
About PowerShow.com