0% found this document useful (0 votes)
14 views

IntroDynamicNetworks

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
14 views

IntroDynamicNetworks

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 77

Introduction to Dynamic Networks

Models, Algorithms, and Analysis

Rajmohan Rajaraman, Northeastern U.


www.ccs.neu.edu/home/rraj/Talks/DynamicNetworks/DYNAMO/
June 2006

Dynamo Training School, Lisbon Introduction to Dynamic Networks 1


Many Thanks to…

• Filipe Araujo, Pierre Fraigniaud, Luis Rodrigues,


Roger Wattenhofer, and organizers of the summer
school

• All the researchers whose contributions will be


discussed in this tutorial

Dynamo Training School, Lisbon Introduction to Dynamic Networks 2


What is a Network?

General undirected or directed graph

Dynamo Training School, Lisbon Introduction to Dynamic Networks 3


Classification of Networks
• Synchronous: • Static:
– Messages delivered – Nodes never crash
within one time unit – Edges maintain
– Nodes have access to a operational status forever
common clock

• Dynamic:
• Asynchronous: – Nodes may come and go
– Message delays are – Edges may crash and
arbitrary recover
– No common clock

Dynamo Training School, Lisbon Introduction to Dynamic Networks 4


Dynamic Networks: What?
• Network dynamics:
– The network topology changes over times
– Nodes and/or edges may come and go
– Captures faults and reliability issues
• Input dynamics:
– Load on network changes over time
– Packets to be routed come and go
– Objects in an application are added and deleted

Dynamo Training School, Lisbon Introduction to Dynamic Networks 5


Dynamic Networks: How?
• Duration:
– Transient: The dynamics occur for a short
period, after which the system is static for an
extended time period
– Continuous: Changes are constantly occurring
and the system has to constantly adapt to
them
• Control:
– Adversarial
– Stochastic
– Game-theoretic

Dynamo Training School, Lisbon Introduction to Dynamic Networks 6


Dynamic Networks are Everywhere
• Internet
– The network, traffic, applications are all
dynamically changing
• Local-area networks
– Users, and hence traffic, are dynamic
• Mobile ad hoc wireless networks
– Moving nodes
– Changing environmental conditions
• Communication networks, social networks,
Web, transportation networks, other
infrastructure
Dynamo Training School, Lisbon Introduction to Dynamic Networks 7
Adversarial Models
• Dynamics are controlled by an adversary
– Adversary decides when and where changes
occur
– Edge crashes and recoveries, node arrivals and
departures
– Packet arrival rates, sources, and destinations
• For meaningful analysis, need to constrain
adversary
– Maintain some level of connectivity
– Keep packet arrivals below a certain rate

Dynamo Training School, Lisbon Introduction to Dynamic Networks 8


Stochastic Models
• Dynamics are described by a probabilistic
process
– Neighbors of new nodes randomly selected
– Edge failure/recovery events drawn from some
probability distribution
– Packet arrivals and lengths drawn from some
probability distribution
• Process parameters are constrained
– Mean rate of packet arrivals and service time
distribution moments
– Maintain some level of connectivity in network

Dynamo Training School, Lisbon Introduction to Dynamic Networks 9


Game-Theoretic Models
• Implicit assumptions in previous two
models:
– All network nodes are under one administration
– Dynamics through external influence
• Here, each node is a potentially
independent agent
– Own utility function, and rationally behaved
– Responds to actions of other agents
– Dynamics through their interactions
• Notion of stability:
– Nash equilibrium

Dynamo Training School, Lisbon Introduction to Dynamic Networks 10


Design & Analysis Considerations
• Distributed computing:
– For static networks, can do pre-processing
– For dynamic networks (even with transient dynamics),
need distributed algorithms
• Stability:
– Transient dynamics: Self-stabilization
– Continuous dynamics: Resources bounded at all times
– Game-theoretic: Nash equilibrium
• Convergence time
• Properties of stable states:
– How much resource is consumed?
– How well is the network connected?
– How far is equilibrium from socially optimal?
Dynamo Training School, Lisbon Introduction to Dynamic Networks 11
Five Illustrative Problem Domains
• Spanning trees
– Transient dynamics, self-stabilization
• Load balancing
– Continuous dynamics, adversarial input
• Packet routing
– Transient & continuous dynamics, adversarial
• Queuing systems
– Adversarial input
• Network evolution
– Stochastic & game-theoretic

