Full HTML for

Scripted foilset HPcc High Performance Computing and Communications based on Commodity Technologies

Given by Geoffrey C. Fox at NIMA HQ Fairfax Virginia on January 12 98. Foils prepared 10 January 98
Outside Index Summary of Material


We discuss role of commodity (Web) technologies in future high performance computing environments
We describe how a network of Web/CORBA/COM servers architecture can naturally support both parallel and distributed computing while
We describe applications to both metacomputing, and parallel computing
We suggest critical importance of CORBA and component based software in HPCC -- Javabeans seem very important
We describe role of collaboration technology in linking computers with people
We describe use of Java as a general coding language for scientific and engineering computation
This approach unifies distributed event driven simulations with classic massively parallel time stepped computations

Table of Contents for full HTML of HPcc High Performance Computing and Communications based on Commodity Technologies

Denote Foils where Image Critical
Denote Foils where HTML is sufficient
denotes presence of Additional linked information which is lightpurpleed out if missing

1 HPcc High Performance Computing based on Commodity Technologies January 12,98 NIMA HQ
2 Abstract of Commodity Technologies in HPCC
3 People and Infrastructure in NPAC
4 Nature of NPAC Programs
5 Some International HPCC Activities
6 Some Concepts Learnt from HPCC Initiative
7 New Initiatives of Current HPCC
8 Some More Detailed Trends in HPCC
9 The Computing Pyramid
10 Pragmatic Object Web Technology Model
11 A Web-based 3-Tier Computing System
12 High Functionality Software Layer
13 Architecture of HPcc Commidity Technology High Performance Computing System
14 Three Roles of Object Web Technologies in Computing
15 Glossary of Terms VI
16 Computational Grid and the Object Web
17 Object Web Software is the Best
18 Synergy of InterNet and IntraNets
19 Structure(Architecture) of Applications - I
20 Structure(Architecture) of Applications - II
21 Metacomputing with Web Architecture
22 One Strategy for a Object Web-based Metacomputing
23 Web-Server based Metacomputer Capabilities at 3 levels
24 General Object Web based Middle Tier Server Architecture
25 WebFlow Globus and FrontEnd (DARP,SciVis) Architecture II
26 Planned Architecture of DARP User Level Debugging and Rapid Prototyping System
27 Proposed Approach to High Performance Messaging
28 Three Possible Implementations of CFD CSM Linkage
29 Picture of JavaBean and JDK1.1 AWT Event Model
30 Some Capabilities of the Object Web (Server) Architecture for Computing
31 Example of WebFlow = AVS/Khoros using Web
32 WebFlow: Image Processing
33 WebFlow Globus and FrontEnd (DARP,SciVis) Architecture II
34 Use of HSV filter in WebFlow
35 Use of Flip Filter in WebFlow
36 Use of Wave Filter in WebFlow
37 Architecture of WebFlow linked to Globus
38 Web Architecture Supports Interpreted Environments
39 Code WebFlow and Image Processing Parameters for Spatial Filter from SciVis in WebFlow from DARP I
40 Code WebFlow and Image Processing Parameters and SciVis Output from DARP I
41 PPT Slide
42 Planned Architecture of DARP User Level Debugging and Rapid Prototyping System
43 Glossary of Terms II
44 Glossary of Terms IV
45 Component Based Programming Environments
46 What are JavaBeans I
47 What are JavaBeans II
48 What is a Module?
49 3 by 3 Diagram of Programming Environments versus System Complexity from PC to HPCC
50 HPCC ComponentWare: Essential Ideas
51 Pure CORBA Architecture for a distributed Information System (There are similar COM and Javabean /RMI Versions)
52 CORBA Software Model
53 A Parallel Computer Viewed as a Single CORBA Object
54 Each Node of a Parallel Computer viewed as a Separate CORBA Object
55 Fig. 13: Each node of a parallel computer instantiated as a Corba object.
56 A Message or Protocol Optimization Bridge
57 Fig 15: A message optimization bridge
58 Integration of DIS with Object Web Based Computing
59 Technology Convergence Roadmap - Overview for Forces Modeling, Integrated Modeling and Testing for DoD
60 DoD M&S Strategy: An Analogy to City Planning
61 How Did We Get Here?
62 Some Terminology
63 Some More Terminology
64 HLA Comprises Three Components: Rules, Runtime Infrastructure, Templates
65 A Federation Must Play by the Rules
66 Each Federate Must Play By the Rules
67 OMT Components
68 Object Class Structure Table (Template)
69 Object Interaction Table (Roughly Methods in CORBA)
70 Architecture Splits Functions Between Simulations and Runtime Infrastructure
71 Tango Collaboration System
72 Tango Screen: Talking Heads and White Board
73 Typical Web Collaboration Architecture
74 The TANGOsim C2 Application
75 Command and Control Screen with Multimedia Message
76 A demo of animated objects controlled by simulation engine of Tango collaborative system - III
77 TANGO Structure of Multidisciplinary Applications
78 Minimal Web based Multidisciplinary Application
79 Comparison of Communication/Linkage Models
80 Java as the Language for Computational Kernels!
81 Some Critical Features of Java as a Programming Language
82 Comparison of Java and Fortran 77/90
83 Java Links the Bottom and Top of Pyramid
84 Java LINPACK Benchmark Page Isn't the Web hardware and software too slow to be interesting for HPCC? -Java- I
85 Java LINPACK Benchmark Page Performance of Java is Dreadful!
86 Java LINPACK Benchmark Page LinPack Java Performance Updated to Sept 30 1996
87 LinPack Java Performance Updated to June 3 1997
88 What Limits Performance of Compiled Java?
89 Isn't the Web hardware and software too slow to be interesting for HPCC? -Java- III
90 Classes of Simulations and their High Performance Needs
91 Java and Parallelism?
92 "Pure" Java Model For Parallelism
93 Mechanisms for Data Parallelism in HPJava

Outside Index Summary of Material



HTML version of Scripted Foils prepared 10 January 98

Foil 1 HPcc High Performance Computing based on Commodity Technologies January 12,98 NIMA HQ

From General NPAC Foils-98A starting January 98 (PowerPoint) NIMA HQ Fairfax Virginia -- January 12 98. *
Full HTML Index
Geoffrey Fox
Syracuse University
NPAC
111 College Place Syracuse NY 13244 4100
3154432163

HTML version of Scripted Foils prepared 10 January 98

Foil 2 Abstract of Commodity Technologies in HPCC

From General NPAC Foils-98A starting January 98 (PowerPoint) NIMA HQ Fairfax Virginia -- January 12 98. *
Full HTML Index
We discuss role of commodity (Web) technologies in future high performance computing environments
We describe how a network of Web/CORBA/COM servers architecture can naturally support both parallel and distributed computing while
We describe applications to both metacomputing, and parallel computing
We suggest critical importance of CORBA and component based software in HPCC -- Javabeans seem very important
We describe role of collaboration technology in linking computers with people
We describe use of Java as a general coding language for scientific and engineering computation
This approach unifies distributed event driven simulations with classic massively parallel time stepped computations

HTML version of Scripted Foils prepared 10 January 98

Foil 3 People and Infrastructure in NPAC

From General NPAC Foils-98A starting January 98 (PowerPoint) NIMA HQ Fairfax Virginia -- January 12 98. *
Full HTML Index
15 Ph.D. level Researchers and 5 at masters level
About 20 funded students, others "volunteers"
Local and International Collaborators
  • Major DoD activities with Modernization Program (PET) -- ASC ARL CEWES
  • Member of leading NSF (NCSA) and Darpa activities
  • Work with collaborators in Europe and China
