Full HTML for

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

Given by Geoffrey C. Fox at NIST Information Technology Laboratory Washington DC on January 22 98. Foils prepared 21 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 and suggest this approach can provide attractive user environments leveraging the huge commodity investment
We suggest critical importance of CORBA and component based software in HPCC -- Javabeans seem very important
We describe role of collaboration technology in linking computers with people
We describe use of Java as a general coding language for scientific and engineering computation
This approach unifies distributed event driven simulations with classic massively parallel time stepped computations

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

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

1 HPcc High Performance Computing based on Commodity Technologies January 22,98 NIST http://www.npac.syr.edu/users/gcf/nisthpccjan98 http://www.npac.syr.edu/users/gcf/HPcc/HPcc.html
2 Abstract of Commodity Technologies in HPCC for NIST
3 People and Infrastructure in NPAC
4 Nature of NPAC Programs
5 The Computing Pyramid
6 The HPCC Dilemma and its Solution
7 What is Commodity Software
8 Component Based Programming Environments
9 Approaches to Distributed Objects
10 Java ORB Approaches to Distributed Objects - II The object web awakens!
11 Pragmatic Object Web Technology Model
12 Object Web Software is the Best
13 Synergy of InterNet and IntraNets
14 Exploiting Multi-Tier Commodity Software Model
15 A Web-based 3-Tier Computing System
16 Today's Confusing Multi-Technology Real World Second Tier Server Layer
17 Pure CORBA Architecture for a distributed Information System (There are similar COM and Javabean /RMI Versions)
18 Three Roles of Object Web Technologies in Computing
19 Computational Grid and the Object Web
20 Structure(Architecture) of Applications - I
21 Structure(Architecture) of Applications - II
22 Metacomputing with Web Architecture
23 One Strategy for a Object Web-based Metacomputing
24 Web-Server based Metacomputer Capabilities at 3 levels
25 WebFlow Globus and FrontEnd (DARP,SciVis) Architecture II
26 Proposed Approach to High Performance Messaging
27 Three Possible Implementations of CFD CSM Linkage
28 Picture of JavaBean and JDK1.1 AWT Event Model
29 Some Capabilities of the Object Web (Server) Architecture for Computing
30 WebFlow Flip Module
31 WebFlow WaveFilter Module
32 WebFlow: Image Processing
33 Example of WebFlow = AVS/Khoros using Web
34 WebFlow Globus and FrontEnd (DARP,SciVis) Architecture II
35 Architecture of WebFlow linked to Globus
36 Web Architecture Supports Interpreted Environments
37 Architecture of Interpreted Front End
38 Code WebFlow and Image Processing Parameters for Spatial Filter from SciVis in WebFlow from DARP I
39 Code WebFlow and Image Processing Parameters and SciVis Output from DARP I
40 PPT Slide
41 Parallel Computing v. Metacomputing
42 A Parallel Computer Viewed as a Single CORBA Object
43 Each Node of a Parallel Computer viewed as a Separate CORBA Object
44 Can HPcc Give High Performance if applied to each node of a parallel computer?
45 Fig. 13: Each node of a parallel computer instantiated as a Corba object.
46 A Message or Protocol Optimization Bridge
47 Fig 15: A message optimization bridge
48 Integration of DIS with Object Web Based Computing
49 Technology Convergence Roadmap - Overview for Forces Modeling, Integrated Modeling and Testing for DoD
50 What are JavaBeans I
51 What are JavaBeans II
52 Next Steps for HPcc using JavaBeans
53 Wrapping Existing Applications
54 System and User Perspective
55 3 by 3 Diagram of Programming Environments versus System Complexity from PC to HPCC
56 HP-CORBA - I
57 HP-CORBA - II
58 Aspects of HPCORBA Architecture
59 HPCORBA Layer with SIO Analogy
60 Role of Standards in HPcc
61 CORBA Software Model
62 Possible Java Frameworks for Computing
63 What/Why is a Framework?
64 Too many Frameworks!
65 Proposed Java Computing Services Framework
66 Possible Services in a Java Computing Framework - I
67 Possible Services in a Java Computing Framework - II
68 Tango Collaboration System
69 Tango Screen: Talking Heads and White Board
70 Typical Web Collaboration Architecture
71 The TANGOsim C2 Application
72 Command and Control Screen with Multimedia Message
73 A demo of animated objects controlled by simulation engine of Tango collaborative system - III
74 TANGO Structure of Multidisciplinary Applications
75 Minimal Web based Multidisciplinary Application
76 Comparison of Communication/Linkage Models
77 Status of Tango Collaborative System
78 The current Capabilities of Tango -I
79 The current Capabilities of Tango -II
80 The current Capabilities of Tango -III
81 Tango Screen: Physics Applets -- Cross Product, Planets and Neural Network
82 The current Capabilities of Tango -IV
83 Java as the Language for Computational Kernels!
84 Some Critical Features of Java as a Programming Language
85 Comparison of Java and Fortran 77/90
86 Java Links the Bottom and Top of Pyramid
87 Java LINPACK Benchmark Page Isn't the Web hardware and software too slow to be interesting for HPCC? -Java- I
88 Java LINPACK Benchmark Page Performance of Java is Dreadful!
89 Java LINPACK Benchmark Page LinPack Java Performance Updated to Sept 30 1996
90 LinPack Java Performance Updated to June 3 1997
91 What Limits Performance of Compiled Java?
92 Isn't the Web hardware and software too slow to be interesting for HPCC? -Java- III
93 Classes of Simulations and their High Performance Needs
94 Java and Parallelism?
95 "Pure" Java Model For Parallelism
96 Mechanisms for Data Parallelism in HPJava

