Full HTML for

Scripted foilset HPCC based on Commodity Technologies

Given by Geoffrey C. Fox at Beijing on 28 Dec 97 to 5 Jan 98. Foils prepared 8 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 recommend agreement on standard interfaces or frameworks for computing and essentially seamless user interfaces
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 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 High Performance Computing (HPCC) based on Commodity(Web, CORBA,COM) Technologies December 27,97 -- January 6,98 Beijing and Chang Sha (Hunan Province) China
2 Abstract of Commodity Technologies in HPCC for China
3 Some International HPCC Activities
4 Some Concepts Learnt from HPCC Initiative
5 New Initiatives of Current HPCC
6 Some More Detailed Trends in HPCC
7 The Computing Pyramid
8 Some Performance Results of Interest from Salmon and Warren
9 Intermediate results of a computation of 322 million particles on ASCI Red
10 Intermediate results of a computation of 9.7 million particles on PC Cluster loki
11 Pragmatic Object Web Technology Model
12 Fig. 5: Integration of Object Technologies (CORBA) and the Web
13 Architecture of HPcc Commidity Technology High Performance Computing System
14 Fig. 14: Pure Corba architecture for the heterogeneous DcciS services of fig. 2.
15 Multi Tier Client-Server-Service Examples I
16 Multi Tier Client-Server-Service Examples II
17 Object Web Software is the Best
18 Synergy of InterNet and IntraNets
19 We have the Object Web Tools in Place I
20 We have the Object Web Tools in Place II
21 Three Roles of Object Web Technologies in Computing
22 Some Tactical Opportunities of Object Web Technologies - I
23 Some Tactical Opportunities of Object Web Technologies - II
24 Some Classes of Applications
25 Computational Grid and the Object Web
26 Inevitable Relevance of the Object Web
27 Structure(Architecture) of Applications - I
28 Structure(Architecture) of Applications - II
29 HPCC Software issues
30 One Strategy for a Object Web-based Metacomputing
31 A Web-based 3-Tier Computing System
32 Web-Server based Metacomputer Capabilities at 3 levels
33 General Object Web based Middle Tier Server Architecture
34 Role of Collaboratory Systems
35 Some Capabilities of the Object Web (Server) Architecture for Computing
36 Glossary of Terms I
37 Today's Interoperating Hybrid Server Architecture
38 Planned Architecture of DARP User Level Debugging and Rapid Prototyping System
39 CORBA Software Model
40 Pure CORBA Architecture for a distributed Information System (There are similar COM and Javabean /RMI Versions)
41 Glossary of Terms III
42 Glossary of Terms II
43 Glossary of Terms V
44 Glossary of Terms IV
45 Glossary of Terms VI
46 There are (at least) 3 Major Roles for JAVA in Computation
47 The 3 Roles of Java
48 Java for Building User Interfaces
49 Summary of the VPL -- Virtual Programming Laboratory
50 Interoperable Interfaces
51 VPL 2.0 File Manager Screen
52 Login to SP2 with a Web Interface at NIST - I
53 Login to SP2 with a Web Interface at NIST - III
54 Overview
55 PPT Slide
56 Kivanc Dincer's Java FrontEnd to Pablo - I
57 What is Relevance of VRML(2) for Scientific Computing?
58 GIS integration with Weather Simulation application - II.
59 Metacomputing with Web Architecture
60 Article on MIP Sucking Java Applets
61 Web-Server based Metacomputer Capabilities at 3 levels
62 High Functionality Software Layer
63 Proposed Approach to High Performance Messaging
64 Three Possible Implementations of CFD CSM Linkage
65 Picture of JavaBean and JDK1.1 AWT Event Model
66 Some Capabilities of the Object Web (Server) Architecture for Computing
67 Web Architecture Supports Interpreted Environments
68 Integrated Compiled and Interpreted Environments II
69 Use of PCRC Infrastructure -- The HPF front-end to produce an Integrated Environment for HPF Compiler and Interpreter
70 Architecture of the Integrated Interpreter/Compiler System
71 Switching between compiled and interpreted modes
72 Use for Interactive Visualizations
73 Linkage of HPF Interpreter to Compiler
74 Planned Architecture of DARP User Level Debugging and Rapid Prototyping System
75 WebFlow Globus and FrontEnd (DARP,SciVis) Architecture II
76 Example of WebFlow = AVS/Khoros using Web
77 WebFlow: Image Processing
78 Use of HSV filter in WebFlow
79 Use of Flip Filter in WebFlow
80 Use of Wave Filter in WebFlow
81 Code WebFlow and Image Processing Parameters for Spatial Filter from SciVis in WebFlow from DARP I
82 Code WebFlow and Image Processing Parameters and SciVis Output from DARP I
83 Component Based Programming Environments
84 What are JavaBeans I
85 What are JavaBeans II
86 What is a Module?
87 HPCC ComponentWare: Essential Ideas
88 3 by 3 Diagram of Programming Environments versus System Complexity from PC to HPCC
89 Component Model for HPCC
90 System and User Perspective
91 Fig. 13: Each node of a parallel computer instantiated as a Corba object.
92 A Message or Protocol Optimization Bridge
93 Fig 15: A message optimization bridge
94 Fig. 8: JDK 1.1 Event Model used by (inter alia) Javabeans
95 Fig. 13: Each node of a parallel computer instantiated as a Corba object.
96 Approaches to Distributed Objects
97 Java ORB Approaches to Distributed Objects - II The object web awakens!
98 Architecture of Object Web
99 HP-CORBA - I
100 HPCORBA Layer with SIO Analogy
101 HP-CORBA - II
102 New Java Frameworks for Advanced Web Services (I)
103 New Java Frameworks for Advanced Web Services (II)
104 Possible Java Frameworks for Computing
105 What/Why is a Framework?
106 Too many Frameworks!
107 Proposed Java Computing Services Framework
108 Possible Services in a Java Computing Framework - I
109 Possible Services in a Java Computing Framework - II
110 Integration of DIS with Object Web Based Computing
111 Technology Convergence Roadmap - Overview for Forces Modeling, Integrated Modeling and Testing for DoD
112 DMSO High Level Architecture Overview
113 DoD M&S Strategy: An Analogy to City Planning
114 How Did We Get Here?
115 Some Terminology
116 Some More Terminology
117 HLA Comprises Three Components: Rules, Runtime Infrastructure, Templates
118 A Federation Must Play by the Rules
119 Each Federate Must Play By the Rules
120 OMT Components
121 Object Class Structure Table (Template)
122 Object Interaction Table (Roughly Methods in CORBA)
123 Architecture Splits Functions Between Simulations and Runtime Infrastructure
124 New Java Frameworks for Advanced Web Services (I)
125 New Java Frameworks for Advanced Web Services (II)
126 Possible Java Frameworks for Computing
127 Proposed Java Computing Services Framework
128 Implementation of a Java Computing Framework
129 WebPersuasion -- Javabean Foilsets
130 Features of a JavaBean Foilset
131 Graphics in the New Tango white Board
132 Tango Collaboration System
133 TANGOsim Collaboration/ Simulation/ Training in Java
134 TANGO Collaboratory
135 TANGO Collaboration Model
136 Role of Collaboratory Systems
137 TANGO: Highlights
138 Tango Screen: Talking Heads and White Board
139 Tango Screen: Physics Applets -- Cross Product, Planets and Neural Network
140 TANGO: Highlights II
141 TANGO: Control Application
142 TANGO: application control
143 TANGO Applications
144 TANGO: Status
145 Collaboratory systems: Taxonomy I
146 Collaboratory systems: Taxonomy II
147 Event Broadcasting: con and pro
148 Typical Web Collaboration Architecture
149 The TANGOsim C2 Application
150 Command and Control Screen with Multimedia Message
151 A demo of animated objects controlled by simulation engine of Tango collaborative system - III
152 TANGO Structure of Multidisciplinary Applications
153 Minimal Web based Multidisciplinary Application
154 Comparison of Communication/Linkage Models
155 General Web Architecture
156 TANGOsim for Distributed Simulation and Computational Steering - I
157 TANGOsim for Distributed Simulation and Computational Steering - II
158 Architecture of JSU Distance Education
159 New Directions for Tango
160 Java as the Language for Computational Kernels!
161 Some Critical Features of Java as a Programming Language
162 Comparison of Java and Fortran 77/90
163 Java Links the Bottom and Top of Pyramid
164 Isn't the Web hardware and software too slow to be interesting for HPCC? -Java- I
165 Performance of Java is Dreadful!
166 LinPack Java Performance Updated to Sept 30 1996
167 LinPack Java Performance Updated to June 3 1997
168 What Limits Performance of Compiled Java?
169 Isn't the Web hardware and software too slow to be interesting for HPCC? -Java- III
170 Classes of Simulations and their High Performance Needs
171 Java and Parallelism?
172 "Pure" Java Model For Parallelism
173 Mechanisms for Data Parallelism in HPJava