State of the Art Practical Computational facilities focused on high quality information subsystems and networks
  • Large enough computers for rapid prototyping
  • PC and workstation clusters
Theme is leading edge computer science and its applications of relevance to real world for academia, business and community

HTML version of Scripted Foils prepared 10 January 98

Foil 4 Nature of NPAC Programs

From General NPAC Foils-98A starting January 98 (PowerPoint) NIMA HQ Fairfax Virginia -- January 12 98. *
Full HTML Index
Basic Information Technology -- Databases, Corba, Web, Collaboration, Networking
Healthcare/Human Computer Interfaces -- "Center for Really Neat Research" -- work with disabled users
Education Technology -- TANGO, Video Servers WebWisdom etc.
High Performance Computing and Communication Research -- Programming Environments and Applications and links of HPCC to Web and distributed object (CORBA)Technology
InfoMall Technology Transfer
  • 4 spin offs from NPAC in last year plus existing CNY companies
InfoMall MidHudson supports technology in MidHudson (exIBMers)
  • about 10 very active companies
Education Delivery
  • NPAC teaches about 4 full courses each semester and so uses its own technology!

HTML version of Scripted Foils prepared 10 January 98

Foil 5 Some International HPCC Activities

From General NPAC Foils-98A starting January 98 (PowerPoint) NIMA HQ Fairfax Virginia -- January 12 98. *
Full HTML Index
There are national HPCC programs in:
  • USA
  • China
  • Europe
  • Japan
The USA activities include
  • NCSA and NPACI NSF Centers
  • DoE ASCI Program
  • DoD Modernization Program involving 4 major centers and 11 application areas (CTA's)
    • Dayton (Wright Patterson Airforce Base), Aberdeen(ARL), CEWES (Vicksburg), NAVO (Stennis space Center in Mississippi)

HTML version of Scripted Foils prepared 10 January 98

Foil 6 Some Concepts Learnt from HPCC Initiative

From General NPAC Foils-98A starting January 98 (PowerPoint) NIMA HQ Fairfax Virginia -- January 12 98. *
Full HTML Index
Ideas from HPCC research Good!
Not enough people/funding in field to implement robust production systems
Must re-use as much software (including infrastructure software) as possible
Similarly must build HPCC software in a modular fashion with small enough modules that smallish groups can build effectively
Different modules are likely to use different base technologies (Fortran v Java v C++ etc.) and so interoperability essential!
No silver bullet on the horizon - maybe pessimistic but implies better HPCC environments implies better implementations of existing ideas.
Need to support both production use of MPP's and "rapid prototyping" in development of new applications - latter is not well supported by current HPCC software systems even though need parallel support for prototyping of new 3D simulations

HTML version of Scripted Foils prepared 10 January 98

Foil 7 New Initiatives of Current HPCC

From General NPAC Foils-98A starting January 98 (PowerPoint) NIMA HQ Fairfax Virginia -- January 12 98. *
Full HTML Index
Some of current new developments focus on
  • "Data Intensive" applications which merge data processing (from instruments) and simulation
  • Distributed Computing or Metacomputing
    • Geographically distributed computers
  • Collaboration
    • Linking Computers and People together
  • Multidisciplinary Problems
    • Link several Codes and Disciplines together to solve a large problem with several components

HTML version of Scripted Foils prepared 10 January 98

Foil 8 Some More Detailed Trends in HPCC

From General NPAC Foils-98A starting January 98 (PowerPoint) NIMA HQ Fairfax Virginia -- January 12 98. *
Full HTML Index
Use of Commodity hardware: PC's offer best performance per dollar (Gigaflop for $30,000)
Use of Commodity software: Windows NT, COM, CORBA, web, Java, VRML ....
Use of Web to produce Seamless (universal) computer interfaces
Java replacing C++ and Fortran for Numerical Computation
Use of databases and collaboration technology to link people, databases and simulation
Integration of parallel and distributed computing
Use of distributed objects (CORBA) to encapsulated remote services

HTML version of Scripted Foils prepared 10 January 98

Foil 9 The Computing Pyramid

From General NPAC Foils-98A starting January 98 (PowerPoint) NIMA HQ Fairfax Virginia -- January 12 98. *
Full HTML Index
Bottom of Pyramid has 1000 times dollar value and compute power of best supercomputer (tip of pyramid) but supercomputer has high performance network to support close synchronization needed by classic parallel algorithms
Use of
Web Technologies
is naturally a

HTML version of Scripted Foils prepared 10 January 98

Foil 10 Pragmatic Object Web Technology Model

From General NPAC Foils-98A starting January 98 (PowerPoint) NIMA HQ Fairfax Virginia -- January 12 98. *
Full HTML Index
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
COM(Microsoft) and CORBA(world) are competing cross platform and language object technologies
  • Javabeans plus RMI is 100% Java distributed object technology
Need to abstract entities (Web Pages, simulations) and services as objects with methods(interfaces)
How do we do this while infrastructure still being designed!
One can anticipate this by building systems in terms of Javabeans e.g. develop Web-based databases with Javabeans using standard JDBC (Java Database Connectivity) interfaces
Design and Use Java Framework for Computing which will become a "CORBA facility"
  • Do not sacrifice significant performance!

HTML version of Scripted Foils prepared 10 January 98

Foil 11 A Web-based 3-Tier Computing System

From General NPAC Foils-98A starting January 98 (PowerPoint) NIMA HQ Fairfax Virginia -- January 12 98. *
Full HTML Index
Middle Tier
Basic Web Server
Custom Web Server
TP Server
Business Transaction Management
You Write Software
at Client and Server
Old and New Useful Backend Software

HTML version of Scripted Foils prepared 10 January 98

Foil 12 High Functionality Software Layer

From General NPAC Foils-98A starting January 98 (PowerPoint) NIMA HQ Fairfax Virginia -- January 12 98. *
Full HTML Index
This is "middleware" which is implemented in simplest form as a network of Java Servers
  • Web based distributed or Metacomputing based on linking mobile Web modules
  • Collaboration as in Habanero or Tango
  • Support services including databases, object brokers, instruments, MPP's etc.
Access
Resources
Store
Multimedia Information
Collaboration Server
File Systems
and/or Database
Object Broker
Database
Simulation (Network-enabled
servers such as NEOS, Netsolve)
Sequential
or Parallel
Computer

HTML version of Scripted Foils prepared 10 January 98

Foil 13 Architecture of HPcc Commidity Technology High Performance Computing System

From General NPAC Foils-98A starting January 98 (PowerPoint) NIMA HQ Fairfax Virginia -- January 12 98. *
Full HTML Index

HTML version of Scripted Foils prepared 10 January 98

Foil 14 Three Roles of Object Web Technologies in Computing

From General NPAC Foils-98A starting January 98 (PowerPoint) NIMA HQ Fairfax Virginia -- January 12 98. *
Full HTML Index
1)One can "just" use Object Web technologies as a software infrastructure for building parallel, distributed or sequential computing environments which can have a very different architecture from the Web
  • e.g. write software in Java
  • e.g. adopt interfaces/standards such as JDBC, VRML, Java3D
2)Harness the power of the Web as a computer -- use up the idle cycles on the WebTV's in every home -- typically a Web Client based system
  • We will not discuss this here
