Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
1
Workshop on Quality of Service RoutingBarcelona, October 1, 2004
A distributed algorithm to provide QoSby avoiding cycles in routes
Juan Echagüe1, M. Prieto2, J. Villadangos2, V. Cholvi1
(1) Universidad Jaum e I, Castellón (Spain)(2) Universidad Pública de Navarra, Pamplona (Spain)
2
Agenda
• Stability in packet-switched networks• Previous results• Distributed turn prohibition algorithm• Conclusions
3
StabilityDefinition of stability (1): A packet scheduling
protocol P is universally stable if for anytopology, bounding the input traffic, thenumber of packets at the network is bounded
Definition of stability (2): A network topology G isuniversally stable if for any greedy schedulingprotocol , bounding the input traffic, thenumber of packets at the network is bounded
4
Stability (II)• Packet scheduling protocols
• Universally stables: FTG, NTS, SIS, LIS• Not Universally stables: FIFO, LIFO, NTG, FFS
• Traffic pattern• Adversarial models: AQT(w,r), LB(b,r)
• Stability if r ≤1/d (d is the maximum number of links crossed by any packet)
• Network topologies• DAG is universally stable (Andrews)• Ring is universally stable (Tassiulas, Andrews)• Any topology is stable if there are no cycles
• The tree topology is universally stable
5
Stablity (III)
• Example of network topology that currently we know is stable
0 1
6
Stablity (III)
• Example of network topology that currently it is not know if it is universally stable
0 1
7
Cycle: packet crosses twice the same link
3
01
4
2
8
Cycle caused by feed-forward packets
3
01
4
2
9
Cycle avoidance in real world
• Pause messages of IEEE 802.3x’s flow control mechanism can produce deadlock. It is solved by using the spanning tree protocol (IEEE 802.1d)
• In the wormhole routing mechanism when there are cycles in the channel dependency graph (CDG) deadlock may arise (Duato)
10
Previous results• Spanning tree
• Transform any Topology into a Spanning tree, forbidding the use of links not belonging to the tree
2
14
3
5
6 7
Root
2
14
3
5
6 7
11
Previous results (II)• Turn-Prohibition
• Turn: Pair of input-output links around a node• Instead forbid a whole link forbids a turn
(Shoreder in Autonet’91)• Starobinski proposed a centralized optimization
algorithm which requires full topology knowledge. It is optimal in the total number of prohibited turns
12
Previous results (III)• Turn-Prohibition
2
14
3
5
6 7 4
3
51
26 7
13
Distributed Turn-prohibition Algorithm
Actions• Performs a depth search (spanning tree)• Forbids turns meanwhile exploring the network
Properties• Explores all nodes• Break all cycles by prohibiting turns• Connectivity is granted• Cost in messages is function of the number of links:
2|E|• It is not optimal
14
Distributed Turn-prohibition Algorithm (II)Only a node initiates DTP
15
Application example3
0
1
4
2
GO
GOGO
BACKGO
GOBACK
GO BACK
SEARCH
SEARCH
GO
GO
BACK
SEARCHSEARCH
0
1
3
4
2
16
Application example (II)
• Spanning tree resulting on the depth search3
0
1
4
2
17
Correctness proof
• Theorem 1: The algorithm is traversal:• Each computation has one initiator• When a node receives a message either sends
out a message or ends the computation• Theorem 2: The algorithm breaks all the
cycles of the system• Theorem 3: The system remains connected
18
Performance evaluation
• Comparison of the number of forbiddenturns between Starobinski’s optimal solution and DTP algorithm
• Experiments:• Topologies:
• GT-ITM (ns-2) with topologies: flat, hierarchical, transit-stub
• Discrete event-driven simulator
19
Performance evaluation (II)
• Experiment 1: how increasing the number of nodes affect de percentage of prohibited turns (network degree = 4).
20
Performance evaluation (III)
• How increasing the network degree affects de percentage of prohibited turns (120 nodes).
21
Self-configuring distributed turn prohibition (SDTP)
1. When a node receives a GO message SDTP assigns an ordered label to the node.
1. When label l fails (fail-stop):2. Invalidate all nodes with label higher than l3. Start applying DTP from the node with
highest label not invalidated linked with any of the invalidated nodes.
4. Apply previous step until there are no invalidated nodes
22
Example of SDTP application
0/B
1/A
4/C E
3/D
2/
GO
GOBACK
D
23
Conclusions
• We have proposed an algorithm to provide network stability (QoS) by avoiding cycles in packet routes
• Our algorithm can be used in conjunction with any routing algorithm
• Performance of the algorithms are not far from optimal turn-prohibition solution
• We are working in a multiple initiator algorithm which multiple instances collaborate to the resulting topology