Outside Index Summary of Material



HTML version of Scripted Foils prepared 8 January 98

Foil 1 High Performance Computing (HPCC) based on Commodity(Web, CORBA,COM) Technologies December 27,97 -- January 6,98 Beijing and Chang Sha (Hunan Province) China

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 98. *
Full HTML Index
Geoffrey Fox
Syracuse University
NPAC
111 College Place Syracuse NY 13244 4100
3154432163

HTML version of Scripted Foils prepared 8 January 98

Foil 2 Abstract of Commodity Technologies in HPCC for China

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 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 recommend agreement on standard interfaces or frameworks for computing and essentially seamless user interfaces
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 8 January 98

Foil 3 Some International HPCC Activities

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 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 8 January 98

Foil 4 Some Concepts Learnt from HPCC Initiative

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 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 8 January 98

Foil 5 New Initiatives of Current HPCC

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 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 8 January 98

Foil 6 Some More Detailed Trends in HPCC

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 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 8 January 98

Foil 7 The Computing Pyramid

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 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 8 January 98

Foil 8 Some Performance Results of Interest from Salmon and Warren

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 98. *
Full HTML Index
16 Pentium Pro's in a cluster (cost $30K today) reach about 1 gigaflop on a tree code with 107 particles
6800 Pentium Pro's (ASCI Sandia machine) with around 300 million particles
  • 600 gigaflops with simple O(N2) code
  • 400 gigaflops with tree code
But tree code is 105 times as efficient as O(N2) code on this problem
  • i.e if Execution Time(naïve code) is c . N2
  • then Time (tree code) is 3000 c N
  • and tree code is more efficient than O(N2) code for more than 3000 particles

HTML version of Scripted Foils prepared 8 January 98

Foil 9 Intermediate results of a computation of 322 million particles on ASCI Red

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 98. *
Full HTML Index

HTML version of Scripted Foils prepared 8 January 98

Foil 10 Intermediate results of a computation of 9.7 million particles on PC Cluster loki

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 98. *
Full HTML Index

HTML version of Scripted Foils prepared 8 January 98

Foil 11 Pragmatic Object Web Technology Model

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 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 8 January 98

Foil 12 Fig. 5: Integration of Object Technologies (CORBA) and the Web

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 98. *
Full HTML Index
From HPcc as High Performance Commodity Components

HTML version of Scripted Foils prepared 8 January 98

Foil 13 Architecture of HPcc Commidity Technology High Performance Computing System

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 98. *
Full HTML Index

HTML version of Scripted Foils prepared 8 January 98

Foil 14 Fig. 14: Pure Corba architecture for the heterogeneous DcciS services of fig. 2.

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 98. *
Full HTML Index
There is a similar Java version of this using RMI and JDBC with of course the linked application being restricted to Java code. Corba and the analogous COM solution are cross-language solutions.
From HPcc as High Performance Commodity Components

HTML version of Scripted Foils prepared 8 January 98

Foil 15 Multi Tier Client-Server-Service Examples I

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 98. *
Full HTML Index
Client Applet
with JDBC and user (form)
interface
Oracle Database
Java Socket
Oracle Driver
OCI

HTML version of Scripted Foils prepared 8 January 98

Foil 16 Multi Tier Client-Server-Service Examples II

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 98. *
Full HTML Index
Client with Applet Javabean
Vendor Specific
Object Broker
Object
Database
IIOP
Custom

HTML version of Scripted Foils prepared 8 January 98

Foil 17 Object Web Software is the Best

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 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 8 January 98

Foil 18 Synergy of InterNet and IntraNets

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 98. *
Full HTML Index

HTML version of Scripted Foils prepared 8 January 98

Foil 19 We have the Object Web Tools in Place I

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 98. *
Full HTML Index
Web, Object technologies and their linkage is still uncertain and there may be many changes but there are "enough" capabilities in place to build very general (essentially all?) applications
  • COM v. CORBA; role of Java, JavaScript uncertain
Field characterized by rapidly evolving standards and mechanisms to achieve rapid consensus
Fortran77 --> Fortran90 --> HPF --> Fortran2000 -- 23 years
VRML idea (1994) --> VRML1 deployed (95) --> VRML2 deployed (early 97) -- 2.3 years
  • VRML2 with 3D datastructures and Java(Script) enabled methods is as sophisticated as Fortran1
  • Java was also deployed very fast and now has much better learning resources than any other language -- Java Tools are better than Fortran and rapidly overtaking C++

HTML version of Scripted Foils prepared 8 January 98

Foil 20 We have the Object Web Tools in Place II

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 98. *
Full HTML Index
Classic Web: HTTP MIME HTML CGI Perl etc.
Java and JavaScript varying from compiled to almost compiled (applet) to fully interpreted Programming Language
VRML2 as a dynamic 3D data structures for defining products and results of simulations
Java Database Connectivity (JDBC) enables easy integration of databases into any system
CORBA and COM maturing with Javabeans offering a visual (ComponentWare) object interface
Dynamic Java Server and Clients
Rich Web Collaboration Environment building electronic societies and linking people with computers
Security model well understood and needs deployment of public key infrastructure
Compression technology and Quality of Service for multimedia delivery also understood but again not generally deployed so the needed bandwidth (>= 100 kilobits) for reasonable video delivery is not generally available.

HTML version of Scripted Foils prepared 8 January 98

Foil 21 Three Roles of Object Web Technologies in Computing

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 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 8 January 98

