1 / 33

Pervasive Grid and Web Services

Pervasive Grid and Web Services. Advanced Research Workshop on High Performance Computing Cetraro June 1 2004 Geoffrey Fox Community Grids Lab Indiana University gcf@indiana.edu. CPUs. Clusters. Compute Resource Grids. Overlay and Compose Grids of Grids. MPPs. Methods. Services.

smackie
Download Presentation

Pervasive Grid and Web Services

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Pervasive Grid and Web Services Advanced Research Workshop onHigh Performance Computing Cetraro June 1 2004 Geoffrey Fox Community Grids Lab Indiana University gcf@indiana.edu

  2. CPUs Clusters Compute Resource Grids Overlay and Compose Grids of Grids MPPs Methods Services Functional Grids Federated Databases Databases Data Resource Grids Sensor Sensor Nets 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 hierarchyLines of Code  Methods  Objects  Programs  Packages

  3. Typical Science GridService such as Research Database or simulation Science Grids Campus orEnterprise Administrative Grid Transformed by Grid Filterto form suitable for education Education Grid Publisher Grid Learning Management or LMS Grid Student/Parent … Community Grid Digital Library Grid Informal Education (Museum) Grid Inservice Teachers Preservice Teachers School of Education Teacher Educator Grids Community Grids Education as a Grid of Grids

  4. Field Trip Data ? GISGrid Discovery Services RepositoriesFederated Databases Streaming Data Sensors Database Database Sensor Grid Database Grid Research Education SERVOGrid Compute Grid Customization Services From Researchto Education Data FilterServices ResearchSimulations Analysis and VisualizationPortal EducationGrid Computer Farm Geoscience Research and Education Grids

  5. Gas CIGrid Flood CIGrid … … Gas Servicesand Filters Flood Servicesand Filters Electricity CIGrid Portals Collaboration Grid Visualization Grid Sensor Grid GIS Grid Compute Grid Data Access/Storage Registry Metadata Core Grid Services Physical Network Security Notification Workflow Messaging Critical Infrastructure (CI) Grids built as Grids of Grids

  6. 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

  7. NaradaBrokering Audio/Video Conferencing Client Computer Modem Server Peers NaradaBrokering Broker Network Minicomputer Firewall Laptop computer Workstation Peers Audio/Video Conferencing Client PDA Web Service B Queues Stream P2P Messaging Server-enhanced Messaging NB supports messages and streams NB role for Grid is Similar to MPI role for MPP

  8. Current NaradaBrokering Features

  9. NaradaBrokering Service Integration S1 P2 S2 P1 S2 S1 S? Any Transport Service P? Proxy NB Transport Standard SOAP Transport S1 S2 Proxy Messaging Handler Messaging Notification Internal to Service: SOAP Handlers/Extensions/Plug-ins Java (JAX-RPC) .NET Indigo and special cases: PDA's  gSOAP, Axis C++

  10. Low Rate; Small Messages NaradaBrokering and JMS (Java Message Service) (commercial JMS)

  11. Mean transit delay for message samples in NaradaBrokering: Different communication hops 9 hop-2 hop-3 8 hop-5 7 hop-7 6 5 Transit Delay (Milliseconds) 4 3 2 1 0 100 1000 Message Payload Size (Bytes) Pentium-3, 1GHz, 256 MB RAM 100 Mbps LAN JRE 1.3 Linux

  12. Streams and Workflow • NaradaBrokering can manage streams from • Audio/Video conferences • Sensors • Inter-service communication in workflow • http://www.hpsearch.org/demo/ describes scripting managementinterface to NaradaBrokering Could be a standalone workflow engine but better used to interface with GUI’s such as Triana and/or BPEL

  13. 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

  14. 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

  15. Collaboration and Web Services • 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 …. • 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

  16. 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

  17. 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 As Controller

  18. 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

  19. SM-MV Collaboration Shared Output portSingle Model, Multiple View SM-MV CollaborativeWeb Service XGSPSession Control

  20. MM-MV Collaboration Shared Input portMultiple Model, Multiple View MM-MV Collaborative Web Service

  21. 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 Communityhttp://www.helixcommunity.org for Real Media • http://www.globalmmcs.org open source “non advertised” release

  22. Session Server XGSP-based Control Media Servers Filters NaradaBrokering All Messaging Admire SIP H323 Access Grid Native XGSP XGSP Web Service MCU Architecture Use Multiple Media servers to scale to many codecs and many versions of audio/video mixing WebServices High Performance (RTP)and XML/SOAP and .. NB Scales asdistributed Gateways convert to uniform XGSP Messaging NaradaBrokering

  23. 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

  24. 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

  25. Average delays per packet for 50 video-clients NaradaBrokering Avg=2.23 ms, JMF Avg=3.08 ms 60 NaradaBrokering-RTP JMF-RTP 50 40 30 Delay (Milliseconds) 20 10 0 0 200 400 600 800 1000 1200 1400 1600 1800 2000 Packet Number

  26. Average jitter (std. dev) for 50 video clients. NaradaBrokering Avg=0.95 ms, JMF Avg=1.10 ms 8 NaradaBrokering-RTP JMF-RTP 7 6 5 4 Jitter (Milliseconds) 3 2 1 0 0 200 400 600 800 1000 1200 1400 1600 1800 2000 Packet Number

  27. Polycom, Access Grid and RealVideo views of video-mixed streams using GlobalMMCS

  28. Integration of PDA, Cell phone and Desktop Grid Access NB Support for optimizedPDA Communication

  29. 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

  30. 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

  31. 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 inter-functionality 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

More Related