Full HTML for

Basic foilset Two Projects of Interest for Portals and Java

Given by Geoffrey C. Fox at JavaOne San Francisco June 15-18 99 on June 15-18 99. Foils prepared June 23 99
Outside Index Summary of Material


We describe two (possible NPAC) Projects of relevance to Java Grande Concurrency Working Group
1) Integration of Micro devices into education and computing portals
  • We propose to use the infrastructure of collaborative environments (in particular Tango Interactive) as this is designed to support event messaging. It requires extension to support asynchronous as well as synchronous event messaging
  • Jini can be integrated naturally
2) Integration of Jini and MPI
  • To provide a natural Java framework for parallel computing with the powerful fault tolerance and dynamic characteristics of Jini combined with proven parallel computing functionality and performance of MPI

Table of Contents for full HTML of Two Projects of Interest for Portals and Java

Denote Foils where Image Critical
Denote Foils where HTML is sufficient

1 Two (possible NPAC) Projects of relevance to Java Grande Concurrency Working Group
2 Applications of Micro Tango
3 Micro Tango Architecture
4 Remarks on Micro Tango I
5 Remarks on Micro Tango II
6 Remarks on Micro Tango III
7 JiniMPI Architecture
8 Remarks on JiniMPI I
9 Remarks on JiniMPI II

Outside Index Summary of Material



HTML version of Basic Foils prepared June 23 99

Foil 1 Two (possible NPAC) Projects of relevance to Java Grande Concurrency Working Group

From Two Projects of Interest for Portals and Java JavaOne San Francisco June 15-18 99 -- June 15-18 99. *
Full HTML Index
1) Integration of Micro devices into education and computing portals
  • We propose to use the infrastructure of collaborative environments (in particular Tango Interactive) as this is designed to support event messaging. It requires extension to support asynchronous as well as synchronous event messaging
  • Jini can be integrated naturally
2) Integration of Jini and MPI
  • To provide a natural Java framework for parallel computing with the powerful fault tolerance and dynamic characteristics of Jini combined with proven parallel computing functionality and performance of MPI

HTML version of Basic Foils prepared June 23 99

Foil 2 Applications of Micro Tango

From Two Projects of Interest for Portals and Java JavaOne San Francisco June 15-18 99 -- June 15-18 99. *
Full HTML Index
1) Education (and lectures):
  • Sending key data to students (e.g. notification, reference URL's),
  • supporting simple quizzes or voting;
  • mail; chat room activities; exchange of simple sketches.
2) Computing Portals:
  • Notification and summary details of final or intermediate results from computation
  • Initiation of jobs and input of "key" parameters
As communication and computing capabilities of micro devices improve one will see a growing suite of capabilities

HTML version of Basic Foils prepared June 23 99

Foil 3 Micro Tango Architecture

From Two Projects of Interest for Portals and Java JavaOne San Francisco June 15-18 99 -- June 15-18 99. *
Full HTML Index
Micro Tango Agent
Micro Device
Palmtop/Pager
XML Parser General Micro-Styles and
Application Specific Styles to render XML
Event Queues Backup
Event Generator
Custom Filter
Some Generic Libraries
Abstract Event (a.k.a. message) to suitable size Convert to (and from) XML
Reject Inappropriate Applications
Asynchronous (mail/Computing Portal)
or Synchronous (Selected Tango Applications)
Permanent or Erratic Link

HTML version of Basic Foils prepared June 23 99

Foil 4 Remarks on Micro Tango I

From Two Projects of Interest for Portals and Java JavaOne San Francisco June 15-18 99 -- June 15-18 99. *
Full HTML Index
Two features present in all future such collaboration systems will be incorporated
  • Events will be serialized in terms of XML
  • Micro Tango Interactive clients will be designed to respond to events that are generated either synchronously or asynchronously
In Synchronous case, interesting Tango applications include
  • Chat Rooms
  • White board for simple picture
  • Tango mail
  • Quizzes
  • Possibly shared browser (at least to record URL)
Asynchronous events of interest include
  • Ordinary mail
  • Events generated by computing portal such as job completion, errors etc.
Jini and Java implementations are most elegant for micro device to Tango agent linkage. The necessary robust Java infrastructure will be available on a 12 month time scale
  • Java will of course be particularly attractive for portable implementations useable on many different devices while
  • Jini will support the inevitable mobile erratic linkages

HTML version of Basic Foils prepared June 23 99

Foil 5 Remarks on Micro Tango II

