Pervasive Grid and Web Services Advanced Research Workshop on High Performance Computing Cetraro June 1 2004 Geoffrey Fox Community Grids Lab Indiana University [email protected].

Download Report

Transcript Pervasive Grid and Web Services Advanced Research Workshop on High Performance Computing Cetraro June 1 2004 Geoffrey Fox Community Grids Lab Indiana University [email protected].

Pervasive Grid and Web Services
Advanced Research Workshop on
High Performance Computing
Cetraro June 1 2004
Geoffrey Fox
Community Grids Lab
Indiana University
[email protected]
•
•
•
•
•
Grids of Grids of Simple Services
Link via methods  messages  streams
Services and Grids are linked by messages
Internally to service, functionalities are linked by methods
A simple service is the smallest Grid
We are familiar with method-linked hierarchy
Lines of Code  Methods  Objects  Programs  Packages
Methods
CPUs
Services
Clusters
Functional Grids
Compute
Resource Grids
MPPs
Databases
Sensor
Federated
Databases
Sensor Nets
Data
Resource Grids
Overlay
and Compose
Grids of Grids
Typical Science Grid
Service such as Research
Database or simulation
Campus or
Enterprise
Administrative
Grid
Learning Management
or LMS Grid
Digital
Library
Grid
Science Grids
Transformed by Grid Filter
to form suitable for education
Publisher
Grid
Education Grid
Inservice Teachers
Preservice Teachers
School of Education
Teacher Educator
Grids
Student/Parent …
Community Grid
Informal
Education
(Museum)
Grid
Education as a Grid of Grids
Community Grids
Repositories
Federated Databases
Database
Sensors
Streaming
Data
Field Trip Data
Database
Sensor Grid
Database Grid
Research
SERVOGrid
Education
Compute Grid
Data
Filter
Services Research
Simulations
?
GIS
Discovery Grid
Services
Analysis and
Visualization
Portal
Geoscience Research and Education Grids
Customization
Services
From
Research
to Education
Education
Grid
Computer
Farm
Flood CIGrid
…
Electricity
CIGrid
…
Gas Services
and Filters
Flood Services
and Filters
Collaboration Grid
Sensor Grid
Registry
Gas CIGrid
Portals
GIS Grid
Data Access/Storage
Visualization Grid
Compute Grid
Metadata
Core Grid Services
Security
Notification
Workflow
Messaging
Physical Network
Critical Infrastructure (CI) Grids built as Grids of Grids
What is a Simple Service?
• Take any system – it has multiple functionalities
– We can implement each functionality as an independent distributed
service
– Or we can bundle multiple functionalities in a single service
• Whether functionality is an independent service or one of many
method calls into a “glob of software”, we can always make them as
Web services by converting interface to WSDL
• Simple services are gotten by taking functionalities and making as
small as possible subject to “rule of millisecond”
– Distributed services incur messaging overhead of one (local) to
100’s (far apart) of milliseconds to use message rather than method
call
– Use scripting or compiled integration of functionalities ONLY
when require <1 millisecond interaction latency
• Apache web site has many projects that are multiple functionalities
presented as (Java) globs and NOT (Java) Simple Services
– Makes it hard to integrate sharing common security, user profile,
file access .. services
NaradaBrokering
Audio/Video
Conferencing Client
Computer
Modem
Server
Web Service B
Minicomputer
Peers
NaradaBrokering Broker
Network
Firewall
Queues
Stream
P2P Messaging
Server-enhanced
Messaging
Workstation
NB role for Grid is
Similar to
MPI role for MPP
Laptop computer
Peers
PDA
Audio/Video
Conferencing Client
NB supports messages
and streams
Current NaradaBrokering Features
Multiple transport support
In publish-subscribe
Paradigm with different
Protocols on each link
Transport protocols supported include TCP, Parallel TCP streams,
UDP, Multicast, SSL, HTTP and HTTPS.
Communications through authenticating proxies/firewalls &
NATs. Network QoS based Routing
Subscription Formats
Subscription can be Strings, Integers, XPath queries, Regular
Expressions, SQL and tag=value pairs.
Reliable delivery
Robust and exactly-once delivery of messages in presence of
failures
Ordered delivery
Producer Order and Total Order over a message type
Time Ordered delivery using Grid-wide NTP based absolute time
Recovery and Replay
Recovery from failures and disconnects.
Replay of events/messages at any time.
Security
Message-level WS-Security compatible security
Message Payload options
Compression and Decompression of payloads
Fragmentation a nd Coalescing of payloads
Messaging Related
Compliance
Java Message Service (JMS) 1.0.2b compliant
Support for routing P2P JXTA interactions.
Grid Application Support
NaradaBrokering enhanced Grid-FTP. Bridge to the Globus TK3.
Web Service reliability
Prototype implementation of WS-ReliableMessaging
Web Service Notifications
Prototype implementation of WS-Notification
NaradaBrokering Service Integration
Proxy Messaging
Handler Messaging
S1
P1
P2
S1
S2
S2
Notification
S1
S?
Service
NB Transport
S2
P?
Proxy
Any Transport
Standard SOAP Transport
Internal to Service: SOAP Handlers/Extensions/Plug-ins Java (JAXRPC) .NET Indigo and special cases: PDA's gSOAP, Axis C++
NaradaBrokering and JMS (Java Message Service)
Low Rate; Small Messages
(commercial JMS)
Transit Delay (Milliseconds)
Mean transit delay for message samples in
NaradaBrokering: Different communication hops
9
8
7
6
5
4
3
2
1
0
hop-2
hop-3
hop-5
hop-7
100
1000
Message Payload Size (Bytes)
Pentium-3, 1GHz,
256 MB RAM
100 Mbps LAN
JRE 1.3 Linux
Streams and Workflow

