Models and Techniques for Communication in Dynamic Networks Christian Scheideler Dept. of Computer...

35
Models and Models and Techniques for Techniques for Communication in Communication in Dynamic Networks Dynamic Networks Christian Scheideler Christian Scheideler Dept. of Computer Science Dept. of Computer Science Johns Hopkins University Johns Hopkins University

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