Outside Index Summary of Material



HTML version of Scripted Foils prepared 21 January 98

Foil 1 HPcc High Performance Computing based on Commodity Technologies January 22,98 NIST http://www.npac.syr.edu/users/gcf/nisthpccjan98 http://www.npac.syr.edu/users/gcf/HPcc/HPcc.html

From General NPAC Foils-98A starting January 98 (PowerPoint) NIST Information Technology Laboratory Washington DC -- January 22 98. *
Full HTML Index
Geoffrey Fox
Syracuse University
NPAC
111 College Place Syracuse NY 13244 4100
3154432163

HTML version of Scripted Foils prepared 21 January 98

Foil 2 Abstract of Commodity Technologies in HPCC for NIST

From General NPAC Foils-98A starting January 98 (PowerPoint) NIST Information Technology Laboratory Washington DC -- January 22 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 and suggest this approach can provide attractive user environments leveraging the huge commodity investment
We suggest critical importance of CORBA and component based software in HPCC -- Javabeans seem very important
We describe role of collaboration technology in linking computers with people
We describe use of Java as a general coding language for scientific and engineering computation
This approach unifies distributed event driven simulations with classic massively parallel time stepped computations

HTML version of Scripted Foils prepared 21 January 98

Foil 3 People and Infrastructure in NPAC

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

HTML version of Scripted Foils prepared 21 January 98

Foil 4 Nature of NPAC Programs

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

HTML version of Scripted Foils prepared 21 January 98

Foil 5 The Computing Pyramid

From General NPAC Foils-98A starting January 98 (PowerPoint) NIST Information Technology Laboratory Washington DC -- January 22 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 21 January 98

Foil 6 The HPCC Dilemma and its Solution

From General NPAC Foils-98A starting January 98 (PowerPoint) NIST Information Technology Laboratory Washington DC -- January 22 98. *
Full HTML Index
HPCC has developed good research ideas but cannot implement them as solving computing's hardest problem with 1 percent of the funding
  • HPCC applications are very complex and use essentially all computer capabilities and also have synchronization and performance constraints from HPCC
We have learnt to use commodity hardware either
  • partially as in Origin 2000/SP2 with consumer CPU's but custom network or
  • fully as in PC cluster with fast ethernet/ATM
Let us do the same with software and design systems with maximum possible commodity software basis

HTML version of Scripted Foils prepared 21 January 98

Foil 7 What is Commodity Software

From General NPAC Foils-98A starting January 98 (PowerPoint) NIST Information Technology Laboratory Washington DC -- January 22 98. *
Full HTML Index
The world is building a wonderful distributed computing (information processing) environment using Web (dissemination) and distributed object (CORBA COM) technologies
This includes Java, Web-linked databases and the essential standards such as HTML(documents), VRML(3D objects), JDBC (Java database connectivity).
  • The standard interfaces are essential in that they allow modular (component based) software
We will "just" add high performance to this commodity distributed infrastructure
  • Respecting architecture of the object web, should allow us to naturally use improved software as it produced