Foil 22 Some Tactical Opportunities of Object Web Technologies - I

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 98. *
Full HTML Index
So this is partly use of Object Web Software to build metacomputing systems of any architecture
Perhaps VRML or Java3D are important for scientific visualization
Web (including Java applets) front-ends provide convenient customizable interoperable user interfaces to HPCC facilities
Perhaps the public key security and digital signature infrastructure being developed for electronic commerce, could enable more powerful approaches to secure HPCC systems
Perhaps Java will become a common scientific programming language and so effort now devoted to Fortran and C++ tools needs to be extended or shifted to Java

HTML version of Scripted Foils prepared 8 January 98

Foil 23 Some Tactical Opportunities of Object Web Technologies - II

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 98. *
Full HTML Index
The universal adoption of JDBC (Java Database Connectivity) and the growing convenience of web-linked databases could imply a growing importance of systems that link large scale commercial databases with HPCC computing resources
Javabeans, RMI, COM, CORBA, IIOP form the basis of the emerging "pragmatic object web" which analogously to the previous bullet could encourage a growing use of modern object technology which will allow better managed distributed systems
Emerging collaboration and other distributed information systems could allow new (low end) distributed work paradigms which can be used in computational steering and for basic scientific research

HTML version of Scripted Foils prepared 8 January 98

Foil 24 Some Classes of Applications

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 98. *
Full HTML Index
High end (today) to high end(tomorrow)
  • e.g. Astrophysics QCD .....
High end(today) to low end(tomorrow)
  • Today's supercomputer is tomorrow's PC
  • e.g. TeleImmersive Environments
Low end(today) to low end(tomorrow)
  • e.g. commerce, consumer market, education
Low end(today) to very low end (tomorrow)
  • e.g. email
The new application(s) we can't predict
1997
2007

HTML version of Scripted Foils prepared 8 January 98

Foil 25 Computational Grid and the Object Web

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 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 8 January 98

Foil 26 Inevitable Relevance of the Object Web

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 98. *
Full HTML Index
Any large scale metacomputing/distributed computing environment will be shaped by and shape all 5 classes of applications on previous foil
Even if only aimed at high end applications, the system will be influenced by and influence the "Object Web" or "commodity software infrastructure" which is here defined as "mass-market"/business IntraNet (low to low) use of Internet/distributed Information System
Parallel Computing systems can be viewed as a special case of a Metacomputer
  • Perhaps one will need a stripped production environment for highest performance but
  • best program development environment is likely to be based on commodity technologies as can leverage and track wonderful software aimed at broad based distributed computing

HTML version of Scripted Foils prepared 8 January 98

Foil 27 Structure(Architecture) of Applications - I

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 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 8 January 98

Foil 28 Structure(Architecture) of Applications - II

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 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 8 January 98

Foil 29 HPCC Software issues

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 98. *
Full HTML Index
We can distinguish Decomposition and Integration
Decomposition is performed by an HPF or other Parallelizing compiler; or by a user writing a Fortran + Message Passing code "by hand"
MPI integrates decomposed parts together with high bandwidth latency constraints
Systems such as AVS integrate larger modules together and much of "software engineering" (modular style of programming) involved with this
Web is a powerful integration model suitable for large coarse modules with modest latency and sometimes modest bandwidth requirements
  • naturally "integrate" data(bases), people, computation together
Collaboration, computational steering, multidisciplinary science are all integration and not decomposition problems!

HTML version of Scripted Foils prepared 8 January 98

Foil 30 One Strategy for a Object Web-based Metacomputing

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 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 8 January 98

Foil 31 A Web-based 3-Tier Computing System

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 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 8 January 98

Foil 32 Web-Server based Metacomputer Capabilities at 3 levels

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 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 8 January 98

Foil 33 General Object Web based Middle Tier Server Architecture

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 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 8 January 98

Foil 34 Role of Collaboratory Systems

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 98. *
Full HTML Index
Systems like Tango or Habanero built around Java Servers integrate a group of multiple clients as a "Service" at the middle Java Server level
Building systems in this way automatically includes "people in the loop" -- Computational Steering, Education, Multidisciplinary collaborative design
Group of collaborating clients
and client applications
Database
Object Broker
MPP

HTML version of Scripted Foils prepared 8 January 98

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

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 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 8 January 98

Foil 36 Glossary of Terms I

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 98. *
Full HTML Index
HTTP (Hyper Text Transport Mechanism)
  • A stateless transport protocol allowing control information and data to be transmitted between web clients and servers. 
Web Client
  • Originally web clients displayed HTML and related pages but now they support Java Applets that can be programmed to give web clients the necessary capabilities to support general enterprise computing. The support of signed applets in recent browsers has removed crude security restrictions, which handicapped previous use of applets.
Web Servers
  • Originally Web Servers supported HTTP requests for information - basically HTML pages but included the invocation of general server side programs using the very simple but arcane CGI - Common Gateway Interface. A new generation of Java servers have enhanced capabilities including server side Java program enhancements (Servlets) and support of stateful permanent communication channels.

HTML version of Scripted Foils prepared 8 January 98

Foil 37 Today's Interoperating Hybrid Server Architecture

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 98. *
Full HTML Index

HTML version of Scripted Foils prepared 8 January 98

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

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 98. *
Full HTML Index

HTML version of Scripted Foils prepared 8 January 98

Foil 39 CORBA Software Model

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 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 8 January 98

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

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 98. *
Full HTML Index

HTML version of Scripted Foils prepared 8 January 98

Foil 41 Glossary of Terms III

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 98. *
Full HTML Index
OMG (Object Management Group)
  • OMG is the organization of over 700 companies that is developing CORBA through a process of call for proposals and development of consensus standards.
ORB (Object Request Broker)
  • Used in both clients and servers in CORBA to enable the remote access to objects. ORB's are available from many vendors and communicate via the IIOP protocol.
IIOP (Internet Inter Orb Protocol)
  • A stateful protocol allowing CORBA ORB's to communicate with each other, and transfer both the request for a desired service and the returned result.

HTML version of Scripted Foils prepared 8 January 98

Foil 42 Glossary of Terms II

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 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 8 January 98

Foil 43 Glossary of Terms V

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 98. *
Full HTML Index
Object Web
  • The evolving systems software middleware infrastructure gotten by merging CORBA with Java. Correspondingly merging CORBA with Javabeans gives Object Web ComponentWare. This is expected to compete with the COM/ActiveX architecture from Microsoft.
JDBC (Java Data Base Connection)
  • A set of interfaces (Java methods and constants) in the Java 1.1 enterprise framework, defining a uniform access to relational databases. JDBC calls from a client or server Java program link to a particular "driver" that converts these universal database access calls (establish a connection, SQL query, etc.) to particular syntax needed to access essentially any significant database. 

HTML version of Scripted Foils prepared 8 January 98

Foil 44 Glossary of Terms IV

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 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 8 January 98

Foil 45 Glossary of Terms VI

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 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 8 January 98

Foil 46 There are (at least) 3 Major Roles for JAVA in Computation

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 98. *
Full HTML Index
Java for the User Interface: This is roughly the "WebWindows Philosophy" of building applications to Web Server/Client Standards
Java for Coarse Grain Software Integration: see collaboration and metacomputing
Java as a high performance scientific language: for "inner" (and outer) loops Here parallelism is important but sequential issues also critical and first issues to examine!

