efficient event-based resource discovery wei yan*, songlin hu*, vinod muthusamy +, hans-arno...
TRANSCRIPT
Efficient Event-based Resource Discovery
Wei Yan*, Songlin Hu*, Vinod Muthusamy+, Hans-Arno Jacobsen+, Li Zha*
* Chinese Academy of Sciences, Beijing+ University of Toronto
July 9, 2009
3rd Int’l Conference on Distributed Event-
Based Systems(DEBS 2009) MIDDLEWARE SYSTEMS
RESEARCH GROUPhttp://padres.msrg.toronto.edu
MIDDLEWARE SYSTEMSRESEARCH GROUP
Composite applications
MashupsService-oriented
architecturesCloud
computing
A fundamental need is to discover resources and services.
Manyresources
DistributedDynamicattributes
Real-timediscovery
MIDDLEWARE SYSTEMSRESEARCH GROUP
Related work
DEBS ’09 Event-based Resource Discovery 3
Scheme CommentsCentralized index
(Condor’s Matchmaker)
Suffers from large scale and high dynamism.
Hierarchical index (Globus’s MDS)
Root node easily becomes a bottleneck.
Federated UDDI Expensive to replicate frequently updated information among repositories.
Discovery flooding (Gnutella)
Creates a large volume of traffic.
DHT(CAN, Chord, Pastry,
etc.)
Optimized for key-based discoveries.
Range queries over DHTs (P-Ring, Mercury, etc.)
Multi-attribute lookups can be expensive.
Many approaches have limited expressiveness, or support for dynamic attributes or real-time discovery.
MIDDLEWARE SYSTEMSRESEARCH GROUP
DEBS ’09 Event-based Resource Discovery 4
Contributions
Event-based resource discovery Distributed architecture Leverage publish/subscribe system Support dynamic resource updates Allow for continuous discovery and real-time results
Discovery similarity optimization Share results among discoveries
Evaluations Tradeoffs of decentralized architecture Benefits of sharing discovery results
MIDDLEWARE SYSTEMSRESEARCH GROUP
DEBS ’09 Event-based Resource Discovery 5
Event-basedresource discovery
framework
MIDDLEWARE SYSTEMSRESEARCH GROUP
DEBS ’09 Event-based Resource Discovery 6
Supported models
One-timediscovery
Continuousdiscovery
Staticresource
Dynamicresource
Static(e.g., find weather
service)
Dynamic(e.g., find micro-
generation power)
Static continuous(e.g., monitorreal estate)
Dynamic continuous(e.g., monitor grid
resources)Res
ourc
esDiscoveries
Event-based
MIDDLEWARE SYSTEMSRESEARCH GROUP
Architecture
DEBS ’09 Event-based Resource Discovery 7
Resource providers act as publishers
Discovery clients act as subscribers
Advertise all attributes:system = linuxmemory <= 2000disk <= 320
Publish updates of dynamic attributes:memory = 1500disk = 80
Subscribe for resources:system = linuxdisk >= 200
Discovery Client
Resource Provider
B1 B4
B5B2
B3
Distributed Content-Based Publish/Subscribe
MIDDLEWARE SYSTEMSRESEARCH GROUP
Static model
DEBS ’09 Event-based Resource Discovery 8
Discovery is performed locally by any single broker.
Discovery Client
Advertisement: system = linux, memory = 2, disk = 320
Resource Provider
Subscription: memory > 1 Publication
B1 B4
B5B2
B3
MIDDLEWARE SYSTEMSRESEARCH GROUP
Dynamic model
DEBS ’09 Event-based Resource Discovery 9
Resource update publication cached at the resource’s host broker.
Discovery subscription routed to potentially matching resource host brokers.
Discovery Client
Advertisement: system= linux, memory <= 2, disk < 320
Resource Provider
Subscription: memory > 1 Publication: memory = 1, disk = 200
B1
B3
B4
B5B2
MIDDLEWARE SYSTEMSRESEARCH GROUP
Static continuous model
DEBS ’09 Event-based Resource Discovery 10
Discovery is performed locally by any single broker (like static model).
Discovery subscription stored at discovery host broker.
Discovery Client
Advertisement: system = linux, memory = 2, disk = 320
Resource Provider
Subscription: memory > 1 Publication
B1 B4
B5B2
B3
MIDDLEWARE SYSTEMSRESEARCH GROUP
Dynamic continuous model
DEBS ’09 Event-based Resource Discovery 11
Traditional pub/sub routing of messages.
Discovery subscription is routed to and stored at matching resource host brokers.
Discovery Client
Resource Provider
B5
B4
B3
B2
B1
Advertisement: system= linux, memory <= 2, disk < 320
Subscription: memory > 1 Publication: memory = 1, disk = 200
MIDDLEWARE SYSTEMSRESEARCH GROUP
Summary of models
One-timediscovery
Continuousdiscovery
Staticresource
Dynamicresource
Static
Dynamic
Staticcontinuous
Dynamiccontinuous
Discovery handled locally at discovery host broker
Updates delivered only to interested clients
No persistent subscription state
Subscription state used to route back
updates
MIDDLEWARE SYSTEMSRESEARCH GROUP
Reuse results of similar discoveries
DEBS ’09 Event-based Resource Discovery 14
Find machines withat least 1GB memory
S1
Subscription:memory >= 1000
R1
R2R3
More general
Find machines withat least 2GB memory
S1
Subscription:memory >= 2000
R1
R2
Covers Superset
MIDDLEWARE SYSTEMSRESEARCH GROUP
Similarity forwarding
DEBS ’09 Event-based Resource Discovery 15
To retrieve old results: Send covered sub to the covering sub’s discovery host broker.
To intercept new results: Store covered sub at the first broker with a covering sub.
Discovery Client
Resource Provider
Adv: system= linux, memory <= 2, disk < 320
Sub2: memory > 2Pub: memory = 1, disk = 200
Discovery Client
Sub1: memory > 1
B1
B5B2
B3
B4
MIDDLEWARE SYSTEMSRESEARCH GROUP
Experimental setup Algorithms implemented in Java
Based on PADRES content-based pub/sub system Run on a cluster of nodes with 1.86 GHz CPU and 4 GB memory
Default workload Topology
Decentralized: 24 brokers Centralized: 1 broker
1000 resources Balanced and unbalanced spatial distributions
1000 discoveries Balanced and unbalanced spatial distributions Various degrees of similarity
Metrics Discovery time Message overhead
DEBS ’09 Event-based Resource Discovery 17
MIDDLEWARE SYSTEMSRESEARCH GROUP
Discovery time Similarity forwarding optimization is
faster
Increased discovery similarity Normal algorithm suffers
More matching resources are found Optimized algorithm benefits
Reuse results
Spatial clustering of resources Normal algorithm benefits
Smaller subscription propagation tree (more “multicast”)
Optimized algorithm benefits slightly Results are often retrieved from discovery
host broker
Spatial clustering of discoveries Normal algorithm suffers
Congestion of messages near discovery host brokers
Optimized algorithm suffers slightly Matching of cached results is relatively
cheap
DEBS ’09
Clustered spatial distribution of discoveries
Balanced spatial distribution of discoveries
0.0
0.5
1.0
1.5
2.0
2.5
3.0
10 20 30 40 50 60 70 80 90 100
Discovery similarity (%)
Avg
dis
cove
ry t
ime
(s)
Normal(B)Similarity(B)Normal(U)Similarity(U)
0.0
2.0
2.5
3.0
0.5
1.0
1.5
10 20 30 40 50 60 70 80 90 100
Discovery similarity (%)
Avg
dis
cove
ry t
ime
(s)
Normal(B)Similarity(B)Normal(U)Similarity(U)
MIDDLEWARE SYSTEMSRESEARCH GROUP
0
5
10
15
20
25
30
10 20 30 40 50 60 70 80 90 100
Discovery similarity (%)
Su
bsc
rip
tio
n m
sgs
(x10
00) Normal(B)
Similarity(B)Normal(U)Similarity(U)
Similarity forwarding optimization propagates fewer subscriptions
Increased discovery similarity Normal algorithm suffers slightly
More matching resources are found Optimized algorithm benefits
Covered subs only propagate to a single discovery host broker
Spatial clustering of resources Normal algorithm benefits
Smaller subscription propagation tree (more “multicast”)
Optimized algorithm benefits (but less than normal algorithm) Covered subs are not affected
Spatial clustering of discoveries Normal algorithm has little effect
Subscriptions still propagate to resource host brokers
Optimized algorithm has little effect Cost is dominated by the covering subs, which still
need to propagate to resource host brokers
DEBS ’09
0
5
10
15
20
25
30
10 20 30 40 50 60 70 80 90 100
Discovery similarity (%)
Su
bsc
rip
tio
n m
sgs
(x10
00)
Normal(B)Similarity(B)Normal(U)Similarity(U)
Clustered spatial distribution of discoveries
Balanced spatial distribution of discoveries
Subscription messages
MIDDLEWARE SYSTEMSRESEARCH GROUP
Decentralized architecture(one-time requests)
DEBS ’09 Event-based Resource Discovery 20
Successive discovery groups match increasing number of resources Measure time to find (updated) resources
Decentralized architecture distributes the load Discovery handled locally by discovery host broker Updates are propagated only to interested discovery host brokers
MIDDLEWARE SYSTEMSRESEARCH GROUP
Decentralized architecture(continuous requests)
DEBS ’09 Event-based Resource Discovery 21
Decentralized architecture better distributes the load Results from similar discoveries are reused Updates are propagated only to interested brokers
MIDDLEWARE SYSTEMSRESEARCH GROUP
Conclusions Discovering resources and services is increasingly important in
composite distributed applications
A distributed event-based resource discovery framework was designed Parallel discovery of static resources Efficient dissemination of dynamic resource attributes Real-time discovery of new resources
Optimizations to exploit similarity among discoveries were developed Find similar discoveries Reuse results Exploit publish/subscribe covering techniques
Evaluations show that the distributed architecture achieves faster discovery at the expense of increased network traffic
The similarity optimization benefits from more skewed spatial and interest distributions
DEBS ’09 Event-based Resource Discovery 22