The alternative strategy starts with HPCC technologies (such as MPI,HPF) and adds links to commodity world. This approach does not easily track evolution of commodity systems and so has large maintenance costs

HTML version of Scripted Foils prepared 21 January 98

Foil 8 Component Based Programming Environments

From General NPAC Foils-98A starting January 98 (PowerPoint) NIST Information Technology Laboratory Washington DC -- January 22 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 21 January 98

Foil 9 Approaches to Distributed Objects

From General NPAC Foils-98A starting January 98 (PowerPoint) NIST Information Technology Laboratory Washington DC -- January 22 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 21 January 98

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

From General NPAC Foils-98A starting January 98 (PowerPoint) NIST Information Technology Laboratory Washington DC -- January 22 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 21 January 98

Foil 11 Pragmatic Object Web Technology Model

From General NPAC Foils-98A starting January 98 (PowerPoint) NIST Information Technology Laboratory Washington DC -- January 22 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 21 January 98

Foil 12 Object Web Software is the Best

From General NPAC Foils-98A starting January 98 (PowerPoint) NIST Information Technology Laboratory Washington DC -- January 22 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 21 January 98

Foil 13 Synergy of InterNet and IntraNets

From General NPAC Foils-98A starting January 98 (PowerPoint) NIST Information Technology Laboratory Washington DC -- January 22 98. *
Full HTML Index

HTML version of Scripted Foils prepared 21 January 98

Foil 14 Exploiting Multi-Tier Commodity Software Model

From General NPAC Foils-98A starting January 98 (PowerPoint) NIST Information Technology Laboratory Washington DC -- January 22 98. *
Full HTML Index
Essential idea is consider a three tier model
  • Top tier is the client
  • Second tier are servers coordinated by commodity technologies such as the Web and CORBA and communicating via HTTP(Web), IIOP(CORBA), RMI or custom Java sockets.
  • Third tier are services such as databases, MPP's
Preserve the first two tiers as a high functionality commodity information processing system and confine HPCC to the third (lowest) tier.
  • MPI becomes the high performance "machine code" for message passing which you use if HTTP, IIOP or RMI have insufficient performance

HTML version of Scripted Foils prepared 21 January 98

Foil 15 A Web-based 3-Tier Computing System

From General NPAC Foils-98A starting January 98 (PowerPoint) NIST Information Technology Laboratory Washington DC -- January 22 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 21 January 98

Foil 16 Today's Confusing Multi-Technology Real World Second Tier Server Layer

From General NPAC Foils-98A starting January 98 (PowerPoint) NIST Information Technology Laboratory Washington DC -- January 22 98. *
Full HTML Index
W is Web Server
PD Parallel Database
DC Distributed Computer
PC Parallel Computer
O Object Broker
N Network Server e.g. Netsolve
T Collaboratory Server
Clients
Middle Layer (Server Tier)
Third Backend Tier

HTML version of Scripted Foils prepared 21 January 98

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

From General NPAC Foils-98A starting January 98 (PowerPoint) NIST Information Technology Laboratory Washington DC -- January 22 98. *
Full HTML Index

HTML version of Scripted Foils prepared 21 January 98

Foil 18 Three Roles of Object Web Technologies in Computing

From General NPAC Foils-98A starting January 98 (PowerPoint) NIST Information Technology Laboratory Washington DC -- January 22 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 21 January 98

Foil 19 Computational Grid and the Object Web

From General NPAC Foils-98A starting January 98 (PowerPoint) NIST Information Technology Laboratory Washington DC -- January 22 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 21 January 98

Foil 20 Structure(Architecture) of Applications - I

From General NPAC Foils-98A starting January 98 (PowerPoint) NIST Information Technology Laboratory Washington DC -- January 22 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 21 January 98

Foil 21 Structure(Architecture) of Applications - II

From General NPAC Foils-98A starting January 98 (PowerPoint) NIST Information Technology Laboratory Washington DC -- January 22 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 21 January 98

Foil 22 Metacomputing with Web Architecture

From General NPAC Foils-98A starting January 98 (PowerPoint) NIST Information Technology Laboratory Washington DC -- January 22 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 21 January 98

Foil 23 One Strategy for a Object Web-based Metacomputing

From General NPAC Foils-98A starting January 98 (PowerPoint) NIST Information Technology Laboratory Washington DC -- January 22 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 21 January 98

Foil 24 Web-Server based Metacomputer Capabilities at 3 levels