Dynamo Training School, Lisbon Introduction to Dynamic Networks 12


Spanning Trees

Dynamo Training School, Lisbon Introduction to Dynamic Networks 13


Spanning Trees

• One of the most fundamental network structures


• Often the basis for several distributed system
operations including leader election, clustering,
routing, and multicast
• Variants: any tree, BFS, DFS, minimum spanning
trees
Dynamo Training School, Lisbon Introduction to Dynamic Networks 14
Spanning Tree in a Static Network
8 3
7 2
1
5
6 4

• Assumption: Every node has a unique identifier


• The largest id node will become the root
• Each node v maintains distance d(v) and next-hop h(v) to
largest id node r(v) it is aware of:
– Node v propagates (d(v),r(v)) to neighbors
– If message (d,r) from u with r > r(v), then store (d+1,r,u)
– If message (d,r) from p(v), then store (d+1,r,p(v))

Dynamo Training School, Lisbon Introduction to Dynamic Networks 15


Spanning Tree in a Dynamic Network
8 3
7 2
1
5
6 4

• Suppose node 8 crashes


• Nodes 2, 4, and 5 detect the crash
• Each separately discards its own triple, but believes it can
reach 8 through one of the other two nodes
– Can result in an infinite loop
• How do we design a self-stabilizing algorithm?

Dynamo Training School, Lisbon Introduction to Dynamic Networks 16


Exercise
• Consider the following spanning tree algorithm in
a synchronous network
• Each node v maintains distance d(v) and next-
hop h(v) to largest id node r(v) it is aware of
• In each step, node v propagates (d(v),r(v)) to
neighbors
• On receipt of a message:
– If message (d,r) from u with r > r(v), then store
(d+1,r,u)
– If message (d,r) from p(v), then store (d+1,r,p(v))
• Show that there exists a scenario in which a node
fails, after which the algorithm never stabilizes

Dynamo Training School, Lisbon Introduction to Dynamic Networks 17


Self-Stabilization
• Introduced by Dijkstra [Dij74]
– Motivated by fault-tolerance issues [Sch93]
– Hundreds of studies since early 90s
• A system S is self-stabilizing with respect to
predicate P
– Once P is established, P remains true under no dynamics
– From an arbitrary state, S reaches a state satisfying P
within finite number of steps
• Applies to transient dynamics
• Super-stabilization notion introduced for
continuous dynamics [DH97]

Dynamo Training School, Lisbon Introduction to Dynamic Networks 18


Self-Stabilizing ST Algorithms
• Dozens of self-stabilizing algorithms for finding
spanning trees under various models [Gär03]
– Uniform vs non-uniform networks
– Fixed root vs non-fixed root
– Known bound on the number of nodes
– Network remains connected
• Basic idea:
– Some variant of distance vector approach to build a BFS
– Symmetry-breaking
• Use distinguished root or distinct ids
– Cycle-breaking
• Use known upper bound on number of nodes
• Local detection paradigm

Dynamo Training School, Lisbon Introduction to Dynamic Networks 19


Self-Stabilizing Spanning Tree
8 3
7 2
1
5
6 4

• Suppose upper bound N known on number of nodes [AG90]


• Each node v maintains distance d(v) and parent h(v) to
largest id node r(v) it is aware of:
– Node v propagates (d(v),r(v)) to neighbors
– If message (d,r) from u with r > r(v), then store (d+1,r,u)
– If message (d,r) from p(v), then store (d+1,r,p(v))
• If d(v) exceeds N, then store (0,v,v): breaks cycles

Dynamo Training School, Lisbon Introduction to Dynamic Networks 20


