Full HTML for

Basic foilset Integration of Web and Distributed Object Technologies in a New Generation of Grande Programming Environments

Given by Geoffrey C. Fox at PDPTA Las Vegas on June 28 1999. Foils prepared June 27 1999
Outside Index Summary of Material


Abstract and Motivation
Portals to Computing and Business
  • General Examples and Architecture of such a Portal
  • Gateway project as a relatively advanced Portal
Technologies of a Portal
  • Multi-tier systems and Pragmatic Object Web
  • Java
  • Role of XML in Portal Construction
Some Services of a Portal
  • Collaboration
  • Security
Portal Programming
Other Examples
  • Modeling and Simulation
  • Image Processing
How to get High Performance in a multi tier model

Table of Contents for full HTML of Integration of Web and Distributed Object Technologies in a New Generation of Grande Programming Environments

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

1 Integration of Web and Distributed Object Technologies in a New Generation of Grande Programming Environments
2 Integration of Web and Distributed Object Technologies in a New Generation of Grande Programming Environments
3 Essential Motivation
4 What's the Point I
5 What's the Point II
6 Integration of Web and Distributed Object Technologies in a New Generation of Grande Programming Environments
7 So What is a Portal?
8 My Netscape Portal
9 Yahoo Portal to Stock Market Customized Displays
10 Merrill Lynch Predictions Enterprise Information Portals (EIP)
11 Building a Portal
12 Special Portals -- Computing I
13 Basic 3 Tier Computing Model
14 Object View of running a program
15 Special Portals -- Computing II
16 Portal to Earthquake Science 3-Tier Computing Architecture
17 Integration of Web and Distributed Object Technologies in a New Generation of Grande Programming Environments
18 Gateway Project in a Nutshell
19 LMS Goals and Front-End
20 WebFlow on Globus -- LMS at CEWES
21 Another Gateway Prototype: Quantum Chemistry PSE for NCSA Alliance
22 Gateway PSE Example: CCM
23 Current Gateway Interface
24 Multi Tier Computing Model
25 "Gateway" Architecture
26 What does Gateway do for you?
27 Integration of Web and Distributed Object Technologies in a New Generation of Grande Programming Environments
28 Pragmatic Object Web Technology Model - I
29 Pragmatic Object Web Technology Model - II
30 Basic Multi Tier architecture
31 Functionality of layers in Multi-tier Architecture
32 Integration of Web and Distributed Object Technologies in a New Generation of Grande Programming Environments
33 The 3 Places Java can be Used
34 What is Java Grande?
35 Basic Issues in Java Grande
36 Why is Java Worth Looking at?
37 What is the Alternative?
38 What is the Process?
39 What is Goal of Java Grande Forum?
40 Two types of Things the Forum is doing
41 Activities of the Java Grande Forum I
42 Numerical Computing in Java
43 Bill Joy Keynote Speech ACM Java Grande Meeting June 13 99
44 Activities of the Java Grande Forum II
45 Integration of Web and Distributed Object Technologies in a New Generation of Grande Programming Environments
46 Gateway Support of Simple Standalone Codes
47 XML is also used at Backend
48 Databases versus XML?
49 xxxxxxML
50 ScienceML
51 Scientific Notepad
52 Integration of Web and Distributed Object Technologies in a New Generation of Grande Programming Environments
53 Universal Shared Object Strategy
54 Collaboration using Tango-Interactive
55 Examples of CollaborativeVisualization
56 Integration of Web and Distributed Object Technologies in a New Generation of Grande Programming Environments
57 Gateway Security Model
58 Integration of Web and Distributed Object Technologies in a New Generation of Grande Programming Environments
59 Implementation Architecture
60 Programming the Computing Portal
61 WebFlow in Gateway
62 Metacomputing and Portals
63 Structure(Architecture) of Portal Applications - I
64 Structure(Architecture) of Portal Applications - II
65 Integration of Web and Distributed Object Technologies in a New Generation of Grande Programming Environments
66 JWORB - Java Web Object Request Broker
67 Summary of NPAC's JWORB natural Building Block of the Gateway
68 NPAC's Object Web RTI
69 Integration of Web and Distributed Object Technologies in a New Generation of Grande Programming Environments
70 Portal for Image Processing ?
71 Integration of Web and Distributed Object Technologies in a New Generation of Grande Programming Environments
72 Java Grande Activities in MPI for Java
73 Java and Parallelism I?
74 Java and Parallelism II?
75 Hybrid Parallel Computing Model
76 Three Possible Implementations of CFD CSM Linkage
77 Jini will be a focus of Activities in Java Grande Concurrency Group
78 JiniMPI Architecture
79 What should you do as a Object Web and/or Java Grande believer?

Outside Index Summary of Material



HTML version of Basic Foils prepared June 27 1999

Foil 1 Integration of Web and Distributed Object Technologies in a New Generation of Grande Programming Environments