3)One can view the Object Web as a distributed information system with modest performance and build a metacomputing system with the Web architecture
  • we "only" need to enhance the Object Web to get high performance
  • several ways of doing this -- common feature is that they all inherit rich web capabilities -- typically Web or Object Server based
  • By inheriting Object Web architecture, naturally track evolving and improving commodity technology base

HTML version of Scripted Foils prepared 10 January 98

Foil 15 Glossary of Terms VI

From General NPAC Foils-98A starting January 98 (PowerPoint) NIMA HQ Fairfax Virginia -- January 12 98. *
Full HTML Index
HPCC (High Performance Computing and Communication)
  • Originally a formal federal initiative but even after this ended in 1996, this term is used to describe the field devoted to solving large-scale problems with powerful computers and networks.
Computational Grid
  • A recent term used by the HPCC community to describe large scale distributed computing which draws on analogies with electrical power grids as enabling a revolution
HPcc (High Performance commodity computing)
  • NPAC project to develop a commodity computing based high performance computing software environment. Note that we have dropped "communications" referred to in the classic HPCC acronym. This is not because it is unimportant but rather because a commodity approach to high performance networking is already being adopted. We focus on high level services such as programming, data access and visualization that we abstract to the rather wishy-washy "computing" in the HPcc acronym.

HTML version of Scripted Foils prepared 10 January 98

Foil 16 Computational Grid and the Object Web

From General NPAC Foils-98A starting January 98 (PowerPoint) NIMA HQ Fairfax Virginia -- January 12 98. *
Full HTML Index
Larry Smarr and NCSA Collaboration have stressed analogy of deployment of computer/communication technology with impact that electrical and transportation grids had
  • I.e. they enabled revolutions in society
  • What is relative role of High-end and Commodity end in Grid?
The transportation system was built using lessons from and feed up/down from Sports cars, Cadillacs, Model T's, Ford Escorts etc.
Computational Grid will be shaped by and shape all 5 classes of applications on previous foil
  • Everybody would perhaps agree on general statement but perhaps disagree on importance of it
A highish end computational grid will in some sense (to be disagreed on) be influenced by and influence the "Object Web" which is here defined as "mass-market"/business IntraNet (low to low) use of Internet/distributed Information Systems

HTML version of Scripted Foils prepared 10 January 98

Foil 17 Object Web Software is the Best

From General NPAC Foils-98A starting January 98 (PowerPoint) NIMA HQ Fairfax Virginia -- January 12 98. *
Full HTML Index
By definition, Object Web software is and will even more so, be the "best" software ever built because it has the largest market and greatest leverage of investment dollars
  • Further most creative business model - harness the world's best minds together with open interfaces
  • Note previously PC software and IBM business OS were high quality software but not so open and not a complete model
On should build upwards from the "democratic Web"
  • e.g. up from POTS --> ISDN / Cable Modem --> ...
  • Not down from <---- ATM
This allows you to both deliver your application to the general public (when required) and leverage best software

HTML version of Scripted Foils prepared 10 January 98

Foil 18 Synergy of InterNet and IntraNets

From General NPAC Foils-98A starting January 98 (PowerPoint) NIMA HQ Fairfax Virginia -- January 12 98. *
Full HTML Index

HTML version of Scripted Foils prepared 10 January 98

Foil 19 Structure(Architecture) of Applications - I

From General NPAC Foils-98A starting January 98 (PowerPoint) NIMA HQ Fairfax Virginia -- January 12 98. *
Full HTML Index
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 Scripted Foils prepared 10 January 98

Foil 20 Structure(Architecture) of Applications - II

From General NPAC Foils-98A starting January 98 (PowerPoint) NIMA HQ Fairfax Virginia -- January 12 98. *
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 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" can be supported by computational grid technology
  • so no clean division but coarse grain modules are general goal!

HTML version of Scripted Foils prepared 10 January 98

Foil 21 Metacomputing with Web Architecture

From General NPAC Foils-98A starting January 98 (PowerPoint) NIMA HQ Fairfax Virginia -- January 12 98. *
Full HTML Index
It is natural to base on either a network of Web Clients or Web Servers
  • Not clear if distinction (in capability) between web servers and clients will remain as clients are adding functionality and any PC can run a server as well as a client!
Web Client Models Include SuperWeb (Javelin) from UCSB and are well illustrated by the January 1997 hotwired article "Suck your Mips".
Greater functionality but less power and pervasiveness is a pure Web Server model as proposed by NPAC
  • Can either use in controlled (IntraNets or run a server on every node of your MPP) or uncontrolled (all the world wide web hosts) fashion
  • Uncontrolled mode has interesting economic implications and is "controversial" for security and network performance area
Note total compute power in all Web "clients" is about 100 times that in all Central Supercomputers

HTML version of Scripted Foils prepared 10 January 98

Foil 22 One Strategy for a Object Web-based Metacomputing

From General NPAC Foils-98A starting January 98 (PowerPoint) NIMA HQ Fairfax Virginia -- January 12 98. *
Full HTML Index
Object Web Software provides a high functionality but modest performance distributed computing (Metacomputing) environment based on either Web (soon to be CORBA IIOP and HTTP/Java Socket) Servers or Clients
Here we will explore an architecture using servers for control as higher functionality than clients although currently less broadly deployed
  • Some "parallel" computing problems (e.g. embarrassingly parallel ones) can "immediately" use Web as a parallel engine with no performance enhancements
Object Web Only addresses Integration of already decomposed parts!
  • Inherit and extend decomposition (data-parallel) technology from HPCC (parallel compiler and library technology)
  • Compose / Integrate Modules with Web Technology
  • Inherit all the pervasive (not high performance) services from the Web

HTML version of Scripted Foils prepared 10 January 98

Foil 23 Web-Server based Metacomputer Capabilities at 3 levels

From General NPAC Foils-98A starting January 98 (PowerPoint) NIMA HQ Fairfax Virginia -- January 12 98. *
Full HTML Index
1:User View: Interoperable Web Interface accessing services through Java Compute Services Framework
2:Network of Java Servers provide distributed services with databases, compute engines, collaboratories, object brokers, instruments
  • All control at this level
  • Some coarse grain computing
Back end "Number Crunchers" linked either by communication at level 2 (slowish but easy) or at level 3 (high performance but more work)
Compute processes linked either to servers or together by MPI if parallel
Java Servers

HTML version of Scripted Foils prepared 10 January 98

Foil 24 General Object Web based Middle Tier Server Architecture

From General NPAC Foils-98A starting January 98 (PowerPoint) NIMA HQ Fairfax Virginia -- January 12 98. *
Full HTML Index
We have a set of Services hosted by Object Web Servers which form the middleware and accessed by clients
Groups of clients (electronic societies) are linked by Java server based collaboration systems such as TANGO or Habanero
Access
Resources
Store
Multimedia Information
Collaboration Server
File Systems
and/or Database
Object Broker
Database
Simulation
e.g. NEOS
Netsolve
Computer
Person2
Shared
WhiteBoard
Shared Client Appl
Person1
General User

HTML version of Scripted Foils prepared 10 January 98

Foil 25 WebFlow Globus and FrontEnd (DARP,SciVis) Architecture II

From General NPAC Foils-98A starting January 98 (PowerPoint) NIMA HQ Fairfax Virginia -- January 12 98. *
Full HTML Index

HTML version of Scripted Foils prepared 10 January 98

Foil 26 Planned Architecture of DARP User Level Debugging and Rapid Prototyping System

From General NPAC Foils-98A starting January 98 (PowerPoint) NIMA HQ Fairfax Virginia -- January 12 98. *
Full HTML Index

HTML version of Scripted Foils prepared 10 January 98