From General NPAC Foils-98A starting January 98 (PowerPoint) NIST Information Technology Laboratory Washington DC -- January 22 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 21 January 98

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

From General NPAC Foils-98A starting January 98 (PowerPoint) NIST Information Technology Laboratory Washington DC -- January 22 98. *
Full HTML Index

HTML version of Scripted Foils prepared 21 January 98

Foil 26 Proposed Approach to High Performance Messaging

From General NPAC Foils-98A starting January 98 (PowerPoint) NIST Information Technology Laboratory Washington DC -- January 22 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 21 January 98

Foil 27 Three Possible Implementations of CFD CSM Linkage

From General NPAC Foils-98A starting January 98 (PowerPoint) NIST Information Technology Laboratory Washington DC -- January 22 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 21 January 98

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

From General NPAC Foils-98A starting January 98 (PowerPoint) NIST Information Technology Laboratory Washington DC -- January 22 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 21 January 98

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

From General NPAC Foils-98A starting January 98 (PowerPoint) NIST Information Technology Laboratory Washington DC -- January 22 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 21 January 98

Foil 30 WebFlow Flip Module

From General NPAC Foils-98A starting January 98 (PowerPoint) NIST Information Technology Laboratory Washington DC -- January 22 98. *
Full HTML Index
Original Image
Output Image
Some of
Available Image Filters
Visual DataFlow
Interface

HTML version of Scripted Foils prepared 21 January 98

Foil 31 WebFlow WaveFilter Module

From General NPAC Foils-98A starting January 98 (PowerPoint) NIST Information Technology Laboratory Washington DC -- January 22 98. *
Full HTML Index
Original Image
Output Image
Some of
Available Image Filters
Visual DataFlow
Interface

HTML version of Scripted Foils prepared 21 January 98

Foil 32 WebFlow: Image Processing

From General NPAC Foils-98A starting January 98 (PowerPoint) NIST Information Technology Laboratory Washington DC -- January 22 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 21 January 98

Foil 33 Example of WebFlow = AVS/Khoros using Web

From General NPAC Foils-98A starting January 98 (PowerPoint) NIST Information Technology Laboratory Washington DC -- January 22 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 21 January 98

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

From General NPAC Foils-98A starting January 98 (PowerPoint) NIST Information Technology Laboratory Washington DC -- January 22 98. *
Full HTML Index

HTML version of Scripted Foils prepared 21 January 98

Foil 35 Architecture of WebFlow linked to Globus

From General NPAC Foils-98A starting January 98 (PowerPoint) NIST Information Technology Laboratory Washington DC -- January 22 98. *
Full HTML Index

HTML version of Scripted Foils prepared 21 January 98

Foil 36 Web Architecture Supports Interpreted Environments

From General NPAC Foils-98A starting January 98 (PowerPoint) NIST Information Technology Laboratory Washington DC -- January 22 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 21 January 98

Foil 37 Architecture of Interpreted Front End

From General NPAC Foils-98A starting January 98 (PowerPoint) NIST Information Technology Laboratory Washington DC -- January 22 98. *
Full HTML Index
Client
Middle Tier
Backend Tier
e.g. Java
e.g. HPF
SciVis Java
Scientific
Visualization

HTML version of Scripted Foils prepared 21 January 98

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

From General NPAC Foils-98A starting January 98 (PowerPoint) NIST Information Technology Laboratory Washington DC -- January 22 98. *
Full HTML Index

HTML version of Scripted Foils prepared 21 January 98

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

From General NPAC Foils-98A starting January 98 (PowerPoint) NIST Information Technology Laboratory Washington DC -- January 22 98. *
Full HTML Index

HTML version of Scripted Foils prepared 21 January 98

Foil 40 PPT Slide

From General NPAC Foils-98A starting January 98 (PowerPoint) NIST Information Technology Laboratory Washington DC -- January 22 98. *
Full HTML Index
A screen dump from a Scivis Session

HTML version of Scripted Foils prepared 21 January 98

Foil 41 Parallel Computing v. Metacomputing

From General NPAC Foils-98A starting January 98 (PowerPoint) NIST Information Technology Laboratory Washington DC -- January 22 98. *
Full HTML Index
HPcc can be applied to either parallel or high-performance distributed computing (aka metacomputing)
In metacomputing, HPcc fills a void as few if any high level tools
In parallel computing, HPcc provides uniform and perhaps more attractive sustainable user environment
Can view a parallel computer either as a single tier 2 object
  • or as a collection of tier 2 objects -- one per node
