1 costas busch Õ(congestion + dilation) hot-potato routing on leveled networks costas busch...

113
1 Õ(Congestion + Dilation) Hot-Potato Routing on Leveled Networks Costas Busch Costas Busch Rensselaer Polytechnic Institute

Upload: donald-erick-wheeler

Post on 13-Dec-2015

227 views

Category:

Documents


1 download

TRANSCRIPT

1

Õ(Congestion + Dilation) Hot-Potato Routing on Leveled Networks

Costas BuschCostas BuschRensselaer Polytechnic Institute

2

•Leveled Networks•Congestion + Dilation•Hot-Potato Routing•Our Algorithm•Future Work

Talk Outline

3

Leveled Networks

Level: 0 1 2 3 L-1 L

4

Examples of Leveled Networks

0 1 2 3

Butterfly

0

1

2

3 4 5 6

Mesh

5

•Synchronous network

•One packet per link direction

Network Model

•One time step per link traversal

•Bi-directional links

6

•Leveled Networks•Congestion + Dilation•Hot-Potato Routing•Our Algorithm•Future Work

Talk Outline

7

Congestion + Dilation

sourcedestination

Each packet has a pre-selected path

8

sourcedestination

The packet follows the pre-selected path

9

sourcedestination

The packet follows the pre-selected path

10

sourcedestination

The packet follows the pre-selected path

11

sourcedestination

The packet follows the pre-selected path

12

sourcedestination

The packet follows the pre-selected path

13

sourcedestination

The packet follows the pre-selected path

14

absorbed

The packet follows the pre-selected path

15

Each packet has its own path

There are packets N

3=N

16

Dilation D: The maximum length of any path

6=D