Foil 27 Proposed Approach to High Performance Messaging

From General NPAC Foils-98A starting January 98 (PowerPoint) NIMA HQ Fairfax Virginia -- January 12 98. *
Full HTML Index
As a first step, implement multi-module systems with each module linked via Java Servers
  • Modest performance (non - parallel) linkage with easy database, collaborative system etc. access
Where necessary "escape" down to classic HPCC technologies for data transport keeping control at server level
  • e.g. following foil illustrates this for a typical two module coupled CFD(fluids) and CSM(structures) problem
  • e.g. JDBC would access a parallel database in same way as sequential database at control level. However backend would implement "parallel query option" transparently to user.
This seems very convenient in JDK 1.1 "event model" which is mechanism used by Javabeans to communicate
  • this is illustrated in foil after next!

HTML version of Scripted Foils prepared 10 January 98

Foil 28 Three Possible Implementations of CFD CSM Linkage

From General NPAC Foils-98A starting January 98 (PowerPoint) NIMA HQ Fairfax Virginia -- January 12 98. *
Full HTML Index
1)Simple Server Approach 2)Classic HPCC Approach
3)Hybrid Approach with control at server and
data transfer at
HPCC level

HTML version of Scripted Foils prepared 10 January 98

Foil 29 Picture of JavaBean and JDK1.1 AWT Event Model

From General NPAC Foils-98A starting January 98 (PowerPoint) NIMA HQ Fairfax Virginia -- January 12 98. *
Full HTML Index
4)Invoke High Performance Message Transfer between Observers and Sources specified in Message Event
Server Tier
Data Source
Data Sink (Observers)
5)Actual Data Transfer
High Performance Tier
2)Prepare
Message Event in Source Control
1)Register Observers with Listener

HTML version of Scripted Foils prepared 10 January 98

Foil 30 Some Capabilities of the Object Web (Server) Architecture for Computing

From General NPAC Foils-98A starting January 98 (PowerPoint) NIMA HQ Fairfax Virginia -- January 12 98. *
Full HTML Index
Here are some examples of using our approach where large scale industry investment in Web technology appears to add significant value to metacomputing systems built with Web architecture
  • We illustrate some of them in following foils
  • many also apply to parallel computing environments
Multidisciplinary and Computational Steering Applications
  • link people data computation with collaboratory server as part of system
Visual and Interpreted Programming Environments
  • MATLAB/AVS/ Khoros like Systems (coarse grain Software Integration)
  • Software Component based approaches
Technologies to get High Performance CORBA
Integration with Forces Modeling (Distributed Event driven Simulation)
Integration with Networked enabled servers such as NEOS and Netsolve
  • These are naturally implemented using CORBA as are
  • Software repositories (RIB from National High Performance Software Exchange)

HTML version of Scripted Foils prepared 10 January 98

Foil 31 Example of WebFlow = AVS/Khoros using Web

From General NPAC Foils-98A starting January 98 (PowerPoint) NIMA HQ Fairfax Virginia -- January 12 98. *
Full HTML Index
Simulation
Basic Display
Image Filter
is another
module
Output Display after Filter
Runs as a
parallel
module
using
Java Server
host

HTML version of Scripted Foils prepared 10 January 98

Foil 32 WebFlow: Image Processing

From General NPAC Foils-98A starting January 98 (PowerPoint) NIMA HQ Fairfax Virginia -- January 12 98. *
Full HTML Index
Bunch of Filters and Displays
defined in
Java Graph editor and
running on grid of Java Servers
Original Image

HTML version of Scripted Foils prepared 10 January 98

Foil 33 WebFlow Globus and FrontEnd (DARP,SciVis) Architecture II

From General NPAC Foils-98A starting January 98 (PowerPoint) NIMA HQ Fairfax Virginia -- January 12 98. *
Full HTML Index

HTML version of Scripted Foils prepared 10 January 98

Foil 34 Use of HSV filter in WebFlow

From General NPAC Foils-98A starting January 98 (PowerPoint) NIMA HQ Fairfax Virginia -- January 12 98. *
Full HTML Index

HTML version of Scripted Foils prepared 10 January 98

Foil 35 Use of Flip Filter in WebFlow

From General NPAC Foils-98A starting January 98 (PowerPoint) NIMA HQ Fairfax Virginia -- January 12 98. *
Full HTML Index

HTML version of Scripted Foils prepared 10 January 98

Foil 36 Use of Wave Filter in WebFlow

From General NPAC Foils-98A starting January 98 (PowerPoint) NIMA HQ Fairfax Virginia -- January 12 98. *
Full HTML Index

HTML version of Scripted Foils prepared 10 January 98

Foil 37 Architecture of WebFlow linked to Globus

From General NPAC Foils-98A starting January 98 (PowerPoint) NIMA HQ Fairfax Virginia -- January 12 98. *
Full HTML Index

HTML version of Scripted Foils prepared 10 January 98

Foil 38 Web Architecture Supports Interpreted Environments

From General NPAC Foils-98A starting January 98 (PowerPoint) NIMA HQ Fairfax Virginia -- January 12 98. *
Full HTML Index
Note Java also integrates compiled and interpreted approaches and so leads to more convenient programming environments
  • Develop and Test with Interpreters
  • Production Run with high performance using compilers and optimized libraries
JavaScript is a fully interpreted language but not really Java
Applets are half-way between traditional compiled and interpreted approaches
Web "systems" can behave like Interpreters with interactive commands at client (gives Web version of MATLAB)
Web Client
including
Java Applets
Web Server
Java/Fortran/C++
Application Backend

HTML version of Scripted Foils prepared 10 January 98

Foil 39 Code WebFlow and Image Processing Parameters for Spatial Filter from SciVis in WebFlow from DARP I

From General NPAC Foils-98A starting January 98 (PowerPoint) NIMA HQ Fairfax Virginia -- January 12 98. *
Full HTML Index

HTML version of Scripted Foils prepared 10 January 98

Foil 40 Code WebFlow and Image Processing Parameters and SciVis Output from DARP I

From General NPAC Foils-98A starting January 98 (PowerPoint) NIMA HQ Fairfax Virginia -- January 12 98. *
Full HTML Index

HTML version of Scripted Foils prepared 10 January 98

Foil 41 PPT Slide

From General NPAC Foils-98A starting January 98 (PowerPoint) NIMA HQ Fairfax Virginia -- January 12 98. *
Full HTML Index
A screen dump from a Scivis Session

HTML version of Scripted Foils prepared 10 January 98

Foil 42 Planned Architecture of DARP User Level Debugging and Rapid Prototyping System

From General NPAC Foils-98A starting January 98 (PowerPoint) NIMA HQ Fairfax Virginia -- January 12 98. *
Full HTML Index

HTML version of Scripted Foils prepared 10 January 98

Foil 43 Glossary of Terms II

From General NPAC Foils-98A starting January 98 (PowerPoint) NIMA HQ Fairfax Virginia -- January 12 98. *
Full HTML Index
CORBA (Common Object Request Broker Architecture)
  • An approach to cross-platform cross-language distributed object developed by a broad industry group, the OMG. CORBA specifies basic services (such as naming, trading, persistence) the protocol IIOP used by communicating ORBS, and is developing higher level facilities which are object architectures for specialized domains such as banking.
COM (Common Object Model)
  • Microsoft's windows object model, which is being extended to distributed systems and multi-tiered architectures. ActiveX controls are an important class of COM object, which implement the component model of software. The distributed version of COM used to be called DCOM.
