Title: Resource Addressable Network: An Adaptive Peer-to-Peer Discovery Substrate for Internet-Scale Service Platforms
1Resource Addressable Network An Adaptive
Peer-to-Peer Discovery Substrate for
Internet-Scale Service Platforms
- Balasubramaneyam Maniymaran
- Ph.D. Student,
- Department of Electrical Computer Engineering,
- McGill University
- Supervisor Dr. Muthucumaru Maheswaran
2Introduction
- On-demand computing (ODC) an emerging model for
next generation systems. - Peer-to-peer (P2P) is one way of building ODC
systems. - P2P Grid, P2P CDNs, public computing utilities.
- To assemble ODC from P2P resource base.
- Need a generalized resource discovery scheme.
- Discover resources based on given requirements.
- Resource addressable network (RAN).
- Discovers resources based on attributes and
location. - One of the major concerns in RAN is scalability
- Low overhead in managing overlay and information.
- Three design concepts fully decentralized,
distributed knowledge, and adaptive design.
3Resource Addressable Network
- RAN middle layer between services and resources.
- Attribute-based and location-based discovery.
ODC Service
Naming the resources based on their attributes
Profile-based naming
Network positioning mechanism, assigning
coordinates for each node in the network delay
space
Landmark-aided positioning
Physical Resources
4Network Positioning
- Network positioning assigning coordinates for
the nodes in a virtual Cartesian space, from
which real network delay can be predicted.
Internet
l12
l12 v(x1-x2)2(y1-y2)2
y
(x2, y2)
Cartesian space
(x1, y1)
x
5Landmark Aided Positioning
- Landmark aided positioning (LAP) the network
positioning scheme for RAN - Using a set of landmarks.
- Other nodes
- Select a subset of the total landmarks and ping
them. - Run optimization algorithm to position themselves
to minimize the total error in distance
prediction. - Two phases of LAP
- Landmark positioning positioning the landmarks.
- Node positioning positioning the normal nodes.
6LAP Landmark Positioning
- Each landmark calculates its coordinate relative
to other landmarks. - Landmark positioning involves two loops
- Inner loop contains the iteration for node
positioning. - Mostly affects the computational complexity.
- Outer loop contains many node positioning phases.
- Between each node positioning phase, nodes have
to contact others to get their new coordinates ?
message complexity. - Simplex and Spring both found to be producing
high outer loop iterations. - Introducing new algorithm called SpringEq.
7LAP Landmark Positioning (cont)
- SpringEq (short for spring in equilibrium)
- Inspired from Spring same spring system concept.
- But instead of minimizing the deformations in the
spring, SpringEq consider the equilibrium
condition. - The resultant force applied at each node is zero.
- A spring system at equilibrium can be modelled by
a set of simultaneous equations. - SpringEq solves this simultaneous equation using
fast iterative process.
8LAP Landmark Positioning (cont)
SpringEq
Simplex
Simplex
Spring
SpringEq
Spring
Distance correlation vs. ping error.
No. of iteration vs. ping error.
- Random network configuration 100 landmarks.
- Distance correlation correlation between the
ping and calculated distance matrices. - Simplex good prediction, but too many
iterations Spring comparatively few
iterations, but bad prediction - SpringEq outperforms both Simplex and Spring.
9Clustered LAP
- Non-random network errors severely impact
positioning. - Data smoothing and optimization can not handle
this. - Clustered landmark aided positioning (CLAP)
- CLAP assumptions
- Network errors are created by abnormal
congestion. - Peers within the same network segment can be
trusted. - Congestion does not affect pings within a network
segment.
join a cluster
ping others and share the values with others
cluster initialization
calculate cluster diameter
find coordinates using simple LAP (SLAP)
inter exchange SLAP coordinates
CLAP adjustment
calculate cluster centroid
tune SLAP coordinates so that it lies within
cluster diameter
10CLAP Performance
CLAP
Experiment with Planetlab data.
CLAPs minimum performance is better than SLAPs
maximum performance.
SLAP
CLAP is relatively robust
Variation of distance correlation with increasing
network congestion.
11CLAP Performance (cont)
CLAP
SLAP
Cumulative distribution of relative distance
error in the system for different amount of
network congestion.
12Location-based Discovery
- Finding a resource at specific coordinate/range
- Multidimensional search spatial data structure.
- Chose Hilbert curve as the data structure.
- Hilbert curve
- Provides a d-D to 1-D mapping.
- Preserving proximity.
- Hierarchical Hilbert index ? location ID (LID).
13Location-based Discovery (cont)
Hilbert mapping of the nodes in Planetlab network
(n 133, approximation level 7)
14Location-based Discovery (cont)
Routing table at node with LID 2.3.3.1.0
- Routing table for location-based discovery.
- Non-zero error in pings justifies fixed length
LIDs. - Ring pointers ensuring connectivity jump
pointers enhancing route complexity. - Average search hop complexity h (approx. level)
? O(1).
15Profile-based Discovery
- Discovery systems implements naming schemes
- Label-based naming (LBN) DNS, IP Address.
- Scalable, but not flexible.
- Description-based naming (DBN) LDAP.
- Flexible, but with high overhead due to
information maintenance, complex matching
algorithms. - Introducing profile based naming (PBN)
- Labels popular attribute-value combinations.
- Combines the goods of LBN and DBN.
- Can not discover all the attribute-value
combinations. - Trading off flexibility (performance) for
scalability.
16Profile-based Discovery (cont)
profiles
profile space
description
1
2
3
Profile IDs
description space
Profile 1 Intel/AMD, 512MB 0. Profile 2
Intel with 1GB 1.0 Profile 3 Intel/AMD,
gt 1GB 1.1,1.2
- Profile-based routing table is very similar to
location-based routing table.
17Related Works
- Network positioning
- GNP
- Centralized implementation, fixed set of
landmarks. - Vivaldi
- Dynamic landmarks anybody can be a landmark.
- New node disturbing others, requires RPC calls.
- Others NPS, PIC, big-bang simulation, PCoord.
- LAP
- Semi-dynamic landmarks.
- Low message overhead design.
- CLAP improvement.
- RAN infrastructure helps selecting landmarks.
18Related Works (cont)
- Location-based discovery
- SkipNet proximity based on DNS names fails
outside DNS structure. - Pastry, expressway of CAN document discovery.
- RAN
- Proximity information is available at any
resolution. - No indirection.
- Fixing the search hop complexity.
- Attribute-based discovery
- Directory services LDAP, MDS.
- Intentional naming scheme/Twine
- Document discovery for resource discovery.
- RAN
- Trading off performance for scalability.
- No indirection.
19Conclusion
- Expected contributions
- Architecture
- Extending the concept of structured-document
discovery to resource discovery - Extracting a structure out of the unstructured
metric space using Hilbert curve. - First discovery structure combining
attribute-based and location-based discovery. - Network positioning
- CLAP resilient to network congestion.
- SpringEq providing low message complexity.
- Spring vs. Simplex comparison.
20Conclusion (cont)
- Expected contributions (cont)
- Location-based discovery
- Efficient overlay design using Hilbert indices.
- Fixing the search complexity by fixing the search
resolution. - Profile-based naming
- Trading off flexibility for scalability.
- Efficient profile-based routing overlay design.
- Profile-based search complexity depends on
popularity distribution.
21Conclusion (cont)
- Roadmap to completion
- LAP
- Analysis of SpringEq for its convergence and
stability. (Sep. 2005) - Architecture
- The deficiencies the routing mechanism can face
due to the non-uniformity of metric space will be
studied. (Oct. 2005) - Location-based discovery
- A practical value for search resolution will be
found based on errors in pings and the
applications requirements. (Nov. 2005) - Simulation study. (Mar. 2006)
- Profile-based discovery
- Analysis of other possible schemes that can map
description onto profile space. (May 2006) - Impact of incorporating virtual profiles. (July
2006)
22Thank you
23Outline
- Introduction and motivation
- Resource addressable network (RAN)
- Network positioning
- Landmark aided positioning (LAP)
- Clustered LAP (CLAP)
- Location-based discovery
- Profile-based discovery
- Related works
- Contributions and conclusion
24Structured discovery
Creating structured discovery scheme
Objects
Resources
Structured metric space
Network delay space fit with HC
Resources arranged using Hilbert indices
Structured overlay of objects
Resource discovery
25Landmark Aided Positioning
- Landmark aided positioning (LAP) the network
positioning scheme for RAN
- Using a set of landmarks.
- Stable nodes, expandable membership.
- Other nodes
- ping landmarks.
- Run optimization algorithm to position themselves
to minimize the total error in distance
prediction.
l2
l1
l3
Error in positioning related to L2
26LAP Node Positioning
- Two algorithms used in the literature
- Simplex downhill method
- Spring
- Considers nodes are connected using springs.
- Ping value between nodes is the natural length of
the spring. - Adjust the position of the nodes such that the
total deformation in all the springs is minimized.
27LAP Node Positioning (cont)
Simplex
Simplex
Spring
Spring
No. of iteration vs. ping error
Relative distance error vs. ping error
- Random network configurations no. of landmarks
5. - Spring performs better than Simplex therefore,
it is chosen for node positioning in LAP.
28Clustered LAP (cont)
- CLAP operation
- Nearby nodes collaborate together to form
clusters. - In my experiments, I assumed clustering of nodes
within the same/nearby AS domains. - Nodes within a cluster collects all-to-all pings
and compute the diameter of the cluster. - Nodes undergo simple LAP (SLAP) procedure to find
their coordinates. - Each node has different set of landmarks.
- Then, nodes perform a CLAP adjustment routine.
- Nodes within cluster exchange their coordinates.
- Calculates the centroid.
- If the distance from centroid is more than ½ of
the diameter, the nodes coordinates are adjusted
towards the centroid.
29CLAP Performance (cont)
CLAP
Rank error error in ranking the nodes in the
network based on proximity.
SLAP
Cumulative distribution of rank error for various
amount of network congestion.
30CLAP Performance (cont)
Max. occupancy diameter the diameter of the
minimum area circle that covers all the points a
node occupied in a window of positioning
operations.
SLAP
CLAP
Note occupancy diameter is always non-zero
Variation of max. occupancy diameter in the
system with increasing network congestion.
31CLAP Congestion Detection
nodes in the congested segment
SLAP
nodes in the non-congested segment
CLAP
Point congestion
32Location-based Discovery (cont)
- Why Hilbert curve?
- Names in flat space Hilbert indices
- No bottleneck as in other hierarchical data
structures. - Recursive structure hierarchical
representation - Possible distributed hash table (DHT) type
overlay creation. - Preserving proximity in naming
- Possible false-negative, but no false-positive.
- Index of a point is fixed for a specific approx.
level - Addition/deletion of nodes do not affect others.
- Availability of mathematical constructs for
finding the Hilbert index of a coordinate. - Hierarchical Hilbert index ? location ID (LID).
33Profile-based Discovery (cont)
- Profile-based naming (PBN)
- Combining of description-based label-based
naming. - Trading off flexibility for scalability.
- Justifying PBN
- Analysis on CNET.
- Shows popularity is
- largely skewed.
383 (13.6)
110 (3.6)
2808
34Profile-based Discovery (cont)
Profile-based routing table at node with PID
7.5.1
- Profile-based routing table similar to
location-based one - Differences
- Not necessarily 2-D.
- Aggregation of profiles.
- Inclusion of LIDs with PIDs ? for neighbourhood
rings.
35RAN Overlay
Location ID
Neighborhood pointers connect the rings
Hilbert indexing
decides the location
LAP
decides the ring
PBN/Hilbert indexing
Type rings
Profile ID
Resources with the same profile ID form a ring
Route pointers in the nodes creates the overlay
structure