Given by Geoffrey C. Fox at General Research on June-December 97. Foils prepared 8 Jan 98
Outside Index
Summary of Material
This consists of collection of PowerPoint foils in 1997 starting in June 97 |
Includes summary of CORBA DIS talk and other general object computing architecture foils |
Includes Glossary material for HPcc and Education |
Includes China Talk material prepared end of December 97 |
Outside Index Summary of Material
Geoffrey Fox |
Syracuse University |
NPAC |
111 College Place Syracuse NY 13244 4100 |
3154432163 |
This consists of collection of PowerPoint foils in 1997 starting in June 97 |
Includes summary of CORBA DIS talk and other general object computing architecture foils |
Includes Glossary material for HPcc and Education |
Includes China Talk material prepared end of December 97 |
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 |
http://www.npac.syr.edu/users/gcf/psptajuly97 |
1) Manchester July 1 1997 Second Technical Meeting of |
Portable Software Tools for Parallel Architectures (PSPTA) |
2) E-Systems Garland Texas Presentation July 9 1997 |
3)HPCS'97 Winnipeg Canada Keynote Talk July 12 1997 |
Geoffrey Fox |
Syracuse University NPAC |
111 College Place, Syracuse NY 13244 4100 |
Phone 3154432163 |
We suggest that one can re-engineer existing HPCC concepts using emerging Web technology to produce a far more effective programming environment |
This presentation asserts that software architecture should be designed in three layers: client interface, high functionality middleware accessing when necessary specialized high performance third layer |
On client side, we discuss VPL as an example and suggest that a Java Computing Services framework can lead to universal interoperable interfaces |
In middleware, we discuss Collaboration, Integration software, Multidisciplinary Applications, databases and CORBA
|
Finally we discuss Java as the universal language to express all of this -- including scientific computing! |
HPCC is a small field with limited resources for a very hard problem and must leverage as much software as possible |
Web Software provides an excellent pervasive user interface with Java Applets and WebWindows |
Web Software provides a potentially excellent high performance object oriented language (Java) for scientific and engineering computation |
Web Software provides a high functionality but modest performance distributed computing environment based on either Web Servers or Clients
|
All(!?) we need to do is to add high performance to the Web! |
Building from bottom of Computing pyramid starts with high functionality software which has an architecture that can be augmented with high performance |
3 Levels of Software
|
One universal language -- Java for all layers |
This is "middleware" which is implemented in simplest form as a network of Java Servers
|
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 |
Link CFD and CSM -- each of which codes has steps |
Input --> Mesh Generation --> Partitioning --> MPI based simulation --> Post Processing |
CFD |
COCOLIB communication library supplies Data and Control |
Structures |
MPI Processes of individual programs |
Partition Individual Grids |
COCOLIB (CISPAR Runtime Library)Interpolates between grids of 2 programs |
Natural Choice: |
Optimal High Performance Choice |
Data and Control |
Data Only |
CFD Server |
Structures Server |
Control |
Only |
Simplest Server level Implementation |
Structures Server |
CFD Server |
There is a web-based DIS project at the Naval Postgraduate School (NPS) at Monterey, CA, led by Don Brutzman who is NPS faculty, member of VRML Consortium and Moderator of newly formed dis-java-vrml mailing list. |
The goal of the project is to explore Java for DIS protocol implementation and networking, VRML2 for visualization of the simulated virtual DIS worlds, and Web browsers for the GUI packaging and integration. |
The current NPS experiment uses exclusively Java, VRML and HTML to implement a proof-of-the-concept demo. In a more complete Web DIS, the actual simulation engines will be likely provided by the optimized legacy codes, suitably interfaced to Java based communication and VRML based rendering. |
Front-end is provided by Netscape running one vehicle simulation applet on each node and by Cosmo Player VRML2 browser displaying the multi-vehicle simulated world. |
Java applet propagates local vehicle and communicates via the bridge daemon with other nodes, sending local vehicle PDUs and reading remote vehicles PDUs. |
Java applet and VRML browser interact via EAI (External API) as specified by SGI/Cosmo Player add-on to the VRML2 protocol. JavaScript is used to acquire handle to the VRML scene and LiveConnect is used to pass this handle to the Java applet. |
Applet performs dynamic real-time updates of the scene graph based on local vehicle simulation and remote vehicle locations received via PDUs. |
This prototype is successful and demonstrates that one can use Web technology for Distributed Event Driven Simulation -- the major use of simulation in DoD |
Web'97 is already quite elaborate at the client/browser side but still rather simplistic at the server side (base HTTP with CGI extensions). |
New Java Frameworks (Enterprise, Media) bring new family of Java servers that can implement an object based middleware and backend layers for the Web based services including computing. |
One critical development in the distributed objects domain is the IIOP (Internet Inter-ORB Protocol), mandatory in CORBA2 and offering a new server-to-server communication standard between commercial ORBs from various vendors. |
At the moment, Web Server market is dominated by customized or/and proprietary systems but there is a new strong tendency to standardize the Web middleware around the CORBA paradigm. |
'Java based ORB' is a CORBA2 compliant ORB written exclusively in Java, and hence fully portable and ready to run also on the Wintel platform, where distributed objects were so far under control of Microsoft DCOM/ActiveX model. |
The new emergent Object Web framework includes Web servers in the middleware, Java applets in the front-end and Java ORBs on both sides. |
Client-side ORB (or ORBlet) can be either downloaded as part of the applet, or resident on the client host, or embedded in the browser (as planned by Netscape). |
Applet downloads via HTTP and connects via ORBlet's IIOP to a middleware ORB. This middleware ORB can be either another server or part of the Web server. |
Middleware ORB connects via IIOP to other ORBs on the CORBA bus. This mechanism enables global connectivity via CORBA white/yellow page services such as Naming Service or Trader Service and their federations. |
Client-side ORBlet is also a lightweight server - hence clients can be called by servers via the CORBA callback mechanism. This enables interactive feedback, asynchronous notification and a variety of collaboratory frameworks over the CORBA bus. |
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 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 |
Our HPCC Server model is consistent with the Object Web trends |
The servers provide high functionality CORBA2 services with an event based control mechanisms |
A new HPCORBA data transfer layer implements high performance object method invocations |
Current WebFlow functionality, limited to classical dataflow, can be extended to support also visual authoring of CORBA business objects and in a component based software approach, WebFlow will be a CORBA vertical framework aimed at distributed computing. |
JavaBeans are the base software components which have a visual programming model which links ideas in systems such as Hence CODE AVS WebFlow with modern software engineering practice. |
In summary, we propose HPCORBA based WebFlow with JavaBeans front-ends as an effective delivery platform for integrating HPCC and DoD Modeling, Simulation and Testing environments with modern high productivity software development environments. |
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 ) |
http://www.npac.syr.edu/users/gcf/cps616appl97 |
June 19 1997 |
Internet Applications Development Certificate Course |
Geoffrey Fox |
Syracuse University NPAC |
111 College Place Syracuse NY 13244 4100 |
3154432163 |
There is a "gray area" between base services and applications |
Virtual Environments are a showcase for VRML2 and the emerging lower level but more powerful java3D
|
Data Analysis is natural client side Java Application for visualization/analysis in both scientific and engineering simulations and in areas like economic modeling |
http://www.npac.syr.edu/users/gcf/cps616webreviewjune97 |
Material from CPS606 Assumed in CPS616 |
Used in Trip to China May 97 |
Geoffrey Fox |
Syracuse University NPAC |
111 College Place Syracuse NY 13244 4100 |
3154432163 |
We review some of the base material assumed in CPS616 using curricula material taken from CPS606 |
History and Structure/Size of Internet and Web |
Basic Internet and Web Services |
What is WebWindows and basic Web architecture |
Overview of Networking for Internet |
MIME HTTP |
but not HTML or CGI (see separate presentations) |
For the World Wide Web or Internet Itself |
For use in Enterprise/Corporate Information Systems
|
Use of Web Technology as base software Infrastructure
|
http://www.npac.syr.edu/users/gcf/cps606fall97intro |
Nancy McCracken |
Geoffrey Fox, Tom Scavo |
Syracuse University NPAC |
111 College Place Syracuse NY 13244 4100 |
3154432163 |
This introduces the course which covers the essential programming skills needed for Web / Internet / Intranet Programming |
The Introductory module overviews the basic Web technologies
|
It uses 2 tier (client-sever) and 3 tier computing models as general motivations |
And a set of specific applications using Web Technologies |
Theses are meant to show you why you are taking this course and the follow-on (CPS616) which does the advanced Web features |
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
|
As above, but specifically build a metacomputing environment |
One can view the Object Web as a distributed information system with modest performance and build a metacomputing system with the Web architecture
|
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 |
Geoffrey Fox |
Syracuse University |
NPAC |
111 College Place Syracuse NY 13244 4100 |
3154432163 |
We describe how a network of servers architecture can naturally support both parallel and distributed computing while |
Java can be used for both the client interface and for programming parallel and sequential scientific problems |
This is illustration in multidisciplinary applications, forces modeling, integration of CORBA, role of component based software, interpreters |
we discuss role of collaboration technologies |
we describe relevance of Web technologies |
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 |
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
|
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
|
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
|
Assume that primary goal of metacomputing system is to add to existing parallel computing environments, a higher level supporting module parallelism
|
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 |
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 |
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
|
Object Web Only addresses Integration of already decomposed parts!
|
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 |
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 |
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
|
Multidisciplinary and Computational Steering Applications
|
Visual and Interpreted Programming Environments
|
Technologies to get High Performance CORBA |
Integration with Forces Modeling (Distributed Event driven Simulation) |
Integration with Networked enabled servers such as NEOS and Netsolve
|
Geoffrey Fox |
Syracuse University |
NPAC |
111 College Place Syracuse NY 13244 4100 |
3154432163 |
We discuss role of commodity (Web) technologies in future seamless computing environments |
We describe how a network of servers architecture can naturally support both parallel and distributed computing while |
We discuss implications of metacomputing, multidisciplinary applications, |
We suggest critical importance of CORBA and component based software in HPCC
|
We recommend agreement on standard interfaces or frameworks for computing |
There are a set of related concepts
|
How general should we be?
|
Can commodity (web) technologies deliver needed performance today or in near future? |
Can we agree on necessary standards/frameworks? |
Batch submission and analysis |
Proper Interactive Client Server |
General 3 Tier Architecture with multiple services
|
Client |
(Web) Server |
aka Middleware |
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
|
Wrapping existing code as Javabeans is a good way of renovating "legacy code" so can be used more easily in future!
|
Numerical Computing Framework
|
Computing Services Framework
|
High Performance Framework
|
Distributed Computing Framework
|
Distributed Simulation Framework
|
Java Calls (mainly Interfaces and not methods) to capabilities expressed in implementation neutral form |
Drivers convert these general calls to vendor specific implementation of service |
Java code can either be all on client (2-tier) or on client and middle tier (3 tier) |
e.g. JDBC 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
|
Note database business is larger than simulation business
|
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
|
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. |
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
|
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
|
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
|
Accounting -- use Web commerce technology? |
Security (especially hard in metacomputing as link several different management policies)
|
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
|
Libraries including names in Math class and
|
Module linkage model for metaproblems (multidisciplinary applications) as in Javabeans sufficient? |
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,
|
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 |
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. |
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. |
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. |
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.
|
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. |
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.
|
Two major advantages of the proposed approach are:
|
It is natural to base on either a network of Web Clients or Web Servers
|
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
|
Note total compute power in all Web "clients" is about 100 times that in all Central Supercomputers |
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)
|
Has conventional general tools
|
Developed for command and control |
Most extensively used in education -- especially for course between Syracuse and Jackson State
|
Education applications include "classic guided tour" and more interestingly shared simulations
|
Delivering "consulting" version to DoD (CEWES)
|
Need to make even more robust/"user error proof" |
More sophisticated multi-room customizable version under development |
Develop database backend for logging of sessions |
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 |
Client Applet |
with JDBC and user (form) |
interface |
Oracle Database |
Java Socket |
Oracle Driver |
OCI |
Client with Applet Javabean |
Vendor Specific |
Object Broker |
Object |
Database |
IIOP |
Custom |
Geoffrey Fox |
Syracuse University |
NPAC |
111 College Place Syracuse NY 13244 4100 |
3154432163 |
As distributed computing and information systems become more important, object technology seems the only way to manage and re-use components whether they be web pages, database records, Java Applets, Fortran Codes or ..... |
We note that the commercial world is developing CORBA COM and Javabeans which will merge in the object Web
|
FMS and IMT applications are likely to make increasing use of commercial Web and Object Technology! |
We need to develop high performance versions of commercial standards to support many DoD and other HPCC user needs |
HTTP (Hyper Text Transport Mechanism)
|
Web Client
|
Web Servers
|
CORBA (Common Object Request Broker Architecture)
|
COM (Common Object Model)
|
ComponentWare
|
OMG (Object Management Group)
|
ORB (Object Request Broker)
|
IIOP (Internet Inter Orb Protocol)
|
Javabean
|
RMI (Remote Method Invocation)
|
Object Web
|
JDBC (Java Data Base Connection)
|
HPCC (High Performance Computing and Communication)
|
Computational Grid
|
HPcc (High Performance commodity computing)
|
This is classic host-node computing model |
Host is logically distinct but can be on same machine as a "node" |
FMS (Forces Modeling and Simulation)
|
IMT (Integrated Modeling and Testing)
|
DIS (Distributed Interactive Simulation)
|
HLA (High Level Architecture)
|
RTI (Run Time Infrastructure)
|
In Year 2, we start implementing tasks along our High Performance Object Web based FMS Roadmap, outlined in Year 1 |
We address 7 focused tasks, grouped in 3 domains:
|
Technology Watch and Training (3 tasks) is supported by ARL; |
Planning Parallel Ports (2 tasks) and WebHLA Software Development (2 tasks) are split between ARL and CEWES |
1) General FMS Support and Technology Tracking
|
2) FMS Training
|
3) Development of SPEEDES Training
|
4) Planning for Distributed/Parallel RTI
|
5) Parallel CMS Planning
|
6) WebFlow based Visual Simulation Tools
|
7) Object Web RTI Prototype
|
Limited resources and aggressive Year 2 program requires tight integration and software reuse between tasks |
Core technology for both development projects will be provided by NPAC WORB - our new Java/CORBA/COM based component broker - acting both as new WebFlow server in Task 6) and RTI node agent in Task 7). |
We will evaluate new Java COTS for Task 6 GUI such as Visual Cafe by Symantec, JavaStudio by Sun, VisualAge by IBM, JBuilder by Borland. |
Working with SPEEDES in Task 3) will provide insights into non-trivial Time Management issues for Task 7) which are not fully resolved by the current DMSO RTI |
Parallel port planning (Tasks 4,5) will provide specification requirements for the next stage (Year 3) High Performance Object Web FMS infrastructure |
Technology Watch and Web based Training
|
Planning Parallel Ports of M&S Modules
|
WebHLA Software Development
|
Geoffrey Fox |
Syracuse University |
NPAC |
111 College Place Syracuse NY 13244 4100 |
3154432163 |
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 |
Geoffrey Fox |
Syracuse University |
NPAC |
111 College Place Syracuse NY 13244 4100 |
3154432163 |
We describe the Pragmatic Object Web (POW) model integrating Java COM and CORBA |
We present an overall architecture for a fully POW based virtual learning system including Web-linked database at its heart |
We consider applications which combine asynchronous and synchronous learning and combine education and training |
We describe Tango Collaborative Infrastructure in the above context |
We use examples from K-12, Undergraduate, Graduate and Continuing Education including special (handicapped users) education |
Can traditional universities survive this revolution or perhaps some will grow from it !? |
What is the "Enterprise" (business) model for (science) education and indeed universities themselves as an institution? |
US has a clear industrial information technology leadership in spite of perceived K-12 and undergraduate educational problems
|
My physics students rarely end up in physics but do find that physics taught them good problem solving skills. |
Developments in Object Web (Java, CORBA databases etc) will give higher quality basic curricula with glossaries, database backends, reusable objects etc.
|
Virtual Laboratories for Science -- including computer science (programming)
|
Voice(RealAudio) and Video(H263) capture of teacher as augmentation of lecture curricula material
|
Searchable video archives for finding critical few minute length clips to use in class
|
Collaboration Technology designed to link people, computers and instruments (accelerators, telescopes ..) together |
Immersive Virtual Environments using VRML |
Modeling and Simulation as used by US defense community (generalized flight simulation) |
Log accesses using databases and analyze results (data-mining) for assessment |
All these technologies can be used synchronously (with teacher) or asynchronously (exploratory learning in students' time) |
Asynchronous Instruction: Students browse material independently from each other and from teacher. Communicate through generalized email such as threaded discussion lists (as in Lotus Notes) or MOO's |
Synchronous Instruction: As in a classroom teacher and students interact in real-time exchanging information by audio, video and documents. Microsoft NetMeeting, NPAC Tango and NCSA Habanero implement this digitally |
Distributed Educational Object: Unit of Instruction which can be re-used and addressed using either Web or CORBA model of distributed objects
|
"Metadata": Aspects of educational objects which are inherited from their view as documents
|
Educational Object properties: are those properties specific to its educational use and would differ between computer science and physics
|
Server-Side Dynamic HTML: HTML generated from a database and so page contents depend dynamically on values of current user or administrator (teacher) set parameters |
Client-Side Dynamic HTML: HTML includes JavaScript and so exhibiting dynamic behavior depending on client side actions. Typically generated from back-end static pages but no reason why JavaScript enabled pages cannot be generated from a database |
JavaScript: Interpreted language which is embedded in HTML or used server-side in Netscape servers as LiveWire. JavaScript is Java-like but less powerful but often faster both in execution and for developer as fully interpreted and integrated into client or server -- Not certain if MicroSoft and Netscape will agree on language |
Database Backend: used to store educational objects -- curricula, grades, quizzes; personal data (students and teachers); assessment logs; multimedia records of classes |
Web-linked database: A database used with a Web client front end. This can use various technologies:
|
Audio or Video over Foils: Multimedia clips are attached to individuals pages of a presentation. These are either recorded from "teacher in action" or in more formal but perhaps less spontaneous studio presentations.
|
MOO: Rather controversial form of asynchronous collaboration supporting rooms and a simple "virtual world" view with often text supplying illusion of a more familiar virtual interaction space |
Threaded Discussion Space: Hierarchically organized asynchronous collaboration with (text) messages from a chat room, bulletin board or mail interaction |
Lotus Notes is a document database supporting asynchronous collaboration and offering a web front end. Offers a JDBC/ODBC interface and so can be viewed as a particular form of a relational database with tools to support collaboration. Has security features |
Shared Display technology replicates "portions of a frame-buffer" from one machine onto all machines sharing view |
Shared Event approach to collaboration only shares the information (parameter changes, mouse movements) needed to specify an application
|
Microsoft NetMeeting is a well-known shared display PC technology
|
Habanero from NCSA supports elegantly synchronous sharing of Java objects allowing multiple clients replicated views of arbitrary Java objects. Runs as a Java application and cannot be integrated with major browsers except HotJava
|
Tango from NPAC is a Web browser based synchronous collaboration system allowing objects to be in any language including Java, VRML, JavaScript, C++
|
Habanero and Tango both support event sharing model |
Education: Learning fundamental principles (such as the reasons why a language is what it is) which typically takes a long time (from years for a degree to several months for a course)
|
Training: Learning technical skills such as a computer language in a time which is usually measured in days or weeks
|
However education and training have similar technology support issues |
Computer Aided Instruction: typically an asynchronous learning tool -- originally CDROM based -- but often now based on multimedia web presentations.
|
Flight Simulators: High end Computer aided instruction used in general to train defense and industry workers in particular difficult tasks.
|
We deliver class from a central site to several different places linked by pervasive Web Technology
|
This generalized "flight simulator" and MOO's and constructs an electronic virtual environment which emulates some optimal learning space |
Could use distributed simulation technology and involves multiple individuals (avatars) |
The technology of simple virtual classroom could also be used as part of this |
Builds on gaming industry and could involve high performance computing to support multiple virtual participants in complex world |
Data Defining Content of Curricula Pages |
Server side |
Java(JDBC) or |
LiveWire |
Templates Defining How educational data stored in Pages |
Web Server |
Conventional but Dynamic HTML Pages |
Web Browser |
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
|
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"
|
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 |
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
|
On should build upwards from the "democratic Web"
|
This allows you to both deliver your application to the general public (when required) and leverage best software |
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
|
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
|
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. |
Larry Smarr and NCSA Collaboration have stressed analogy of deployment of computer/communication technology with impact that electrical and transportation grids had
|
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
|
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 |
Geoffrey Fox |
Syracuse University |
NPAC |
111 College Place Syracuse NY 13244 4100 |
3154432163 |
We describe some aspects of HPCC in USA and in particular the new NCSA computational alliance and the proposed petaflop initiative |
We discuss role of commodity (Web) technologies in future high performance computing environments |
We describe how a network of Web/CORBA/COM servers architecture can naturally support both parallel and distributed computing while |
We describe applications to both metacomputing, and parallel computing |
We suggest critical importance of CORBA and component based software in HPCC -- Javabeans seem very important |
We describe role of collaboration technology in linking computers with people |
We describe use of Java as a general coding language for scientific and engineering computation |
This approach unifies distributed event driven simulations with classic massively parallel time stepped computations |
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
|
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
|
3)One can view the Object Web as a distributed information system with modest performance and build a metacomputing system with the Web architecture
|
Geoffrey Fox |
Syracuse University |
NPAC |
111 College Place Syracuse NY 13244 4100 |
3154432163 |
We use examples from K-12, Undergraduate, Graduate and Continuing Education including special (handicapped users) education |
We consider applications which combine asynchronous and synchronous learning and combine education and training |
We describe general computer based approaches to distance learning and the virtual classroom |
We describe Tango Collaborative Infrastructure in the above context and review general collaboration approaches |
We present an overall architecture for a fully POW based virtual learning system including Web-linked database at its heart |
Can traditional universities survive this revolution or perhaps some will grow from it !? |