Title: Vassilios V. Dimakopoulos and
1A Peer-to-Peer Approach to Resource Discovery in
Multi-Agent Systems
- Vassilios V. Dimakopoulos and
- Evaggelia Pitoura
- Distributed Data Management Lab
- Dept. of Computer Science,
- Univ. of Ioannina, Greece
- http//softsys.cs.uoi.gr
2Multi-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
3Open 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
4P2P 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
5Overview
- 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
6Abstract model
Network of caches (k 2)
Note The network (graph) may be disconnected
7Search algorithms
Use the distributed network of caches to locate
an agent offering a particular resource
- 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
8Results, 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
9Results, contributions
Related work BauerWang92 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
10Talk outline
- Brief presentation of the analytical model
- Performance results related to the search
procedures - Updates
- Conclusions and Future Work
11Performance metrics
- t maximum allowed steps (TTL)
- Qt probability of successful search
- high means other directory mechanisms used
rarely - St average steps to find the resource
- Mt 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
12Performance model
- N nodes, R resources, k cache size
- Steady state all caches full
- 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)
13Performance 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 aR,
with aR 1 k/R Hot Spots Each hot spot
appears in a fraction h of all caches, let rh
portion of hotspots (1-rh)R cold-spots For
hotspots, PC(1) h, PC(1) 1 aH, with aH 1
h For coldspots, PC(1) 1 aC, with aC
14Performance analysis, preliminaries
- For j caches,
- PC(j) 1 (1 PC(1)) j 1 a j
- If si 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
15Flooding
- Contacts all neigbors (entries in cache)
- Complete k-ary tree
- Exponential messages, relatively small steps
A1
A2
A4
A3
A5
A6
A3
16Performance of flooding
- In each level of the tree ki caches are queried
- Approximation all these caches are distinct
(does not introduce significant error) - Locating resource at exactly step i
17Performance of flooding, cont.
- Obtained
- Messages if not in roots cache, we get k
transmissions plus all messages within the k
subtrees
k
m(t 1)
18Performance of flooding, cont.
- For each of the k subtrees,
- Solving recursion gives
- Exponential messages, as expected
19Performance of flooding, cont.
20Performance of flooding, cont.
21Performance of flooding, cont.
22Teeming (randomized flooding)
A1
A2
A4
A3
A6
A3
- Intermediate nodes ask a random subset of their
neighbors A node asks each neighbor with
probability f, kf neighbors asked on average - f 1 is flooding
23Performance of teeming
- Similarly, obtained
- Exponential slower than flooding, based on f
24Random paths
A1
p 2 paths
- Inquiring node asks p neighbors
- Intermediate nodes ask 1 neighbor (similar to
concurrent DFS) - Fewer messages, more steps
A2
A4
A5
A3
25Performance of random paths
26Comparison of algorithms, 1 Q
Teeming with f 1/sqrt(k)
Random resource
27Comparison of algorithms, S
Random resource
28Comparison of algorithms, M
Random resource
29Comparison of algorithms, 1 - Q
Hotspots
30Comparison of algorithms, S
Hotspots
31Comparison of algorithms, M
Hotspots
32Comparison, 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 f - 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)
33Simulation
- 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)
34Simulation theory
Random resources
35Simulation theory, cont.
Random resources
36Simulation theory, cont.
Random resources
37Simulation theory, cont.
Random resources
38Simulation theory, cont.
Hotspots
39Updates
- 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
40Updates, inverted cache
- Each agent maintains which agent know about it
- Use the inverted cache to inform other agents
41Updates, 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
42Summary
- 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
43Future 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 -gt Small world network of
caches
44A Peer-to-Peer Approach to Resource Discovery in
Multi-Agent Systems