ComponentWare
  • An approach to software engineering with software modules developed as objects with particular design frameworks (rules for naming and module architecture) and with visual editors both to interface to properties of each module and also to link modules together.

HTML version of Scripted Foils prepared 10 January 98

Foil 44 Glossary of Terms IV

From General NPAC Foils-98A starting January 98 (PowerPoint) NIMA HQ Fairfax Virginia -- January 12 98. *
Full HTML Index
Javabean
  • Part of the Java 1.1 enhancements defining design frameworks (particular naming conventions) and inter Javabean communication mechanisms for Java components with standard (Bean box) or customized visual interfaces (property editors). Enterprise Javabeans are Javabeans enhanced for server side operation with capabilities such as multi user support. Javabeans are Java's component technology and in this sense are more analogous to ActiveX than either COM or CORBA. However Javabeans augmented with RMI can be used to build a "pure Java" distributed object model.
RMI (Remote Method Invocation)
  • A somewhat controversial part of Java 1.1 in the enterprise framework which specifies the remote access to Java objects with a generalization of the UNIX RPC (Remote Procedure Call).

HTML version of Scripted Foils prepared 10 January 98

Foil 45 Component Based Programming Environments

From General NPAC Foils-98A starting January 98 (PowerPoint) NIMA HQ Fairfax Virginia -- January 12 98. *
Full HTML Index
Visual Basic/C++/J++ and ActiveX or Beanboxes with Javabeans give visual approach to software objects
  • specify properties and linkage
Enterprise Javabeans and COM are extending this to distributed computing
Using Web technologies for grid and building modules out of (whatever Javabeans/COM evolves to) allows one to deliver to user HPCC programming environments with comparable friendliness to those in PC world

HTML version of Scripted Foils prepared 10 January 98

Foil 46 What are JavaBeans I

From General NPAC Foils-98A starting January 98 (PowerPoint) NIMA HQ Fairfax Virginia -- January 12 98. *
Full HTML Index
They are Java's implementation of "component-based" visual programming
This modern software engineering technique produces a new approach to libraries which become a "software component infrastructure(SCI)"
There is a visual interface to discovery of and setting of values of and information about parameters used in a particular software component
JavaBeans uses the event model of JDK1.1 to communicate between components
  • This is exactly same as new AWT event model and shows power of this new model

HTML version of Scripted Foils prepared 10 January 98

Foil 47 What are JavaBeans II

From General NPAC Foils-98A starting January 98 (PowerPoint) NIMA HQ Fairfax Virginia -- January 12 98. *
Full HTML Index
The visual interface allows inspection of and implementation of both individual beans and their linkage . This visual construction of linkage allows one to form nontrivial programs with multiple communicating components
Apart from the event mechanism which is a communication/linkage mechanism, ComponentWare (and JavaBeans in particular) "just" give a set of universal rules (needed for interoperability) for rather uncontroversial (albeit good) object-oriented and visual programming practices
  • Hiding of properties which can only be accessed by methods (which must have special names)
  • Display of these properties (as given by methods)

HTML version of Scripted Foils prepared 10 January 98

Foil 48 What is a Module?

From General NPAC Foils-98A starting January 98 (PowerPoint) NIMA HQ Fairfax Virginia -- January 12 98. *
Full HTML Index
In general it is any process, but it is convenient (in the pure form of our web approach) to view each module as a Javabean (or equivalent component)
The Javabean can wrap existing Fortran, Perl or C C++ code by either using native methods or by invoking the code as a separate process
Modules as Javabeans allow them to be stored as objects and inspected visually
  • They can be part of a visual component based programming environment
Wrapping existing code as Javabeans is a good way of renovating "legacy code" so can be used more easily in future!
  • Can document for later use using standard property methods in Javabeans

HTML version of Scripted Foils prepared 10 January 98

Foil 49 3 by 3 Diagram of Programming Environments versus System Complexity from PC to HPCC

From General NPAC Foils-98A starting January 98 (PowerPoint) NIMA HQ Fairfax Virginia -- January 12 98. *
Full HTML Index

HTML version of Scripted Foils prepared 10 January 98

Foil 50 HPCC ComponentWare: Essential Ideas

From General NPAC Foils-98A starting January 98 (PowerPoint) NIMA HQ Fairfax Virginia -- January 12 98. *
Full HTML Index
Large gains in HPCC user productivity will be attained if we can integrate the ideas and technologies of modern (PC) visual programming with classical HPCC approaches
Use of important emerging Web and CORBA technology allows HPCC object (C++.,Java) and visual (CODE, Hence, WebFlow, AVS, Khoros) systems to be enhanced to become parallel component-based visual programming systems.
CORBA does not incorporate HPCC but as it specifies services and not implementation,
  • One can build a high performance HP-CORBA environment where we separate a high functionality modest performance control layer from an optional high performance method invocation layer.
HP-CORBA can be built on Nexus and Globus and it will allow HPCC users access to any CORBA service with an option for high performance when necessary.
The NPAC WebFlow technology can be combined with emerging JavaBean technology to produce a prototype HPcomponent system.
Note industry is ahead with sequential ComponentWare but is only now moving with activeX to distributed systems. HPCC already has visual distributed environments. So HPCC need not be behind if it generalizes modules to Javabeans

HTML version of Scripted Foils prepared 10 January 98

Foil 51 Pure CORBA Architecture for a distributed Information System (There are similar COM and Javabean /RMI Versions)

From General NPAC Foils-98A starting January 98 (PowerPoint) NIMA HQ Fairfax Virginia -- January 12 98. *
Full HTML Index

HTML version of Scripted Foils prepared 10 January 98

Foil 52 CORBA Software Model

From General NPAC Foils-98A starting January 98 (PowerPoint) NIMA HQ Fairfax Virginia -- January 12 98. *
Full HTML Index
WorkFlow
ORB
System Management
HPcc ?
..............
Trader
Security
..........
Naming
Persistence
Oil & Gas
DMSO Modeling and Simulation
Imagery
Banking
Manufacturing
......
......
Services
Horizontal Facilities
Vertical
Facilities
Standard Interfaces
i.e. Frameworks

HTML version of Scripted Foils prepared 10 January 98

Foil 53 A Parallel Computer Viewed as a Single CORBA Object

From General NPAC Foils-98A starting January 98 (PowerPoint) NIMA HQ Fairfax Virginia -- January 12 98. *
Full HTML Index
This is classic host-node computing model
Host is logically distinct but can be on same machine as a "node"

HTML version of Scripted Foils prepared 10 January 98

Foil 54 Each Node of a Parallel Computer viewed as a Separate CORBA Object

From General NPAC Foils-98A starting January 98 (PowerPoint) NIMA HQ Fairfax Virginia -- January 12 98. *
Full HTML Index

HTML version of Scripted Foils prepared 10 January 98

Foil 55 Fig. 13: Each node of a parallel computer instantiated as a Corba object.

From General NPAC Foils-98A starting January 98 (PowerPoint) NIMA HQ Fairfax Virginia -- January 12 98. *
Full HTML Index
The "Host" is logically a separate Corba object but could of course be instantiated on the same computer as one or more of the nodes. Using the protocol bridge of fig. 15, one could address objects using Corba with local parallel computing nodes invoking MPI and remote accesses using Corba where its functionality (access to very many services) is valuable.
From HPcc as High Performance Commodity Components

HTML version of Scripted Foils prepared 10 January 98

Foil 56 A Message or Protocol Optimization Bridge