Self-Stabilizing Spanning Tree
• Suppose upper bound N not known [AKY90]
• Maintain triple (d(v),r(v),p(v)) as before
– If v > r(u) of all of its neighbors, then store
(0,v,v)
– If message (d,r) received from u with r > r(v),
then v “joins” this tree
• Sends a join request to the root r
• On receiving a grant, v stores (d+1,r,u)
– Other local consistency checks to ensure that
cycles and fake root identifiers are eventually
detected and removed
Dynamo Training School, Lisbon Introduction to Dynamic Networks 21
Spanning Trees: Summary
• Model:
– Transient adversarial network dynamics
• Algorithmic techniques:
– Symmetry-breaking through ids and/or a distinguished
root
– Cycle-breaking through sequence numbers or local
detection
• Analysis techniques:
– Self-stabilization paradigm
• Other network structures:
– Hierarchical clustering
– Spanners (related to metric embeddings)
Dynamo Training School, Lisbon Introduction to Dynamic Networks 22
Load Balancing

Dynamo Training School, Lisbon Introduction to Dynamic Networks 23


Load Balancing

• Each node v has w(v) tokens


• Goal: To balance the tokens among the nodes
• Imbalance: maxu,v |w(u) - wavg|
• In each step, each node can send at most one
token to each of its neighbors
Dynamo Training School, Lisbon Introduction to Dynamic Networks 24
Load Balancing

• In a truly balanced configuration, we have |w(u) - w(v)| ≤ 1


• Our goal is to achieve fast approximate balancing
• Preprocessing step in a parallel computation
• Related to routing and counting networks [PU89, AHS91]

Dynamo Training School, Lisbon Introduction to Dynamic Networks 25


Local Balancing
• Each node compares its
number of tokens with its
neighbors
• In each step, for each
edge (u,v):
– If w(u) > w(v) + 2d, then u
sends a token to v
– Here, d is maximum degree
of the network
• Purely local operation

Dynamo Training School, Lisbon Introduction to Dynamic Networks 26


Convergence to Stable State
• How long does it take local balancing to
converge?
• What does it mean to converge?
– Imbalance is “constant” and remains so
• What do we mean by “how long”?
– The number of time steps it takes to achieve
the above imbalance
– Clearly depends on the topology of the network
and the imbalance of the original token
distribution

Dynamo Training School, Lisbon Introduction to Dynamic Networks 27


Expansion of a Network
• Edge expansion α:
– Minimum, over all sets S of size
≤ n/2, of the term
|E(S)|/|S|
• Lower bound on convergence
time:
(w(S) - |S|·wavg)/E(S)
= (w(S)/|S| - wavg)/ α

Expansion = 12/6 = 2
wavg = 3
Lower bound = (29 - 18)/12
Dynamo Training School, Lisbon Introduction to Dynamic Networks 28
Properties of Local Balancing
• For any network G with expansion α, any
token distribution with imbalance Δ converges
to a distribution with imbalance O(d·log(n)/ α)
in O(Δ/ α) steps [AAMR93, GLM+99]
• Analysis technique:
– Associate a potential with every node v, which is a
function of the w(v)
• Example: (w(v) - avg)2, cw(v)-avg
• Potential of balanced configuration is small
– Argue that in every step, the potential decreases by
a desired amount (or fraction)
– Potential decrease rate yields the convergence time
• There exist distributions with imbalance Δ that
would take Ω(Δ/ α) steps
Dynamo Training School, Lisbon Introduction to Dynamic Networks 29
Exercise
• For any graph G with edge expansion α,
show that there is an initial distribution
with imbalance Δ such that the time taken
to reduce the imbalance by even half is
Ω(Δ/ α) steps

Dynamo Training School, Lisbon Introduction to Dynamic Networks 30


Local Balancing in Dynamic Networks
• The “purely local” nature of the algorithm useful
for dynamic networks
• Challenge:
– May not “know” the correct load on neighbors since
links are going up and down
• Key ideas:
– Maintain an estimate of the neighbors’ load, and
update it whenever the link is live
– Be more conservative in sending tokens
• Result:
– Essentially same as for static networks, with a slightly
higher final imbalance, under the assumption that the
the set of live edges form a network with edge
expansion α at each step

