310 likes | 426 Views
The NaradaBrokering System. Shrideep Pallickara and Geoffrey Fox Community Grid Computing Labs Indiana University. What to expect?. As promised this seminar is An attempt to spruce things up a bit As it only seems fit Lest I be accused of being remiss Seems to me that its only rational
E N D
The NaradaBrokering System Shrideep Pallickara and Geoffrey Fox Community Grid Computing Labs Indiana University
What to expect? As promised this seminar is An attempt to spruce things up a bit As it only seems fit Lest I be accused of being remiss Seems to me that its only rational That the Q&A session is bi-directional So desist from launching another browser As you may be called upon to answer Dispossessed, I am not, of clairvoyance For aware, I am, that repay you will in kind For putting you in a bind And generally being an annoyance But then again that’s how seminars should be So without any further delays …. Shall we.
Talk outline • The Story so far • What’s currently cooking • What needs more thought • And a preview of things to come • Closing remarks
NaradaBrokering • Based on a network of cooperating broker nodes • Cluster based architecture allows system to scale to arbitrary size • Based on the publish/subscribe model • Also supports another model, peer-to-peer (P2P) via JXTA • Incorporates algorithms for • Topic matching and calculation of destinations • Efficient routing to computed destinations • Supports local broker accesses • Clients do not need to reconnect to the remote broker that it was last connected to.
NaradaBrokering Results • Experimental Set-up • Topology of 22 broker. • Each broker node on 1 Sun SPARC Ultra-5 machine. • 100 client Node process, Sun SPARC Ultra-60 • JDK 1.2 run time environment • Parameters being Varied • Message Size • Publish Rates • Matching Rates
JMS Compliance • Features: • JMS clients written while conforming to spec • JMS clients are vendor agnostic • JMS providers do not interoperate with each other • Rationale • Providing support for JMS clients within the system. • Mature specification with several existing applications • Opens NaradaBrokering to these applications • Bring NaradaBrokering functionality to JMS systems • Distributed solution, load balancing, scaling and failure resiliency.
Providing JMS support • JMS Interactions • Supported locally or mapped to corresponding NaradaBrokering calls • JMS Interconnection Bridge • Operations supported locally or mapped to corresponding NaradaBrokering interactions • One bridge instance per connection • Maintains list of registered sessions • Responsible for routing events to appropriate sessions • Support for • Creation of different message types e.g. ObjectMessage, BytesMessage etc. • Operations that can be invoked on these message types.
Providing JMS Support • Topic • NaradaBrokering topics are created as <tag,value> pairs. • JMS Topics are generally “/” separated. • JMS selector mechanism • We augment NaradaBrokering’s topic matching with the selector mechanism implemented by openJMS. • JMS subscriptions • Mapped to corresponding NaradaBrokering subscription requests. • The Narada JMS Event. • Encapsulates the entire JMS message as a payload for the event. • Matching is done based on the topic name contained in the message.
Towards a distributed JMS solution • Features in NaradaBrokering best exploited in distributed settings. • Clients of distributed solution to inherit NaradaBrokering features • Routing efficiencies, load balancing, scaling etc. • Eliminate the Single point of failure model • Highly Available System • Existing systems should easily be replaced with distributed system
Broker Locators: Distributed JMS Solution • Primary Function • Discovery of brokers that clients can connect to • Obviates need for client to keep track of broker states within the broker network. • Keeps track of • Broker additions and removals • Changes to network fabric • Published Limit on concurrent connections at a broker node • Set during broker initializations • Active connections at a broker node. • Individual brokers notify changes to broker locator.
Broker Locators: Features & Constraints • Features • Dynamic Real time Load Balancing • Connection requests forked to best available broker. • Incorporation of new brokers into solution • A newly added broker is among the best brokers to handle a connection request. • Slower clients could all be hosted on specific brokers • Eliminates broker choking resulting from servicing very slow clients. • Constraints • Availability (multiple per domain) • Should not constitute a bottleneck or single point of failure. • Minimal logic • Should not affect processing pertaining to any node in the system.
Broker Locator: Decision Metrics • IP-address of requesting client • Published limit on concurrent connections • Number of active connections still possible • Availability of broker • A simple ping test • If broker is not available, remove broker from list of available brokers. • Computing capabilities at a broker • CPU speed, RAM etc.
Broker Locator: Sequence of Operations • Locate valid broker • Propagate broker information to client • Hostname/IP-address information • Port number on which it listens for connections • Transport protocol over which it communicates • Client then uses info to establish communication channel with broker • Done transparently. • Clients with multiple connections • A client could sometimes have connections to multiple brokers.
JMS Performance Data • SonicMQ (version 3.0) and NaradaBrokering broker • Dual CPU (Pentium 3, 1 GHz, 256 MB RAM) machine. • 100 subscribers • Over 10 different JMSTopicConnections • All hosted on a Dual CPU (Pentium 3, 866 MHz, 256 MB RAM) machine. • Publisher and Measuring Subscriber • Hosted on another dual CPU (Pentium 3, 866 MHz, 256 MB RAM) machine. • Operating System and Run time Environment • Linux (version 2.2.16) • Java 2 JRE (Java 1.3.1, Blackdown-FCS, mixed-mode)
Performance Data:Factors Measured • Transit Delay • No need for clock synchronization and accounting for clock drifts. • Standard Deviation in the transit delay for the sample of messages received. • System Throughput • Measured in terms of rate at which messages are received. • Factors measured under varying • publish rates • message payload sizes.
Performance: Transit Delay & Standard Deviation Lower Payloads & Low Publish Rates
Performance: Transit Delay & Standard Deviation Higher Payloads & Low Publish Rates
Performance: Transit Delay & Standard Deviation Lower Payloads & High Publish Rates
Performance: System Throughput Lower Payloads & Higher Publish Rates
Why P2P • Deployments user driven • No dedicated management • Management of resources • Expose resources & specify security strategy • Replicate resources based on demand • Dynamic peer groups, fluid memberships • Sophisticated search mechanisms • Peers respond based on their interpretations • Responses do not conform to traditional templates.
What are the downsides? • Interactions are attenuated • Localized • Fragmented world of multiple P2P subsystems • Routing not very sophisticated • Inefficient network utilization (Tragedy of Commons) • Simple forwarding • Peer Traces (to eliminate echoing) • Attenuations (to suppress propagation)
JXTA • Set of protocols to support P2P interactions. • Planned bridges to (and from) other P2P systems.
NaradaBrokering & JXTA Interaction Model • Based on proxy model • Acts as both Rendezvous peer (JXTA routers) and NaradaBrokering client. • No changes to JXTA core or straitjacketing of interactions • Change made to Rendezvous layer • Clients are not aware that they interact with a Narada-JXTA proxy or Rendezvous peer.
What we plan to accomplish • Better routing and network utilization • Bridge isolated P2P subsystems • Efficiently locate/replicate shared resources • Since interactions are routed through the broker network, brokers can build efficient resource maps. • Incorporate GXOS support in NaradaBrokering • Then use JXTA search to locate resources stored in the distributed XML database. • Provide the notion of reliable interactions (for peers attached to Narada-JXTA proxies) • Grid/WebServices generated dynamically when complex tasks are initiated could be managed by peer groups.
Narada-JXTA Proxy • Glean relevant information from JXTA interactions. • Peer group advertisements • Requests/Responses to be part of peer group. • Messages sent to a peer group. • Subscribe to relevant topics to ensure delivery • Construct corresponding Narada-JXTA event from interactions.
Applications • Integrated NaradaBrokering-JXTA environment tested under JXTA shell and myJxta (InstantP2P) • Plan to integrate myJxta into Anabas with NaradaBrokering managing P2P and middle-tier (JMS) style interactions. • JXTA-Jabber interface via Narada/Anabas. • (Jabber, PDA, Anabas) linkage to be combined with (Jxta, NaradaBrokering, Anabas linkage).
A preview of things to come • Adaptive protocol support • Switch transport protocols dynamically • TCP, UDP, HTTP/SHTTP, Multicast, RTP & SOAP. • Managing lightweight GXOS-based XML databases using NaradaBrokering/JXTA Search. • JXTA/Jabber/PDA linkage • Security infrastructure • Kerberos/PKI • Web Services ….
Closing remarks • Intersection of P2P, WebServices, middleware and distributed systems • Lot of interesting research. • Lot of issues to be tackled/addressed • What you need to do • Start using it • Report bugs • suggest useful additions