HTML version of Scripted Foils prepared 8 January 98

Foil 47 The 3 Roles of Java

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 98. *
Full HTML Index

HTML version of Scripted Foils prepared 8 January 98

Foil 48 Java for Building User Interfaces

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 98. *
Full HTML Index
This is least controversial and is essentially WebWindows for User Interfaces
Fortran was never good at user interfaces!

HTML version of Scripted Foils prepared 8 January 98

Foil 49 Summary of the VPL -- Virtual Programming Laboratory

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 98. *
Full HTML Index
Initially Aimed at education where usability higher priority than performance
Teaching Java and JavaScript greatly aided by interpreted technology which allow integration of demonstrations into lectures
VPL aimed at allowing embedding of F90, HPF and MPI (etc.) examples in lectures and convenient support of homeworks for transient inexperienced users.
Features of VPL:
  • Text Editor and File Manager
  • Web Interface for compilation and job submittal with simple aids such as prompts on HPF syntax, choice of platform and automatic makefiles
  • Client side Java applets for Performance and Data visualization
  • Security mechanisms

HTML version of Scripted Foils prepared 8 January 98

Foil 50 Interoperable Interfaces

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 98. *
Full HTML Index
One example is VPL -- Virtual Programming Laboratory -- interface to HPF and MPI used by Syracuse and Cornell in courses/training
If you agree that it can be web based then naturally Implemented as Java Framework for Computing Services
Any Job
Computer A
Computer B
Computer C
Universal Interface

HTML version of Scripted Foils prepared 8 January 98

Foil 51 VPL 2.0 File Manager Screen

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 98. *
Full HTML Index
Click on SnapShots in Virtual Programming Lab

HTML version of Scripted Foils prepared 8 January 98

Foil 52 Login to SP2 with a Web Interface at NIST - I

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 98. *
Full HTML Index
From NIST Sp2 Web Interface by Robert Lipman http://www.nist.gov/itl/div887/sasg/websubmit/

HTML version of Scripted Foils prepared 8 January 98

Foil 53 Login to SP2 with a Web Interface at NIST - III

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 98. *
Full HTML Index
From NIST Sp2 Web Interface by Robert Lipman htt/www.nist.gov/itl/div887/sasg/websubmit/

HTML version of Scripted Foils prepared 8 January 98

Foil 54 Overview

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 98. *
Full HTML Index
Scivis is a client-server (3-tier) data visualization and analysis system by taking full advantage of Java.
The purpose of this system is provide researchers with a customizable data analysis system to aid their research.
We also provide a collaborative framework, where the users can exchange data and their own personalized filters.
Available via http://kopernik.npac.syr.edu:8888/scivis
Contains over 29K lines of Java code (2K lines of user-definable filters).

HTML version of Scripted Foils prepared 8 January 98

Foil 55 PPT Slide

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 98. *
Full HTML Index
A screen dump from a Scivis Session

HTML version of Scripted Foils prepared 8 January 98

Foil 56 Kivanc Dincer's Java FrontEnd to Pablo - I

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 98. *
Full HTML Index

HTML version of Scripted Foils prepared 8 January 98

Foil 57 What is Relevance of VRML(2) for Scientific Computing?

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 98. *
Full HTML Index
VRML naturally gives 3D visualization with usual Web advantage of running on PC's and Workstations
Its universality implies can use in industry to specify products so can design, manufacture and market from the same(related) specification
Should impact PDES/STEP and such industry product specification standards
VRML will need extension to handle this but it is a good start and allows user defined types
VRML and Parallel Computing?
  • Breakup up a VRML image with INLINE construct to allow parallel rendering of complex images (i.e. parallel VRML viewer)
  • Invocation of parallel simulation programs as a VRML2 Script e.g. VRML2 cars invoke parallel crash codes when they hit each other!

HTML version of Scripted Foils prepared 8 January 98

Foil 58 GIS integration with Weather Simulation application - II.

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 98. *
Full HTML Index
NPAC Web Based Geographical Information System in Stand Alone Mode
A GIS application is a specialized OpenInventor viewer, however it accepts any OpenInventor 2.1 scene model. That's why it's so easy to integrate it with third party applications, which produce IO/VRML output. The images show GIS integration with Weather Simulation application. A GIS viewer can also display animated objects controlled by Simulation Engine.

HTML version of Scripted Foils prepared 8 January 98

Foil 59 Metacomputing with Web Architecture

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 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 8 January 98

Foil 60 Article on MIP Sucking Java Applets

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 98. *
Full HTML Index
http://www.packet.com/packet/ Hot Wired Tuesday January 7 Edition
Applet calculates pi while you read article!

HTML version of Scripted Foils prepared 8 January 98

Foil 61 Web-Server based Metacomputer Capabilities at 3 levels

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 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 8 January 98

Foil 62 High Functionality Software Layer

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 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 8 January 98

Foil 63 Proposed Approach to High Performance Messaging

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 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 8 January 98

Foil 64 Three Possible Implementations of CFD CSM Linkage

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 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 8 January 98

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

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 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 8 January 98

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

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 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 8 January 98

Foil 67 Web Architecture Supports Interpreted Environments

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 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 8 January 98

Foil 68 Integrated Compiled and Interpreted Environments II

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 98. *
Full HTML Index
User Interpreted Commands
invoking preloaded
Java/Javascript objects
Server invokes extrinsic
processor
(true interpreter
or compiler invoked
dynamically)
Running Program
interruptable at
extrinsic interfaces

HTML version of Scripted Foils prepared 8 January 98

Foil 69 Use of PCRC Infrastructure -- The HPF front-end to produce an Integrated Environment for HPF Compiler and Interpreter

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 98. *
Full HTML Index
Compiler offers:
  • performance
Interpreter offers:
  • interactive visualizations and data analysis
  • debugging
  • prototyping
  • dynamical software integration

HTML version of Scripted Foils prepared 8 January 98

Foil 70 Architecture of the Integrated Interpreter/Compiler System

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 98. *
Full HTML Index
JAVA applet
HTTP
server
HPF
server
Node 1
Node 2
Node 3
Node 4
Node 5
Node 6
Web Browser
Server Host

HTML version of Scripted Foils prepared 8 January 98

Foil 71 Switching between compiled and interpreted modes

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 98. *
Full HTML Index
1. Contact HTTP server to download the Java applet
2. Use the applet to start instrumented HPF application
3. HPF server starts (implemented as an HPF extrinsic)
4. Java applet establishes communication with the HPF server
5. HPF server accepts user's requests:
- suspend/resume execution of the HPF code
- send data
- interpret new HPF statements
- dynamically link and execute shared objects

HTML version of Scripted Foils prepared 8 January 98

Foil 72 Use for Interactive Visualizations

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 98. *
Full HTML Index

HTML version of Scripted Foils prepared 8 January 98

Foil 73 Linkage of HPF Interpreter to Compiler

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 98. *
Full HTML Index
HPF statements and Visualization requests in Java, HPF etc.
HPF extrinsic procedure
Shared Object
Lexical Analysis: PCRC frontend.
HPF compilation: pghpf
Pool of shared objects
HPF RTS
HPF
server
Dynamical linking
Instrumented HPF
JAVA
applet