Both are interesting
  • As a single object provides a CORBA like facility of invoking as a distributed object
  • As one object per node, can use HPcc to provide node level programming environment

HTML version of Scripted Foils prepared 21 January 98

Foil 42 A Parallel Computer Viewed as a Single CORBA Object

From General NPAC Foils-98A starting January 98 (PowerPoint) NIST Information Technology Laboratory Washington DC -- January 22 98. *
Full HTML Index
This is classic host-node computing model
Host is logically distinct but can be on same machine as a "node"

HTML version of Scripted Foils prepared 21 January 98

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

From General NPAC Foils-98A starting January 98 (PowerPoint) NIST Information Technology Laboratory Washington DC -- January 22 98. *
Full HTML Index

HTML version of Scripted Foils prepared 21 January 98

Foil 44 Can HPcc Give High Performance if applied to each node of a parallel computer?

From General NPAC Foils-98A starting January 98 (PowerPoint) NIST Information Technology Laboratory Washington DC -- January 22 98. *
Full HTML Index
YES! If one uses the same separation between control and data transfer explained for metacomputing case
Build a "bridge" that accepts MPI HTTP or CORBA invocation but invokes either the powerful slow CORBA mechanism or the nifty optimized MPI
Why address nodes as CORBA? -- so you can build applications uniformly so they can access nodes and servers around the world in same message passing style
Why address nodes with MPI? -- so you can get code that executes very fast!
Why address nodes with HTTP? -- so you can get advantages of CORBA today as Web Servers dominate!

HTML version of Scripted Foils prepared 21 January 98

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

From General NPAC Foils-98A starting January 98 (PowerPoint) NIST Information Technology Laboratory Washington DC -- January 22 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 21 January 98

Foil 46 A Message or Protocol Optimization Bridge

From General NPAC Foils-98A starting January 98 (PowerPoint) NIST Information Technology Laboratory Washington DC -- January 22 98. *
Full HTML Index

HTML version of Scripted Foils prepared 21 January 98

Foil 47 Fig 15: A message optimization bridge

From General NPAC Foils-98A starting January 98 (PowerPoint) NIST Information Technology Laboratory Washington DC -- January 22 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 21 January 98

Foil 48 Integration of DIS with Object Web Based Computing

From General NPAC Foils-98A starting January 98 (PowerPoint) NIST Information Technology Laboratory Washington DC -- January 22 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 21 January 98

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

From General NPAC Foils-98A starting January 98 (PowerPoint) NIST Information Technology Laboratory Washington DC -- January 22 98. *
Full HTML Index

HTML version of Scripted Foils prepared 21 January 98

Foil 50 What are JavaBeans I

From General NPAC Foils-98A starting January 98 (PowerPoint) NIST Information Technology Laboratory Washington DC -- January 22 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 the ideas we used to get high performance separating control and data transfer
One expects Javabeans to become the CORBA component interface

HTML version of Scripted Foils prepared 21 January 98

Foil 51 What are JavaBeans II

From General NPAC Foils-98A starting January 98 (PowerPoint) NIST Information Technology Laboratory Washington DC -- January 22 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
  • We will see this as next step for WebFlow
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 21 January 98

Foil 52 Next Steps for HPcc using JavaBeans

From General NPAC Foils-98A starting January 98 (PowerPoint) NIST Information Technology Laboratory Washington DC -- January 22 98. *
Full HTML Index
Currently WebFlow uses a Java Server and manipulates Java applications which can be frontends with native methods to Fortran C or C++ routines
Change Java Server to JWORB -- server integrating HTTP and IIOP (Web and CORBA)
Change Java Applications to JavaBeans
Change linkage in WebFlow to respect JavaBean conventions
Then we get HPComponentware
And using our multitier model high performance CORBA
WebFlow is HPCC version of a
Typical Visual Interface for JavaBeans

HTML version of Scripted Foils prepared 21 January 98

Foil 53 Wrapping Existing Applications

From General NPAC Foils-98A starting January 98 (PowerPoint) NIST Information Technology Laboratory Washington DC -- January 22 98. *
Full HTML Index
Java (with visual interfaces i.e. JavaBeans) is natural tier 2 language
  • JavaBeans can be used at tier 1(client) or 2(server)