Dynamo Training School, Lisbon Introduction to Dynamic Networks 31


Adversarial Load Balancing
• Dynamic load [MR02]
– Adversary inserts and/or
deletes tokens
• In each step:
– Balancing
– Token insertion/deletion
• For any set S, let dt(S) be
the change in number of
tokens at step t
• Adversary is constrained in
how much imbalance can
be increased in a step
• Local balancing is stable
against rate 1 adversaries dt(S) – (avgt+1 – avgt)|S| ≤ r · e(S)
[AKK02]

Dynamo Training School, Lisbon Introduction to Dynamic Networks 32


Stochastic Adversarial Input
• Studied under a different model [AKU05]
– Any number of tokens can be exchanged per step, with
one neighbor
• Local balancing in this model [GM96]
– Select a random matching
– Perform balancing across the edges in matching
• Load consumed by nodes
– One token per step
• Load placed by adversary under statistical
constraints
– Expected injected load within window of w steps is at
most rnw
– The pth moment of total injected load is bounded, p > 2
• Local balancing is stable if r < 1
Dynamo Training School, Lisbon Introduction to Dynamic Networks 33
Load Balancing: Summary
• Algorithmic technique:
– Local balancing
• Design technique:
– Obtain a purely distributed solution for static
network, emphasizing local operations
– Extend it to dynamic networks by maintaining
estimates
• Analysis technique:
– Potential function method
– Martingales

Dynamo Training School, Lisbon Introduction to Dynamic Networks 34


Packet Routing

Dynamo Training School, Lisbon Introduction to Dynamic Networks 35


The Packet Routing Problem
• Given a network and a set of packets with source-
destination pairs
– Path selection: Select paths between sources and
respective destinations
– Packet forwarding: Forward the packets to the destinations
along selected paths
• Dynamics:
– Network: edges and their capacities
– Input: Packet arrival rates and locations
• Interconnection networks [Lei91], Internet [Hui95],
local-area networks, ad hoc networks [Per00]

Dynamo Training School, Lisbon Introduction to Dynamic Networks 36


Packet Routing: Performance
• Static packet set:
– Congestion of selected paths: Number of paths that
intersect at an edge/node
– Dilation: Length of longest path
• Dynamic packet set:
– Throughput: Rate at which packets can be delivered to
their destination
– Delay: Average time difference between packet release
at source and its arrival at destination
• Dynamic network:
– Communication overhead due to a topology change
– In highly dynamic networks, eventual delivery?
• Compact routing:
– Sizes of routing tables
Dynamo Training School, Lisbon Introduction to Dynamic Networks 37
Routing Algorithms Classification
• Global: • Static:
– All nodes have complete – Routes change rarely
topology information over time

• Decentralized: • Dynamic:
– Topology changes
– Nodes know information frequently requiring
about neighboring nodes dynamic route updates
and links

• Proactive:
– Nodes constantly react to topology changes always
maintaining routes of desired quality
• Reactive:
– Nodes select routes on demand
Dynamo Training School, Lisbon Introduction to Dynamic Networks 38
Link State Routing
• Each node periodically
broadcasts state of its links E
to the network A F
• Each node has current state
of the network
B G
• Computes shortest paths to
every node
C H
– Dijkstra’s algorithm
• Stores next hop for each
D
destination

Dynamo Training School, Lisbon Introduction to Dynamic Networks 39


Link State Routing, contd
• When link state changes, the
broadcasts propagate E
change to entire network A F
• Each node recomputes
shortest paths
B G
• High communication
complexity
C H
• Not effective for highly
dynamic networks
D
• Used in intra-domain routing
– OSPF

Dynamo Training School, Lisbon Introduction to Dynamic Networks 40


Distance Vector Routing
• Distributed version of G
A 4E
Bellman-Ford’s algorithm
B 5E
• Each node maintains a
distance vector
– Exchanges with neighbors H A 45 D
G
– Maintains shortest path B 6G
distance and next hop
• Basic version not self- A 3C
stabilizing D B 6G
– Use bound on number of
nodes or path length
– Poisoned reverse

