Download presentation
Presentation is loading. Please wait.
1
Vassilios V. Dimakopoulos and Evaggelia Pitoura Distributed Data Management Lab Dept. of Computer Science, Univ. of Ioannina, Greece http://softsys.cs.uoi.gr A Peer-to-Peer Approach to Resource Discovery in Multi-Agent Systems
2
CIA 03 Dimakopoulos & Pitoura - University of Ioannina 2 Multi-agent systems (MAS) Cooperating agents: Each agent offers some resources (computation, data, etc) To fulfill its goals, an agent requires resources provided by other agents Closed MAS: each agent knows all others and what they offer vs Open MAS
3
CIA 03 Dimakopoulos & Pitoura - University of Ioannina 3 Open MAS How does an agent get information about other agents/resources? Common approach: directory-based (e.g. middle agent) Disadvantage: many agents and resources make the directory a performance/ reliability bottleneck Proposal: consider a p2p approach
4
CIA 03 Dimakopoulos & Pitoura - University of Ioannina 4 P2P + agents In P2P, Peers (agents) offer resources Similar Problem: How to locate the peer(s) that offer a particular resource Structured: based on the name or content of the resource place it at the appropriate node (Chord, CAN etc) vs Unstructured: no assumption about the location of resources (Napster, Gnutella) We apply fully decentralized unstructured p2p approaches
5
CIA 03 Dimakopoulos & Pitoura - University of Ioannina 5 Overview Each agent v has a cache with k entries, containing information for k resources i.e. for each of the k resources, the cache holds the contact information for an agent that provides it If an agent v has contact information for agent u then v knows u. Network of caches : if v knows u there is a link from v to u
6
CIA 03 Dimakopoulos & Pitoura - University of Ioannina 6 Abstract model Network of caches (k = 2) Note: The network (graph) may be disconnected
7
CIA 03 Dimakopoulos & Pitoura - University of Ioannina 7 Search algorithms Flooding-based Agent A looks for resource x A checks its local cache, if x not in cache, A contacts its neighbors, Each neighbor check its cache for x, if not found contacts its neighbors and so on, A number of variations based on contacting subsets of the neighbors Use the distributed network of caches to locate an agent offering a particular resource
8
CIA 03 Dimakopoulos & Pitoura - University of Ioannina 8 Results, contributions Use the distributed network of caches to locate an agent offering a particular resource Algorithms for searching Flooding (as in e.g., Gnutella), Teeming (randomized flooding), Random paths Performance Analysis Analytical model validated by simulation Updates Flooding-based propagation, Inverted cache
9
CIA 03 Dimakopoulos & Pitoura - University of Ioannina 9 Results, contributions Related work [Bauer&Wang92] show that DFS of the cache network, performs better than flooding for particular topologies [Shehory00] Lattice-like cache network (each agent knows about exactly four other agents
10
CIA 03 Dimakopoulos & Pitoura - University of Ioannina 10 Talk outline Brief presentation of the analytical model Performance results related to the search procedures Updates Conclusions and Future Work
11
CIA 03 Dimakopoulos & Pitoura - University of Ioannina 11 Performance metrics t : maximum allowed # steps (TTL) Q t : probability of successful search – high means “other” directory mechanisms used rarely S t : average # steps to find the resource M t : average # message transmissions – as few as possible, for speed and small traffic Note: we assume that agents are queried in parallel (all neighbors are contacted in one step) but the system is asynchronous
12
CIA 03 Dimakopoulos & Pitoura - University of Ioannina 12 Performance model Two cases: The content of the cache is assumed to be completely random Hot spots (resources requested frequently) appear in a large number of caches: In a fraction h of all caches (h ≤ 1) N nodes, R resources, k cache size Steady state: all caches full
13
CIA 03 Dimakopoulos & Pitoura - University of Ioannina 13 Performance analysis, preliminaries PC (1): Probability of finding x in any given cache Random Requests In Nk total entries, each resource appears Nk/R times avg., or in a portion of (Nk/R)/N = k/R of the caches. Thus, the probability of locating a specific resource in a specific cache is: PC(1) = k/R PC(1) = 1 – a R, with a R = 1 – k/R Hot Spots Each hot spot appears in a fraction h of all caches, let r h portion of hotspots (1-r h )R cold-spots For hotspots, PC(1) = h, PC(1) = 1 –a H, with a H = 1 –h For coldspots, PC(1) = 1 – a C, with a C =
14
CIA 03 Dimakopoulos & Pitoura - University of Ioannina 14 Performance analysis, preliminaries For j caches, PC(j) = 1 – (1 – PC(1)) j = 1 – a j If s i is the prob. of locating the resource in exactly the i-th step, then: Given the resource is found, the average number of steps is:
15
CIA 03 Dimakopoulos & Pitoura - University of Ioannina 15 Contacts all neigbors (entries in cache) Complete k-ary “tree” Exponential # messages, relatively small # steps Flooding A1 A2A4 A3A5A6A3
16
CIA 03 Dimakopoulos & Pitoura - University of Ioannina 16 Performance of flooding In each level of the “tree” k i caches are queried Approximation: all these caches are distinct (does not introduce significant error) Locating resource at exactly step i :
17
CIA 03 Dimakopoulos & Pitoura - University of Ioannina 17 Performance of flooding, cont. Obtained: Messages: if not in root’s cache, we get k transmissions plus all messages within the k subtrees: k m(t – 1)
18
CIA 03 Dimakopoulos & Pitoura - University of Ioannina 18 Performance of flooding, cont. For each of the k subtrees, Solving recursion gives: Exponential # messages, as expected
19
CIA 03 Dimakopoulos & Pitoura - University of Ioannina 19 Performance of flooding, cont.
20
CIA 03 Dimakopoulos & Pitoura - University of Ioannina 20 Performance of flooding, cont.
21
CIA 03 Dimakopoulos & Pitoura - University of Ioannina 21 Performance of flooding, cont.
22
CIA 03 Dimakopoulos & Pitoura - University of Ioannina 22 Teeming (randomized flooding) A1 A2A4 A3A6A3 Intermediate nodes ask a random subset of their neighbors: A node asks each neighbor with probability φ, kφ neighbors asked on average φ = 1 is flooding
23
CIA 03 Dimakopoulos & Pitoura - University of Ioannina 23 Performance of teeming Similarly, obtained : Exponential slower than flooding, based on φ
24
CIA 03 Dimakopoulos & Pitoura - University of Ioannina 24 Random paths Inquiring node asks p neighbors Intermediate nodes ask 1 neighbor (similar to concurrent DFS) Fewer messages, more steps A1 A2A4 A5A3 p = 2 paths
25
CIA 03 Dimakopoulos & Pitoura - University of Ioannina 25 Performance of random paths Obtained, for p paths:
26
CIA 03 Dimakopoulos & Pitoura - University of Ioannina 26 Comparison of algorithms, 1 – Q Teeming with φ = 1/sqrt(k) Random resource
27
CIA 03 Dimakopoulos & Pitoura - University of Ioannina 27 Comparison of algorithms, S Random resource
28
CIA 03 Dimakopoulos & Pitoura - University of Ioannina 28 Comparison of algorithms, M Random resource
29
CIA 03 Dimakopoulos & Pitoura - University of Ioannina 29 Comparison of algorithms, 1 - Q Hotspots
30
CIA 03 Dimakopoulos & Pitoura - University of Ioannina 30 Comparison of algorithms, S Hotspots
31
CIA 03 Dimakopoulos & Pitoura - University of Ioannina 31 Comparison of algorithms, M Hotspots
32
CIA 03 Dimakopoulos & Pitoura - University of Ioannina 32 Comparison, discussion Flooding and teeming depend on k, random paths on the ratio k/R Flooding and teeming yield higher probabilities of discovering the resource, and with fewer steps; However the number of messages, esp. for flooding is excessive Teeming can balance performance with appropriate selection of φ Few paths are bad; for 4 paths probability and # steps is more than acceptable, # messages is minimal Cache vary efficient for hotspots Simple optimizations: cycles, periodically contact the inquiring agent (else search continues even if the resource is found)
33
CIA 03 Dimakopoulos & Pitoura - University of Ioannina 33 Simulation Simulators for all algorithms constructed 200 to 500 resources 1000 to 5000 agents/caches Initially all caches filled randomly Search for a uniformly random resource, 1000 repetitions Analysis confirmed with negligible error (less than 0.5% in most cases)
34
CIA 03 Dimakopoulos & Pitoura - University of Ioannina 34 Simulation & theory Random resources
35
CIA 03 Dimakopoulos & Pitoura - University of Ioannina 35 Simulation & theory, cont. Random resources
36
CIA 03 Dimakopoulos & Pitoura - University of Ioannina 36 Simulation & theory, cont. Random resources
37
CIA 03 Dimakopoulos & Pitoura - University of Ioannina 37 Simulation & theory, cont. Random resources
38
CIA 03 Dimakopoulos & Pitoura - University of Ioannina 38 Simulation & theory, cont. Hotspots
39
CIA 03 Dimakopoulos & Pitoura - University of Ioannina 39 Updates Type of updates (1) Agent offers a new resource or cease to offer a resource (2) The contact information of an agent changes (e.g., it moves) Discuss case 2 above – decentralized solution
40
CIA 03 Dimakopoulos & Pitoura - University of Ioannina 40 Updates, inverted cache Each agent maintains which agent know about it Use the inverted cache to inform other agents
41
CIA 03 Dimakopoulos & Pitoura - University of Ioannina 41 Updates, flooding When an agent moves, it informs the agent in its cache and so on Neighbor relationship is not symmetric, A knows B, B may not know A
42
CIA 03 Dimakopoulos & Pitoura - University of Ioannina 42 Summary A new scheme for open MAS: a distributed cache network Decentralized unstructured p2p resource discovery Algorithms proposed: classical flooding, teeming (randomized flooding), random paths Performance study of searching: analytical models for probability of locating, average # steps, average # messages Cache updates
43
CIA 03 Dimakopoulos & Pitoura - University of Ioannina 43 Future Work Prototype implementation (In progress) implementation in the Aglets platform completed experimental evaluations under way Updates/Mobility (In progress) Performance evaluation Caches evolve over time Cache replacement issues Extend performance evaluation Random/Hot spots -> Small world network of caches
44
QUESTIONS? A Peer-to-Peer Approach to Resource Discovery in Multi-Agent Systems
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.