From Two Projects of Interest for Portals and Java JavaOne San Francisco June 15-18 99 -- June 15-18 99. *
Full HTML Index
Note events are instantiated (serialized) as XML messages and event processing is more or less synonymous to message routing,queuing, archiving and rendering
XML data structures could include general <micro> tags as well as more specific sub-tags for each application
The micro device display should be similar to display of applications such as memos and mail on existing Palm applications with hierarchical structure
So although we use a browser like language (specify messages in XML and render with a device dependent style), the rendering engine is extremely simple compared to a workstation browser
  • All Tango applications will be rendered by same engine on micro device
One can either view micro Tango as a standalone client or always invoke a full Tango client on a PC and view this as a proxy for micro device
We need to provide a general architecture (libraries) to aid the piping (a.k.a. generating appropriate filter and transmitting events through it to Micro Tango Agent) of events from Tango client to micro Tango agent. Note this piping is responsibility of those applications that can be rendered on a micro device
  • We should support Java and JavaScript applications piping from Tango
As a byproduct of this new system, we will get a whiteboard that serializes drawings to XML (presumably in official VML (vector graphics) dialect)

HTML version of Basic Foils prepared June 23 99

Foil 6 Remarks on Micro Tango III

From Two Projects of Interest for Portals and Java JavaOne San Francisco June 15-18 99 -- June 15-18 99. *
Full HTML Index
Some interesting events are associated with Jini enabled entities registering themselves in a lookup service which registration generates events
For a pager, use one with a digital interconnect. It is essentially permanently connected
For a Palm V, buy digital modems and assume they intermittently dial in to connect to Micro Tango Agent
  • This sends summary of events that have received while palm disconnected. One can choose to discard or process
  • email conduits could be useful resource
  • One can from PC or Micro device, set flags to control which events are queued
Note that current Tango JavaScript shared browser (JSSB) has some similarities in architecture with that proposed here.
  • JSSB has two major windows. One (called by Tango) queues all incoming Tango messages. These are looked at in a continuous 0.5 second cycle and either executed, deferred or discarded. This architecture is required as one must wait for browser to load pages before enacting page associated events
  • AS with JSSB, this architecture naturally supporting event archiving.
Initial steps include thoughtful choice of hardware

HTML version of Basic Foils prepared June 23 99

Foil 7 JiniMPI Architecture

From Two Projects of Interest for Portals and Java JavaOne San Francisco June 15-18 99 -- June 15-18 99. *
Full HTML Index
is MPI Transport Layer
Jini Lookup Service
Jini PC Embryo
Jini PC Embryo
SPMD Program
SPMD Program
SPMD Program
SPMD Program
Jini PC Embryo
Jini PC Embryo
PC Control and Services
RMI
Middle Tier
PC is Parallel Computing

HTML version of Basic Foils prepared June 23 99

Foil 8 Remarks on JiniMPI I

From Two Projects of Interest for Portals and Java JavaOne San Francisco June 15-18 99 -- June 15-18 99. *
Full HTML Index
This architecture is more general than that needed to support MPI like parallel computing
  • It includes ideas present in systems like Condor and Javelin
The diagram only shows server (bottom) and service (top) layers. There is of course a client layer which communicates directly with "Parallel Computing (PC) Control and Services module"
We assume that each workstation has a "Jini client" called here a "Jini Parallel Computing (PC) Embryo" which registers the availability of that workstation to run either particular or generic applications
  • We do not use term Jini client as this is confusing with client machines of users
  • The Jini embryo can represent the machine (I.e. ability to run general applications) or particular software
The Gateway or "Parallel Computing (PC) Control and Services module" queries Jini lookup server to find appropriate service computers to run a particular MPI job
  • It could of course use this mechanism "just" to be able to run a single job or to set up a farm of independent workers

HTML version of Basic Foils prepared June 23 99

Foil 9 Remarks on JiniMPI II

From Two Projects of Interest for Portals and Java JavaOne San Francisco June 15-18 99 -- June 15-18 99. *
Full HTML Index
The standard Jini mechanism is applied for each chosen embryo. This effectively establishes an RMI link from Gateway to (SPMD) node which corresponds to creating a Java proxy (corresponding to RMI stub) for the node program which can be any language (Java, Fortran, C++ etc.)
This Gateway--Embryo exchange should also supply to the Gateway any needed data (such as specification of needed parameters and how to input them) for user client layer
This strategy separates control and data transfer
  • It supports Jini (registration, lookup and invocation) and advanced services such as load balancing and fault tolerance on control layer
  • and MPI style data messages on fast transport layer
  • The Jini embryo is only used to initiate process. It is not involved in the actual "execution" phase
One could build a JavaSpace at the Control layer as the basis of a powerful management environment
  • This is very different from using Linda (JavaSpaces) in execution layer as in Control layer one represents each executing node program by a proxy and normal performance problems with Linda are irrelevant

© 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 Wed Jun 23 1999