Dynamo Training School, Lisbon Introduction to Dynamic Networks 41


Distance Vector Routing
• Basis for two routing G
A 4E
protocols for mobile ad
B 5E
hoc wireless networks
• DSDV: proactive,
attempts to maintain H A 4D
routes B 6G
• AODV: reactive, computes
routes on-demand using A 3C
distance vectors [PBR99] D B 6G

Dynamo Training School, Lisbon Introduction to Dynamic Networks 42


Link Reversal Routing
• Aimed at dynamic networks in
which finding a single path is a 4 E 5
challenge [GB81] F
5 A
• Focus on a destination D
• Idea: Impose direction on links 4
so that all paths lead to D 13 B G
• Each node has a height
– Height of D = 0 31 C 2 H
– Links are directed from high to
low
• D is a sink 0 D
• By definition, we have a
directed cyclic graph

Dynamo Training School, Lisbon Introduction to Dynamic Networks 43


Setting Node Heights
• If destination D is the only
74 E
sink, then all directed 5
paths lead to D F
5 A
• If another node is a sink,
then it reverses all links: 4
– Set its height to 1 more than 61 B G
the max neighbor height
• Repeat until D is only sink 3 C 2 H
• A potential function
argument shows that this 0 D
procedure is self-
stabilizing

Dynamo Training School, Lisbon Introduction to Dynamic Networks 44


Exercise
• For tree networks, show that the link
reversal algorithm self-stabilizes from an
arbitrary state

Dynamo Training School, Lisbon Introduction to Dynamic Networks 45


Issues with Link Reversal
• A local disruption could cause global change in
the network
– The scheme we studied is referred to as full link
reversal
– Partial link reversal
• When the network is partitioned, the
component without sink has continual
reversals
– Proposed protocol for ad hoc networks (TORA)
attempts to avoid these [PC97]
• Need to maintain orientations of each edge for
each destination
• Proactive: May incur significant overhead for
highly dynamic networks
Dynamo Training School, Lisbon Introduction to Dynamic Networks 46
Routing in Highly Dynamic Networks
• Highly dynamic network:
– The network may not even E
be connected at any point
of time A F
• Problem: Want to route a
message from source to G
sink with small overhead B
• Challenges:
– Cannot maintain any paths
C H
– May not even be able to
find paths on demand D
– May still be possible to
route!

Dynamo Training School, Lisbon Introduction to Dynamic Networks 47


End-to-End Communication

• Consider basic case of one source-destination pair


• Need redundancy since packet sent in wrong
direction may get stuck in disconnected portion!
• Slide protocol (local balancing) [AMS89, AGR92]
– Each node has an ordered queue of at most n slots for
each incoming link (same for source)
– Packet moved from slot i at node v to slot j at the (v,u)-
queue of node u only if j < i
– All packets absorbed at destination
– Total number of packets in system at most C = O(nm)
Dynamo Training School, Lisbon Introduction to Dynamic Networks 48
End-to-End Communication
• End-to-end communication using slide
• For each data item:
– Sender sends 2C+1 copies of item (new token added only if
queue is not full)
– Receiver waits for 2C+1 copies and outputs majority
• Safety: The receiver output is always prefix of sender input
• Liveness: If the sender and the receiver are eventually
connected:
– The sender will eventially input a new data item
– The receiver eventually outputs the data item
• Strong guarantees considering weak connectivity
• Overhead can be reduced using coding e.g. [Rab89]

Dynamo Training School, Lisbon Introduction to Dynamic Networks 49