NaradaBrokering can manage streams from
• Audio/Video conferences
• Sensors
• Inter-service communication in workflow

http://www.hpsearch.org/demo/ describes scripting
management
interface to
NaradaBrokering
Could be a standalone
workflow engine but
better used to interface
with GUI’s such as
Triana and/or BPEL
Future/Ongoing NB Enhancements





Server/Broker-free version to support “immediate deployment”
of NB-based Community Grids
• Support local file systems as “stable consistent cross client”
storage
• Support local implementations of Grid services
Rich handler and proxy support for WS-ReliableMessaging and
WS-Reliability with federation between standards
Federated support of WS-Eventing, WS-Notification and JMS
Other Mediation/Federation to heterogeneous Grids
Replicated Subscriber (Fault-tolerance/Performance) Services
• NaradaBrokering will choose between several subscribing replicated
services

VPG Virtual Private Grid: Build standard VPN transport
(PPTP, L2TP, IPSec) into NB
• Could offer new Grid Security options and/or more choice on
firewall/NAT tunneling
P2P and NaradaBrokering



JXTA is a well known P2P framework from Sun with a similar
transport model to NaradaBrokering
We have integrated NB into JXTA to link peer groups
Server/Broker free version will support P2P versions of Grid
applications
• Day 1: Use a server (broker) free version of NB
• If successful, add brokers in the Grid sky to achieve better performance (if
broker has better network link than clients)
• Service providers could sell such Grid Farm services


Add DHT (Distributed Hash Table) approach (used in latest
JXTA) to matching topics and subscriptions in NB
GridTorrent: Merge NB-enhanced GridFTP and P2P BitTorrent
to provide WSRM fault tolerant Parallel TCP P2P or Grid file
transfer
Collaboration and Web Services

Collaboration has
a) Mechanism to set up members (people, devices) of a
“collaborative sessions”
b) Shared generic tools such as text chat, white boards, audiovideo conferencing
c) Shared applications such as Web Pages, PowerPoint,
Visualization, maps, (medical) instruments ….

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
a) is a “Service” which is set up in many different
ways (H323 SIP JXTA are standards supported by
multiple implementations) – we should make it a WS
Shared Event Collaboration





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
Finite State Change NOT Finite State Machine architecture
Using Web services allows one to expose update events of all
kinds as message streams
Need publish/subscribe approach to share messages (NB) plus
System to control “session” – who is collaborating and rules
• XGSP is XML protocol for controlling collaboration building
on H323 and SIP
Web Services and M-MVC

Web Services are naturally
M-MVC – Message based
Model View Controller with
• Model is Web Service
• Controller is Portal and
Messages (NaradaBrokering)
• View is rendering
RFIO
urc
eso
R
e Facing Port
Web Service
Application or
Model
User Facing Port
Input port
Output port
Portal
Pu
View
ish
v
Ie
en
As
Controller
S
Broker
t
ub
sc
rib
U
bl
bs
Su
cr
r
ibe
en
d
ng
eri
eU
Ie
ve
Pu
bli
sh
Aggregate WS User Facing fragments
re n
nt
View
View
de
rin
g
Model
Explicit message-based Publish/Subscribe MVC model
desktop
handheld
phone
WSRP
and
JSR168
Portlets
Desktop and Web Services with MMVC






