On dynamic distributed algorithms

Controller and Estimator
for
Dynamic Networks
Amos Korman Shay Kutten
Technion
Motivation
Many known algorithms are static. However, in most realistic
contexts, and especially distributed contexts,
(the Internet, peer to peer networks etc.) setting is dynamic:
Remove edge
Remove node
Add node
Add edge
Motivation – cont.
Therefore, for a distributed scheme to be
useful, it should be capable of reflecting
up-to date information in dynamic setting,
which may require occasional updates.
C
A
D
B
Basic update problems
Size-estimation : some center node
maintains an approximation of # nodes.
Name assignment : maintain at each
node u, a unique short identity id(u).
(Typically O(log n) bits, n is current #
nodes).
Dynamic models
For simplicity, in this talk, we assume the
Serialized model : a topological change
occurs only after all updates concerning
previous topology changes have occurred.
In fact, the protocols work also under the
Controlled model [Afek et at.],
in which topology changes
may occur concurrently, as long as we can
delay for arbitrary (but finite) time periods.
The Controlled model, may be useful in
overlay networks
Related work
Afek, Awerbuch, Plotkin, and Saks
showed (J. of ACM) how to solve the
size-estimation and name-assignment
problems on growing trees using
O(log2n) amortized message complexity,
per topology change. They assumed that
the tree can only grow and
only by allowing leaves to join.
To solve the problems, they use a machinery
called (M,W)-CONTROLLER
An (M,W)-controller
Requests arrive (from environment) to nodes.
Each request is eventually either granted
a permit or rejected.
Request
u
v
signal
control protocol
Messages are
sent to update
nodes
If a request is to perform a topology change is
granted a permit then the change occurs.
An (M,W)-controller :
Requirements:
Safety:
At most M permits are given.
Liveness:
If the controller gives a reject then
at least M-W permits were given
(W is the waste)
Controller knows how to stop when the
# of permits is between M and M-W
M-W
M
(in case w=0, the controller stops after precisely M permits were given.)
Trivial controller
Whenever a vertex u asks for a request,
a signal is sent to the root.
In turn, the root returns a permit to u,
unless is has already given M permits.
If the root has already given M permits,
it returns reject to u.
M permits
request
Problem: message complexity Ω(Mn).
ROOT
reduction from size-estimation and
name assignment to controller
E
(n/2,n/4)-controller with O(π) amortized
message complexity
size estimation and name assignment protocols
with O(π) amortized message complexity.
(Even if the number of topology changes is not
bounded (using iterations) [Afek et. Al]).
The (M,W)-controller of [AAPS]
Can operate on a growing tree allowing
only leaves to join the tree.
M
Has O(n·log2n·log (
) message complexity.
W+1
(n is the final number of nodes)
Therefore, if W=M/2 then their controller can
solve the size estimation and name
assignment problems with O(log2n)
amortized message complexity.
New Extended (M,W)-controller
In this paper, we give an
extended (M,W)-controller operating
under a more general model allowing
both additions and deletions of
both leaves and internal nodes.
Same amortized
M
2
message complexity: O(log n log(W+1)).
Size estimation and name
assignment in extended
dynamic model
Constant size estimation with
amortized message complexity=O(log2n).
Mainiatining unique identities
using log n+O(1) bits per identity and O(log2n)
amortized message complexity.
Remark
The behavior of node v in the controller of AAPS
depends strongly on the depth of v
which does not change in their scenario.
ROOT
Therefore it is not clear how
to adapt the previous controller
to the more general dynamic setting.
Extended (M,W)-controller
M permits
ROOT
large package
root sends packages
of different sizes
containing permits.
Total # permits sent:
no more than M.
small package
Safety
The root does not send more than M
permits.
If it has sent M permits then
it broadcasts a reject message to all nodes.
Message complexity resulting from this
`reject’ broadcast is O(n).
Extended (M,W)-controller
M permits
root sends
packages of
different sizes
containing permits.
ROOT
Level i package
contains precisely
ρ2i permits
i
0
Level 0 package
contains between
1 and ρ permits
The algorithm
ROOT
P
0
request
request
(to add a child)
One permit from P is given
to the request.
Subsequently:
a) size(P)=size(P)-1,
b) a child is added.
If size(P)=0, P is canceled.
ROOT
Pi
P
0
request
request
(to delete the node)
One permit from P is
given to request.
Subsequently:
a) size(P)=size(P)-1,
b) all packages move
to parent.
c) the node is deleted.
If no level 0 package at u
ROOT
0
Looking for a
level-0 package
at distance
between
0 and 2Ψ.
u
request
Issue permit
Looking for a
level-i package
at distance between
2i Ψ and 2i+1 Ψ
u
request
i
ROOT
root
24Ψ
Look for level-3
23Ψ
Look for level-2
22Ψ
Look for level-1
2Ψ
Look for level-0
U
request
root
24Ψ
3
If not find, then a package
of the
appropriate size is issued at the root
(unless it issued already M permits)
Look for level-3
23Ψ
Look for level-2
22Ψ
Look for level-1
2Ψ
Look for level-0
U
request
24Ψ
3
23Ψ
Move & split
22Ψ
2Ψ
request
24Ψ
3
23Ψ
No other level-2
package
2
22Ψ
1
2Ψ
0
0
request
Correctness
Safety: The root does issue more that M permits.
Liveness : If a request is rejected, and at most W are stuck in
packages then # granted requests is at least M-W.
.
ROOT
M permits were sent
At most W are stuck
At least M-W were given
The waste is at most W
ROOT
Level i package
contains precisely
ρ2i permits
i
j
i
24Ψ
3
23Ψ
No other level-2
package
2
Domain
22Ψ
1
2Ψ
0
0
request
Domain invariants
1) Domain of level-i package is of size ~2iΨ
2) Domains of two level-i package are disjoint.
i
Therefore, # of level-i packages is at most n/ 2iΨ
What happens to a domain when a
topology change occurs?
i
Domain
When a node leaves a domain it is
still considered as part of the domain
i
Domain
When a node joins a domain it is
considered as part of the domain
and the bottom node leave the domain
# of wasted tokens
# of wasted permits in all level-i packages is
n (ρ/Ψ).
We fix ρ and Ψ so that ρ/Ψ= W/(n log n).
Therefore wasted permits in level-i packages
≤ W/log n.
Altogether, wasted permits is at most W.
24Ψ
communication:
Need only bound move of packages
3
23Ψ
Move & split
Search for package
22Ψ
2Ψ
request
Communication – cont.
Fix level i.
A permit belongs to at most
one level i package.
3
2
1
0
0
request
Communication –cont.
At most M/(size(i))=M/2iρ level-i packages ever exist.
Each level-i package travels to distance O(2iΨ).
Total messages incurred by level-i packages ≤
O(M(Ψ/ρ)) = O(n·log n·(M/W)).
Summing over all levels: # messages is
O(n·log2n·(M/W)).
Using iterations, reduce to O(n·log2 n·log(M/(W+1))).
conclusion
The field of dynamic distributed algorithms
brings many challenging and important
problems. (In particular, transform known
static schemes to dynamic ones.)
We managed to solve the size estimation and
dynamic name assignment problems using
O(log2n) amortized massage complexity. Can
we do better?
THANK YOU