Routing time: )D(Ω

17

Congestion C: The maximum number of packets traversing any edge

2CRouting time: )C(Ω

18

Lower bound on routing time:

)D+C(Ω

)L+C(Ω

LThere could bepaths with length

Lower bound:

19

Networks with buffers

20

Networks with buffers

Leveled networks:

•Leighton, Maggs, Ranade, Rao: J. Algorithms 1992

)Nlog+L+C(O

Arbitrary networks:

•Leighton, Maggs, Rao: Combinatorica 1994 •Leighton, Maggs, Richa: Combinatorica 1999•Meyer auf der Heide, Sheideler: J. Algorithms 1999•Ostrovsky, Rabani: STOC 1997 •Rabani, Tardos: STOC 1996

)D+C(O

21

What about buffer-less networks?

22

•Leveled Networks•Congestion + Dilation•Hot-Potato Routing•Our Algorithm•Future Work

Talk Outline

23

Hot-Potato Routing

Nodes are buffer-less:

24

Nodes are buffer-less:

25

Nodes are buffer-less:

Time 0

26

Nodes are buffer-less:

Time 1

conflict

27

deflected

deflected

Nodes are buffer-less:

Time 2

28

Nodes are buffer-less:

Time 3

conflict

29

Nodes are buffer-less:

Time 4

deflected

30

Nodes are buffer-less:

Time 5

31

Nodes are buffer-less:

Time 6

32

original pre-selected path

Path lengths may grow arbitrarily large

33

actual path followed

Path lengths may grow arbitrarily large

original pre-selected path

34

Hot-potato routing is interesting:

•Optical networks

•Simple hardware implementations

•Work well in practice:Bartzis et al.: EUROPAR 2000Maxemchuck: INFOCOM 1989

35

Goal: Find a hot-potato algorithm with time close to optimal )L+C(O

No previous work for leveled networks(and arbitrary networks)

Bhatt et al.: ESA 1993

Only work known (but for different problem):

36

Our contribution:

A new hot-potato routing algorithmwith time )L+C(O~

))LN(log•)L+C((O 9

With high probability: LN1

1-

37

•Leveled Networks•Congestion + Dilation•Hot-Potato Routing•Our Algorithm•Future Work

Talk Outline

38

Our Algorithm

•Online algorithm:

•Local algorithm:

routing decisions are takenat real time

routing decisions at a node depend only on the node’s state

39

N packets

40

Partition the packets randomly and uniformly into setsC

1S CS

N packets

2S 3S

CN packets

CN

CN

CN

41

Partition the packets randomly and uniformly into setsC

1S CS2S 3S

)LNlog( )LNlog( )LNlog( )LNlog(

C congestion

congestion

42

1S CS2S 3S

We route each set in a separate frame

43

1F 2F 3F CFWe route each set in a separate frame

)LN(log2

1S CS2S 3S

44

1F 2F 3F CFWe route each set in a separate frame

1S CS2S 3S

45

pre-selected path

kS

Routing a packet

46

kF

Phase 1kS

Routing a packet

47

kF

kS

Routing a packet

Phase 2

48

kF

kS

Routing a packet

Phase 3

49

kF

kS

Routing a packet

Phase 4

50

kF

kS

Routing a packet

Phase 5

51

kF

kS

Routing a packet

Phase 6

52

kF

kS

Routing a packet

Phase 7

53

kF

kS

Routing a packet

Phase 8

54

kF

kS

Routing a packet

Phase 9

55

kF

kS

Routing a packet

Phase 10

56

kF

kS

Routing a packet

Phase 11

57

kS

Routing a packet

Phase 12

58

kS

Routing a packet set

59

kS

kF

Phase 1

Routing a packet set

60

kS

kFRouting a packet set

Phase 2

61

kS

kFRouting a packet set

Phase 3

62

kS

kFRouting a packet set

Phase 4

63

kS

kFRouting a packet set

Phase 5

64

kS

kFRouting a packet set

Phase 6

65

kS

kFRouting a packet set

Phase 7

66

kS

kFRouting a packet set

Phase 8

67

kS

kFRouting a packet set

Phase 9

68

kS

kFRouting a packet set

Phase 10

69

kS

kFRouting a packet set

Phase 11

70

kS

Routing a packet set

Phase 12

71

3S

Routing many packet sets

2S1S

72

3F

Phase 1

3S2S1S

Routing many packet sets

73

3S2S1S

3FRouting many packet sets

Phase 2

74

3S2S1S

3FRouting many packet sets

Phase 3

75

3S2S1S

3F2FRouting many packet sets

Phase 4

76

3S2S1S

3F2FRouting many packet sets

Phase 5

77

3S2S1S

3F2FRouting many packet sets

Phase 6

78

3S2S1S

3F2F1FRouting many packet sets

Phase 7

79

3S2S1S

3F2F1FRouting many packet sets

Phase 8

80

3S2S1S

3F2F1FRouting many packet sets

Phase 9

81

3S2S1S

3F2F1FRouting many packet sets

Phase 10

82

3S2S1S

3F2F1FRouting many packet sets

Phase 11

83

3S2S1S

2F1FRouting many packet sets

Phase 12

84

3S2S1S

2F1FRouting many packet sets

Phase 13

85

3S2S1S

2F1FRouting many packet sets

Phase 14

86

3S2S1S

1FRouting many packet sets

Phase 15

87

3S2S1S

1FRouting many packet sets

Phase 16

88

3S2S1S

1FRouting many packet sets

Phase 17

89

3S2S1S

Routing many packet sets

Phase 18

90

)LNlog(C

)LN(log2

#frames Xframe length + L )LN(log9

Total time: #phases phase duration

)LN(log•L+)LN(log•C 89

)L+C(O~

X

X

91

iF

Phase k

Start

Packets may appear anywhere

92

iF

Phase k

End

Packets are accumulated at the right end

93

iF

Phase k+1

Start

94

iF

Phase k+1

Start

Free from packets

95

iF

Phase k+1

Start

Packets from set are injected hereiS

96

iF

Phase k+1

End

97

iF

Phase k+2

Start

98

iFPhase k

99

iFPhase k -- Round 1

Target Column

100

Phase k -- Round 1

Target Column

iF

101

iFPhase k -- Round 2

Target Column

102

iFPhase k -- Round 2

Target Column

103

iFPhase k -- Round 3

Target Column

104

iFPhase k+1

105

iFPhase k

106

iFPhase k -- Round 1

Target Column

107

iFPhase k -- Round 1

Target Column

108

iFPhase k -- Round 2

Target Column

109

iFPhase k -- Round 3

Target Column

110

iFPhase k+1

111

Duration of Round: )LN(log6

Number of packets that Reach target column at each round:

)LNlog(Packets Remaining

#Rounds needed: )LN(log2

112

•Leveled Networks•Congestion + Dilation•Hot-Potato Routing•Our Algorithm•Future Work

Talk Outline

113

Future Work

•Decrease logarithmic factors

•Generalize to arbitrary networks