Given by Geoffrey C. Fox at Argonne Workshop on Computational Grids on 7-10 Sept 97. Foils prepared 10 Sept 1997
Outside Index
Summary of Material
We describe why it is interesting to build computational grids on the commodity (web) software infrstructure |
We Introduce Industry 3-tier architecture and identify middle tier as key architectural feature |
We discuss implications for collaboration,
|
We describe two tier messaging with control in middle tier snd high performance data transfer in backend tier |
Outside Index Summary of Material
Geoffrey Fox |
Syracuse University |
NPAC |
111 College Place Syracuse NY 13244 4100 |
3154432163 |
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 |
High end (today) to high end(tomorrow)
|
High end(today) to low end(tomorrow)
|
Low end(today) to low end(tomorrow)
|
Low end(today) to very low end (tomorrow)
|
The new application(s) we can't predict |
1997 |
2007 |
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 "Web" which is here defined as "mass-market"/business IntraNet (low to low) use of Internet/distributed Information Systems |
This chapter (section of new architecture chapter) describes some of tactical and strategic (architecture) implications of Web technologies for computational grids |
One can "just" use Web technologies as a software infrastructure for building computational grids which can/should have a very different architecture from the Web
|
One can view the Web as a distributed information system with modest performance and preserve the basic architecture
|
Or one can adopt a bit of both approaches |
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 computational grid is to add to existing parallel computing environments, a higher level supporting module parallelism
|
So this is partly use of Web Software to build computational grids 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 "object web" which analogously to the previous bullet could encourage a growing use of modern object technology |
Emerging collaboration and other distributed information systems could allow new (low end) distributed work paradigms which could change the traditional teaming models in favor of those for instance implied by the new NSF Partnerships in Advanced Computation |
HPCC is a small field and Scientific Computing a modest size field with limited resources for very hard problems 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 |
All(!?) we need to do is to add high performance and special features of scientific computing (math libraries) to the modest performance distributed information model of the Web! |
Web Software provides a high functionality but modest performance distributed computing environment based on either Web Servers or Clients |
Here we explore an architecture using servers for control as higher functionality than clients although currently less broadly deployed
|
Web Only addresses Integration of already decomposed parts!
|
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 |
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
|
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 |
We have a set of Services hosted by 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 |
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 |
As a first step, implement multi-module systems with each module linked via Java Servers
|
Where necessary "escape" down to classic HPCC technologies for data transport keeping control at server level
|
This seems very convenient in JDK 1.1 "event model" which is mechanism used by Javabeans to communicate
|
1)Simple Server Approach 2)Classic HPCC Approach |
3)Hybrid Approach with control at server and |
data transfer at |
HPCC level |
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 |
Here are some examples of using our approach where large scale industry investment in Web technology appears to add significant value to computational grids built with Web architecture
|
Multidisciplinary and Computational Steering Applications
|
Visual and Interpreted Programming Environments
|
Integration with CORBA |
Integration with Forces Modeling (Distributed Event driven Simulation) |
Integration with Networked enabled servers such as NEOS and Netsolve |
1)Simple Server Approach 2)Classic HPCC Approach |
3)Hybrid Approach with control at server and |
data transfer at |
HPCC level |
Note Java also integrates compiled and interpreted approaches and so leads to more convenient programming environments
|
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 |
Simulation |
Basic Display |
Image Filter |
is another |
module |
Output Display after Filter |
Runs as a |
parallel |
module |
using |
Java Server |
host |
Bunch of Filters and Displays |
defined in |
Java Graph editor and |
running on grid of Java Servers |
Original Image |
Visual Basic/C++/J++ and ActiveX or Beanboxes with Javabeans give visual approach to software objects
|
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 |
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 COM/ActiveX model. |
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 |