What we do i
Grids e-Scienc
CyberInfrastructure
and Peer-to-Pee
Network
Los Alamo
September 23 2003
Geoffrey Fox
Community Grids Lab
Indiana University
What do we do?
•
Portals
: co-chair of Grid Computing Environment
research group at GGF
•
Metadata
: co-chair at GGF of Semantic Grid RG
– Apply to Earth Science using GML (Geography mark up)
•
Collaboration
: built a Web Service based collaboration
environment sharing applications and audio/video
conferencing to desktops and
PDA
’s
•
Web Service
model for all applications
•
Messaging
: Open “Grid Messaging System”
NaradaBrokering linking P2P and (Cellular) Grid
•
Autonomic services
using managed messages
•
Applications
– CrisisGrid – Indiana and openGIS Consortium
– SERVOGrid for Earthquake Science
Collage of Portals
Earthquakes – NAS Fusion – DoE
“GridMPI” v. NaradaBrokering
n In parallel computing, MPI and PVM provided “all the features
one needed’ for inter-node messaging
n NB aims to play same role for the Grid but the requirements and
constraints are very different
• NB is not MPI ported to a Grid/Globus environment
n Typically MPI aiming at microsecond latency but for Grid, time
scales are different
• 100 millisecond quite normal network latency
• 30 millisecond typical packet time sensitivity (this is one audio or video
frame) but even here can buffer 10-100 frames on client (conferencing to streaming)
• 1 millisecond is time for a Java server to “think”
n Jitter in latency (transit time through broker) due to routing,
processing (in NB) or packet loss recovery is important property
n Grids need and can use software supported message functions and
trade-offs between hardware and software routing different from
NaradaBrokering
n
Based on a network of cooperating
broker nodes
• Cluster based architecture allows system to scale in size
n
Originally designed to provide
uniform software
multicast
to support real-time collaboration linked to
publish-subscribe for asynchronous systems.
n
Now has several core functions
• Reliable order-preserving “Optimized” Message transport
(based on performance measurement) in heterogeneous
multi-link fashion with TCP, UDP, SSL, HTTP, and will add GridFTP
• General publish-subscribe including JMS & JXTA and
support for RTP-based audio/video conferencing
• Distributed XML event selection using XPATH metaphor • QoS, Security profiles for sent and received messages
Laudable Features of NaradaBrokering
n
Is
open source
http://www.naradabrokering.org
n
W
ill have
client
“plug-in” as well as standalone brokers
nWill have a
discovery service
to find nearest brokers
n
Does
tunnel
through most firewalls without requiring
ports to be opened
n
Supports
JXTA, JMS
(Java Message Service) and more
powerful native mode
n
Transit time
< 1 millisecond
per broker
n
Will have
setup
and
broker network administration
NaradaBrokering Naturally Supports
n
Filtering
of events to support different client
requirements (e.g,. PDA versus desktop, slow lines,
different A/V codecs)
n
Virtualization
of addressing, routing, interfaces
n
Federation
and
Mediation
of multiple instances of Grid
services as illustrated by
• Composition of Gridlets into full Grids (Gridlets are single
computers in P2P case)
• JXTA with peer-group forming a Gridlet
n
Monitoring
of messages for Service management and
general autonomic functions
n
Fault tolerant
data
transport
Grid Messaging Substrate
Consum
er Service
SOAP+HTT GridFT
RTP ….
Messaging Substrate Consum
er Service
Standard client-server style communication.
Substrate mediated
communication removes transport protocol
dependence.
SOAP+HTT GridFT
RTP ….
Any Protocol satisfying QoS
Heterogeneous Routing in NB
n Mediation in Cellular
Grid using NB as interface agent
• Build Virtual Private Grid Gridlets Satellit UDP Firewal HTTP Dial-u Filter A B1 Hand-Hel Protocol Fas Link
Software Multicast B2
B3
NB Brokers Client Filtering
Architecture of Message Layer
n Need to optimize not only routing of particular messages but
classic publish/subscribe problem of integrating different
requests with related topics (subscribe to sports/basketball/lakers
and sports)
n Related to Akamai, AOL … caching and Server optimization
problem
1-> N Grid Clients
Hypercube o
NB Brokers (logical not physical)
Autonomic Services
n In a Web (Grid) Service architecture, the state of any service is defined by its initial condition and all the messages (including ordering) that it receives
• This how shared event model of collaboration works
n This is a “Finite State Change” model analogous to saving file and “undo” command in many editors
n NB plus a robust store can “guarantee” to save all these messages for (all) services
n This allows one to build both "autonomic data transport" and
"autonomic services" since these services can sustain packet losses in transport and can also sustain failures of apps/brokers
• archived messages (previous invocations, published events etc) can
be retransmitted to reconstruct state at the service or to correct a transport error.
n Further anomalies in message traffic (such as a publisher or
subscriber are silent) can be detected by NB and signal problems n We are building examples of both scenarios using GridFTP as our
data transport example
Collaborative SVG Web Service
n SVG is W3C 2D Vector Graphics standard and is interesting for
visualization and as a simple PowerPoint like application
• Further SVG is built on W3C DOM and one can generalize results
to all W3C DOM-based applications (“all” in future?)
n Apache Batik SVG is Java and open source and so it is practical
to modify it to explore
• Real Applications as a Web Service • Collaboration as a Web Service
• MVC model and web services with implications for portlets
n We use NaradaBrokering and XGSP to control collaboration;
support PDA Cell-phone and desktop clients; are restructuring Batik as MVC Web Service
• Good progress in all areas see
• http://www.svgarena.org for SVG Games
Web Service Model for Application Development
W3C DOM User Interface W3C DOM Raw (UI) Events
Application as a Web service
W3C DOM Semantic Events Data
User Facin Ports
Resource Facing Ports
Events as Message s Rendering as Messages View Control Model Narad Brokering
Interrupts in traditional monolithic applications becom “real messages” not directly method calls
Natural for collaboration and universal access
Collaborative SVG As A Web Service
Collaborative SVG Chess
Game in Batik Browser
Players
XGSP Web Service MCU Architecture
SIP H323 AccessGrid NativeXGSP Admire
Gateways convert to uniform XGSP Messaging
High Performance (RTP and XML/SOAP and ..
Media Servers Filters Session Server XGSP-based Control NaradaBrokerin g All Messaging
Use Multiple Media servers to scale to many codecs and many versions of audio/video mixing
NB Scales a distributed
We Services
Polycom, Access Grid
and RealVideo views of
NaradaBrokering Communication
n Applications interface to NaradaBrokering through
UserChannels which NB constructs as a set of links between NB Brokers acting as “waystations” which may need to be
dynamically instantiated
n UserChannels have publish/subscribe semantics with XML topics n Links implement a single conventional “data” protocol.
• Interface to add new transport protocols within the
Framework
• Administrative channel negotiates the best available
communication protocol for each link
n Different links can have different underlying transport
implementations
• Implementations in the current release include support for
TCP,UDP, Multicast, SSL, RTP and HTTP.
• Supports communication through proxies and firewalls such as
Pentium-3, 1GHz, 256 MB RAM
100 Mbps LAN
JRE 1.3 Linux
hop-3 0 1 2 3 4 5 6 7 8 9 100 1000 Transit Delay (Milliseconds)
Message Payload Size (Bytes)
Mean transit delay for message samples in NaradaBrokering: Different communication hops
hop-2
0 1 0 2 0 3 0 4 0 5 0 6 0 0 20
0 400 600 800 1000 1200 1400 1600 1800 2000 Delay (Milliseconds)
Packet Number
Average delays per packet for 50
video-clientsNaradaBrokering Avg=2.23 ms, JMF Avg=3.08
ms
NaradaBrokering-RTP
0 1 2 3 4 5 6 7 8 0 20
0 400 600 800 1000 1200 1400 1600 1800 2000
Jit
ter
(Milliseconds)
Packet Number
Average jitter (std. dev) for 50 video clients.
NaradaBrokering Avg=0.95 ms, JMF Avg=1.10
ms
NaradaBrokering-RTP
Collaboration and Web Services
n
Collaboration
has
• Mechanism to set up members (people, devices) of a
“collaborative sessions”
• Shared generic tools such as text chat, white boards,
audio-video conferencing
• Shared applications such as Web Pages, PowerPoint,
Visualization, maps, (medical) instruments ….
n
b)
and
c)
are “just shared objects” where objects
could be Web Services but rarely are at moment
• We can port objects to Web Services and build a general
approach for making Web services collaborative
n
a)
is a “Service” which is set up in many different
Shared Event Collaboration
n All collaboration is about sharing events defining state changes
• Audio/Video conferencing shares events specifying in compressed form
audio or video
• Shared display shares events corresponding to change in pixels of a frame
buffer
• Instant Messengers share updates to text message streams
• Microsoft events for shared PowerPoint (file replicated between clients) as
in Access Grid
n Finite State Change NOT Finite State Machine architecture n Using Web services allows one to expose updates of all kinds as
messages
• “Event service” for collaboration is similar to Grid notification service
and we effectively define SDE’s (service data elements) in OGSI
n Group (Session) communication service is needed for the
delivery of the update events
Global-MMCS 2.0 (1) XGSP MCU
n We are building an open source protocol independent Web
Service “MCU” which will scale to an arbitrary number of users and provide integrated thousands of simultaneous users
collaboration services.
n We will deploy it globally and hope to test with later this year. n The function of A/V media server will be distributed using
NaradaBrokering architecture.
• Media Servers mix and convert A/V streams
n Open XGSP MCU based on the following open source projects
• openh323 is basis of H323 Gateway
• NIST SIP stack is basis of SIP Gateway
W Displa y W Viewe r WS Displa y WS Viewe r Even (Message Service Master W Displa y WS Viewe r
Web Service Message Interceptor
Collaboration as a W Set up Session with XGSP
Application o Content source WSD L Web Service F I U O F I R O
W Displa y W Viewe r WS Displa y WS Viewe r Even (Message Service Master W Displa y WS Viewe r
Collaboration as a W Set up Session with XGSP
We Servic e F I U O F I R O
Shared Input Port (Replicated WS) Collaboration
XGSP Conference Control
Framework Components
n
User session
management
• User session management supports user sign-in, user
create/terminate/join/leave/invite-into XGSP sessions.
n
Application Session
Management
• XGSP application session management provides the services
to A/V and data application endpoints and communities, controlling multipoint A/V RTP and data channels.
n
Floor
Control
• Floor control manages the access to shared collaboration
Performance Test : GlobalMMCS1.0
n
We conducted extensive performance tests on audio
and video servers.
n Video:
• The test shows that our video server is capable of supporting
300 clients if there is only one video sender.
• Video Server Machine : 1.2GHz Intel Pentium III dual CPU,
1GB MEM, RedHat Linux 7.3
n Audio:
• Our tests show that audio server can support 5 concurrent
sessions (250 participants in total) without any packet droppings.
• Audio Server Machine: 2.5GHz Pentium 4 CPU, 512MB memory,
Windows XP machine
Global-MMCS 2.0 (2) Portlets
n
Collaboration clients will be built into portlets by
creating
Java Applet or ActiveX controls
for the
non-HTML clients and adding them into non-HTML pages.
n
A collaboration portlet opens local services for XGSP
application session management and floor control.
• Node Manager portlet invoke the service to control local
portlets
n
Apache Jetspeed
seems good open source technology
supporting this model
n
Portlets such as
Access Grid portlet
(really a VIC portlet)
Multicast
Multi-stream AG Portlet
n
Java applet supports
multicast AG with
multiple streams
n
In Jetspeed, easiest to
Workflow GCEs and Problem Solving
Environments (PSEs)
•
There is some confusion between fields of workflow
(Grid Computing Environments GCE) and PSEs
•
To extent PSEs “just” allow manipulation of “nuggets”,
they are indistinguishable from a domain specific GCE
•
They are distinct if they support intra nugget operations
such as
– Integration of mesh and simulation – Closely coupled code linkage
– Generation of code from high level interface like Mathematica
Web Services as a Portlet
•
Each
Web Service
naturally has a
user interface
specified as “just
another port”
– Customizable for universal access
•
This gives each Web Service a
Portlet
view specified (in XML as
always) by
WSRP
(Web services
for Remote Portals)
•
So component model for resources
“automatically” gives a
component
model for user interfaces
– When you build your
application, you define portle
at same time
Application o Content source WSD L Web Service S R W P
Application as a WS
General Application Port Interface with other We Services
User Face o Web Servic
WSRP Ports define WS as a Portlet
Web Services have other ports (Grid Service) to be
Online Knowledge Center built from Portlets
• Web Services
provide a
component model
for the middleware (see large “
common
component architecture
” effort in Dept. of
Energy)
• Should match each WSDL component with
a corresponding user interface component
• Thus one “must use” a
component model
for the portal
with again an XML
specification (
portalML
) of portal
component
Portlet Portlet Portlet Portlet
XML
RSS, OCS, or other Local or remote
HTML
Local files
JSP or VM
Local templates WebPageRemote HTML
Portlet
Portlets
User
implemented using Portal API
Portlets
Data
PortletControlle
r PortletController
Screen Manager HTML PSML PortletContro l EC S JSP template EC
S ECS EC
S ECS
EC
S ECS ECS
ECS Root to HTML
EC S
Turbine Servlet Jetspeed
Portlets and Portal Stacks
• User interfaces to Portal services (Code
Submission, Job Monitoring, File
Management for Host X) are all managed as
portlets.
• Users, administrators can customize their portal
interfaces to just precisely the services they want.
Core Grid Services User facing Web
Service Ports
IU and OGCE Portal Architecture
Client s (P ure HT ML, Java Applet ..) Aggregat ion and Rendering Jetspeed Internal Services Portlet Class IFramePortlet Portlet Class VelocityPortlet Portlet Class JspPortlet Portlet ClassWebForm Gateway(IU) Web/Griservice
Web/Gri service Web/Gri service Computing Data Stores Instruments GridPort Texas (Java) COG Kit
Clients Portal Portlets Libraries Services Resources Loca
Portlets
Remot or Prox Portlets
Emphasis from other projectsLargely take
(Jetspeed)
Jetspeed Computing Portal: Choose Portlets
4 available portlet
Choose Portlet Layout
Choose 1-column Layout
Lists user files on selected host, noahsark.
File operations include Upload, download, Copy, rename, crossload
Tabs indicate available
portlet interfaces.
File
Sample page with several portlets:
Provide information about application
and
host parameters
Select application to edit