HTML version of Scripted Foils prepared 8 January 98

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

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 98. *
Full HTML Index

HTML version of Scripted Foils prepared 8 January 98

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

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 98. *
Full HTML Index

HTML version of Scripted Foils prepared 8 January 98

Foil 76 Example of WebFlow = AVS/Khoros using Web

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 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 8 January 98

Foil 77 WebFlow: Image Processing

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 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 8 January 98

Foil 78 Use of HSV filter in WebFlow

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 98. *
Full HTML Index

HTML version of Scripted Foils prepared 8 January 98

Foil 79 Use of Flip Filter in WebFlow

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 98. *
Full HTML Index

HTML version of Scripted Foils prepared 8 January 98

Foil 80 Use of Wave Filter in WebFlow

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 98. *
Full HTML Index

HTML version of Scripted Foils prepared 8 January 98

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

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 98. *
Full HTML Index

HTML version of Scripted Foils prepared 8 January 98

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

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 98. *
Full HTML Index

HTML version of Scripted Foils prepared 8 January 98

Foil 83 Component Based Programming Environments

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 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 8 January 98

Foil 84 What are JavaBeans I

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 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 8 January 98

Foil 85 What are JavaBeans II

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 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 8 January 98

Foil 86 What is a Module?

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 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 8 January 98

Foil 87 HPCC ComponentWare: Essential Ideas

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 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 8 January 98

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

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 98. *
Full HTML Index

HTML version of Scripted Foils prepared 8 January 98

Foil 89 Component Model for HPCC

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 98. *
Full HTML Index

HTML version of Scripted Foils prepared 8 January 98

Foil 90 System and User Perspective

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 98. *
Full HTML Index
We present the proposed process of integrating HPCC and Enterprise Computing technologies on 2-dimensional 3x3 chart, exposing the evolution of user and system perspectives on new computing technologies.
On the (vertical) system/complexity axis, we start from PC desktop and we evolve towards distributed and finally HPCC computing.
On the (horizontal) user/simplicity axis, we start from objects and we evolve towards reusable components and finally their visual development and runtime environments.
The first row on our char represents the already established PC technologies exemplified by systems such as Visual C++/J++, VBScript, Borland Delphi, Visual Cafe etc.
The second row corresponds to the emergent Object Web based Enterprise Computing that integrates Java/JavaBeans based component technologies with CORBA based distributed objects.
Finally, the third row represents our proposed HPCC extensions of these technologies in terms of HP-CORBA based HP-Components.

HTML version of Scripted Foils prepared 8 January 98

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

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 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 8 January 98

Foil 92 A Message or Protocol Optimization Bridge

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 98. *
Full HTML Index

HTML version of Scripted Foils prepared 8 January 98

Foil 93 Fig 15: A message optimization bridge

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 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 8 January 98

Foil 94 Fig. 8: JDK 1.1 Event Model used by (inter alia) Javabeans

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 98. *
Full HTML Index
From HPcc as High Performance Commodity Components

HTML version of Scripted Foils prepared 8 January 98

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

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 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 8 January 98

Foil 96 Approaches to Distributed Objects

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 98. *
Full HTML Index
At present, JavaBeans technology is focused on component programming within a single Java VM.
Within the Sun philosophy of '100% Java', distributed Beans can be developed using RMI interconnect. However, the rest of the industry tries to protect their C++ investments while converting to Java.
Hence, in parallel with JavaBeans development, the Web industry explores now the linkage of Java with CORBA based distributed object technologies which offer an full C++/Java interoperability.
CORBA supports cross-language remote object invocation as well as IIOP (Internet Inter-ORB Protocol) based interoperability between object brokers from various vendors.

HTML version of Scripted Foils prepared 8 January 98

Foil 97 Java ORB Approaches to Distributed Objects - II The object web awakens!

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 98. *
Full HTML Index
Of particular interest are Java based ORBs or ORBlets which can be downloaded as applets to enable CORBA capabilities also at the client/browser side.
An alternative, offered by Netscape, is a resident ORB support in all browser and server products.
Java based ORBs will soon turn the Web, so far acting as a largely passive document publishing framework, into a powerful dynamic world-wide distributed object-based computing environment.

HTML version of Scripted Foils prepared 8 January 98

Foil 98 Architecture of Object Web

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 98. *
Full HTML Index

HTML version of Scripted Foils prepared 8 January 98

Foil 99 HP-CORBA - I

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 98. *
Full HTML Index
Now consider how to make the Object Web High performance.
In the object domain we propose the extension HP-CORBA of the CORBA model for the HPCC domain by developing a minimal high performance ORB on top of MPI/Nexus.
Such HP-ORBlets, residing in the individual nodes of a parallel system (either as network daemons or as runtime libraries) would allow one to hide explicit message passing calls in terms of higher level more user-friendly remote object invocations.
  • These are decomposed data parallel parts on tier 3 invoked from tier 1
HP-ORBlets would focus on high performance data/method communication support, whereas the lower bandwidth control communication would be passed to and handled by the full functionality lower performance commercial ORBs in the CORBA bus in the middleware layer.

HTML version of Scripted Foils prepared 8 January 98

Foil 100 HPCORBA Layer with SIO Analogy

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 98. *
Full HTML Index

HTML version of Scripted Foils prepared 8 January 98

Foil 101 HP-CORBA - II

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 98. *
Full HTML Index
The split between data and control communication would be fully transparent at the program's level, i.e. both parallel object developers and integrators would be offered a uniform CORBA object based programming model.
  • This is like parallel data bases and possible for same reason that parallelism in CORBA has no difficult side effect problems as in parallel Fortran...
Two major advantages of the proposed approach are:
  • Full C++/Java interoperability at the node program level which allows for gradual insertion of Java based parallel programming tools to come
  • Industry standards (CORBA services such as Naming or Trader) based mechanism for delivering the encapsulated parallel objects to the industry.

HTML version of Scripted Foils prepared 8 January 98

Foil 102 New Java Frameworks for Advanced Web Services (I)

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 98. *
Full HTML Index
A large number of new Java APIs for advanced Web Services are emerging from JavaSoft and partners. Many current problems such as with the NPS WebDIS networking will be soon solved in a more robust, stable and elegant fashion by the new high-level APIs.
Java APIs are organized in Java Frameworks. Current list of frameworks include:
  • Java Applet Framework - base JDK1.0.2 packages such as java.lang, java.util, java.io, java.net and java.awt.
  • Java Enterprise Framework - JavaIDL (CORBA API), RMI (Remote Method Invocation a.k.a Java-to-Java custom (non-CORBA) ORB), JDBC (Java Database Connectivity), Java Serialization, Java Web Server.

HTML version of Scripted Foils prepared 8 January 98

Foil 103 New Java Frameworks for Advanced Web Services (II)

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 98. *
Full HTML Index
Java Security Framework - support for authentication encryption, digital signatures.
Java Commerce Framework - Java Wallet, Java Cassettes (digital credit cards).
Java Beans Framework - componentware API with support for GUI negotiation and merging, persistence (JAR files), event filtering, introspection, visual application builders
Java Media Framework - Java2D (with Adobe), animation (with Macromedia), audio/video (with Intel), Java3D (with SGI), JSDA (Java Shared Data API).
All APIs listed are either already operational within JDK1.1, or still in works (spec only or alpha or beta release) but with the final release dates in 1997.

