Date post: | 21-Dec-2015 |
Category: |
Documents |
View: | 217 times |
Download: | 1 times |
Distributed Slicing in Dynamic Systems
A. Fernández, V. Gramoli, E. Jiménez, A-M. Kermarrec, M. Raynal
ICDCS 2007June
Fernandez, Gramoli, Jimenez, Kermarrec, Raynal
Context
Distributed System
Interconnected set of nodes
Heterogeneous environment
Resources are heterogeneously spread• Bandwidth
• Processing Power
• Storage Space
• Uptime
• …
Large-scale dynamic environment
Nodes leave and join at any time
Large amount of nodes
No global information
1,50,3
1
10098
ICDCS 2007June
Fernandez, Gramoli, Jimenez, Kermarrec, Raynal
Problem
What means rich/poor in this context?
ICDCS 2007June
Fernandez, Gramoli, Jimenez, Kermarrec, Raynal
Problem
What means rich/poor in this context?
20
Am I rich or poor?
ICDCS 2007June
Fernandez, Gramoli, Jimenez, Kermarrec, Raynal
Problem
What means rich/poor in this context?
202
6
15
rich?
ICDCS 2007June
Fernandez, Gramoli, Jimenez, Kermarrec, Raynal
Problem
What means rich/poor in this context?
20300
150
815220
poor?
ICDCS 2007June
Fernandez, Gramoli, Jimenez, Kermarrec, Raynal
Applications
Remedy the Gnutella problem in Peer-to-peer Gnutella performance was limited by poor nodes
Kazaa/Skype sollicitate rich nodes rather than poor nodes
Allocating resources/nodes to services Streaming service needs nodes with highest bandwidth Non-critical service can run on unstable nodes File-sharing service requires nodes with many files …
ICDCS 2007June
Fernandez, Gramoli, Jimenez, Kermarrec, Raynal
Objectives
Classifying nodes into categories, slices Based on individual characteristics: attributes A slice corresponds to a portion of the system
Typically, answering the question:
ICDCS 2007June
Fernandez, Gramoli, Jimenez, Kermarrec, Raynal
Objectives
HOW RICH AM I COMPARED TO OTHERS?
Classifying nodes into categories, slices Based on individual characteristics: attributes A slice corresponds to a portion of the system
Typically, answering the question:
ICDCS 2007June
Fernandez, Gramoli, Jimenez, Kermarrec, Raynal
Classifying the system nodes
ICDCS 2007June
Fernandez, Gramoli, Jimenez, Kermarrec, Raynal
Classifying the system nodes
68
70
8
7262
7565
20
71
48
5989
27
…using their attribute values (assume a single attribute for simplicity reason)
ICDCS 2007June
Fernandez, Gramoli, Jimenez, Kermarrec, Raynal
Classifying the system nodes
68
70
8
7262
7565
20
71
48
5989
27
0 100
Attribute values ai
ICDCS 2007June
Fernandez, Gramoli, Jimenez, Kermarrec, Raynal
Classifying the system nodes
68
70
8
7262
7565
20
71
48
5989
27
0 100
0 1
Attribute values ai
NormalizedIndices pi
ICDCS 2007June
Fernandez, Gramoli, Jimenez, Kermarrec, Raynal
#4#3#2#1
Classifying the system nodes
68
70
8
7262
7565
20
71
48
5989
27
0 100
0 1
NormalizedIndices pi
0 1Slices si
Attribute values ai
ICDCS 2007June
Fernandez, Gramoli, Jimenez, Kermarrec, Raynal
ModelDynamic system System of n nodes Nodes join and leave the system at any time Nodes may crash too
Each node i knows its attribute value ai, its position estimate pi’, the slices (ex: 10 equally sized slices, each containing
10% of the nodes), a communication view Vi:
• constant number of neighbors j,• their position estimate pj’, their attribute aj, (and their age)
ICDCS 2007June
Fernandez, Gramoli, Jimenez, Kermarrec, Raynal
Underlying Gossip-based Overlay
Each node i periodically: Exchanges information with its neighbors (nodes of its
view)• Views, values…
Computes its new view and its new state• View, value…
Dynamic overlay: Failed nodes are naturally removed from views Joining nodes are naturally added into views
Scalable overlay: Limited amount of information stored Limited amount of information exchanged
ICDCS 2007June
Fernandez, Gramoli, Jimenez, Kermarrec, Raynal
Jelasity, Kermarrec 2006 (JK)
Each node i sets pi’ as a uniform random value
Each node i looks for a misplaced neighbor j A neighbor j is misplaced with i iff (ai – aj)(pi’ – pj’) < 0
Then, nodes i and j exchange pi’ and pj’
The sequence of position estimates matches the sequence of attribute values
For any node couple i and j, ai<aj <=> pi’<pj’
Convergence to this ordering is exponentially fast
(in the number of execution)
ICDCS 2007June
Fernandez, Gramoli, Jimenez, Kermarrec, Raynal
Algorithm 1: Ordering
Similar to JK
Uses Local Disorder Measure LDM Let lpj’ (resp. lpj) be the normalized index of j random value
(resp. attribute value) among all j of Vi i
LDM(i) = ∑ j in Vi i (lpj’ – lpj)²
ProtocolDo periodically {
Update view Vi using an underlying protocol.Choose the neighbor j that minimizes the LDM(i).Exchange random values pi’ and pj’ Update the random value pi’ w/ pj’ if necessary.Update slice assignment si’ := s : pi’ in s.
}
ICDCS 2007June
Fernandez, Gramoli, Jimenez, Kermarrec, Raynal
Algorithm 1: Ordering
Similar to JK
Uses Local Disorder Measure LDM Let lpj’ (resp. lpj) be the normalized index of j random value (resp.
attribute value) among all j of Vi i
LDM(i) = ∑ j in Vi i (lpj’ – lpj)²
ProtocolDo periodically {
Update view Vi using an underlying protocol.Choose the neighbor j that minimizes the LDM(i).Exchange random values pi’ and pj’. Update the random value pi’ w/ pj’ if necessary.Update slice assignment si’ := s : pi’ in s.
}
Difference with JK
ICDCS 2007June
Fernandez, Gramoli, Jimenez, Kermarrec, Raynal
Algorithm 1: Ordering
68
70
8
7262
7565
20
71
48
5989
27
4/11 9/11
ICDCS 2007June
Fernandez, Gramoli, Jimenez, Kermarrec, Raynal
Algorithm 1: Ordering
68
70
8
7262
7565
20
71
48
5989
27
9/11
7/11
ICDCS 2007June
Fernandez, Gramoli, Jimenez, Kermarrec, Raynal
Algorithm 1: Ordering
68
70
8
7262
7565
20
71
48
5989
27
ICDCS 2007June
Fernandez, Gramoli, Jimenez, Kermarrec, Raynal
Algorithm 1: Ordering
68
70
8
7262
7565
20
71
48
5989
27
7/11
2/11
ICDCS 2007June
Fernandez, Gramoli, Jimenez, Kermarrec, Raynal
Algorithm 1: Ordering
68
70
8
7262
7565
20
71
48
5989
27
ICDCS 2007June
Fernandez, Gramoli, Jimenez, Kermarrec, Raynal
Algorithm 1: Ordering
68
70
8
7262
7565
20
71
48
5989
27
2/11
4/11
ICDCS 2007June
Fernandez, Gramoli, Jimenez, Kermarrec, Raynal
Algorithm 1: Ordering
68
70
8
7262
7565
20
71
48
5989
27
ICDCS 2007June
Fernandez, Gramoli, Jimenez, Kermarrec, Raynal
Result: Slight convergence speed up
n = 104
#slices = 10|V| = 20
ICDCS 2007June
Fernandez, Gramoli, Jimenez, Kermarrec, Raynal
If random values are not perfectly uniformly distributed
…some nodes might never find their slice e.g. the 3 nodes of S2 in the example above
Problem: Wrong Slice Assignment
#4#3#2#1
0 1Slices
Normalizedindices
ICDCS 2007June
Fernandez, Gramoli, Jimenez, Kermarrec, Raynal
Algorithm 2: RankingNo random values!
ProtocolDo periodically {
Update/Shuffle view Vi using an underlying protocol.l += #neighbors with lower attribute value.g += #neighborsSends ai to a randomly chosen neighborSends ai to the neighbor that is the closest to a slice boundary
Update slice assignment si’ = s such that l/g in s.}Upon reception {
Receive aj from jif (aj < ai) l += 1;
g+=1 ;Update slice assignment si’ = s such that l/g in s.
}
ICDCS 2007June
Fernandez, Gramoli, Jimenez, Kermarrec, Raynal
Algorithm 2: RankingNo random values!
ProtocolDo periodically {
Update/Shuffle view Vi using an underlying protocol.l += #neighbors with lower attribute value.g += #neighborsSends ai to a randomly chosen neighborSends ai to the neighbor that is the closest to a slice boundary
Update slice assignment si’ = s such that l/g in s.}Upon reception {
Receive aj from jif (aj < ai) l += 1; g+=1 ;Update slice assignment si’ = s such that l/g in s.
}
Same number of messages
ICDCS 2007June
Fernandez, Gramoli, Jimenez, Kermarrec, Raynal
Algorithm 2: Ranking
68
70
8
7262
7565
20
71
48
5989
27
4/11
ICDCS 2007June
Fernandez, Gramoli, Jimenez, Kermarrec, Raynal
Algorithm 2: Ranking
68
70
8
7262
7565
20
71
48
5989
27
68
89
ICDCS 2007June
Fernandez, Gramoli, Jimenez, Kermarrec, Raynal
Algorithm 2: Ranking
68
70
8
7262
7565
20
71
48
5989
27
0/2
ICDCS 2007June
Fernandez, Gramoli, Jimenez, Kermarrec, Raynal
Algorithm 2: Ranking
68
70
8
7262
7565
20
71
48
5989
27
7220
ICDCS 2007June
Fernandez, Gramoli, Jimenez, Kermarrec, Raynal
Algorithm 2: Ranking
68
70
8
7262
7565
20
71
48
5989
27
1/4
ICDCS 2007June
Fernandez, Gramoli, Jimenez, Kermarrec, Raynal
Algorithm 2: Ranking
68
70
8
7262
7565
20
71
48
5989
27
48
75
ICDCS 2007June
Fernandez, Gramoli, Jimenez, Kermarrec, Raynal
Algorithm 2: Ranking
68
70
8
7262
7565
20
71
48
5989
27
1/3
ICDCS 2007June
Fernandez, Gramoli, Jimenez, Kermarrec, Raynal
Result 1: Unlimited convergence
n = 104
#slices = 100|V| = 20
ICDCS 2007June
Fernandez, Gramoli, Jimenez, Kermarrec, Raynal
Result 1: Unlimited convergence
Ranking precision keeps improving
n = 104
#slices = 100|V| = 20
ICDCS 2007June
Fernandez, Gramoli, Jimenez, Kermarrec, Raynal
Result 2: Tolerating Dynamism
Churn is correlated with attribute values!
e.g. the attribute is the remaining batery lifetime or available storage space.
Churn
ICDCS 2007June
Fernandez, Gramoli, Jimenez, Kermarrec, Raynal
Performance Analysis
d, is the distance from pi’ to the closest slice boundary.For confidence coefficient of 99,99%, the required number of attribute value drawn is
mi ≥ z pi’ (1 – pi’) / d2,
with z <16, a constant.
ICDCS 2007June
Fernandez, Gramoli, Jimenez, Kermarrec, Raynal
Conclusion
Churn-tolerant algorithmGossip-based mechanisms.Slice belongingness re-approximation.
Scalable algorithmLimited number of neighbors.Size of the system is unknown.
Applications of the distributed slicingResource allocationSupernodes / Ultrapeers election
Future workCan we obtain convergence speed of the first algorithm with the
accuracy of the second algorithm?
ICDCS 2007June
Fernandez, Gramoli, Jimenez, Kermarrec, Raynal
References
Ordered Slicing of Very Large-Scale Overlay NetworksM. Jelasity and A.-M. Kermarrec In Proc. of the 6th IEEE Conference on P2P Computing, 2006.
Randomized AlgorithmsR. Motwani, P. RaghavanCambridge University Press, 1995
Time Bounds for SelectionM. Blum, R. Floyd, V. Pratt, R. Rivest, and R. TarjanJournal Computer and System Sciences 7:448-461, 1972
ICDCS 2007June
Fernandez, Gramoli, Jimenez, Kermarrec, Raynal
Result 3: Feasibility