From General NPAC Foils-98A starting January 98 (PowerPoint) NIMA HQ Fairfax Virginia -- January 12 98. *
Full HTML Index

HTML version of Scripted Foils prepared 10 January 98

Foil 57 Fig 15: A message optimization bridge

From General NPAC Foils-98A starting January 98 (PowerPoint) NIMA HQ Fairfax Virginia -- January 12 98. *
Full HTML Index
This allows MPI (or equivalently Nexus, Globus or PVM) and commodity technologies to coexist with a seamless user interface.
From HPcc as High Performance Commodity Components

HTML version of Scripted Foils prepared 10 January 98

Foil 58 Integration of DIS with Object Web Based Computing

From General NPAC Foils-98A starting January 98 (PowerPoint) NIMA HQ Fairfax Virginia -- January 12 98. *
Full HTML Index
DoD modeling community is currently evolving towards the HLA(High level Architecture) framework with the RTI (Run Time Infrastructure) based communication bus.
The goal of HLA/RTI is to enhance interoperability across more diverse simulators than in the DIS realm, ranging from real-time to time-stepped to event-driven paradigms.
HLA defines a set of rules governing how simulators (federates) interact with each others. Federates describe their objects via Object Model Template (OMT) and agree on a common Federation Object Model (FOM).
The overall HLA/RTI model is strongly influenced by the CORBA architecture and in fact the current prototype development is indeed CORBA based.
We suggest that next step is to combine CORBA2 (Initial HLA/RTI is CORBA1) with NPS prototype ideas to give a fully object and Web integrated event driven simulation environment.
Java3D is natural visualization environment in this scenario

HTML version of Scripted Foils prepared 10 January 98

Foil 59 Technology Convergence Roadmap - Overview for Forces Modeling, Integrated Modeling and Testing for DoD

From General NPAC Foils-98A starting January 98 (PowerPoint) NIMA HQ Fairfax Virginia -- January 12 98. *
Full HTML Index

HTML version of Scripted Foils prepared 10 January 98

Foil 60 DoD M&S Strategy: An Analogy to City Planning

From General NPAC Foils-98A starting January 98 (PowerPoint) NIMA HQ Fairfax Virginia -- January 12 98. *
Full HTML Index

HTML version of Scripted Foils prepared 10 January 98

Foil 61 How Did We Get Here?

From General NPAC Foils-98A starting January 98 (PowerPoint) NIMA HQ Fairfax Virginia -- January 12 98. *
Full HTML Index
88 89 90 91 92 93 94 95 96
Technical
Management
Limited scope simulations, little interoperability prior to 1988
DSB: Computer Applications
to Training & Wargaming
DIS Standards begun
ALSP- linking of Service wargames
DEPSECDEF Memo
EXCIMS and DMSO established
SIMNET
HLA Baseline approved
HLA begun
Service M&S Offices established
DoDD 5000.59

HTML version of Scripted Foils prepared 10 January 98

Foil 62 Some Terminology

From General NPAC Foils-98A starting January 98 (PowerPoint) NIMA HQ Fairfax Virginia -- January 12 98. *
Full HTML Index
Federation: a set of simulations, a common federation object model, and supporting RTI, that are used together to form a larger model or simulation
Federate: a member of a federation; one simulation
  • Could represent one platform, like a cockpit simulator
  • Could represent an aggregate, like an entire national simulation of air traffic flow
A federate could be large or small grain -- for initial activity of integrating existing pre HLA simulations, a federate is typically large grain size
However HLA is a "complete" model and one could build simulations where a federate is finr grain object and federation is simulation of these interacting objects
Federation Execution: a session of a federation executing together

HTML version of Scripted Foils prepared 10 January 98

Foil 63 Some More Terminology

From General NPAC Foils-98A starting January 98 (PowerPoint) NIMA HQ Fairfax Virginia -- January 12 98. *
Full HTML Index
Object: An entity in the domain being simulated by a federation that
  • Is of interest to more than one federate (if internal to an existing non HLA compliant simulation, then this is an object but not an HLA object)
  • Is handled by the Runtime Infrastructure (RTI)
Interaction: a non-persistent, time-tagged event generated by one federate and received by others (through RTI)
Attribute: A named datum (defined in Federation Object Model) associated with each instance of a class of objects
Parameter: A named datum (defined in Federation Object Model) associated with each instance of a class of interactions

HTML version of Scripted Foils prepared 10 January 98

Foil 64 HLA Comprises Three Components: Rules, Runtime Infrastructure, Templates

From General NPAC Foils-98A starting January 98 (PowerPoint) NIMA HQ Fairfax Virginia -- January 12 98. *
Full HTML Index
HLA Rules: A set of rules which must be followed to achieve proper interaction of federates during a federation execution. These describe the responsibilities of federates and of the runtime infrastructure in HLA federations
  • HLA Rules correspond roughly to a CORBA vertical facility
Interface Specification: Definition of the interface services between the runtime infrastructure and the federates subject to the HLA
  • In CORBA, this would correspond to services
Object Model Templates: The prescribed common method for recording the information contained in the required HLA Object Model for each federation and federate
  • In CORBA, this would correspond to the IDL specification of objects but in HLA, objects are specified as tables of properties which are linked by interactions whereas in CORBA, one uses methods of objects.

HTML version of Scripted Foils prepared 10 January 98

Foil 65 A Federation Must Play by the Rules

From General NPAC Foils-98A starting January 98 (PowerPoint) NIMA HQ Fairfax Virginia -- January 12 98. *
Full HTML Index
1. Federations shall have an HLA Federation Object Model (FOM), documented in accordance with the HLA Object Model Template (OMT)
A FOM is like a particular facility in CORBA
2. In a federation, all representation of objects in the FOM shall be in the federates, not in the runtime infrastructure (RTI)
3. During a federation execution, all exchange of FOM data among federates shall occur via the RTI
4. During a federation execution, federates shall interact with the runtime infrastructure (RTI) in accordance with the HLA interface specification
5. During a federation execution, an attribute of an instance of an object shall be owned by only one federate at any given time

HTML version of Scripted Foils prepared 10 January 98

Foil 66 Each Federate Must Play By the Rules

From General NPAC Foils-98A starting January 98 (PowerPoint) NIMA HQ Fairfax Virginia -- January 12 98. *
Full HTML Index
6. Federates shall have an HLA Simulation Object Model (SOM), documented in accordance with the HLA Object Model Template (OMT)
7. Federates shall be able to update and/or reflect any attributes of objects in their SOM and send and/or receive SOM object interactions externally, as specified in their SOM
8. Federates shall be able to transfer and/or accept ownership of attributes dynamically during a federation execution, as specified in their SOM
9. Federates shall be able to vary the conditions (e.g., thresholds) under which they provide updates of attributes of objects, as specified in their SOM
10. Federates shall be able to manage local time in a way which will allow them to coordinate data exchange with other members of a federation

HTML version of Scripted Foils prepared 10 January 98

Foil 67 OMT Components

From General NPAC Foils-98A starting January 98 (PowerPoint) NIMA HQ Fairfax Virginia -- January 12 98. *
Full HTML Index
Object Class Structure Table
Object Interaction Table
  • Equivalent to methods in CORBA
Attribute/Parameter Table
  • Enumerated Datatype Table
  • Complex Datatype Table
  • Equivalent to properties in CORBA
FOM/SOM Lexicon
  • Remember FOM is the federation object model and SOM the internal simulation object model for a given member federate of the federation

HTML version of Scripted Foils prepared 10 January 98

Foil 68 Object Class Structure Table (Template)