HTML version of Scripted Foils prepared 8 January 98

Foil 104 Possible Java Frameworks for Computing

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 98. *
Full HTML Index
Numerical Computing Framework
  • library interfaces, (sparse) matrix storage, complex, evaluation rules, IEEE floating point support, "BLAS"
Computing Services Framework
  • Enables Interoperable web compute interfaces
High Performance Framework
  • Parallel Computing, I/O, Databases, Object Brokers
  • Java MPI Interface
  • HPF HPC++ Data Parallel Java
Distributed Computing Framework
  • Network of Java Servers, Multidisciplinary application and Metacomputing standards
Distributed Simulation Framework
  • Java implementations of DMSO HLA and DIS standards
  • This is event driven simulation system

HTML version of Scripted Foils prepared 8 January 98

Foil 105 What/Why is a Framework?

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 98. *
Full HTML Index
Java Calls (mainly Interfaces and not methods) to capabilities expressed in implementation neutral form
Drivers convert these general calls to vendor specific implementation of service
Java code can either be all on client (2-tier) or on client and middle tier (3 tier)
e.g. JDBC is a universal interface to all relational databases
Adoption of this JDBC implies that vendor specific solutions (such as Oracle's PL/SQL) are immediately less attractive
  • Oracle must however support JDBC and de-emphasize PL/SQL because of importance of "seamless" interfaces!
Note database business is larger than simulation business
  • Maybe "computing" too small a field to get such agreements!

HTML version of Scripted Foils prepared 8 January 98

Foil 106 Too many Frameworks!

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 98. *
Full HTML Index
These are too many suggested computing frameworks and probably several are rather controversial as there is no agreed model of the use of Java in Computing
  • In fact, many people believe this is a mistake!
The most promising for early consideration are
1) The Numerical Computing Framework which is essentially use of Java in Computational Science and Engineering
Very important to get agreement on areas that affect JavaVM and the Java Language as these are getting harder to change
  • Expression Evaluation rules, Complex datatypes (overload + operator?), efficient multidimensional arrays,
  • http://www.npac.syr.edu/projects/javaforcse/june21summary.html
2) The Computing Services Framework which we give more detail on.

HTML version of Scripted Foils prepared 8 January 98

Foil 107 Proposed Java Computing Services Framework

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 98. *
Full HTML Index
Enables development of Web Interfaces to run a given job on any computer compliant with this framework just as JDBC gives a universal interface to any relational database
  • I.e. enables seamless computing
The Computing Services Framework allows vendors to compete on either User Front End (GUI) or back end services with the JavaCS framework providing universal linkage
The framework is implemented at the backend as a set of drivers which map generic Java Interfaces to particular software (e.g. a compiler) on particular machines.
Requires agreement by "suitable interested parties" on
  • what are the services
  • what are the interfaces for a given service
  • As with JDBC and PL/SQL can lead to difficult choices!

HTML version of Scripted Foils prepared 8 January 98

Foil 108 Possible Services in a Java Computing Framework - I

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 98. *
Full HTML Index
http://www.sis.port.ac.uk/~mab/Computing-FrameWork/
Is CORBA (viewing system as a collection of objects) useful
Compiling, Executing, Specification of features needed for execution optimization
  • This includes parameters needed by MPI/HPF decompositions such as number of processors
  • Resource Management and Scheduling jobs as in Codine or LSF or new NT environments such as Wolfpack
Accounting -- use Web commerce technology?
Security (especially hard in metacomputing as link several different management policies)
  • Public Key Infrastructure expected from Internet commerce very important

HTML version of Scripted Foils prepared 8 January 98

Foil 109 Possible Services in a Java Computing Framework - II

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 98. *
Full HTML Index
Sharing, Accessing and Storing into File Systems
Data and Performance Visualization Interface (how applets access server side information)
Performance measurement and recording (cf: Pablo SDDF)
Interfaces for Programming Tools
  • Debuggers
  • Computational Steering / Interpreted Execution
Libraries including names in Math class and
  • role of Javabeans with visual Interfaces
Module linkage model for metaproblems (multidisciplinary applications) as in Javabeans sufficient?

HTML version of Scripted Foils prepared 8 January 98

Foil 110 Integration of DIS with Object Web Based Computing

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 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 8 January 98

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

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 98. *
Full HTML Index

HTML version of Scripted Foils prepared 8 January 98

Foil 112 DMSO High Level Architecture Overview

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 98. *
Full HTML Index
Defense Modeling & Simulation Office
(703) 998-0660 Fax (703) 998-0667 hla@msis.dmso.mil
http://www.dmso.mil/
Comments in Green with a left vertical bar
have been added by NPAC
and are not endorsed by DMSO
Original Powerpoint at http://www.dmso.mil/hla/edu_trng/regional/core_mat/
This selection at http://www.npac.syr.edu/users/gcf/dmsohlaforarldec97/
See also http://osprey7.npac.syr.edu:1998/iwt98/projects/webhla/

HTML version of Scripted Foils prepared 8 January 98

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

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 98. *
Full HTML Index

HTML version of Scripted Foils prepared 8 January 98

Foil 114 How Did We Get Here?

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 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 8 January 98

Foil 115 Some Terminology

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 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 8 January 98

Foil 116 Some More Terminology

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 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 8 January 98

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

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 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 8 January 98

Foil 118 A Federation Must Play by the Rules

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 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 8 January 98

Foil 119 Each Federate Must Play By the Rules

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 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 8 January 98

Foil 120 OMT Components

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 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 8 January 98

Foil 121 Object Class Structure Table (Template)

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 98. *
Full HTML Index
General Case
Example
P=Publish and S=Subscribe

HTML version of Scripted Foils prepared 8 January 98

Foil 122 Object Interaction Table (Roughly Methods in CORBA)

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 98. *
Full HTML Index
General Case
Example

HTML version of Scripted Foils prepared 8 January 98

Foil 123 Architecture Splits Functions Between Simulations and Runtime Infrastructure

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 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 8 January 98

Foil 124 New Java Frameworks for Advanced Web Services (I)

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 98. *
Full HTML Index
A large number of new Java APIs for advanced Web Services are emerging from JavaSoft and partners. Many current problems such as with the NPS WebDIS networking will be soon solved in a more robust, stable and elegant fashion by the new high-level APIs.
Java APIs are organized in Java Frameworks. Current list of frameworks include:
  • Java Applet Framework - base JDK1.0.2 packages such as java.lang, java.util, java.io, java.net and java.awt.
  • Java Enterprise Framework - JavaIDL (CORBA API), RMI (Remote Method Invocation a.k.a Java-to-Java custom (non-CORBA) ORB), JDBC (Java Database Connectivity), Java Serialization, Java Web Server.

HTML version of Scripted Foils prepared 8 January 98

