NaradaBrokering

advertisement
NaradaBrokering
Grid Computing: Making the
Global Infrastructure a Reality
Chapter 22
CSE 719 Seminar
Dr. Russ Miller
Presented by Martins Innus
Introduction
„
Resource brokering system
… Resource
sharing
… Peer interactions
Advertising
„ Search
„ Discovery
„ Request
„ Response
„
Proposal
Scalable
„ Durable for Peer to Peer (P2P) grids
„ Clients
„ Resources
„ Dynamic P2P collections
„
Requirements
Flexible
„ Fault tolerant
„ Efficient
„ High Performance
„
NaradaBrokering
Event brokering
„ Network of cooperating brokers
„ Link clients to resources
„ Events are messages with timestamps
„ Scale from PDAs to HPC
„
NaradaBrokering Outline
Publish/Subscribe model
„ Handles access to services
„ Allow P2P clients at the edge to talk
directly
„ Allow P2P and traditional centralized
broker model
„
Definition
Event brokering system
„ Large network of broker nodes
„ Content based routing
„ Publish/Subscribe model
„
Layout
„
Cluster topology
… Calculate
routing information
… Work around failures
Asynchronous communication
„ Publish interest in a resource
„ Receive response
„ Deliver matched events after reconnect
„
Event
Event Origins
Source
Destinations
Event Descriptors
Explicit
Destinations
Used to compute
Destinations
Content Descriptors
Content Payload
Event Distribution Traces /
TimeTo Live (TTL)
Used to handle
content
Used for eliminating
continuous echoing/
attenuation of event.
Failure and Recovery
„
Independent storage
… State
storage
Multiple locations in the topology
„ Thus, brokers are stateless
„
Test Topology
Publisher
22
10
1
4
2
i
5
13
6
h
l
15
3
7
j
8
9
16 17
m
18
19
Measuring
Subscriber
14
n
21
20
11
k
12
Results
Transit Delay under different matching rates:22 Brokers 102 Clients
Mean
Transit Delay
(MilliSeconds)
Match Rate=100%
Match Rate=50%
Match Rate=10%
450
400
350
300
250
200
150
100
50
0
0 100
200300
400500
Publish Rate600700800900
10000
(Events/sec)
500
450
400
350
300
250
200 Event Size
150
100
(Bytes)
50
JMS Compliance
„
JMS
… Unified
„
„
API for pub/sub model
Like MPI for cluster computing
Support JMS clients
… Transparency
… Access
„
to JMS applications
Bring NaradaBrokering functionality to JMS
clients
… Replace
the single server with a distributed solution
… Scalability, resilience, load balancing
JMS Support
„
Bridge
… Operations
complete locally or mapped to
NaradaBrokering infrastructure
High availability
„ Support JMS message types
„ Encapsulate JMS messages with
NaradaBrokering headers
„
JMS Transparency
Insulate JMS clients from knowledge of all
brokers
„ Use broker locators to find valid brokers
„
… Load
balancing
… Prefer new brokers
… Multiple brokers available
Like DNS, no single point of failure
„ If one fails, no big deal
„
Broker Locators
„
„
Locate valid broker
Propagate broker information to
client
…
Hostname/IP-address information
… Port number on which it listens for
connections
Client
… 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.
Broker
Locator
NARADA Broker Cloud
Client request for Connection
Broker Locator pinging the
best available broker
Client connection to broker
Taken from www,naradabrokering.org
Performance
Compare to SonicMQ
„ Publish and subscribe to the same topic
„ 100 subscribers
„ Measure the transit delay
„
Performance Graphs
Transit Delays for Message Samples in Narada and SonicMQ
Mean
Transit Delay
(MilliSeconds)
30
25
20
15
10
5
0
0
50
100
150
200
250
Publish Rate 300
(Messages/sec) 350400
Narada
SonicMQ
550
500
450
400
350
300
250 Payload Size
200
150
(Bytes)
100
Performance Graphs
System Throughputs - SonicMQ
System Throughputs - Narada
SonicMQ
Narada
Receiving Rate
(Messages/sec)
Receiving Rate
(Messages/sec)
350
300
250
200
150
100
50
0
350
300
250
200
150
100
50
0
0
50
100
150
200
250
Publish Rate 300
(Messages/sec) 350400
550
500
450
400
350
300
250 Payload Size
200
150
(Bytes)
100
0
50
100
150
200
250
Publish Rate 300
(Messages/sec) 350400
550
500
450
400
350
300
250 Payload Size
200
150
(Bytes)
100
NaradaBrokering and P2P
Discovery of services
„ Routing
„ Deliver content efficiently
„ Locating peers
„ Forward requests only to relevant peers
„ Connect islands of peers
„ Hybrid model for local peers
„
JXTA
„
Open protocol to support P2P
… Indexing,
„
Implemented by local forwarding of
messages
… Use
„
file sharing, searching, security
TTL to prevent flooding
Tends to be localized
JXTA integration
Keep the NaradaBrokering and JXTA
cores intact
„ Peers don’t communicate with
NaradaBrokering directly
„ Develop a proxy
„ Peers unaware that NaradaBrokering is
routing some requests
„
JXTA Integrated Model
High end "long lived"/
persistent resources
NARADAJXTA proxy
NARADA
broker cloud
Peers
Dynamic/fluid
peer groups
JXTA
Rendezvous
PEER
Proxy
Initialized as a NaradaBrokering client and
JXTA Peer
„ Advertise as a JXTA proxy
„ NaradaBrokering handles only sending
events to peers that are appropriate
„ Claim that peer discovery is faster ???
„
References
Grid Computing: Making the Global
Infrastructure a Reality
„ www.naradabrokering.org
„ java.sun.com/products/jms
„ www.jxta.org
„
Download