Routing Through Local Balancing
• Multi-commodity flow [AL94]
• Queue for each flow’s packets at
head and tail of each edge
• In each step:
– New packets arrive at sources
– Packet(s) transmitted along each
edge using local balancing
– Packets absorbed at destinations
– Queues balanced at each node
• Local balancing through potentials ϕk(q) = exp(εq/(8Ldk)
– Packets sent along edge to maximize L = longest path length
potential drop, subject to capacity
dk= demand for flow k
• Queues balanced at each node by
simply distributing packets evenly

Dynamo Training School, Lisbon Introduction to Dynamic Networks 50


Routing Through Local Balancing
• Edge capacities can be dynamically
and adversarially changing
• If there exists a feasible flow that
can route dk flow for all k:
– This routing algorithm will route (1-
eps) dk for all k
• Crux of the argument:
– Destination is a sink and the source
is constantly injecting new flow
– Gradient in the direction of the sink
ϕk(q) = exp(εq/(8Ldk)
– As long as feasible flow paths exist,
L = longest path length
there are paths with potential drop
• Follow-up work has looked at packet dk= demand for flow k
delays and multicast problems
[ABBS01, JRS03]
Dynamo Training School, Lisbon Introduction to Dynamic Networks 51
Packet Routing: Summary
• Models:
– Transient and continuous dynamics
– Adversarial
• Algorithmic techniques:
– Distance vector
– Link reversal
– Local balancing
• Analysis techniques:
– Potential function

Dynamo Training School, Lisbon Introduction to Dynamic Networks 52


Queuing Systems

Dynamo Training School, Lisbon Introduction to Dynamic Networks 53


Packet Routing: Queuing
• We now consider the D
second aspect of routing:
queuing D E
F
• Edges have finite capacity A
• When multiple packets
need to use an edge, they D B D G
get queued in a buffer
• Packets forwarded or D C D
H
dropped according to
some order
D D D

Dynamo Training School, Lisbon Introduction to Dynamic Networks 54


Packet Queuing Problems
• In what order should the packets be forwarded?
– First in first out (FIFO or FCFS)
– Farthest to go (FTG), nearest to go (NTG)
– Longest in system (LIS), shortest in system (SIS)
• Which packets to drop?
– Tail drop
– Random early detection (RED)
• Major considerations:
– Buffer sizes
– Packet delays
– Throughput
• Our focus: forwarding
Dynamo Training School, Lisbon Introduction to Dynamic Networks 55
Dynamic Packet Arrival
• Dynamic packet arrivals in static networks
– Packet arrivals: when, where, and how?
– Service times: how long to process?
• Stochastic model:
– Packet arrival is a stochastic process
– Probability distribution on service time
– Sources, destinations, and paths implicitly constrained by
certain load conditions
• Adversarial model:
– Deterministic: Adversary decides packet arrivals,
sources, destinations, paths, subject to deterministic
load constraints
– Stochastic: Load constraints are stochastic

Dynamo Training School, Lisbon Introduction to Dynamic Networks 56


(Stochastic) Queuing Theory
• Rich history [Wal88, Ber92]
– Single queue, multiple parallel queues very well-
understood
• Networks of queues
– Hard to analyze owing to dependencies that arise
downstream, even for independent packet arrivals
– Kleinrock independence assumption
– Fluid model abstractions
• Multiclass queuing networks:
– Multiple classes of packets
– Packet arrivals by time-invariant independent processes
– Service times within a class are indistinguishable
– Possible priorities among classes

Dynamo Training School, Lisbon Introduction to Dynamic Networks 57


Load Conditions & Stability
• Stability:
– Finite upper bound on queues & delays
• Load constraint:
– The rate at which packets need to traverse an edge
should not exceed its capacity
• Load conditions are not sufficient to guarantee
stability of a greedy queuing policy [LK91, RS92]
– FIFO can be unstable for arbitrarily small load [Bra94]
– Different service distributions for different classes
• For independent and time-invariant packet arrival
distributions, with class-independent service
times [DM95, RS92, Bra96]
– FIFO is stable as long as basic load constraint holds
Dynamo Training School, Lisbon Introduction to Dynamic Networks 58
Adversarial Queuing Theory
• Directed network
• Packets, released at source,
travel along specified paths, E
absorbed at destination F
A
• In each step, at most one
packet sent along each edge
• Adversary injects requests: B G
– A request is a packet and a
specified path
C H
• Queuing policy decides which
packet sent at each step along
each edge D
• [BKR+96, BKR+01]

Dynamo Training School, Lisbon Introduction to Dynamic Networks 59


Load Constraints
• Let N(T,e) be number of paths e
injected during interval T that
traverse e
• (w,r)-adversary:
# paths using e
– For any interval T of w consecutive
time steps, for every edge e: injected at t
N(T,e) ≤ w · r
– Rate of adversary is r
• (w,r) stochastic adversary:
– For any interval [t+1…t+w], for
every edge e: w t
E[N(T,e)|Ht] ≤ w · r
Area ≤ w · r

Dynamo Training School, Lisbon Introduction to Dynamic Networks 60


Stability in DAGs
• Theorem: For any dag, any greedy e1 e2 e
policy is stable against any rate-1 3
adversary
• At(e) = # packets in network at
time t that will eventually use e e
• Qt(e) = queue size for e at time t
• Proof: time-invariant upper bound
on At(e)
Large queue: Qt-w(e) ≥ w ⇒ At(e) ≤ At-w(e)

Small queue: Qt-w(e) < w ⇒ At-w(e) ≤ w + ∑j At-w(ej)


At(e) ≤ 2w + ∑j At-w(ej)

Dynamo Training School, Lisbon Introduction to Dynamic Networks 61


Extension to Stochastic Adversaries
• Theorem: In DAGs, any greedy policy is stable
against any stochastic 1-ε rate adversary, for any
ε>0
• Cannot claim a hard upper bound on At(e)
• Define a potential ϕt, that is an upper bound on
the number of packets in system
• Show that if the potential is larger than a
specified constant, then there is an expected
decrease in the next step
• Invoke results from martingale theory to argue
that E[ϕt] is bounded by a constant

Dynamo Training School, Lisbon Introduction to Dynamic Networks 62


FIFO is Unstable [A+ 96]
• Initially: s packets waiting
at A to go to C
• Next s steps:
– rs packets for loop
– rs packets for B-C
A B
• Next rs steps:
– r2s packets from B to A
– r2s packets for B-C
• Next r2s steps:
– r3s packets for C-A
• Now: s+1 packets waiting
at C going to A
D C
• FIFO does not use edges
most effectively

Dynamo Training School, Lisbon Introduction to Dynamic Networks 63


Stability in General Networks
• LIS and SIS are universally stable against rate <1
adversaries [AAF+96]
• Furthest-To-Go and Nearest-To-Origin are stable
even against rate 1 adversaries [Gam99]
• Bounds on queue size:
– Mostly exponential in the length of the shortest path
– For DAGs, Longest-In-System (LIS) has poly-sized
queues
• Bounds on packet delays:
– A variant of LIS has poly-sized packet delays

Dynamo Training School, Lisbon Introduction to Dynamic Networks 64


Exercise
• Are the following two equivalent? Is one
stronger than the other?
– A finite bound on queue sizes
– A finite bound on delay of each packet

Dynamo Training School, Lisbon Introduction to Dynamic Networks 65


Queuing Theory: Summary
• Focus on input dynamics in static networks
• Both stochastic and adversarial models
• Primary concern: stability
– Finite bound on queue sizes
– Finite bound on packet delays
• Algorithmic techniques: simple greedy policies
• Analysis techniques:
– Potential functions
– Markov chains and Markov decision processes
– Martingales

Dynamo Training School, Lisbon Introduction to Dynamic Networks 66


Network Evolution

Dynamo Training School, Lisbon Introduction to Dynamic Networks 67


How do Networks Evolve?
• Internet
– New random graph models
– Developed to support observed properties
• Peer-to-peer networks
– Specific structures for connectivity properties
– Chord [SMK+01], CAN [RFH+01], Oceanstore
[KBC+00], D2B [FG03], [PRU01], [LNBK02], …
• Ad hoc networks
– Connectivity & capacity [GK00…]
– Mobility models [BMJ+98, YLN03, LNR04]

Dynamo Training School, Lisbon Introduction to Dynamic Networks 68


Internet Graph Models
• Internet measurements [FFF99, TGJ+02,
…]:
– Degrees follow heavy-tailed distribution at the
AS and router levels
– Frequency of nodes with degree d is
proportional to 1/dβ, 2 < β < 3
• Models motivated by these observations
– Preferential attachment model [BA99]
– Power law graph model [ACL00]
– Bicriteria optimization model [FKP02]

Dynamo Training School, Lisbon Introduction to Dynamic Networks 69


Preferential Attachment
• Evolutionary model [BA99]
• Initial graph is a clique of size
d+1
– d is degree-related parameter
• In step t, a new node arrives
• New node selects d neighbors
• Probability that node j is
neighbor is proportional to its
current degree
• Achieves power law degree
distribution
Dynamo Training School, Lisbon Introduction to Dynamic Networks 70
Power Law Random Graphs
• Structural model [ACL00]
• Generate a graph with a specified degree
sequence (d1,…,dn)
– Sampled from a power law degree distribution
• Construct dj mini-vertices for each j
• Construct a random perfect matching
• Graph obtained by adding an edge for every edge
between mini-vertices
• Adapting for Internet:
– Prune 1- and 2-degree vertices repeatedly
– Reattach them using random matchings

Dynamo Training School, Lisbon Introduction to Dynamic Networks 71


Bicriteria Optimization
• Evolutionary model
• Tree generation with power law
degrees [FKP02]
• All nodes in unit square
• When node j arrives, it attaches
to node k that minimizes:
α · djk + hk
• If 4 ≤ α ≤ o(√n):
– Degrees distributed as power
law for some β, dependent on α
• Can be generalized, but no
provable results known hk: measure of centrality
of k in tree

Dynamo Training School, Lisbon Introduction to Dynamic Networks 72


Connectivity & Capacity Properties
• Congestion in certain uniform multicommodity flow
problems:
– Suppose each pair of nodes is a source-destination pair for a
unit flow
– What will be the congestion on the most congested edge of
the graph, assuming uniform capacities
– Comparison with expander graphs, which would tend to have
the least congestion
• For power law graphs with constant average degree,
congestion is O(n log2n) with high probability [GMS03]
– Ω(n) is a lower bound
• For preferential attachment model, congestion is O(n log n)
with high probability [MPS03]
• Analysis by proving a lower bound on conductance, and
hence expansion of the network

Dynamo Training School, Lisbon Introduction to Dynamic Networks 73


Network Creation Game
• View Internet as the product
of the interaction of many
economic agents
• Agents are nodes and their
strategy choices create the
network
• Strategy sj of node j:
– Edges to a subset of the nodes
• Cost cj for node j:
– α·|sj| + ∑k dG(s)(j,k)
– Hardware cost plus quality of 3α + sum of distances to
service costs all nodes

Dynamo Training School, Lisbon Introduction to Dynamic Networks 74


Network Creation Game
• In the game, each node selects the
best response to other nodes’
strategies
• Nash equilibrium s:
– For all j, cj(s) ≤ cj(s’) for all s’ that
differ from s only in the jth
component
• Price of anarchy [KP99]:
– Maximum, over all Nash equilibria, of
the ratio of total cost in equilibrium to
smallest total cost
• Bound, as a function of α [AEED06]:
– O(1) for α = O(√n) or Ω(n log n)
– Worst-case ratio O(n1/3)

Dynamo Training School, Lisbon Introduction to Dynamic Networks 75


Other Network Games
• Variants of network creation games
– Weighted version [AEED06]
– Cost and benefit tradeoff [BG00]
• Cost sharing in network design [JV01,
ADK04, GST04]
• Congestion games [RT00, Rou02]
– Each source-destination pair selects a path
– Delay on edge is a function of the number of
flows that use the edge

Dynamo Training School, Lisbon Introduction to Dynamic Networks 76


Network Evolution: Summary
• Models:
– Stochastic
– Game-theoretic
• Analysis techniques:
– Graph properties, e.g., expansion, conductance
– Probabilistic techniques
– Techniques borrowed from random graphs

Dynamo Training School, Lisbon Introduction to Dynamic Networks 77

You might also like