Linking this to tier 3 "classic applications" gives rise to JavaBean wrappers for existing applications
These can be used in HPcc and commodity environments
Naturally become CORBA distributed objects and so can be remotely executed and documented (via CORBA trader or yellow pages service)
Classic Application
Fortran C C++
JavaBean Wrapper
Tier 2
Tier 1
Tier 3
IIOP HTTP RMI

HTML version of Scripted Foils prepared 21 January 98

Foil 54 System and User Perspective

From General NPAC Foils-98A starting January 98 (PowerPoint) NIST Information Technology Laboratory Washington DC -- January 22 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 21 January 98

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

From General NPAC Foils-98A starting January 98 (PowerPoint) NIST Information Technology Laboratory Washington DC -- January 22 98. *
Full HTML Index

HTML version of Scripted Foils prepared 21 January 98

Foil 56 HP-CORBA - I

From General NPAC Foils-98A starting January 98 (PowerPoint) NIST Information Technology Laboratory Washington DC -- January 22 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 21 January 98

Foil 57 HP-CORBA - II

From General NPAC Foils-98A starting January 98 (PowerPoint) NIST Information Technology Laboratory Washington DC -- January 22 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 21 January 98

Foil 58 Aspects of HPCORBA Architecture

From General NPAC Foils-98A starting January 98 (PowerPoint) NIST Information Technology Laboratory Washington DC -- January 22 98. *
Full HTML Index
The following figure illustrates a possible CORBA-HPCC integration framework ( HPCORBA )
Each node of a parallel machine runs a lightweight (e.g. Nexus based ) ORBlet which enables both local and remote object services.
Coming CORBA3/MOM based messaging and object-by-value frameworks adapted to provide high-performance (e.g. MPI based) object-oriented (IIOP based) inter-node communication.
Parallel Computation graphs are represented by Interface Definition Language (IDL) in a language independent way and optimized by parallel compiler technologies.
Specific language bindings would result in HPF, HPC++ or HPJava implementations.
This framework provides interoperability with the emergent Object Web software industry and offers an elegant solution for scalable parallel I/O ( linking HPCORBA with Oracle CORBA )

HTML version of Scripted Foils prepared 21 January 98

Foil 59 HPCORBA Layer with SIO Analogy

From General NPAC Foils-98A starting January 98 (PowerPoint) NIST Information Technology Laboratory Washington DC -- January 22 98. *
Full HTML Index
Tier 1
Tier 2 IIOP
Tier 3 Globus
High Performance Messaging
High Functionality Messaging

HTML version of Scripted Foils prepared 21 January 98

Foil 60 Role of Standards in HPcc

From General NPAC Foils-98A starting January 98 (PowerPoint) NIST Information Technology Laboratory Washington DC -- January 22 98. *
Full HTML Index
HPCC can learn from success of standards in Web arena
  • Simple non optimal quickly adopted AND implemented standards have driven Web revolution
MPI is a successful standard of this type but
HPF took too long -- especially to implement -- as standard too complex.
  • We should have been less ambitious and broken HPF into separate manageable parts
  • at least a high level compiler and well defined low level SPMD model that supports distributed data structures (like DAGH)
CORBA suggests we set up HPcc as a HPCC facility
Java suggests we set up some HPCC frameworks to define client/server interfaces; Java scientific libraries etc.

HTML version of Scripted Foils prepared 21 January 98

Foil 61 CORBA Software Model

From General NPAC Foils-98A starting January 98 (PowerPoint) NIST Information Technology Laboratory Washington DC -- January 22 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 21 January 98

Foil 62 Possible Java Frameworks for Computing

From General NPAC Foils-98A starting January 98 (PowerPoint) NIST Information Technology Laboratory Washington DC -- January 22 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 21 January 98

Foil 63 What/Why is a Framework?

From General NPAC Foils-98A starting January 98 (PowerPoint) NIST Information Technology Laboratory Washington DC -- January 22 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 21 January 98

Foil 64 Too many Frameworks!

From General NPAC Foils-98A starting January 98 (PowerPoint) NIST Information Technology Laboratory Washington DC -- January 22 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
2) The Computing Services Framework which we give more detail on.

HTML version of Scripted Foils prepared 21 January 98

Foil 65 Proposed Java Computing Services Framework

From General NPAC Foils-98A starting January 98 (PowerPoint) NIST Information Technology Laboratory Washington DC -- January 22 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 21 January 98

Foil 66 Possible Services in a Java Computing Framework - I