Most desktop applications are in fact roughly MVC
with controller formed by “system interrupts” with
View and Model communicating by “post an event”
and define a “listener” programming mode
We propose to integrate desktop and Web Service
approach by systematic use of MMVC and
NaradaBrokering
Allows easier porting to diverse clients and automatic
collaboration
Attractive for next generation of Linux desktop clients
We have demonstrated for SVG Browser (Scalable
Vector Graphics), OpenOffice and PowerPoint
“Glob” programming style makes hard
SM-MV Collaboration
Model
SVG DOM
as Web Service
Shared Output port
Single Model, Multiple
View SM-MV Collaborative
Web Service
XGSP
Session
Control
NaradaBrokering
NaradaBrokering
SVG
View
master
master
client
SVG
SVG
SVG
View
View
View
other
master
client
other
master
client
other
master
client
Share output port
MM-MV Collaboration
Shared Input port
Multiple Model, Multiple View MM-MV
Collaborative Web Service
NaradaBrokering
NaradaBrokering
Model
Model
Model
Model
SVG DOM
as Web Service
SVG DOM
as Web Service
SVG DOM
as Web Service
SVG DOM
as Web Service
Broker
Broker
Broker
Broker
Broker
Broker
Broker
Broker
SVG
View
master
master
client
SVG
SVG
SVG
View
View
View
other
master
client
other
master
client
other
master
client
Share input port
Global-MMCS Community Grid




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.
The function of A/V media server is distributed using
NaradaBrokering architecture.
• Media Servers mix and convert A/V streams
Open XGSP MCU based on the following open source projects
• openh323 is basis of H323 Gateway
• NIST SIP stack is basis of SIP Gateway
• NaradaBrokering is open source messaging
• Java Media Framework basis of Media Servers
• Helix Community http://www.helixcommunity.org for Real
Media
http://www.globalmmcs.org open source “non advertised”
release
XGSP Web Service MCU Architecture
Use Multiple Media servers to scale to many codecs and many
versions of audio/video mixing
Session Server
XGSP-based Control
NaradaBrokering
All Messaging
NB Scales as
distributed
Admire
Web
Services
SIP
H323
Media Servers
Filters
High Performance (RTP)
and XML/SOAP and ..
Access Grid
Gateways convert to uniform XGSP Messaging
NaradaBrokering
Native XGSP
Break up into Web Services

Monolithic MCU becomes many different “Simple Services”
•
•
•
•
•
•
•
•



Session Control
Thumbnail “image” grabber
Audio Mixer
Video Mixer
Codec Conversion
Helix Real Streaming
PDA Conversion
H323/SIP Gateways
As independent can replicate particular services as needed
• Codec conversion might require 20 services for 20 streams
spread over 5 machines
1000 simultaneous users could require:
• 1 session controller, 1 audio mixer, 10 video mixers, 20 codec
converters, 2 PDA converters and 20 NaradaBrokers
Support with a stream optimized Grid Farm in the sky
• Future billion way “Video over IP” serving 3G Phones and home media
centers/TV’s could require a lot of computing
GlobalMMCS and NaradaBrokering








All communication – both control and “binary” codecs are
handled by NaradaBrokering
Control uses SOAP and codecs use RTP transport
Each stream is regarded as a “topic” for NB
Each RTP packet from this stream is regarded as an “event” for
this topic
Can use replay and persistency support in NB to support
archiving and late clients
Can build customized stream management to administer replay,
and who gets what stream in what codec
NaradaBrokering supports unicast and multicast
Use firewall penetration and network monitoring services in NB
to improve Q0S
Average delays per packet for 50 video-clients
NaradaBrokering Avg=2.23 ms, JMF Avg=3.08 ms
60
NaradaBrokering-RTP
JMF-RTP
Delay (Milliseconds)
50
40
30
20
10
0
0
200 400 600 800 1000 1200 1400 1600 1800 2000
Packet Number
Average jitter (std. dev) for 50 video clients.
NaradaBrokering Avg=0.95 ms, JMF Avg=1.10 ms
8
NaradaBrokering-RTP
JMF-RTP
Jitter (Milliseconds)
7
6
5
4
3
2
1
0
0
200 400 600 800 1000 1200 1400 1600 1800 2000
Packet Number
Polycom, Access Grid
and RealVideo views of
video-mixed streams
using GlobalMMCS
Integration of PDA, Cell phone and Desktop Grid Access
NB Support for optimized
PDA Communication
GlobalMMCS Futures








Current “release” has very rudimentary session management
• Should support adding members and applications to a
collaborative session
• Administration and master/non-master roles
Collaborative PowerPoint, OpenOffice, SVG release waiting
XGSP session manager
Most interesting clients are Java applets supporting portlet
model for modern portals
Linux and Macintosh clients require higher performance JMF –
Java Media Framework
Need to support use of NB QoS features
Add additional codecs like MPEG2 and MPEG4
Improve video codec-based shared display
Need scheduler of dynamic services sensitive to streaming
bandwidth requirement as well as CPU use of codec conversion
Points to Remember I
• MPI (successful parallel computing) and Web Services
teach us that programming is Message-based not Method
based …
– i.e. use distributed not shared memory
• M-MVC: Message Based Model View Control paradigm
for desktop applications and Web Services
• Paradigm for new generation of Linux, PDA, Macintosh
clients better than Windows!
• M-MVC Collaboration is either
– MM-MV: Shared Input Port Web Services (Multiple Model
Multiple View) cf. MIMD
– SM-MV: Shared Output Port Web Services (Single Model
Multiple View) cf. SIMD
Points to Remember II
• 2 Principles for Software Engineering for Grids
– Build Grids of Grids of Simple Services
– Rule of the Millisecond – Build as a service if can tolerate interfunctionality latency of a few milliseconds
• Need to handle streams (ordered collections of messages)
as well as messages
• Grids are high performance P2P Networks
• NaradaBrokering supports messaging needed between
services
– http://www.naradabrokering.org is pretty solid open source
• GlobalMMCS is an improving scalable Web Service based
collaboration environment to build community Grids
– A/V Conferencing, Shared desktop, shared OpenOffice,
PowerPoint ….
– http://www.globalmmcs.org is open source work in progress