Foil 125 New Java Frameworks for Advanced Web Services (II)

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 98. *
Full HTML Index
Java Security Framework - support for authentication encryption, digital signatures.
Java Commerce Framework - Java Wallet, Java Cassettes (digital credit cards).
Java Beans Framework - componentware API with support for GUI negotiation and merging, persistence (JAR files), event filtering, introspection, visual application builders
Java Media Framework - Java2D (with Adobe), animation (with Macromedia), audio/video (with Intel), Java3D (with SGI), JSDA (Java Shared Data API).
All APIs listed are either already operational within JDK1.1, or still in works (spec only or alpha or beta release) but with the final release dates in 1997.

HTML version of Scripted Foils prepared 8 January 98

Foil 126 Possible Java Frameworks for Computing

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 98. *
Full HTML Index
Numerical Computing Framework
  • library interfaces, (sparse) matrix storage, complex, evaluation rules, IEEE floating point support, "BLAS"
Distributed Simulation Framework
  • Java implementations of DMSO HLA and DIS standards
Computing Services Framework
  • Enables Interoperable web compute interfaces
High Performance Framework
  • Parallel Computing, I/O, Databases, Object Brokers
  • Java MPI Interface
Distributed Computing Framework
  • Network of Java Servers

HTML version of Scripted Foils prepared 8 January 98

Foil 127 Proposed Java Computing Services Framework

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 98. *
Full HTML Index
Enables development of Web Interfaces to run a given job on any computer compliant with this framework just as JDBC gives a universal interface to any relational database
Compiling, Executing
Scheduling jobs as in Codine or LSF
Accessing and storing into File Systems
Visualization Interface (how applets access server side information)

HTML version of Scripted Foils prepared 8 January 98

Foil 128 Implementation of a Java Computing Framework

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 98. *
Full HTML Index
The Computing Services Framework allows vendors to compete on User Front End (GUI) or back end services
The framework is implemented as a set of drivers which map generic Java Interfaces to particular software (e.g. a compiler) on particular machines.

HTML version of Scripted Foils prepared 8 January 98

Foil 129 WebPersuasion -- Javabean Foilsets

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 98. *
Full HTML Index
Although we have 384 foilsets imported to the Web -- this is not the correct way of doing it!
  • Microsoft's Word/Powerpoint Internet assistants are just temporary fixes as is my analogous Persuasion system!
Originally we thought a "Web Foil" is an enhanced HTML and we built a prototype using HotJava
However now believe this is not powerful and correct Web implementation of "foils" is a JavaBean stored as a serialized Java Object
  • Base on a powerful WhiteBoard built for next release of Tango

HTML version of Scripted Foils prepared 8 January 98

Foil 130 Features of a JavaBean Foilset

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 98. *
Full HTML Index
Start with a full drawing program supporting "art" and importing of images where basic entities are Java objects
Start with system integrated with Tango
Basic Unit is a "foil" -- typically NOT scrolled (but supporting this)
Foils are arranged into foilsets dynamically as in current WebWisdom and allow notes(addons) etc.
Import existing PowerPoint/Persuasion from "outline" text with automatic font size scaling
  • Note current WebWisdom records whether image has significant information not carried in text
Allow user to add highlighting and images "cut" from original screendump of PC foil

HTML version of Scripted Foils prepared 8 January 98

Foil 131 Graphics in the New Tango white Board

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 98. *
Full HTML Index
Latest Tango Capabilities June 97

HTML version of Scripted Foils prepared 8 January 98

Foil 132 Tango Collaboration System

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 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 8 January 98

Foil 133 TANGOsim Collaboration/ Simulation/ Training in Java

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 98. *
Full HTML Index
Java is basis of Web Collaboration Systems with Applets Coordinated by Java Server
Habanero from NCSA was one of first
TANGOsim uses more modern Web Technology and incorporates a Discrete Event Simulator

HTML version of Scripted Foils prepared 8 January 98

Foil 134 TANGO Collaboratory

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 98. *
Full HTML Index
TANGO is a software framework supporting computer-based communication and collaboration
  • Initial design and implementation for Command and Control under a DoD contract
  • Runs in Web environment and uses standard Web technologies
  • Allows for implementation of arbitrary collaboratory applications (examples will follow)
  • Multiplatform run-time and multi-language API
    • UNIX/Windows; Java (applet or application), C, C++, JavaScript, VRML2

HTML version of Scripted Foils prepared 8 January 98

Foil 135 TANGO Collaboration Model

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 98. *
Full HTML Index
TANGO supports client side electronic societies of people, instruments and their applications.
TANGO links these to a network of Java Servers which manage TANGO sessions and interfaces them to the world wide Server Infrastructure that underlies our model of Web applications
  • TANGO does not directly manage world wide servers
Electronic societies or groups are managed by core database in TANGO

HTML version of Scripted Foils prepared 8 January 98

Foil 136 Role of Collaboratory Systems

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 98. *
Full HTML Index
Systems like Tango or Habanero built around Java Servers integrate a group of multiple clients as a "Service" at the middle Java Server level
Group of collaborating clients
and client applications
Database
Object Broker
MPP

HTML version of Scripted Foils prepared 8 January 98

Foil 137 TANGO: Highlights

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 98. *
Full HTML Index
Technically, TANGO is a distributed system based on event broadcasting
  • TANGO does not implement collaborative transparency, although current design allows for it for certain applications
Core system is implemented in Java and as a browser plug-in
Base programming module is a Java applet
  • however, other shared entities supported as well, including Java, C/C++ applications, and JavaScript/VRML 2 modules

HTML version of Scripted Foils prepared 8 January 98

Foil 138 Tango Screen: Talking Heads and White Board

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 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 8 January 98

Foil 139 Tango Screen: Physics Applets -- Cross Product, Planets and Neural Network

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 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 8 January 98

Foil 140 TANGO: Highlights II

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 98. *
Full HTML Index
Global architecture is a mesh of servers
  • migration via hand-off mechanism (work in progress)
Session metaphor is a meeting room with tools
  • a more flexible "application session" model has been shown indigestible for many early users
Asynchronous collaboration is (will be) enabled via session recording to database backend
TANGO modules can be downloaded from anywhere
  • can interact via a server at arbitrary location

HTML version of Scripted Foils prepared 8 January 98

Foil 141 TANGO: Control Application

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 98. *
Full HTML Index
Application select
buttons
Application
Domains
Open/close and
floor control
Session
information
User information

HTML version of Scripted Foils prepared 8 January 98

Foil 142 TANGO: application control

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 98. *
Full HTML Index
TANGO session, sync, and
floor control buttons built
into the application control
panel.

HTML version of Scripted Foils prepared 8 January 98

Foil 143 TANGO Applications

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 98. *
Full HTML Index
Generic tools: chats (1D, 2D, 3D*), whiteboards (paint and draw)
Multimedia tools: audio/video conferencing, collaborative indexed streaming video
Shared browsers: slide shows, fully synchronized, shared JavaScript, customizable client-side apps
Virtual University: WebWisdom - interactive contents delivery system, a set of applets for physics curriculum
Domain specific applets: 2D and 3D (collaborative VRML) Visible Human, collaborative AutoCad (feasibility study only)

HTML version of Scripted Foils prepared 8 January 98

Foil 144 TANGO: Status

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 98. *
Full HTML Index
Core system implemented by a team of 3 programmers within ~6 months, available.
  • TANGO server for Unix and Windows NT
  • TANGO Plug-ins for Wndows95/NT, IRIX, Solaris