From General NPAC Foils-98A starting January 98 (PowerPoint) NIST Information Technology Laboratory Washington DC -- January 22 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 21 January 98

Foil 67 Possible Services in a Java Computing Framework - II

From General NPAC Foils-98A starting January 98 (PowerPoint) NIST Information Technology Laboratory Washington DC -- January 22 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 21 January 98

Foil 68 Tango Collaboration System

From General NPAC Foils-98A starting January 98 (PowerPoint) NIST Information Technology Laboratory Washington DC -- January 22 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 21 January 98

Foil 69 Tango Screen: Talking Heads and White Board

From General NPAC Foils-98A starting January 98 (PowerPoint) NIST Information Technology Laboratory Washington DC -- January 22 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 21 January 98

Foil 70 Typical Web Collaboration Architecture

From General NPAC Foils-98A starting January 98 (PowerPoint) NIST Information Technology Laboratory Washington DC -- January 22 98. *
Full HTML Index
TANGOsim
Basic
Replicated Applications
1)Virtual Users 2)Customized Views

HTML version of Scripted Foils prepared 21 January 98

Foil 71 The TANGOsim C2 Application

From General NPAC Foils-98A starting January 98 (PowerPoint) NIST Information Technology Laboratory Washington DC -- January 22 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 21 January 98

Foil 72 Command and Control Screen with Multimedia Message

From General NPAC Foils-98A starting January 98 (PowerPoint) NIST Information Technology Laboratory Washington DC -- January 22 98. *
Full HTML Index
Feb 97 Demonstration of Tango

HTML version of Scripted Foils prepared 21 January 98

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

From General NPAC Foils-98A starting January 98 (PowerPoint) NIST Information Technology Laboratory Washington DC -- January 22 98. *
Full HTML Index
From Tango Project for CEWES Collaborative Tool Meeting

HTML version of Scripted Foils prepared 21 January 98

Foil 74 TANGO Structure of Multidisciplinary Applications

From General NPAC Foils-98A starting January 98 (PowerPoint) NIST Information Technology Laboratory Washington DC -- January 22 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 21 January 98

Foil 75 Minimal Web based Multidisciplinary Application

From General NPAC Foils-98A starting January 98 (PowerPoint) NIST Information Technology Laboratory Washington DC -- January 22 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 21 January 98

Foil 76 Comparison of Communication/Linkage Models

From General NPAC Foils-98A starting January 98 (PowerPoint) NIST Information Technology Laboratory Washington DC -- January 22 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 21 January 98

Foil 77 Status of Tango Collaborative System

From General NPAC Foils-98A starting January 98 (PowerPoint) NIST Information Technology Laboratory Washington DC -- January 22 98. *
Full HTML Index
It must be competitive with best available collaborative tools and so its multi-language interface allows us to interface to other systems with Tango supplying Integrated Session Control
  • e.g. interfaces to Microsoft NetMeeting
Basic model is that of a room which is a group of people getting together for a class
  • Tango2 (April98) will support a very powerful persistent multi-room paradigm
Each room supports a collection of shared objects chosen by teacher/students/administrator

HTML version of Scripted Foils prepared 21 January 98

Foil 78 The current Capabilities of Tango -I

From General NPAC Foils-98A starting January 98 (PowerPoint) NIST Information Technology Laboratory Washington DC -- January 22 98. *
Full HTML Index
Tango supports (more than) enough (over 40) applications and our next step is to evaluate, improve and make robust release
Core Collaboration Capabilities
  • Audio-Video Conferencing multicast between room participants
  • Text chat rooms with various trade offs between "coolness", ease of use etc.
  • Shared Browser (Synchronized view of Web Pages)
  • Shared Web Search (becomes shared database query)
  • Slide Show
  • White Board

HTML version of Scripted Foils prepared 21 January 98

Foil 79 The current Capabilities of Tango -II

From General NPAC Foils-98A starting January 98 (PowerPoint) NIST Information Technology Laboratory Washington DC -- January 22 98. *
Full HTML Index
Office and Authoring Tools
  • PowerPoint via shared display or shared Java viewer
  • Microsoft Excel
  • Microsoft Word
  • shared visual C++ etc.
  • Combined Whiteboard/ Java object based PowerPoint like authoring system
  • Shared emacs editor

HTML version of Scripted Foils prepared 21 January 98

Foil 80 The current Capabilities of Tango -III