From General NPAC Foils-98A starting January 98 (PowerPoint) NIMA HQ Fairfax Virginia -- January 12 98. *
Full HTML Index
General Case
Example
P=Publish and S=Subscribe

HTML version of Scripted Foils prepared 10 January 98

Foil 69 Object Interaction Table (Roughly Methods in CORBA)

From General NPAC Foils-98A starting January 98 (PowerPoint) NIMA HQ Fairfax Virginia -- January 12 98. *
Full HTML Index
General Case
Example

HTML version of Scripted Foils prepared 10 January 98

Foil 70 Architecture Splits Functions Between Simulations and Runtime Infrastructure

From General NPAC Foils-98A starting January 98 (PowerPoint) NIMA HQ Fairfax Virginia -- January 12 98. *
Full HTML Index
Live
Participants
Interface
Runtime Infrastructure
Data Collector/
Passive Viewer
Federation Management Declaration Management
Object Management Ownership Management
Time Management Data Distribution Management
RTI is a bit like IIOP with critical addition of time
management services

HTML version of Scripted Foils prepared 10 January 98

Foil 71 Tango Collaboration System

From General NPAC Foils-98A starting January 98 (PowerPoint) NIMA HQ Fairfax Virginia -- January 12 98. *
Full HTML Index
An Applet based system using LiveConnect and plugin with Netscape3 and Signed Applets with Netscape4
Supports general shared event model of collaboration where it can share applications in Java, JavaScript, C, VRML, C++ (Open Inventor)
  • Event sharing coordinated by Java Server
Has conventional general tools
  • Audio/Video Conferencing, Chat rooms, Whiteboard
Developed for command and control
Most extensively used in education -- especially for course between Syracuse and Jackson State
  • Using JavaScript "guided tour" WebWisdom linking to 18,000 foils

HTML version of Scripted Foils prepared 10 January 98

Foil 72 Tango Screen: Talking Heads and White Board

From General NPAC Foils-98A starting January 98 (PowerPoint) NIMA HQ Fairfax Virginia -- January 12 98. *
Full HTML Index
From Tango - A Java/WWW-Based Internet Collaborative Software System part of NPAC Overview May 1997

HTML version of Scripted Foils prepared 10 January 98

Foil 73 Typical Web Collaboration Architecture

From General NPAC Foils-98A starting January 98 (PowerPoint) NIMA HQ Fairfax Virginia -- January 12 98. *
Full HTML Index
TANGOsim
Basic
Replicated Applications
1)Virtual Users 2)Customized Views

HTML version of Scripted Foils prepared 10 January 98

Foil 74 The TANGOsim C2 Application

From General NPAC Foils-98A starting January 98 (PowerPoint) NIMA HQ Fairfax Virginia -- January 12 98. *
Full HTML Index
TANGO Java
Collaboratory
Server
HTTP
Server
MultiMedia Mail
C2 Commander
Chat
VTC
Event Driven
Simulation
Engine
C2 Radar Officer
3D GIS
Scripting
Language
C2 Weather Officer
Message Routing
SW/Data Distrib.
Other
Collaborators
MultiMedia Mail
Chat
Simulation
Engine Controller
All Clients
Typical Clients

HTML version of Scripted Foils prepared 10 January 98

Foil 75 Command and Control Screen with Multimedia Message

From General NPAC Foils-98A starting January 98 (PowerPoint) NIMA HQ Fairfax Virginia -- January 12 98. *
Full HTML Index
Feb 97 Demonstration of Tango

HTML version of Scripted Foils prepared 10 January 98

Foil 76 A demo of animated objects controlled by simulation engine of Tango collaborative system - III

From General NPAC Foils-98A starting January 98 (PowerPoint) NIMA HQ Fairfax Virginia -- January 12 98. *
Full HTML Index
From Tango Project for CEWES Collaborative Tool Meeting

HTML version of Scripted Foils prepared 10 January 98

Foil 77 TANGO Structure of Multidisciplinary Applications

From General NPAC Foils-98A starting January 98 (PowerPoint) NIMA HQ Fairfax Virginia -- January 12 98. *
Full HTML Index
TANGO links people and shared applications such as chat board, audio video conferencing, visualizations, shared white board, common AUTOCAD design and related tools
CFD
TANGO Server
Database
Object Broker
MPP
Structures
MPP
Engineer
+ core
services
Visualization e.g.CAVE
Shared AutoCAD
Engineer
+ core
services

HTML version of Scripted Foils prepared 10 January 98

Foil 78 Minimal Web based Multidisciplinary Application

From General NPAC Foils-98A starting January 98 (PowerPoint) NIMA HQ Fairfax Virginia -- January 12 98. *
Full HTML Index
This combines TANGO for collaboration with WebFlow to link server side applications
If necessary WebFlow would support high performance inter-module communication as in structures-CFD Linkage example but it would always implement control and this allows TANGO integration with server side computation
  • So we suggest change in usual HPCC integration model to move control to server level so that coupled applications can be directly integrated with services such as TANGO, databases ....
WebFlow communication model is a dynamic dataflow
Of course other server side compute models are possible and in general need (web-linked) data bases, file systems, object brokers etc.,

HTML version of Scripted Foils prepared 10 January 98

Foil 79 Comparison of Communication/Linkage Models

From General NPAC Foils-98A starting January 98 (PowerPoint) NIMA HQ Fairfax Virginia -- January 12 98. *
Full HTML Index
WebFlow supports dataflow model where user must supply routines to process input of data that drives module and output of data for other modules
TANGO supports shared state and user supplies routines that read or write either
  • Total state of application or
  • Change in state of application
Can be done for applications like AUTOCAD as vendor supplies necessary API
CFD
Structures

HTML version of Scripted Foils prepared 10 January 98

Foil 80 Java as the Language for Computational Kernels!

From General NPAC Foils-98A starting January 98 (PowerPoint) NIMA HQ Fairfax Virginia -- January 12 98. *
Full HTML Index
Java for User Interfaces and MetaComputing is natural from its design!
Java for your favourite Conjugate Gradient routine (etc.) is less obvious .....

HTML version of Scripted Foils prepared 10 January 98

Foil 81 Some Critical Features of Java as a Programming Language