APIs for Java, C/C++, and JavaScript available
Two generations of GUI implemented
"Lessons learned" are being incorporated into TANGO II, scheduled for release end of October
  • new sessions paradigm, database support, multi-server support

HTML version of Scripted Foils prepared 8 January 98

Foil 145 Collaboratory systems: Taxonomy I

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 98. *
Full HTML Index
Basic architectures
  • Shared display: single instance of application, user input & display replicated via conference agent
    • Entire functionality of application is shared
    • Examples: Shared X (HP), NetMeeting (MS), ProShare (Intel), ShowMe (Sun), Timbuktu (Farallon)
    • Advantages: simple to implement
    • Disadvantages:
      • functional: simplistic, inflexible, awkward session control model, insecure (no data access control), no support for asynchronous collaboration, race condition problems
      • performance: generate heavy data traffic, unacceptable on WANs
      • incompatible with Web programming model assuming local intelligence

HTML version of Scripted Foils prepared 8 January 98

Foil 146 Collaboratory systems: Taxonomy II

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 98. *
Full HTML Index
Basic architectures
  • Event broadcasting: each workstation runs its own copy of application.
    • (A) Virtual instance: all events shared (collaboration transparency)
    • (B) Independent data views: some events shared
    • Examples: Habanero (NCSA - B), Java Collab. Toolset (Old Dominion - A ), ProMondia (Univ. of Nuremberg - B), UARC (Univ. of Michigan - B), TANGO (NPAC - B)
    • Disadvantages: new category of SW, difficult to implement
    • Advantages: infinitely flexible and adaptable, generates little network traffic, perfectly fit Web/Java paradigm, can implement security, can support asynchronous collaboration....

HTML version of Scripted Foils prepared 8 January 98

Foil 147 Event Broadcasting: con and pro

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 98. *
Full HTML Index
Sharing possible only if applications deterministic
  • applications ARE deterministic or can be made so
Copies of applications must be present everywhere
  • but they are, being applets or downloaded via a push channel
Environments must be identical
  • Java VM takes care about this
Initial state of a newcomer impossible to define
  • not so for good OO design and object serialization mechanism
Cannot maintain consistency among copies
  • Difficult but not Impossible. Variety of sync mechanisms available
The pros win! Web model enables event broadcasting!

HTML version of Scripted Foils prepared 8 January 98

Foil 148 Typical Web Collaboration Architecture

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 98. *
Full HTML Index
TANGOsim
Basic
Replicated Applications
1)Virtual Users 2)Customized Views

HTML version of Scripted Foils prepared 8 January 98

Foil 149 The TANGOsim C2 Application

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 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 8 January 98

Foil 150 Command and Control Screen with Multimedia Message

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 98. *
Full HTML Index
Feb 97 Demonstration of Tango

HTML version of Scripted Foils prepared 8 January 98

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

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 98. *
Full HTML Index
From Tango Project for CEWES Collaborative Tool Meeting

HTML version of Scripted Foils prepared 8 January 98

Foil 152 TANGO Structure of Multidisciplinary Applications

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 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 8 January 98

Foil 153 Minimal Web based Multidisciplinary Application

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 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 8 January 98

Foil 154 Comparison of Communication/Linkage Models

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 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 8 January 98

Foil 155 General Web Architecture

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 98. *
Full HTML Index
We have a set of Services hosted by Web Servers and accessed by clients
Groups of clients (electronic societies) are linked by collaboration systems such as TANGO
Access
Resources
Store
Multimedia Information
TANGO Server
File Systems
and/or Database
Object Broker
Database
Simulation
Computer
Person2
Shared
WhiteBoard
Shared Client Appl
Person1
General User

HTML version of Scripted Foils prepared 8 January 98

Foil 156 TANGOsim for Distributed Simulation and Computational Steering - I

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 98. *
Full HTML Index
Clearly Java Collaboration Systems are natural implementations of general environments that mix computers and people
Computational Steering -- a simulation is like a participant in a Tango session which has
  • simulation engine
  • visualization subsystem
  • one of more computaional scientists
Need to link to Tango, Java data analysis/visulaization front ends as well as distributed resource management systems such as ARMS from Cornell

HTML version of Scripted Foils prepared 8 January 98

Foil 157 TANGOsim for Distributed Simulation and Computational Steering - II

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 98. *
Full HTML Index
Note synergy with Java Server based distributed computing such as WebFlow which builds an AVS like environment with graphical interfaces to software Integration
More ambitious to upgrade discrete event simulation component of TANGOsim to support full SIMNET/DSI (Distributed Simulation Internet) functionality.
Note that Java is natural language for DSI/Forces Modelling because these typically use object parallelism which fits both language and applet/JavaBean capabilities.
See discussion in http://www.npac.syr.edu/projects/javaforcse

HTML version of Scripted Foils prepared 8 January 98

Foil 158 Architecture of JSU Distance Education

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 98. *
Full HTML Index
Participants at JSU
Teacher/Lecturer at NPAC

HTML version of Scripted Foils prepared 8 January 98

Foil 159 New Directions for Tango

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 98. *
Full HTML Index
Education applications include "classic guided tour" and more interestingly shared simulations
  • mechanics of springs, planets
  • Explore new DoD Advanced Distributed Learning Initiative based on distributed objects
Delivering "consulting" version to DoD (CEWES)
  • Shared editor/source code viewers, debugger, visualization (SciVis 40,000 lines of Java) etc.
Need to make even more robust/"user error proof"
More sophisticated multi-room customizable version under development
Develop database backend for logging of sessions

HTML version of Scripted Foils prepared 8 January 98

Foil 160 Java as the Language for Computational Kernels!

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 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 8 January 98

Foil 161 Some Critical Features of Java as a Programming Language

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 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 8 January 98

Foil 162 Comparison of Java and Fortran 77/90

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 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 8 January 98

Foil 163 Java Links the Bottom and Top of Pyramid

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 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 8 January 98

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

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 98. *
Full HTML Index
Java is currently semi-interpreted and (as in Linpack online benchmark) is about 50 times slower than good C or Fortran
  • http://www.netlib.org/benchmark/linpackjava/
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 8 January 98

Foil 165 Performance of Java is Dreadful!

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 98. *
Full HTML Index
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 8 January 98

Foil 166 LinPack Java Performance Updated to Sept 30 1996

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 98. *
Full HTML Index
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 8 January 98

Foil 167 LinPack Java Performance Updated to June 3 1997

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 98. *
Full HTML Index
see http://www.netlib.org/benchmark/linpackjava/

HTML version of Scripted Foils prepared 8 January 98

Foil 168 What Limits Performance of Compiled Java?

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 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 8 January 98

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

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 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 8 January 98

Foil 170 Classes of Simulations and their High Performance Needs

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 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 8 January 98

Foil 171 Java and Parallelism?

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 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 8 January 98

Foil 172 "Pure" Java Model For Parallelism

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 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 8 January 98

Foil 173 Mechanisms for Data Parallelism in HPJava

From General NPAC Foils-B starting June97(PowerPoint) Beijing -- 28 Dec 97 to 5 Jan 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 Sat Jan 10 1998