From General NPAC Foils-98A starting January 98 (PowerPoint) NIST Information Technology Laboratory Washington DC -- January 22 98. *
Full HTML Index
General Virtual University Applications
  • Current WebWisdom hierarchical systems navigating through 20,000 foils and 500 foilsets
  • "Raise Hands" Applet to help teacher-student synchronous interaction
Special Virtual University Applications
  • Shared Java applets to teach physics (spring, planets, vector cross product)
  • Shared Java Applets used to teach Java!
  • Shared SmartDesk system aimed at activities useful in special education with built in assessment

HTML version of Scripted Foils prepared 21 January 98

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

From General NPAC Foils-98A starting January 98 (PowerPoint) NIST Information Technology Laboratory Washington DC -- January 22 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 21 January 98

Foil 82 The current Capabilities of Tango -IV

From General NPAC Foils-98A starting January 98 (PowerPoint) NIST Information Technology Laboratory Washington DC -- January 22 98. *
Full HTML Index
Have some fun with Multi-player games
  • VRML Chess
  • Tetris
  • Othello (Java)
  • Rubric's Cube (Java)
  • Should develop snakes and ladders and bunch of similar "grid" games
"Other" Applications
  • TANGOsim command and control system with shared tools (e.g. mapping, weather) to use in scripted crisis management

HTML version of Scripted Foils prepared 21 January 98

Foil 83 Java as the Language for Computational Kernels!

From General NPAC Foils-98A starting January 98 (PowerPoint) NIST Information Technology Laboratory Washington DC -- January 22 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 21 January 98

Foil 84 Some Critical Features of Java as a Programming Language

From General NPAC Foils-98A starting January 98 (PowerPoint) NIST Information Technology Laboratory Washington DC -- January 22 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 21 January 98

Foil 85 Comparison of Java and Fortran 77/90

From General NPAC Foils-98A starting January 98 (PowerPoint) NIST Information Technology Laboratory Washington DC -- January 22 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 21 January 98

Foil 86 Java Links the Bottom and Top of Pyramid

From General NPAC Foils-98A starting January 98 (PowerPoint) NIST Information Technology Laboratory Washington DC -- January 22 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 21 January 98

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

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

HTML version of Scripted Foils prepared 21 January 98

Foil 88 Performance of Java is Dreadful!

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

HTML version of Scripted Foils prepared 21 January 98

Foil 89 LinPack Java Performance Updated to Sept 30 1996

From General NPAC Foils-98A starting January 98 (PowerPoint) NIST Information Technology Laboratory Washington DC -- January 22 98. *
Full HTML Index Java LINPACK Benchmark Page
see http://www.netlib.org/benchmark/linpackjava/
Note Just in Time Compilers are giving a factor of 10 from June 96 Measurements!

HTML version of Scripted Foils prepared 21 January 98

Foil 90 LinPack Java Performance Updated to June 3 1997

From General NPAC Foils-98A starting January 98 (PowerPoint) NIST Information Technology Laboratory Washington DC -- January 22 98. *
Full HTML Index
see http://www.netlib.org/benchmark/linpackjava/

HTML version of Scripted Foils prepared 21 January 98

Foil 91 What Limits Performance of Compiled Java?

From General NPAC Foils-98A starting January 98 (PowerPoint) NIST Information Technology Laboratory Washington DC -- January 22 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 21 January 98

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

From General NPAC Foils-98A starting January 98 (PowerPoint) NIST Information Technology Laboratory Washington DC -- January 22 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 21 January 98

Foil 93 Classes of Simulations and their High Performance Needs

From General NPAC Foils-98A starting January 98 (PowerPoint) NIST Information Technology Laboratory Washington DC -- January 22 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 21 January 98

Foil 94 Java and Parallelism?

From General NPAC Foils-98A starting January 98 (PowerPoint) NIST Information Technology Laboratory Washington DC -- January 22 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 21 January 98

Foil 95 "Pure" Java Model For Parallelism

From General NPAC Foils-98A starting January 98 (PowerPoint) NIST Information Technology Laboratory Washington DC -- January 22 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 21 January 98

Foil 96 Mechanisms for Data Parallelism in HPJava

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

© Northeast Parallel Architectures Center, Syracuse University, npac@npac.syr.edu

If you have any comments about this server, send e-mail to webmaster@npac.syr.edu.

Page produced by wwwfoil on Mon Apr 6 1998