From General NPAC Foils-98A starting January 98 (PowerPoint) NIMA HQ Fairfax Virginia -- January 12 98. *
Full HTML Index
Java likely to be a dominant language as will be learnt and used by a broad group of users
  • We have taught 3 full courses and several tutorials
  • Popular as widely applicable (growing number of API's etc.) and one gets good graphics outpiut easily.
  • Further can use Web to exchange results of your program with peers
  • Expect to be very effective in middle and high school programming
  • Kids will come to University and jobs knowing and expecting to use Java
    • They will not accept Fortran as unfamiliar and less attractive
    • They may accept C++ as a later more complicated language
    • The bottom up revolution!
Java may replace C++ as major system building language
  • Perhaps greater functionality (e.g. pointers) of C++ critical although "WebWindows" favors Java
  • but this is not topic today!

HTML version of Scripted Foils prepared 10 January 98

Foil 82 Comparison of Java and Fortran 77/90

From General NPAC Foils-98A starting January 98 (PowerPoint) NIMA HQ Fairfax Virginia -- January 12 98. *
Full HTML Index
Clearly Java can easily replace Fortran as a Scientific Computing Language as can be compiled as efficiently and has much better software engineering (object) and graphics (web) capabilities
  • Fortran90 is object oriented but very small user base and not clear if will replace Fortran77
  • Note Fortran90 discussion started in 1978 (after Fortran77 agreed) and took fourteen years and even now Cray's Fortran77 compiler is (on C90 for numerical relativity) much better than their Fortran90 compiler.
  • Originally Fortran90 (as Fortran8X) was designed precisely for Cray architecture systems!
  • This illustrates that informal standards activities (as in the Web and HPF) are most appropriate for rapidly changing technologies
Java can unify classic science and engineering computations with more qualitative macroscopic "distributed simulation and modelling" arena which is critical in military and to some extent industry

HTML version of Scripted Foils prepared 10 January 98

Foil 83 Java Links the Bottom and Top of Pyramid

From General NPAC Foils-98A starting January 98 (PowerPoint) NIMA HQ Fairfax Virginia -- January 12 98. *
Full HTML Index
Key question is performance of Java
Note Web Software can be run on High Performance IntraNets such as Iway so hardware need NOT be a problem!

HTML version of Scripted Foils prepared 10 January 98

Foil 84 Isn't the Web hardware and software too slow to be interesting for HPCC? -Java- I

From General NPAC Foils-98A starting January 98 (PowerPoint) NIMA HQ Fairfax Virginia -- January 12 98. *
Full HTML Index Java LINPACK Benchmark Page
Java is currently semi-interpreted and (as in Linpack online benchmark) is about 50 times slower than good C or Fortran
Java --> (javac)--> Downloadable Universal Bytecodes --> (Java Interpreter)
--> Native Machine Code
  • Just in Time Compilers speed this up by factor of 10
However Language can be efficiently compiled with "native compilers"
Java ----> (native compiler)
---> Native (for Particular Machine) Code
Lots of Interesting Compiler issues for both compiled and scripted Java

HTML version of Scripted Foils prepared 10 January 98

Foil 85 Performance of Java is Dreadful!

From General NPAC Foils-98A starting January 98 (PowerPoint) NIMA HQ Fairfax Virginia -- January 12 98. *
Full HTML Index Java LINPACK Benchmark Page
My SGI INDY gets .54 Megaflops for Java 100 by 100 Linpack
It has 200 Mhz R4400 and current Netlib benchmark for this chip is 32 mflops for optimized Fortran
For better resolution see JPEG Version

HTML version of Scripted Foils prepared 10 January 98

Foil 86 LinPack Java Performance Updated to Sept 30 1996

From General NPAC Foils-98A starting January 98 (PowerPoint) NIMA HQ Fairfax Virginia -- January 12 98. *
Full HTML Index Java LINPACK Benchmark Page
see http://www.netlib.org/benchmark/linpackjava/
Note Just in Time Compilers are giving a factor of 10 from June 96 Measurements!

HTML version of Scripted Foils prepared 10 January 98

Foil 87 LinPack Java Performance Updated to June 3 1997

From General NPAC Foils-98A starting January 98 (PowerPoint) NIMA HQ Fairfax Virginia -- January 12 98. *
Full HTML Index
see http://www.netlib.org/benchmark/linpackjava/

HTML version of Scripted Foils prepared 10 January 98

Foil 88 What Limits Performance of Compiled Java?

From General NPAC Foils-98A starting January 98 (PowerPoint) NIMA HQ Fairfax Virginia -- January 12 98. *
Full HTML Index
Syracuse and Las Vegas Workshops saw no serious problem to High Performance Java on sequential or Shared Memory Machines
Some restrictions are needed in programming model
  • Cynic says write in Fortran with Curly Brackets but more seriously restrictions requires programming discipline but still exploit key advantages of Java
For instance, Avoid Complicated Exception handlers in areas compilers need to optimize!
Should be able to get comparable performance on compiled Java C and Fortran starting with either Java Language or JavaVM bytecodes
The Interpreted (Applet) JavaVM mode would always be slower than compiled Java/C/Fortran -- perhaps by a factor of two with best technology

HTML version of Scripted Foils prepared 10 January 98

Foil 89 Isn't the Web hardware and software too slow to be interesting for HPCC? -Java- III

From General NPAC Foils-98A starting January 98 (PowerPoint) NIMA HQ Fairfax Virginia -- January 12 98. *
Full HTML Index
One can use "native classes" which is just a predownloaded library of optimized runtime routines which can be high performance compiled Java, C, C++, Fortran, HPF etc. modules invoked by interpreted or compiled Java
  • This does NOT violate Web Philosophy in our opinion!
Use Native Classes selectively for
  • Compiler Runtime, Matrix Primitives, Image Processing and other engineering/science libraries,
  • PDE primitives such as mesh generators,
  • optimization as needed in resource management or applications

HTML version of Scripted Foils prepared 10 January 98

Foil 90 Classes of Simulations and their High Performance Needs

From General NPAC Foils-98A starting January 98 (PowerPoint) NIMA HQ Fairfax Virginia -- January 12 98. *
Full HTML Index
1)Classic solution of large scale PDE or Particle dynamics problem
  • Data parallelism over grid points or particles
2)Modest Grain size Functional Parallelism as seen in overlap of communication and computation in a node process of a parallel implementation.
  • More generally overlap of I/O -- disk,visualization -- and computation
3)Object parallelism seen in Distributed Simulation where "world" modelled (typically by event driven simulation) as set of interacting macroscopic (larger than grid points) objects
  • Objects are weopens, military units etc. in SIMNET/DSI (Forces Modelling)
4)MetaProblems consisting of several large grain functionally distinct components such as
  • Structural Analysis, Airflow, Manufacturing Process, Pricing, Controls etc. in MDO approach to manufacturing and design
  • more generally are components of a Problem Solving Environment
Java: 1) Not Supported, 2) is Thread mechanism, 3) is Java Objects or Applets, 4) is JavaBeans or equivalent
Fortran: 1)is supported in HPF, 2--4) are not supported

HTML version of Scripted Foils prepared 10 January 98

Foil 91 Java and Parallelism?

From General NPAC Foils-98A starting January 98 (PowerPoint) NIMA HQ Fairfax Virginia -- January 12 98. *
Full HTML Index
The Web integration of Java gives it excellent "network" classes and support for message passing.
Thus "Java plus message passing" form of parallel computing is actually somewhat easier than in Fortran or C.
Coarse grain parallelism very natural in Java
"Data Parallel" languages features are NOT in Java and have to be added (as a translator) of HPJava 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.
Can be used to do more general parallel computing but only on shared memory computers
  • JavaVM does not support distributed memory systems

HTML version of Scripted Foils prepared 10 January 98

Foil 92 "Pure" Java Model For Parallelism

From General NPAC Foils-98A starting January 98 (PowerPoint) NIMA HQ Fairfax Virginia -- January 12 98. *
Full HTML Index
Combine threads on a shared memory machine with message passing between distinct distributed memories
"Distributed" or "Virtual" Shared memory does support the JavaVM as hardware gives illusion of shared memory to JavaVM
Message Passing
Message Passing

HTML version of Scripted Foils prepared 10 January 98

Foil 93 Mechanisms for Data Parallelism in HPJava

From General NPAC Foils-98A starting January 98 (PowerPoint) NIMA HQ Fairfax Virginia -- January 12 98. *
Full HTML Index
Java Wrappers (native classes or Server socket connections) around existing data parallel Fortran or C++
Native Java and MPI
  • Need Java MPI Interface as part of framework
Data Parallel Extensions of Java
  • Natural extensions of HPF and HPC++
  • Note one of the best C++ mechanisms (standard template library) doesn't work in Java
Java threads for data parallelism on SMP's

© 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 Mon Apr 6 1998