From Integration of Web and Distributed Object Technologies in a New Generation of Grande Programming Environments PDPTA Las Vegas -- June 28 1999. *
Full HTML Index
PDPTA `99 Las Vegas June 28 99 Geoffrey Fox
NPAC
Syracuse University
gcf@npac.syr.edu
http://www.javagrande.org
http://www.npac.syr.edu/users/haupt/WebFlow/demo.html
http://www.npac.syr.edu/users/gcf/pdptajune99/index.html

HTML version of Basic Foils prepared June 27 1999

Foil 2 Integration of Web and Distributed Object Technologies in a New Generation of Grande Programming Environments

From Integration of Web and Distributed Object Technologies in a New Generation of Grande Programming Environments PDPTA Las Vegas -- June 28 1999. *
Full HTML Index
Abstract and Motivation
Portals to Computing and Business
  • General Examples and Architecture of such a Portal
  • Gateway project as a relatively advanced Portal
Technologies of a Portal
  • Multi-tier systems and Pragmatic Object Web
  • Java
  • Role of XML in Portal Construction
Some Services of a Portal
  • Collaboration
  • Security
Portal Programming
Other Examples
  • Modeling and Simulation
  • Image Processing
How to get High Performance in a multi tier model

HTML version of Basic Foils prepared June 27 1999

Foil 3 Essential Motivation

From Integration of Web and Distributed Object Technologies in a New Generation of Grande Programming Environments PDPTA Las Vegas -- June 28 1999. *
Full HTML Index
Large Scale (termed Grande) computing can benefit from the rich set of commodity technologies being developed to support the "Internet"
  • For the first time, we have commercial commodity software to support a "complete computing model" -- this we call the Pragmatic Object Web
  • For instance both metacomputing and parallel computing can be viewed as special cases of a "Internet/Web" distributed Information System
As Grande computing is a small field ( 0.5 to 5% depending on what you count) compared to commodity computing but solving as difficult a problem, one can benefit by building Grande computing environments on a commodity base
"Just" need to add "Grande Functionality"
  • High Performance, Low Latency, Precision, Complexity

HTML version of Basic Foils prepared June 27 1999

Foil 4 What's the Point I

From Integration of Web and Distributed Object Technologies in a New Generation of Grande Programming Environments PDPTA Las Vegas -- June 28 1999. *
Full HTML Index
There is a "philosophy/architecture" called building "Portals to X"
  • This is equivalent to building a complete customizable environment for X in terms of a web client interface and an "object web" middleware
There are distributed object technologies to label register and look up objects
  • CORBA, COM, Java WIDL (XML)
There is a language Java which is more productive than previous languages such as Fortran or C++
  • It is currently language of choice for all middleware -- whatever object model
  • Java Grande at http://www.javagrande.org is a community activity to encourage use of Java in "real computing" and recommend/lobby the necessary changes in Java infrastructure
  • In around 2 years Java will achieve numerical performance similar to Fortran
There is a data structure metalanguage called XML which allows universal object serialization and the generation of application specific data specifications

HTML version of Basic Foils prepared June 27 1999

Foil 5 What's the Point II

From Integration of Web and Distributed Object Technologies in a New Generation of Grande Programming Environments PDPTA Las Vegas -- June 28 1999. *
Full HTML Index
There are a set of services that are either
  • common to most portals such as "yellow-pages", "search data archives", security, collaboration, render XML to HTML for display
  • common to most computing portals such as "visualization", "seamless access to computers", "execute program with particular programming model"
  • specific to particular portal such as "filter SAR data", "Datamining"
NCSA biology Workbench http://biology.ncsa.uiuc.edu was one of first computational portals
Gateway is one of most technically advanced computing portal projects with a specific chemistry instantiation

HTML version of Basic Foils prepared June 27 1999

Foil 6 Integration of Web and Distributed Object Technologies in a New Generation of Grande Programming Environments

From Integration of Web and Distributed Object Technologies in a New Generation of Grande Programming Environments PDPTA Las Vegas -- June 28 1999. *
Full HTML Index
Abstract and Motivation
Portals to Computing and Business
  • General Examples and Architecture of such a Portal
  • Gateway project as a relatively advanced Portal
Technologies of a Portal
  • Multi-tier systems and Pragmatic Object Web
  • Java
  • Role of XML in Portal Construction
Some Services of a Portal
  • Collaboration
  • Security
Portal Programming
Other Examples
  • Modeling and Simulation
  • Image Processing
How to get High Performance in a multi tier model

HTML version of Basic Foils prepared June 27 1999

Foil 7 So What is a Portal?

From Integration of Web and Distributed Object Technologies in a New Generation of Grande Programming Environments PDPTA Las Vegas -- June 28 1999. *
Full HTML Index
Portals to X are essentially the name for an Object Web system where it is designed to address a particular application X
Portal to the world is http://www.yahoo.com/ or http://my.netscape.com/
Portal to latest news is http://www.cnn.com
Portal to computational chemistry is http://www.osc.edu/~kenf/theGateway/PSEactivities/CCM.html
Portal to stock trading is http://quote.yahoo.com/
http://www.ibm.com is the external portal to IBM for customers. There will also be an internal portal for IBM employees used to "run the company"
Kodak is interested in portals to family memorabilia
More generally a portal is a web entrance to a set of resources and consists of a mix of information, computer simulations and various services
For businesses portals generalize the concept of a a company Intranet and encompass domain of IBM main frames, Lotus Notes etc.
For computing, portals are called Problem Solving Environments

HTML version of Basic Foils prepared June 27 1999

Foil 8 My Netscape Portal

From Integration of Web and Distributed Object Technologies in a New Generation of Grande Programming Environments PDPTA Las Vegas -- June 28 1999. *
Full HTML Index

HTML version of Basic Foils prepared June 27 1999

Foil 9 Yahoo Portal to Stock Market Customized Displays

From Integration of Web and Distributed Object Technologies in a New Generation of Grande Programming Environments PDPTA Las Vegas -- June 28 1999. *
Full HTML Index

HTML version of Basic Foils prepared June 27 1999

Foil 10 Merrill Lynch Predictions Enterprise Information Portals (EIP)

From Integration of Web and Distributed Object Technologies in a New Generation of Grande Programming Environments PDPTA Las Vegas -- June 28 1999. *
Full HTML Index
Total Portal Revenue 1998: $4.4B and 2002: $14.9B with 36% CAGR
http://www.sagemaker.com/company/lynch.htm

HTML version of Basic Foils prepared June 27 1999

Foil 11 Building a Portal

From Integration of Web and Distributed Object Technologies in a New Generation of Grande Programming Environments PDPTA Las Vegas -- June 28 1999. *
Full HTML Index
We can identify a set of tools that enable the construction of portals
These are roughly equivalent to the tools needed to build a general application based on "object web technologies"
There is also an architecture (explained ad nauseam later) implying multi-tier systems with standard compliant interfaces
  • Object Web is Architecture standard for portals
A common portal architecture means that portals can be conveniently linked together
  • e.g. the 3 portals to biology, chemistry, and physics naturally form portal to science

HTML version of Basic Foils prepared June 27 1999

Foil 12 Special Portals -- Computing I

From Integration of Web and Distributed Object Technologies in a New Generation of Grande Programming Environments PDPTA Las Vegas -- June 28 1999. *
Full HTML Index
So we can discuss some special portals
  • Real World Wide Web and Business Enterprise Intranets
  • Virtual University and Training
  • Science and Engineering Computing Environments
The latter include several projects aimed at harnessing the power of the web to do computing
  • These can be divided into those that harness web clients (as in Javelin++ at ACM Conference June 99)
  • And those than make networks of Web or distributed object servers
NPAC has focussed on networks of web servers and these fit the portal model well
However there is most computing power in collections of web clients

HTML version of Basic Foils prepared June 27 1999

Foil 13 Basic 3 Tier Computing Model

From Integration of Web and Distributed Object Technologies in a New Generation of Grande Programming Environments PDPTA Las Vegas -- June 28 1999. *
Full HTML Index
A server accepts input and produces output
  • A Web Server accepts HTTP request and returns a web page
  • a Database Server accepts a SQL request and returns records selected from database
  • An Object Broker accepts IIOP requests to invoke methods of an "object" (e.g. run a program)
IIOP and HTTP are two common protocols (formats of control data) for inter program messages
A Web browser (Netscape or Microsoft) can access any server at "the click of a button" with data from user refining action

HTML version of Basic Foils prepared June 27 1999

Foil 14 Object View of running a program

From Integration of Web and Distributed Object Technologies in a New Generation of Grande Programming Environments PDPTA Las Vegas -- June 28 1999. *
Full HTML Index
Similar to invoking a web page
"CORBA" or "WIDL" (pure XML CGI specification) is just CGI done right ......
Object Broker
Fortran Simulation Code on Sequential or
Parallel Machine
Convert Generic Run Request into Specific Request on Chosen Computer
Fortran Program
is an Important
Type of Object
It can be built up from
smaller objects
e.g. Matrix
library could be an
object

HTML version of Basic Foils prepared June 27 1999

Foil 15 Special Portals -- Computing II

From Integration of Web and Distributed Object Technologies in a New Generation of Grande Programming Environments PDPTA Las Vegas -- June 28 1999. *
Full HTML Index
But perhaps more interestingly computing portals involve building a web based problem solving environment to link together all the capabilities needed to compute
run programs and access dynamically status of jobs and computers -- in particular allow a uniform interface to running a given job on one of many backend compute servers
compile and debug programs
link diverse data sources with computations run on multiple backend machines
visualize results
web-based help systems and collections of related scientific papers
computational steering i.e. interacting with a job (change parameters) based on dynamic results such as visualized results
See http://www.osc.edu/~kenf/theGateway/ and http://www-fp.mcs.anl.gov/~gregor/datorr/

HTML version of Basic Foils prepared June 27 1999

Foil 16 Portal to Earthquake Science 3-Tier Computing Architecture

From Integration of Web and Distributed Object Technologies in a New Generation of Grande Programming Environments PDPTA Las Vegas -- June 28 1999. *
Full HTML Index
Application Integration
Visualization Server
Seamless Access
Collaboration
Security Lookup
Registration
Agents/Brokers
Backend Services
Middleware
Bunch of
Web Servers
and Object
Brokers

HTML version of Basic Foils prepared June 27 1999

Foil 17 Integration of Web and Distributed Object Technologies in a New Generation of Grande Programming Environments

From Integration of Web and Distributed Object Technologies in a New Generation of Grande Programming Environments PDPTA Las Vegas -- June 28 1999. *
Full HTML Index
Abstract and Motivation
Portals to Computing and Business
  • General Examples and Architecture of such a Portal
  • Gateway project as a relatively advanced Portal
Technologies of a Portal
  • Multi-tier systems and Pragmatic Object Web
  • Java
  • Role of XML in Portal Construction
Some Services of a Portal
  • Collaboration
  • Security
Portal Programming
Other Examples
  • Modeling and Simulation
  • Image Processing
How to get High Performance in a multi tier model

HTML version of Basic Foils prepared June 27 1999

Foil 18 Gateway Project in a Nutshell

From Integration of Web and Distributed Object Technologies in a New Generation of Grande Programming Environments PDPTA Las Vegas -- June 28 1999. *
Full HTML Index
Builds on Web-based problem solving environments built for
  • DoD: LMS Landscape Management System
  • NCSA: Quantum Monte Carlo
Uses distributed object middleware built for Modeling and Simulation field
OSC NPAC Nicholls project funded by ASC MSRC at Dayton
  • Core infrastructure for seamless secure access
  • Framework for general web based problem solving solving environments with Chemistry Application Area as initial focus
Core system in alpha test today and SC99 will have fully functional demonstration
Built with multi tier architecture using secure CORBA at middle tier and sophisticated WebFlow Java front end allowing task composition
All object interfaces defined in XML

HTML version of Basic Foils prepared June 27 1999

Foil 19 LMS Goals and Front-End

From Integration of Web and Distributed Object Technologies in a New Generation of Grande Programming Environments PDPTA Las Vegas -- June 28 1999. *
Full HTML Index
Web based Interface Supporting
  • Data retrieval
  • Data preprocessing
  • Simulation: two interacting codes EDYS CASC2D
  • Visualization

HTML version of Basic Foils prepared June 27 1999

Foil 20 WebFlow on Globus -- LMS at CEWES

From Integration of Web and Distributed Object Technologies in a New Generation of Grande Programming Environments PDPTA Las Vegas -- June 28 1999. *
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 June 27 1999

Foil 21 Another Gateway Prototype: Quantum Chemistry PSE for NCSA Alliance

From Integration of Web and Distributed Object Technologies in a New Generation of Grande Programming Environments PDPTA Las Vegas -- June 28 1999. *
Full HTML Index

HTML version of Basic Foils prepared June 27 1999

Foil 22 Gateway PSE Example: CCM

From Integration of Web and Distributed Object Technologies in a New Generation of Grande Programming Environments PDPTA Las Vegas -- June 28 1999. *
Full HTML Index
Ken Flurchick, http://www.osc.edu/~kenf/theGateway
Gateway Computing Process
1. Enter the Gateway system
2. Define your problem
3. Identify resources (software and hardware)
4. Create input file
5. Run your application
6. Analyze results

HTML version of Basic Foils prepared June 27 1999

Foil 23 Current Gateway Interface

From Integration of Web and Distributed Object Technologies in a New Generation of Grande Programming Environments PDPTA Las Vegas -- June 28 1999. *
Full HTML Index

HTML version of Basic Foils prepared June 27 1999

Foil 24 Multi Tier Computing Model

From Integration of Web and Distributed Object Technologies in a New Generation of Grande Programming Environments PDPTA Las Vegas -- June 28 1999. *
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
Grid Gateway
Supporting Seamless Interface
Agent-based Choice of Compute Engine
Multidisciplinary Control (WebFlow)
Gateway Programming Environment
Good Old Programming Tools

HTML version of Basic Foils prepared June 27 1999

Foil 25 "Gateway" Architecture

From Integration of Web and Distributed Object Technologies in a New Generation of Grande Programming Environments PDPTA Las Vegas -- June 28 1999. *
Full HTML Index

HTML version of Basic Foils prepared June 27 1999

Foil 26 What does Gateway do for you?

From Integration of Web and Distributed Object Technologies in a New Generation of Grande Programming Environments PDPTA Las Vegas -- June 28 1999. *
Full HTML Index
Toolkit to build high level application specific web based problem solving environments
  • Example CCM framework
  • Uses HPC Specific services and resources provided by other projects such as Globus and Legion
Simple strategy to convert existing codes into distributed objects that can be seamlessly launched
Simple default job status displays
Architecture naturally supports collaboration (using shared events and TangoInteractive) and visualization if structured as a multi tier service conforming to XML interfaces
Compositional Programming of modules
  • MPI HPF programming tools are either outside Gateway but could be given integrated web interface as part of Gateway -- we demonstrated this for HPF in early WebFlow work

HTML version of Basic Foils prepared June 27 1999

Foil 27 Integration of Web and Distributed Object Technologies in a New Generation of Grande Programming Environments

From Integration of Web and Distributed Object Technologies in a New Generation of Grande Programming Environments PDPTA Las Vegas -- June 28 1999. *
Full HTML Index
Abstract and Motivation
Portals to Computing and Business
  • General Examples and Architecture of such a Portal
  • Gateway project as a relatively advanced Portal
Technologies of a Portal
  • Multi-tier systems and Pragmatic Object Web
  • Java
  • Role of XML in Portal Construction
Some Services of a Portal
  • Collaboration
  • Security
Portal Programming
Other Examples
  • Modeling and Simulation
  • Image Processing
How to get High Performance in a multi tier model

HTML version of Basic Foils prepared June 27 1999

Foil 28 Pragmatic Object Web Technology Model - I

From Integration of Web and Distributed Object Technologies in a New Generation of Grande Programming Environments PDPTA Las Vegas -- June 28 1999. *
Full HTML Index
Basic Vision: The current incoherent but highly creative Web will merge with distributed object technology in a multi-tier client-server-service architecture with Java based combined Web-ORB's
Need to abstract entities (Web Pages, database entries, simulations) and services as objects with methods(interfaces)
  • CORBA .. XML is "just" CGI done right
COM(Microsoft) and CORBA(world) are competing cross platform and language object technologies
  • Every Netscape4 browser has a Visigenic ORB built in
Javabeans plus RMI and JINI is 100% pure Java distributed object technology
W3C says you should use XML which provides a convenient way to write IDL and define/serialize general object models
How do we do this while technology is still changing rapidly!

HTML version of Basic Foils prepared June 27 1999

Foil 29 Pragmatic Object Web Technology Model - II

From Integration of Web and Distributed Object Technologies in a New Generation of Grande Programming Environments PDPTA Las Vegas -- June 28 1999. *
Full HTML Index
Need to use mix of approaches -- choosing what is good and what will last
For example develop Web-based databases with Java objects using standard JDBC (Java Database Connectivity) interfaces
  • Oracle DB2 Informix Sybase, Lotus Notes, Object database confusion becomes an issue of performance/robustness NOT functionality
Use XML to record small databases in flat files
Use XML to define all interfaces
Use CORBA to wrap existing applications
Use COM to access components of major PC applications such as Microsoft Excel and Word
Use Java to build all Middleware
Use Jini to implement dynamic registration of objects
Use HTML and JavaScript to render everything

HTML version of Basic Foils prepared June 27 1999

Foil 30 Basic Multi Tier architecture

From Integration of Web and Distributed Object Technologies in a New Generation of Grande Programming Environments PDPTA Las Vegas -- June 28 1999. *
Full HTML Index
Objects (at "logical backend") can be on client of course
Front end can define a generic (proxy for a) object. The middle control tier brokers a particular instantiation
Broker or Server
XML
Result
XML Query
Rendering Engine
Browser
Rendering Engine
HTML
Universal Interfaces
IDL or Templates
XML Request for service
followed by return of XML result

HTML version of Basic Foils prepared June 27 1999

Foil 31 Functionality of layers in Multi-tier Architecture

From Integration of Web and Distributed Object Technologies in a New Generation of Grande Programming Environments PDPTA Las Vegas -- June 28 1999. *
Full HTML Index
1)Rendering of (Multiple) Objects 2)Proxy to some backend capability used to render
input and output to and
from service
Database
MPP
Telescope
File System
1)Server acts as a broker
and control layer
2)Same software as client
but higher performance
multi-user
3)Again service represented
as proxy used as a token for
control logic
Services with
specialized software
and capabilities

HTML version of Basic Foils prepared June 27 1999

Foil 32 Integration of Web and Distributed Object Technologies in a New Generation of Grande Programming Environments

From Integration of Web and Distributed Object Technologies in a New Generation of Grande Programming Environments PDPTA Las Vegas -- June 28 1999. *
Full HTML Index
Abstract and Motivation
Portals to Computing and Business
  • General Examples and Architecture of such a Portal
  • Gateway project as a relatively advanced Portal
Technologies of a Portal
  • Multi-tier systems and Pragmatic Object Web
  • Java
  • Role of XML in Portal Construction
Some Services of a Portal
  • Collaboration
  • Security
Portal Programming
Other Examples
  • Modeling and Simulation
  • Image Processing
How to get High Performance in a multi tier model

HTML version of Basic Foils prepared June 27 1999

Foil 33 The 3 Places Java can be Used

From Integration of Web and Distributed Object Technologies in a New Generation of Grande Programming Environments PDPTA Las Vegas -- June 28 1999. *
Full HTML Index

HTML version of Basic Foils prepared June 27 1999

Foil 34 What is Java Grande?

From Integration of Web and Distributed Object Technologies in a New Generation of Grande Programming Environments PDPTA Las Vegas -- June 28 1999. *
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 .......
Immersive Applications driven by new high performance Java Chip
Very difficult to find a "conventional name" that doesn't get misunderstood by some community!
Bill Joy

HTML version of Basic Foils prepared June 27 1999

Foil 35 Basic Issues in Java Grande

From Integration of Web and Distributed Object Technologies in a New Generation of Grande Programming Environments PDPTA Las Vegas -- June 28 1999. *
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 June 27 1999

Foil 36 Why is Java Worth Looking at?

From Integration of Web and Distributed Object Technologies in a New Generation of Grande Programming Environments PDPTA Las Vegas -- June 28 1999. *
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 with 1.7 Million developers is currently 2X as productive as C++
There will be more Java than C++ programmers in 2002 and goal is 10X productivity gain by 2005
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
Can we exploit this in Grande Applications? We MUST try!!!

HTML version of Basic Foils prepared June 27 1999

Foil 37 What is the Alternative?

From Integration of Web and Distributed Object Technologies in a New Generation of Grande Programming Environments PDPTA Las Vegas -- June 28 1999. *
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 do not look as though they will "make it"
  • 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" even though capabilities of C++ has advanced quite significantly

HTML version of Basic Foils prepared June 27 1999

Foil 38 What is the Process?

From Integration of Web and Distributed Object Technologies in a New Generation of Grande Programming Environments PDPTA Las Vegas -- June 28 1999. *
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
  • San Francisco June 99 - 175 participants and first official ACM sponsorship (Just before JavaOne 99 Java developers conference)
Topics include compilation issues; applications; algorithms (math libraries); benchmarking; Java based programming environments(visualization, problem solving environments, MPI); parallel computing and largest set of papers are in distributed systems
Other major conferences with a Java Grande component include HPCN and IPPS (April 99), Mannheim and ICS 99 Rhodes Greece (June 99)
ISCOPE99 in December 99 will have a Java Grande component to enhance interaction between Grande community and mainstream Java and C++ world
We set up Java Grande Forum to act as a focus for Grande community activities and coordinate the (feeble 1%) voice into mainstream! This will now have an official European branch

HTML version of Basic Foils prepared June 27 1999

Foil 39 What is Goal of Java Grande Forum?

From Integration of Web and Distributed Object Technologies in a New Generation of Grande Programming Environments PDPTA Las Vegas -- June 28 1999. *
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)
  • Recently two key meetings with Sun at Burlington and Palo Alto
http://www.javagrande.org

HTML version of Basic Foils prepared June 27 1999

Foil 40 Two types of Things the Forum is doing

From Integration of Web and Distributed Object Technologies in a New Generation of Grande Programming Environments PDPTA Las Vegas -- June 28 1999. *
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 June 27 1999

Foil 41 Activities of the Java Grande Forum I

From Integration of Web and Distributed Object Technologies in a New Generation of Grande Programming Environments PDPTA Las Vegas -- June 28 1999. *
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
  • http://math.nist.gov/javanumerics/
  • 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 June 27 1999

Foil 42 Numerical Computing in Java

From Integration of Web and Distributed Object Technologies in a New Generation of Grande Programming Environments PDPTA Las Vegas -- June 28 1999. *
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
Java has particularly poor 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
Java Grande Forum working with internal Sun staff on drafting set of proposals
In June 99 ACM meeting Bill Joy of Sun and others endorse Java Grande process and predict that in two years Java will obtain competitive or better performance than C++ and Fortran

HTML version of Basic Foils prepared June 27 1999

Foil 43 Bill Joy Keynote Speech ACM Java Grande Meeting June 13 99

From Integration of Web and Distributed Object Technologies in a New Generation of Grande Programming Environments PDPTA Las Vegas -- June 28 1999. *
Full HTML Index

HTML version of Basic Foils prepared June 27 1999

Foil 44 Activities of the Java Grande Forum II

From Integration of Web and Distributed Object Technologies in a New Generation of Grande Programming Environments PDPTA Las Vegas -- June 28 1999. *
Full HTML Index
Distributed and Parallel Computing Working Group 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 (issues include fast networking, object synchronization and creation, array initialization, use of clusters and SMP's)
  • Parallel Computing interfaces including Java MPI binding
  • Development of universal Java interface to computing resources (Standards for computing portals)
  • Integration of PalmTop devices (running Java) with HPCC
  • Role of Jini technology in metacomputing
Development of Grande Application benchmarks

HTML version of Basic Foils prepared June 27 1999

Foil 45 Integration of Web and Distributed Object Technologies in a New Generation of Grande Programming Environments

From Integration of Web and Distributed Object Technologies in a New Generation of Grande Programming Environments PDPTA Las Vegas -- June 28 1999. *
Full HTML Index
Abstract and Motivation
Portals to Computing and Business
  • General Examples and Architecture of such a Portal
  • Gateway project as a relatively advanced Portal
Technologies of a Portal
  • Multi-tier systems and Pragmatic Object Web
  • Java
  • Role of XML in Portal Construction
Some Services of a Portal
  • Collaboration
  • Security
Portal Programming
Other Examples
  • Modeling and Simulation
  • Image Processing
How to get High Performance in a multi tier model

HTML version of Basic Foils prepared June 27 1999

Foil 46 Gateway Support of Simple Standalone Codes

From Integration of Web and Distributed Object Technologies in a New Generation of Grande Programming Environments PDPTA Las Vegas -- June 28 1999. *
Full HTML Index
Core capabilities allow simple wrapping of existing codes
Program objects is defined as an XML file e.g. my favorite physics simulation on my PC becomes: <program name="physicssimulation1"> <run domain="npac" machine="maryland" type="pc" os="nt" >c:\myprogs\a.out</run> <input button="prog1" toolbar="physics" type="htmlform" > <name>userinput</name> <field default="10" maximum="100000" >iterations</field> ............ </input> <output> ...</output> </program>
Gateway generates a distributed object with
  • the button prog1 in physics toolbar
  • This button generates HTML form reading parameters
  • Form input data are checked and backend code activated
  • Parameters can be accessed by running code through Gateway linked library (call getparm("iterations") etc.)

HTML version of Basic Foils prepared June 27 1999

Foil 47 XML is also used at Backend

From Integration of Web and Distributed Object Technologies in a New Generation of Grande Programming Environments PDPTA Las Vegas -- June 28 1999. *
Full HTML Index
For this example (running a physics program), we could use a specific machine as defined on previous foil (the Windows NT PC maryland) or a generic machine <run domain="any" machine="any" type="pc" os="nt" >
In this case, middle tier broker, would look in a database (XML file) to find what machines were available and either automatically or with user input choose one.
Both Software and Hardware are defined in XML
Note databases and an XML files are logically equivalent
JDBC can access either Oracle (Microsoft) database or XML ASCII file
More generally XML can be thought of as general object serialization
  • A database table is one type of object

HTML version of Basic Foils prepared June 27 1999

Foil 48 Databases versus XML?

From Integration of Web and Distributed Object Technologies in a New Generation of Grande Programming Environments PDPTA Las Vegas -- June 28 1999. *
Full HTML Index
The XML File <machines domain="npac" type="pc" > <machine os="nt" cpu="pentium2" memory="128" >maryland</machine> <machine os="nt" cpu="pentium3" memory="256" >georgia</machine> <machine os="95" cpu="mmx" memory="128" >foxport1</machine> ..... </machines> <machines domain="cis" > <machine os="solaris" cpu="sparcXX" > top</machine> ..... </machines>
is equivalent to database tables such as

HTML version of Basic Foils prepared June 27 1999

Foil 49 xxxxxxML

From Integration of Web and Distributed Object Technologies in a New Generation of Grande Programming Environments PDPTA Las Vegas -- June 28 1999. *
Full HTML Index
Every field has data of special significance -- for field xxxxxx, we imagine a group of standards realized in XML and used for exchange of information. We call this xxxxxxML
  • ScienceML needed in "Portal to Computing"
  • BusinessML needed in Enterprise Information Portal
  • EducationML needed for interchange of data between educational portal components
http://www.xml.com/xml/pub/submlist lists some standards currently proposed for XML
The Portal for xxxxxx must support xxxxxxML
For businesses, perhaps one needs special support for "excelML" "SAPML" (XML export format for EXCEL or SAP) as well as support for more general forms of information
  • Here we have a things like XML-QL general query language for unstructured data
  • "mailML" to support electronic mail, bulletin board messages, discussion groups etc ...............

HTML version of Basic Foils prepared June 27 1999

Foil 50 ScienceML

From Integration of Web and Distributed Object Technologies in a New Generation of Grande Programming Environments PDPTA Las Vegas -- June 28 1999. *
Full HTML Index
This we define as a group of defined formats that support scientific data, note taking and sketches
XSIL (Scientific data Interchange) defines metadata needed to specify scientific data files including high level parameters and methods needed to read data
VML is Vector Graphics Mark up Language
DrawML is designed to support simple technical drawings (easier than VML but VML should be able to do this?)
VRML (3D scenes) re-implemented in XML as X3D (http://www.vrml.org/news/pr990210-content.html)
MathML Mathematical Expressions
CML Support Chemistry -- not clear if adopted widely

HTML version of Basic Foils prepared June 27 1999

Foil 51 Scientific Notepad

From Integration of Web and Distributed Object Technologies in a New Generation of Grande Programming Environments PDPTA Las Vegas -- June 28 1999. *
Full HTML Index
Presumably this allows Scientists to make notes and record thoughts in a way that it supports important scientific constructs
At its simplest this is an authoring tool like Microsoft Word, PowerPoint or Framemaker
  • These will improve and support standards such as MathML (openMath) with better WYSIWYG authoring
One useful utility would be a whiteboard that supported scientific notes using ScienceML
Such a collaborative whiteboard (implemented in NPAC's Tango Interactive for instance) would be useful in research and teaching
  • Use commercial authoring tool and WebEQ or equivalent to render

HTML version of Basic Foils prepared June 27 1999

Foil 52 Integration of Web and Distributed Object Technologies in a New Generation of Grande Programming Environments

From Integration of Web and Distributed Object Technologies in a New Generation of Grande Programming Environments PDPTA Las Vegas -- June 28 1999. *
Full HTML Index
Abstract and Motivation
Portals to Computing and Business
  • General Examples and Architecture of such a Portal
  • Gateway project as a relatively advanced Portal
Technologies of a Portal
  • Multi-tier systems and Pragmatic Object Web
  • Java
  • Role of XML in Portal Construction
Some Services of a Portal
  • Collaboration
  • Security
Portal Programming
Other Examples
  • Modeling and Simulation
  • Image Processing
How to get High Performance in a multi tier model

HTML version of Basic Foils prepared June 27 1999

Foil 53 Universal Shared Object Strategy

From Integration of Web and Distributed Object Technologies in a New Generation of Grande Programming Environments PDPTA Las Vegas -- June 28 1999. *
Full HTML Index
Collaboration Service is an Object Sharing Service
Assume researchers, teachers, students, engineers, shoppers, salespersons, families compute, teach, learn, collaborate, buy, sell, socialize via electronic versions of traditional human interactions combined with shared objects expressed in XML and rendered as web pages
  • Most sharing is asynchronous and one usually wishes to share synchronously same material that one accesses asynchronously
  • objects can be (electronic) text books, aircraft designs and simulations, expensive jewelry or photos of grandchildren
Only shared event model (used in Tango) of sharing (collaboration) is capable of necessary efficiency and customization to each user

HTML version of Basic Foils prepared June 27 1999

Foil 54 Collaboration using Tango-Interactive

From Integration of Web and Distributed Object Technologies in a New Generation of Grande Programming Environments PDPTA Las Vegas -- June 28 1999. *
Full HTML Index
Tango is a fully Web integrated
system that can share general client side applications, web pages and output from databases and other servers
As web-based naturally links Interactive (synchronous) and self-paced (asynchronous) collaborative models
Runs on Windows 95,98,NT UNIX (Irix, Solaris, Linux)
Supports multi-language shared server and client applications in Java, Javabeans, C++ and JavaScript (W3C DOM)
Supplement existing very general tools (audio-video conferencing, chats, whiteboard etc.) by specialized applications to support particular collaborative activities such as:
Distance Education and Training where we are teaching computational science at Jackson State and High School classes on Java
Collaborative Visualization and Computing
  • Tango collaboratively links visualization from CAVE to PC
  • NCSA Biology Workbench made collaborative using shared web forms -- example of shared databases and simulations
Shared Client Side Java applets for "Rapid Prototyping" Phase of Computation
Shared emacs and Telnet for collaborative programming

HTML version of Basic Foils prepared June 27 1999

Foil 55 Examples of CollaborativeVisualization

From Integration of Web and Distributed Object Technologies in a New Generation of Grande Programming Environments PDPTA Las Vegas -- June 28 1999. *
Full HTML Index

HTML version of Basic Foils prepared June 27 1999

Foil 56 Integration of Web and Distributed Object Technologies in a New Generation of Grande Programming Environments

From Integration of Web and Distributed Object Technologies in a New Generation of Grande Programming Environments PDPTA Las Vegas -- June 28 1999. *
Full HTML Index
Abstract and Motivation
Portals to Computing and Business
  • General Examples and Architecture of such a Portal
  • Gateway project as a relatively advanced Portal
Technologies of a Portal
  • Multi-tier systems and Pragmatic Object Web
  • Java
  • Role of XML in Portal Construction
Some Services of a Portal
  • Collaboration
  • Security
Portal Programming
Other Examples
  • Modeling and Simulation
  • Image Processing
How to get High Performance in a multi tier model

HTML version of Basic Foils prepared June 27 1999

Foil 57 Gateway Security Model

From Integration of Web and Distributed Object Technologies in a New Generation of Grande Programming Environments PDPTA Las Vegas -- June 28 1999. *
Full HTML Index
SECIOP
MPP
Database
Parallel I/O
Front End Applet
SECIOP
Kerberos authentication
and authorization
Gatekeeper
delegation
HPCC resources ...............
GSSAPI
GSSAPI
Layer 1: secure Web
Layer 2: secure CORBA
Layer 3: Secure access to resources
Policies defined by resource owners
Can use Public Key Infrastructure but for HPC Modernization
use SecurID and Kerberized Workstation
Globus

HTML version of Basic Foils prepared June 27 1999

Foil 58 Integration of Web and Distributed Object Technologies in a New Generation of Grande Programming Environments

From Integration of Web and Distributed Object Technologies in a New Generation of Grande Programming Environments PDPTA Las Vegas -- June 28 1999. *
Full HTML Index
Abstract and Motivation
Portals to Computing and Business
  • General Examples and Architecture of such a Portal
  • Gateway project as a relatively advanced Portal
Technologies of a Portal
  • Multi-tier systems and Pragmatic Object Web
  • Java
  • Role of XML in Portal Construction
Some Services of a Portal
  • Collaboration
  • Security
Portal Programming
Other Examples
  • Modeling and Simulation
  • Image Processing
How to get High Performance in a multi tier model

HTML version of Basic Foils prepared June 27 1999

Foil 59 Implementation Architecture

From Integration of Web and Distributed Object Technologies in a New Generation of Grande Programming Environments PDPTA Las Vegas -- June 28 1999. *
Full HTML Index
So between XML/HTML document and backend Fortran is a bunch of servers linked by XML Messages
Software of this glue (business logic) is built in Java
Servers can either be commercial Web Servers (Apache with servlets), CORBA brokers or custom Servers
  • Servers will be written typically in C++ or more and more Java
Java/CORBA/WIDL Wrapper
Style Sheets and Page Design

HTML version of Basic Foils prepared June 27 1999

Foil 60 Programming the Computing Portal

From Integration of Web and Distributed Object Technologies in a New Generation of Grande Programming Environments PDPTA Las Vegas -- June 28 1999. *
Full HTML Index
We can copy a much reviled model -- Microsoft Word or PowerPoint -- Problem Solving Environments for document preparation -- to get PSE for Computing
XML Widgets are organized into Toolbars ....
Computing abstracted as a set of hierarchical Toolbars Toolbars are defined in XML and rendered in HTML for user interface. XML interpreted on middle tier as some suitable service.
Computing Toolbars include user profile, results, visualization (where "command" could be AVS), collaboration, programming model, HPF, Dataflow, resource specification, resource status, code (application specific)

HTML version of Basic Foils prepared June 27 1999

Foil 61 WebFlow in Gateway

From Integration of Web and Distributed Object Technologies in a New Generation of Grande Programming Environments PDPTA Las Vegas -- June 28 1999. *
Full HTML Index
WebFlow server is given by a hierarchy of containers and components
These are CORBA objects written in Java acting if necessary as proxies to backend resources
WebFlow server hosts users and services
Each user maintains a number of applications composed of custom modules and common services
WebFlow supports both object based and dataflow computing model with visual interface at client and both tasks and their interrelationship defined in XML

HTML version of Basic Foils prepared June 27 1999

Foil 62 Metacomputing and Portals

From Integration of Web and Distributed Object Technologies in a New Generation of Grande Programming Environments PDPTA Las Vegas -- June 28 1999. *
Full HTML Index
We can use similar approaches to consider both seamless interfaces and metacomputing (broadly defined as linkage of multiple jobs simultaneously to address single problem)
  • We used to term use of object portal as HPcc (High Performance commodity computing)
Seamless Interfaces and Metacomputing are both services of a computing portal with metacomputing naturally building on top of seamless interfaces
  • seamless interface allows "one" job (maybe made up of multiple tasks) to run on many backend machines but ONE at a time!

HTML version of Basic Foils prepared June 27 1999

Foil 63 Structure(Architecture) of Portal Applications - I

From Integration of Web and Distributed Object Technologies in a New Generation of Grande Programming Environments PDPTA Las Vegas -- June 28 1999. *
Full HTML Index
Relevant Applications are metaproblems with a mix of module and data parallelism
Modules are decomposed into parts (data parallelism) and composed hierarchically into full applications.They can be the
  • "10,000" separate programs (e.g. structures,CFD ..) used in design of aircraft
  • the various filters used in Khoros based image processing system
  • the ocean-atmosphere components in integrated climate simulation
  • The data-base or file system access of a data-intensive application
  • the objects in a distributed Forces Modeling Event Driven Simulation

HTML version of Basic Foils prepared June 27 1999

Foil 64 Structure(Architecture) of Portal Applications - II

From Integration of Web and Distributed Object Technologies in a New Generation of Grande Programming Environments PDPTA Las Vegas -- June 28 1999. *
Full HTML Index
Modules are "natural" message-parallel components of problem and tend to have less stringent latency and bandwidth requirements than those needed to link data-parallel components
  • modules are what HPF needs task parallelism for
  • Often modules are naturally distributed whereas parts of data parallel decomposition may need to be kept on tightly coupled MPP
Assume that primary goal of metacomputing system (portal programming environment) is to add to existing parallel computing environments, a higher level supporting module parallelism
  • Now if one takes a large CFD problem and divides into a few components, those "coarse grain data-parallel components" will be supported by computational grid technology

HTML version of Basic Foils prepared June 27 1999

Foil 65 Integration of Web and Distributed Object Technologies in a New Generation of Grande Programming Environments

From Integration of Web and Distributed Object Technologies in a New Generation of Grande Programming Environments PDPTA Las Vegas -- June 28 1999. *
Full HTML Index
Abstract and Motivation
Portals to Computing and Business
  • General Examples and Architecture of such a Portal
  • Gateway project as a relatively advanced Portal
Technologies of a Portal
  • Multi-tier systems and Pragmatic Object Web
  • Java
  • Role of XML in Portal Construction
Some Services of a Portal
  • Collaboration
  • Security
Portal Programming
Other Examples
  • Modeling and Simulation
  • Image Processing
How to get High Performance in a multi tier model

HTML version of Basic Foils prepared June 27 1999

Foil 66 JWORB - Java Web Object Request Broker

From Integration of Web and Distributed Object Technologies in a New Generation of Grande Programming Environments PDPTA Las Vegas -- June 28 1999. *
Full HTML Index

HTML version of Basic Foils prepared June 27 1999

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

From Integration of Web and Distributed Object Technologies in a New Generation of Grande Programming Environments PDPTA Las Vegas -- June 28 1999. *
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
First non DMSO implementation of RTI -- HLA (distributed event driven simulation) Runtime at 5% cost(!)

HTML version of Basic Foils prepared June 27 1999

Foil 68 NPAC's Object Web RTI

From Integration of Web and Distributed Object Technologies in a New Generation of Grande Programming Environments PDPTA Las Vegas -- June 28 1999. *
Full HTML Index
HLA is object model for distributed simulation and RTI is distributed event simulation infrastructure developed by DMSO -- Defense Modeling and Simulation Office
NPAC Implemented DMSO RTI as JWORB service with 2 major CORBA objects: RTI Ambassador and Federate Ambassador
Offers natural "DMSO Portal" i.e. Web interfaces to HLA simulations via HTTP or IIOP channels
  • This can link traditional and non traditional HPCC fields such as Integrated Modeling and Testing (IMT) and forces modeling (FMS)
  • Note databases used by IMT naturally supported in middle tier as this comes automatically from commercial base of POW
Attractive model for High Level Interface to Metacomputing as RTI provides a rich event based model for managing and controlling the coarse grain jobs present at middle tier

HTML version of Basic Foils prepared June 27 1999

Foil 69 Integration of Web and Distributed Object Technologies in a New Generation of Grande Programming Environments

From Integration of Web and Distributed Object Technologies in a New Generation of Grande Programming Environments PDPTA Las Vegas -- June 28 1999. *
Full HTML Index
Abstract and Motivation
Portals to Computing and Business
  • General Examples and Architecture of such a Portal
  • Gateway project as a relatively advanced Portal
Technologies of a Portal
  • Multi-tier systems and Pragmatic Object Web
  • Java
  • Role of XML in Portal Construction
Some Services of a Portal
  • Collaboration
  • Security
Portal Programming
Other Examples
  • Modeling and Simulation
  • Image Processing
How to get High Performance in a multi tier model

HTML version of Basic Foils prepared June 27 1999

Foil 70 Portal for Image Processing ?

From Integration of Web and Distributed Object Technologies in a New Generation of Grande Programming Environments PDPTA Las Vegas -- June 28 1999. *
Full HTML Index
Image Processing often involves linkage of many different
components as is familiar from use of Khoros in many projects
  • Indeed WebFlow was modeled on AVS which has similar structure to Khoros but aimed more at visualization
From http://www.khoral.com/core.html

HTML version of Basic Foils prepared June 27 1999

Foil 71 Integration of Web and Distributed Object Technologies in a New Generation of Grande Programming Environments

From Integration of Web and Distributed Object Technologies in a New Generation of Grande Programming Environments PDPTA Las Vegas -- June 28 1999. *
Full HTML Index
Abstract and Motivation
Portals to Computing and Business
  • General Examples and Architecture of such a Portal
  • Gateway project as a relatively advanced Portal
Technologies of a Portal
  • Multi-tier systems and Pragmatic Object Web
  • Java
  • Role of XML in Portal Construction
Some Services of a Portal
  • Collaboration
  • Security
Portal Programming
Other Examples
  • Modeling and Simulation
  • Image Processing
How to get High Performance in a multi tier model

HTML version of Basic Foils prepared June 27 1999

Foil 72 Java Grande Activities in MPI for Java

From Integration of Web and Distributed Object Technologies in a New Generation of Grande Programming Environments PDPTA Las Vegas -- June 28 1999. *
Full HTML Index
mpiJava - Modeled 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 - DRAFT Available
  • More powerful one ignoring Fortran and C heritage!
Reports on Java Grande Web Page http://www.javagrande.org

HTML version of Basic Foils prepared June 27 1999

Foil 73 Java and Parallelism I?

From Integration of Web and Distributed Object Technologies in a New Generation of Grande Programming Environments PDPTA Las Vegas -- June 28 1999. *
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 June 27 1999

Foil 74 Java and Parallelism II?

From Integration of Web and Distributed Object Technologies in a New Generation of Grande Programming Environments PDPTA Las Vegas -- June 28 1999. *
Full HTML Index
Thus "Java plus message passing" form of parallel computing is actually somewhat easier than in Fortran or C.
  • As described, 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 June 27 1999

Foil 75 Hybrid Parallel Computing Model

From Integration of Web and Distributed Object Technologies in a New Generation of Grande Programming Environments PDPTA Las Vegas -- June 28 1999. *
Full HTML Index
Backend Parallel Computing Nodes running Classic HPCC -- MPI becomes Globus to use distributed resources
Middle Control Tier -- JWORB or equivalent POW server runs on all Nodes
Use separation of control and data transfer
to support RTI(IIOP) on control layer and MPI
on fast transport layer simultaneously

HTML version of Basic Foils prepared June 27 1999

Foil 76 Three Possible Implementations of CFD CSM Linkage

From Integration of Web and Distributed Object Technologies in a New Generation of Grande Programming Environments PDPTA Las Vegas -- June 28 1999. *
Full HTML Index
1)Simple Server Approach 2)Classic HPCC Approach
Data and Control
CFD
Structures
Data Only
CFD Server
Structures Server
Control
Only
3)Hybrid Approach with control at server and
data transfer at
HPCC level
Can switch at each mpi_init or at each MPI message

HTML version of Basic Foils prepared June 27 1999

Foil 77 Jini will be a focus of Activities in Java Grande Concurrency Group

From Integration of Web and Distributed Object Technologies in a New Generation of Grande Programming Environments PDPTA Las Vegas -- June 28 1999. *
Full HTML Index
http://www.sun.com/jini/ and also see very interesting Ninja project at UC Berkeley http://ninja.cs.berkeley.edu/
Jini is an innovative distributed computing capability with a classic 3 tier architecture with client, lookup service (called broker or server in other architectures) and service provider (the backend)
  • There are four basic operations: Discovery, Join, Lookup, and Service Invocation
  • Jini Services automatically register with Jini lookup servers and lease an entry there
Jini enables services to be dynamically linked to users of services
  • It is a technology to produce a federation of linked clients and servers
Will carry us from collections of computers to enormous collections of devices -- the next Grande problem!
Bill Joy
Greg Papadopoulos

HTML version of Basic Foils prepared June 27 1999

Foil 78 JiniMPI Architecture

From Integration of Web and Distributed Object Technologies in a New Generation of Grande Programming Environments PDPTA Las Vegas -- June 28 1999. *
Full HTML Index
is MPI Transport Layer
Jini Lookup Service
Jini PC Embryo
Jini PC Embryo
SPMD Program
SPMD Program
SPMD Program
SPMD Program
Jini PC Embryo
Jini PC Embryo
PC Control and Services
RMI
Middle Tier
PC is Parallel Computing
Gateway

HTML version of Basic Foils prepared June 27 1999

Foil 79 What should you do as a Object Web and/or Java Grande believer?

From Integration of Web and Distributed Object Technologies in a New Generation of Grande Programming Environments PDPTA Las Vegas -- June 28 1999. *
Full HTML Index
Don't need to rewrite existing codes in Java!
  • Rather use Java freely at client and "gateway or middle" tier
  • Wrap existing codes as CORBA or Java distributed objects accessed from a Portal
Develop XML standards for the data in your field
  • e.g. earthquake science field is doing this for real time sensor data
Conduct suitable experiments in using Java in complete Grande applications
Make certain your interests are represented in Java Grande Forum
Does this change your research agenda? (different types of compilers, service-based architectures, re-use commodity technologies )
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

© 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 Sat Jun 26 1999