Models and Techniques for Communication in Dynamic Networks Christian Scheideler Dept. of Computer...
-
Upload
samson-perkins -
Category
Documents
-
view
215 -
download
1
Transcript of Models and Techniques for Communication in Dynamic Networks Christian Scheideler Dept. of Computer...
Models and Techniques for Models and Techniques for Communication in Communication in Dynamic NetworksDynamic Networks
Christian ScheidelerChristian Scheideler
Dept. of Computer ScienceDept. of Computer Science
Johns Hopkins UniversityJohns Hopkins University
22 Communication in Dynamic NetworksCommunication in Dynamic Networks
Dynamic networksDynamic networks
Faulty networksPeer-to-peer networksWireless networks
33 Communication in Dynamic NetworksCommunication in Dynamic Networks
OverviewOverview
In this talk:In this talk:
Basic problemsBasic problems
Basic assumptionsBasic assumptions
Faulty networksFaulty networks
Wireless networksWireless networks
Adversarial networksAdversarial networks
More can be found in the paper…More can be found in the paper…
44 Communication in Dynamic NetworksCommunication in Dynamic Networks
Basic Problems - ConnectivityBasic Problems - Connectivity
55 Communication in Dynamic NetworksCommunication in Dynamic Networks
Basic Problems – RoutingBasic Problems – Routing
66 Communication in Dynamic NetworksCommunication in Dynamic Networks
Basic Problems – AdmissionBasic Problems – Admission
77 Communication in Dynamic NetworksCommunication in Dynamic Networks
Basic AssumptionsBasic Assumptions
All packets are atomicAll packets are atomic((unsplittableunsplittable, , uncompressableuncompressable))
Time proceeds in Time proceeds in synchronoussynchronous steps steps
Only point-to-point connections (Only point-to-point connections (linkslinks))
Each link can forward Each link can forward oneone packet per step packet per step in each directionin each direction
88 Communication in Dynamic NetworksCommunication in Dynamic Networks
Focus of TalkFocus of Talk
Communication in dynamic networksCommunication in dynamic networks((connectivityconnectivity, , routingrouting, , admission controladmission control))
Online, distributed algorithmsOnline, distributed algorithms onlineonline: no knowledge about future: no knowledge about future distributeddistributed: runs locally at each node: runs locally at each node
Adversarial or random network changesAdversarial or random network changes adversaryadversary: tries to harm algorithm: tries to harm algorithm
Adversarial packet injectionsAdversarial packet injections
99 Communication in Dynamic NetworksCommunication in Dynamic Networks
Faulty NetworksFaulty Networks
1010 Communication in Dynamic NetworksCommunication in Dynamic Networks
Faulty NetworksFaulty NetworksBasic models:Basic models:
Adversarial or random node/edge faultsAdversarial or random node/edge faults
Central questions:Central questions:What repair rate needed to ensure What repair rate needed to ensure large connected componentlarge connected component similar routing propertiessimilar routing properties
How to ensure uninterrupted serviceHow to ensure uninterrupted serviceHow to achieve a high throughputHow to achieve a high throughput
1111 Communication in Dynamic NetworksCommunication in Dynamic Networks
Large Connected ComponentsLarge Connected Components
Information dispersalInformation dispersal [Rabin 89]:[Rabin 89]:
no information lostno information lost
Assumption:Assumption: random random edge faultsedge faults
Is there Is there criticalcritical survival probability survival probability p*p* s.t. s.t.
p>(1+p>(1+)p*)p* : constant fraction CC : constant fraction CC
p<(1-p<(1-)p*)p* : : nono constant fraction CC constant fraction CC
1212 Communication in Dynamic NetworksCommunication in Dynamic Networks
Large connected componentsLarge connected components
p* = 1/(n-1) [Erdos and Renyi 60]p*=1/dp*=1/d [Ajtai, Komlos and Szemeredi 82]p*=1/2 [Kesten 80]0.337 < p* < 0.436 [Karlin, Nelson and Tamaki 94]
1313 Communication in Dynamic NetworksCommunication in Dynamic Networks
Large connected componentsLarge connected components
r = d p*.Robustness of graph of ave. degree d:
complete graph: r = 1complete graph: r = 1
d-dimensional hypercube: r = 1d-dimensional hypercube: r = 1
random graph of dn/2 edges: r = 1random graph of dn/2 edges: r = 1
d-dimensional butterfly: 1.348 < r < 1.744d-dimensional butterfly: 1.348 < r < 1.744
2-dimensional mesh: r = 22-dimensional mesh: r = 2
1414 Communication in Dynamic NetworksCommunication in Dynamic Networks
Structurally robust networksStructurally robust networks
When can faulty network still keep original routing properties?
When can faulty network still simulate original network with (amortized) constant slowdown?
Constant slowdown:1 step in original - O(1) steps in faulty network
1515 Communication in Dynamic NetworksCommunication in Dynamic Networks
Simulations with O(1) slowdownSimulations with O(1) slowdown
up to n worst-case faults [Leighton, Maggs and Sitaraman 98] 1-up to n worst-case faults [Cole, Maggs and Sitaraman 97]1-up to n worst-case faults? [Leighton, Maggs and Sitaraman 97] 1-failure with any const. p<1 OK [Hastad, Leighton and Newman 87]
1616 Communication in Dynamic NetworksCommunication in Dynamic Networks
Open questionsOpen questions
Hypercube very robust!Hypercube very robust!What about constant degree networks??What about constant degree networks??
How to exploit knowledge about How to exploit knowledge about robustness of networks for the design of robustness of networks for the design of efficient routing protocols?efficient routing protocols?
1717 Communication in Dynamic NetworksCommunication in Dynamic Networks
Fault-tolerant circuit switchingFault-tolerant circuit switching
How can uninterrupted service be ensured?
Use more than one path.
Allocate more bandwidth than needed.
A
B
1818 Communication in Dynamic NetworksCommunication in Dynamic Networks
Fault-tolerant circuit switchingFault-tolerant circuit switching
k-edge disjoint paths problem (k-EDP):Given a graph G and a set T of pairs of nodes, find a maximum set of pairs s.t. each pair is connected by k disjoint paths and all paths are disjoint.
k-disjoint flows problem (k-DFP):Given a network G with edge capacities and a set T of pairs of nodes with demands d , find a set of pairs of maximum total demand s.t. pair i in set is connected by k disjoint paths with flow d /k and all capacity constraints are kept.
i
i
1919 Communication in Dynamic NetworksCommunication in Dynamic Networks
Fault-tolerant circuit switchingFault-tolerant circuit switching
Bounded greedy algorithm (BGA) For each pair: if k disjoint paths available that For each pair: if k disjoint paths available that use at most L edges: take themuse at most L edges: take them
L= O(k log n):
BGA is O(k log n) - competitive
3 -1
3 -1
: maximum degree, : expansion, n: number of nodes
[Bagchi & Chaughari & Kolman & Sch. 02]
2020 Communication in Dynamic NetworksCommunication in Dynamic Networks
Wireless ad hoc networksWireless ad hoc networks
How to ensure connectivity?How to select and maintain routes?How to send packets along selected routes?
2121 Communication in Dynamic NetworksCommunication in Dynamic Networks
ConnectivityConnectivity
[Yao 82, Ruppert & Seidel 91,Lukovszki 99]:[Yao 82, Ruppert & Seidel 91,Lukovszki 99]:
partition space into sectorspartition space into sectors
connect to nearest neighbor in each sectorconnect to nearest neighbor in each sector
2222 Communication in Dynamic NetworksCommunication in Dynamic Networks
Route selectionRoute selection
Strategy:Strategy:
Always go to neighbor that lies in sector of Always go to neighbor that lies in sector of destination (if possible…)destination (if possible…)
2323 Communication in Dynamic NetworksCommunication in Dynamic Networks
Wireless ad hoc networksWireless ad hoc networks
Problem with sector-based approach:Problem with sector-based approach:
Nodes have to know location (GPS)Nodes have to know location (GPS)
Solution when nodes move at random:Solution when nodes move at random:
Just connect to k nearest neighborsJust connect to k nearest neighbors
What if nodes have limited range??What if nodes have limited range??
2424 Communication in Dynamic NetworksCommunication in Dynamic Networks
Adversarial networksAdversarial networks
2525 Communication in Dynamic NetworksCommunication in Dynamic Networks
Adversarial networksAdversarial networks
SituationSituation
Network and packet injections under Network and packet injections under adversarial controladversarial control
ProblemsProblems
How to select paths?How to select paths?
How to schedule packet movements?How to schedule packet movements?
How to perform admission control?How to perform admission control?
2626 Communication in Dynamic NetworksCommunication in Dynamic Networks
Adversarial networksAdversarial networks
““Friendly” adversaryFriendly” adversary
All injected packets can be deliveredAll injected packets can be delivered
Buffer size for this at most BBuffer size for this at most B
Only gathering scenarioOnly gathering scenario
All packets have the same destinationAll packets have the same destination
Is there online algorithm s.t. Is there online algorithm s.t. number of packets in system finite?number of packets in system finite?
2727 Communication in Dynamic NetworksCommunication in Dynamic Networks
Adversarial gatheringAdversarial gatheringBalancing algorithm:Balancing algorithm:For every time step t and every edge (v,w)For every time step t and every edge (v,w)
#packets(v) - #packets(w) > T#packets(v) - #packets(w) > T: send packet: send packet
receive all incoming and injected packetsreceive all incoming and injected packets
v w
[Awerbuch et al 89, Aiello et al 98,…]
2828 Communication in Dynamic NetworksCommunication in Dynamic Networks
Adversarial gatheringAdversarial gathering
[Awerbuch & Berenbrink & Brinkmann & Sch. 01][Awerbuch & Berenbrink & Brinkmann & Sch. 01]
For T>2For T>2, number of packets in node at most, number of packets in node at most
(B+T)(n-1)+B
where is maximum degree of node. Bound tight up to constant factor.
How about more complex communication modes?(unicasting, anycasting, multicasting,…)
2929 Communication in Dynamic NetworksCommunication in Dynamic Networks
Communication modesCommunication modes
Unicasting : one destination per packetAnycasting : optional set of destinationsMulticasting : multiple destinations
3030 Communication in Dynamic NetworksCommunication in Dynamic Networks
Anycasting and multicastingAnycasting and multicastingApproach:Approach:
Adversary controls topology, injections,Adversary controls topology, injections,now unfriendlynow unfriendlyCompare number of packet deliveries Compare number of packet deliveries ((throughputthroughput) with optimal algorithm) with optimal algorithm
Algorithm is (c,s)-competitive:Algorithm is (c,s)-competitive:Reaches c-fraction of optimal throughput Reaches c-fraction of optimal throughput with s times more buffer spacewith s times more buffer space
3131 Communication in Dynamic NetworksCommunication in Dynamic Networks
AnycastingAnycasting
Originial model:Originial model:
each node has buffer for each anycast seteach node has buffer for each anycast set
each step adversary offers edgeseach step adversary offers edges
Option set model:Option set model:
buffer: virtual nodebuffer: virtual node
edge: set of virtual edges between corr. buffersedge: set of virtual edges between corr. buffers
combine all virt. dest. nodes in single dest.combine all virt. dest. nodes in single dest.
Anycasting can be reduced to gathering!
v w
3232 Communication in Dynamic NetworksCommunication in Dynamic Networks
Gathering in option set modelGathering in option set modelBalancing algorithm:Balancing algorithm:For every time step t and every option set SFor every time step t and every option set S
select edge (v,w) with select edge (v,w) with largestlargest #pack(v)-#pack(w) #pack(v)-#pack(w) #pack(v) - #pack(w) > T#pack(v) - #pack(w) > T: send packet: send packetreceive all incoming and injected packetsreceive all incoming and injected packets(if not possible: delete packet)(if not possible: delete packet)
[Awerbuch, Brinkmann and Sch. 02][Awerbuch, Brinkmann and Sch. 02]balancing is balancing is (1-(1-,O(L/,O(L/)))) – competitive – competitive(L: ave. path length used by packets in OPT)(L: ave. path length used by packets in OPT)
3333 Communication in Dynamic NetworksCommunication in Dynamic Networks
MulticastingMulticastingMajor problem:Major problem:
Multicast packets can splitMulticast packets can split
Approach:Approach:Option set model for anycasting can be Option set model for anycasting can be generalized to multicastinggeneralized to multicastingBalancing algorithm can be extended Balancing algorithm can be extended accordinglyaccordinglyBalancing (1-Balancing (1-, O(f(, O(f()))-competitive)))-competitive
3434 Communication in Dynamic NetworksCommunication in Dynamic Networks
Adversarial networksAdversarial networks
Major problem:Major problem:
Solutions show feasibility but FAR from Solutions show feasibility but FAR from being practicalbeing practical
Possible solutions:Possible solutions:
Use clustering strategiesUse clustering strategies
Combine balancing with other methodsCombine balancing with other methods
3535 Communication in Dynamic NetworksCommunication in Dynamic Networks
ConclusionConclusion
Routing in dynamic networks is interestingRouting in dynamic networks is interesting(also systems people are searching in dark)(also systems people are searching in dark)
Techniques and models are availableTechniques and models are available
Many open problems left:Many open problems left: Robust, fault-tolerant networks of constant Robust, fault-tolerant networks of constant
degreedegree Routing in fault-tolerant and wireless networksRouting in fault-tolerant and wireless networks