EE 382C Interconnection Networks

Size: px
Start display at page:

Download "EE 382C Interconnection Networks"

Transcription

1 EE 8C Interconnection Networks Deadlock and Livelock Stanford University - EE8C - Spring 6

2 Deadlock and Livelock: Terminology Deadlock: A condition in which an agent waits indefinitely trying to acquire a set of resources. Livelock: A condition in which an agent is able to continually acquire resources yet unable to make progress. Stanford University - EE8C - Spring 6

3 Dining Philosophers Stanford University - EE8C - Spring 6

4 Deadlock: Circuit Switching Example Request Acknowledgement Data transfer Tear down C h a n n e l R A - D D D D D D D D T R A D D D D D D D D T R A D D D D D D D D T R A D D D D D D D D T 4 R - A D D D D D D D D T Cycle Stanford University - EE8C - Spring 6 4

5 Deadlock: Circuit Switching Example Connection A Holds: Waits-for: u u Connection B Holds: Waits-for: w B x v A w Stanford University - EE8C - Spring 6 5

6 Deadlock: Circuit Switching Example Connection A Holds: u Waits-for: v u Connection B Holds: w Waits-for: x B x v A w Stanford University - EE8C - Spring 6 6

7 Deadlock: Circuit Switching Example Connection A Holds: u, v Waits-for: w u Connection B Holds: w, x Waits-for: u B x v A w Stanford University - EE8C - Spring 6 7

8 Deadlock: Agents and Resources The agents and resources that are involved in deadlock differ depending on the type of flow control employed. How many resources can be indefinitely held Flow Control Agent Resource Cardinality Circuit Switching??? Packet-buffer??? Flit-buffer??? Stanford University - EE8C - Spring 6 8

9 Deadlock: Agents and Resources The agents and resources that are involved in deadlock differ depending on the type of flow control employed. How many resources can be indefinitely held Flow Control Agent Resource Cardinality Circuit Switching Connection Physical channel Multiple Packet-buffer??? Flit-buffer??? Stanford University - EE8C - Spring 6 9

10 Deadlock: Agents and Resources The agents and resources that are involved in deadlock differ depending on the type of flow control employed. How many resources can be indefinitely held Flow Control Agent Resource Cardinality Circuit Switching Connection Physical channel Multiple Packet-buffer Packet Packet buffer Single Flit-buffer??? Stanford University - EE8C - Spring 6

11 Deadlock: Agents and Resources The agents and resources that are involved in deadlock differ depending on the type of flow control employed. How many resources can be indefinitely held Flow Control Agent Resource Cardinality Circuit Switching Connection Physical channel Multiple Packet-buffer Packet Packet buffer Single Flit-buffer Packet Flit buffer (a.k.a. VC) Multiple Stanford University - EE8C - Spring 6

12 Deadlock: Wait-For and Hold Relations u A waits for holds waits for B holds B x v A holds holds w u v w x Wait-For and Hold Relationship Stanford University - EE8C - Spring 6

13 Deadlock: Wait-For and Hold Relations A B A waits for holds waits for B holds holds holds u v w x u v w x Wait-For Graph (Deadlock Highlighted) Wait-For and Hold Relationship Stanford University - EE8C - Spring 6

14 Deadlock: Resource Dependencies Resource Dependence: A resource R i is dependent on a resource R j (two edges apart in the wait-for graph) if it is possible for R i to be held by an agent A k and it is also possible for A k to wait-for R j. Denoted as R i R j (Ex: u v w x u) Transitivity: if a b and b c, then a c (Ex: u u) u u x v x v w Network w Resource Dependencies Stanford University - EE8C - Spring 6 4

15 Example: Deadlock? Stanford University - EE8C - Spring 6 5

16 Deadlock: Example c4 c4 c 54 c 5 c 5 Flow Control: Packet-buffer c b 65 Routing Algorithm: Greedy (shortest path) Random tie breaker c 47 c c 56 c 65 Traffic Pattern: dst=(src+n/)%n c 7 c 7 c 67 c 76 c6 c6 Stanford University - EE8C - Spring 6 6

17 Deadlock: Example c4 c4 c 54 c 5 c 5 Flow Control: Packet-buffer c b 65 Routing Algorithm: Greedy (shortest path) Random tie breaker c 47 c c 56 c 65 Traffic Pattern: dst=(src+n/)%n c 7 c 7 c 67 c 76 c6 c6 Stanford University - EE8C - Spring 6 7

18 Deadlock: Example c4 c4 c 54 c 5 c 5 Flow Control: Packet-buffer c b 65 Routing Algorithm: Greedy (shortest path) Random tie breaker c 47 c c 56 c 65 Traffic Pattern: dst=(src+n/)%n c 7 c 7 c 67 c 76 c6 c6 Stanford University - EE8C - Spring 6 8

19 Deadlock: Example c4 c4 c 54 c 5 c 5 Flow Control: Packet-buffer c b 65 Routing Algorithm: Greedy (shortest path) Random tie breaker c 47 c c 56 c 65 Traffic Pattern: dst=(src+n/)%n c 7 c 7 c 67 c 76 c6 c6 Stanford University - EE8C - Spring 6 9

20 Deadlock: Example c4 c4 c 54 c 5 c 5 Flow Control: Packet-buffer c b 65 Routing Algorithm: Greedy (shortest path) Random tie breaker c 47 c c 56 c 65 Traffic Pattern: dst=(src+n/)%n c 7 c 7 c 67 c 76 c6 c6 Stanford University - EE8C - Spring 6

21 Deadlock: Example c4 c4 c 54 c 5 c 5 Flow Control: Packet-buffer c b 65 Routing Algorithm: Greedy (shortest path) Random tie breaker c 47 c c 56 c 65 Traffic Pattern: dst=(src+n/)%n c 7 c 7 c 67 c 76 c6 c6 Stanford University - EE8C - Spring 6

22 Deadlock: Example c4 c4 c 54 c 5 c 5 Flow Control: Packet-buffer c b 65 Routing Algorithm: Greedy (shortest path) Random tie breaker c 47 c c 56 c 65 Traffic Pattern: dst=(src+n/)%n c 7 c 7 c 67 c 76 c6 c6 Stanford University - EE8C - Spring 6

23 Deadlock: Example c4 c4 c 54 c 5 c 5 Flow Control: Packet-buffer c b 65 Routing Algorithm: Greedy (shortest path) Random tie breaker c 47 c c 56 c 65 Traffic Pattern: dst=(src+n/)%n c 7 c 7 c 67 c 76 c6 c6 Stanford University - EE8C - Spring 6

24 Deadlock: Example c4 c4 c 54 c 5 c 5 Flow Control: Packet-buffer c b 65 Routing Algorithm: Greedy (shortest path) Random tie breaker c 47 c c 56 c 65 Traffic Pattern: dst=(src+n/)%n c 7 c 7 c 67 c 76 c6 c6 Stanford University - EE8C - Spring 6 4

25 Deadlock: Example c4 c4 c 54 c 5 c 5 Flow Control: Packet-buffer c b 65 Routing Algorithm: Greedy (shortest path) Random tie breaker c 47 c c 56 c 65 Traffic Pattern: dst=(src+n/)%n c 7 c 7 c 67 c 76 c6 c6 Stanford University - EE8C - Spring 6 5

26 Deadlock: Example c4 c4 c 54 c 5 c 5 Flow Control: Packet-buffer c b 65 Routing Algorithm: Greedy (shortest path) Random tie breaker c 47 c c 56 c 65 Traffic Pattern: dst=(src+n/)%n c 7 c 7 c 67 c 76 c6 c6 Stanford University - EE8C - Spring 6 6

27 Deadlock: Example c4 c4 c 54 c 5 c 5 Flow Control: Packet-buffer c b 65 Routing Algorithm: Greedy (shortest path) Random tie breaker c 47 c c 56 c 65 Traffic Pattern: dst=(src+n/)%n c 7 c 7 c 67 c 76 c6 c6 Stanford University - EE8C - Spring 6 7

28 Deadlock: Example c4 c4 c 54 c 5 c 5 Flow Control: Packet-buffer c b 65 Routing Algorithm: Greedy (shortest path) Random tie breaker c 47 c c 56 c 65 Traffic Pattern: dst=(src+n/)%n c 7 c 7 c 67 c 76 c6 c6 Stanford University - EE8C - Spring 6 8

29 Deadlock: Example c4 c4 c 54 c 5 c 5 Flow Control: Packet-buffer c b 65 Routing Algorithm: Greedy (shortest path) Random tie breaker c 47 c c 56 c 65 Traffic Pattern: dst=(src+n/)%n c 7 c 7 c 67 c 76 c6 c6 Stanford University - EE8C - Spring 6 9

30 Deadlock: Example c4 c4 c 54 c 5 c 5 Flow Control: Packet-buffer c b 65 Routing Algorithm: Greedy (shortest path) Random tie breaker c 47 c c 56 c 65 Traffic Pattern: dst=(src+n/)%n c 7 c 7 c 67 c 76 c6 c6 Stanford University - EE8C - Spring 6

31 Deadlock: Example c4 c4 c 54 c 5 c 5 Flow Control: Packet-buffer c b 65 Routing Algorithm: Greedy (shortest path) Random tie breaker c 47 c c 56 c 65 Traffic Pattern: dst=(src+n/)%n c 7 c 7 c 67 c 76 c6 c6 Stanford University - EE8C - Spring 6

32 Deadlock: Example c4 c4 c 54 c 5 c 5 Flow Control: Packet-buffer c b 65 Routing Algorithm: Greedy (shortest path) Random tie breaker c 47 c c 56 c 65 Traffic Pattern: dst=(src+n/)%n c 7 c 7 c 67 c 76 c6 c6 Stanford University - EE8C - Spring 6

33 Example: Deadlock! Stanford University - EE8C - Spring 6

34 Deadlock: Example c4 c4 c 54 c 5 c 5 Flow Control: Packet-buffer c b 65 Routing Algorithm: Greedy (shortest path) Random tie breaker c 47 c c 56 c 65 Traffic Pattern: dst=(src+n/)%n c 7 c 7 c 67 c 76 c6 c6 Stanford University - EE8C - Spring 6 4

35 Deadlock: Example c4 c4 c 54 c 5 c 5 Flow Control: Packet-buffer c b 65 Routing Algorithm: Greedy (shortest path) Random tie breaker c 47 c c 56 c 65 Traffic Pattern: dst=(src+n/)%n c 7 c 7 c 67 c 76 c6 c6 Stanford University - EE8C - Spring 6 5

36 Deadlock: Example c4 c4 c 54 c 5 c 5 Flow Control: Packet-buffer c b 65 Routing Algorithm: Greedy (shortest path) Random tie breaker c 47 c c 56 c 65 Traffic Pattern: dst=(src+n/)%n c 7 c 7 c 67 c 76 c6 c6 Stanford University - EE8C - Spring 6 6

37 Deadlock: Example c4 c4 c 54 c 5 c 5 Flow Control: Packet-buffer c b 65 Routing Algorithm: Greedy (shortest path) Random tie breaker c 47 c c 56 c 65 Traffic Pattern: dst=(src+n/)%n c 7 c 7 c 67 c 76 c6 c6 Stanford University - EE8C - Spring 6 7

38 Deadlock: Example c4 c4 c 54 c 5 c 5 Flow Control: Packet-buffer c b 65 Routing Algorithm: Greedy (shortest path) Random tie breaker c 47 c c 56 c 65 Traffic Pattern: dst=(src+n/)%n c 7 c 7 c 67 c 76 c6 c6 Stanford University - EE8C - Spring 6 8

39 Deadlock: Example c4 c4 c 54 c 5 c 5 Flow Control: Packet-buffer c b 65 Routing Algorithm: Greedy (shortest path) Random tie breaker c 47 c c 56 c 65 Traffic Pattern: dst=(src+n/)%n c 7 c 7 c 67 c 76 c6 c6 Stanford University - EE8C - Spring 6 9

40 Deadlock: Example c4 c4 c 54 c 5 c 5 Flow Control: Packet-buffer c b 65 Routing Algorithm: Greedy (shortest path) Random tie breaker c 47 c c 56 c 65 Traffic Pattern: dst=(src+n/)%n c 7 c 7 c 67 c 76 c6 c6 Stanford University - EE8C - Spring 6 4

41 Deadlock: Example c4 c4 c 54 c 5 c 5 Flow Control: Packet-buffer c b 65 Routing Algorithm: Greedy (shortest path) Random tie breaker c 47 c c 56 c 65 Traffic Pattern: dst=(src+n/)%n c 7 c 7 c 67 c 76 c6 c6 Stanford University - EE8C - Spring 6 4

42 Deadlock: Example c4 c4 c 54 c 5 c 5 Flow Control: Packet-buffer c b 65 Routing Algorithm: Greedy (shortest path) Random tie breaker c 47 c 74 DEADLOCK! 7 6 c 56 c 65 Traffic Pattern: dst=(src+n/)%n c 7 c 7 c 67 c 76 c6 c6 Stanford University - EE8C - Spring 6 4

43 Resource Dependence Graph Stanford University - EE8C - Spring 6 4

44 Resource Dependence Graph b 5 c4 c 5 c4 c 54 c 5 b 54 b 56 c b 45 b 5 b 65 b 65 b 4 b 4 b 6 b 6 c 47 c 74 c 56 c 65 b 47 b 7 b c 67 b 74 b 7 b 76 c 7 c 7 c 76 c6 c6 Stanford University - EE8C - Spring 6 44

45 Resource Dependence Graph b 5 c4 c 5 c4 c 54 c 5 b 54 b 56 c b 45 b 5 b 65 b 65 b 4 b 4 b 6 b 6 c 47 c 74 c 56 c 65 b 47 b 7 b c 67 b 74 b 7 b 76 c 7 c 7 c 76 c6 c6 Stanford University - EE8C - Spring 6 45

46 Resource Dependence Graph b 5 c4 c 5 c4 c 54 c 5 b 54 b 56 c b 45 b 5 b 65 b 65 b 4 b 4 b 6 b 6 c 47 c 74 c 56 c 65 b 47 b 7 b c 67 b 74 b 7 b 76 c 7 c 7 c 76 c6 c6 Stanford University - EE8C - Spring 6 46

47 Resource Dependence Graph b 5 c4 c 5 c4 c 54 c 5 b 54 b 56 c b 45 b 5 b 65 b 65 b 4 b 4 b 6 b 6 c 47 c 74 c 56 c 65 b 47 b 7 b c 67 b 74 b 7 b 76 c 7 c 7 c 76 c6 c6 Stanford University - EE8C - Spring 6 47

48 Resource Dependence Graph b 5 c4 c 5 c4 c 54 c 5 b 54 b 56 c b 45 b 5 b 65 b 65 b 4 b 4 b 6 b 6 c 47 c 74 c 56 c 65 b 47 b 7 b c 67 b 74 b 7 b 76 c 7 c 7 c 76 c6 c6 Stanford University - EE8C - Spring 6 48

49 Protocol Deadlock Stanford University - EE8C - Spring 6 49

50 Protocol Deadlock Limited endpoint resources create a resource dependency from the network output resource (terminal input queue) to the corresponding network input resource (network input queue). b 45 b 54 b 5 b 5 b 56 b 65 Network Terminal b 4 b 4 b 6 b 6 b 47 b 7 b 67 FSM b 74 b 76 Resource Dependency b 7 Stanford University - EE8C - Spring 6 5

51 Deadlock Avoidance Stanford University - EE8C - Spring 6 5

52 Deadlock Avoidance Deadlock Avoidance: eliminate all cycles in the resource dependence graph. Resource Ordering: impose a partial order (often total order) on the resources then insist that agents allocate resources in ascending order. Resource ordering may increase resource requirements or restrict routing. c N N R c c R R N c Network N R 4 Resource Dependencies Stanford University - EE8C - Spring 6 5

53 Deadlock Avoidance: Resource Classes Distance Classes: group the resources into numbered classes and restrict allocation of resources so that agents acquire resources from classes in ascending order. Node B B B Node B B B B B Packet A A A B A B Node Node Node Packet B B B B B Packet A Packet B B B B B Node Node Stanford University - EE8C - Spring 6 5

54 Deadlock Avoidance: Resource Classes Distance classes can be optimized for specific topologies. Dateline Classes: for the ring topology resource dependency cycles will occur only round the entire ring. Node Node B B B B Class B... B... Dateline B B B 6 B 5 Class B 6 B 5 Class B B... Class... B B B B B B Node Node Stanford University - EE8C - Spring 6 54

55 Deadlock Avoidance: Resource Classes Protocol Classes: For systems where requests generate responses and the responders have finite resources, resource classes can be used to break the dependency between requests and responses. The number of classes is proportional to the number of bounces in the protocol. Network Class Class Terminal Dependency is only from to, not to FSM Stanford University - EE8C - Spring 6 55

56 Deadlock Avoidance: Restricted Routes Instead of controlling resource ordering via classes, we can control resource ordering via routing. Dimension Order Routing: dimension ordering yields resource ordering via restricted routing policies. Buffer Waits-For +x +x, +y, -y -x -x, +y, -y +y +y -y -y +y -y -y -y +x -x +x -x +x -x +y +y +y -y -y -y +x -x +x -x +x -x +y +y +y -y -y -y +x -x +x -x +x -x +y +y +y +x Stanford University - EE8C - Spring 6 56

57 Deadlock Avoidance: Restricted Routes,, Instead of controlling resource ordering via classes, we can control resource ordering via routing.,, 7, 6 Dimension Order Routing: dimension ordering yields resource ordering via restricted routing policies Buffer Waits-For +x +x, +y, -y x -x, +y, -y +y +y -y -y 7 6 Stanford University - EE8C - Spring 6 57

58 Deadlock Avoidance: The Turn Model Cycle Cycle At least one turn from each cycle must be removed. Stanford University - EE8C - Spring 6 58

59 Deadlock Avoidance: The Turn Model Cycle Cycle At least one turn from each cycle must be removed. Arbitrary choice Stanford University - EE8C - Spring 6 59

60 Deadlock Avoidance: The Turn Model Cycle Cycle At least one turn from each cycle must be removed. Arbitrary choice Option # Option # Option # Disallowed Stanford University - EE8C - Spring 6 6

61 Deadlock Avoidance: The Turn Model Cycle Cycle At least one turn from each cycle must be removed. Arbitrary choice Option # Option # Option # Disallowed Stanford University - EE8C - Spring 6 6

62 Deadlock Avoidance: The Turn Model Cycle Cycle Stanford University - EE8C - Spring 6 6

63 Deadlock Avoidance: The Turn Model Cycle Cycle , 8, 9,,, 8,, 6, 7,, 5, 8, ,, 4, 9, 7 Stanford University - EE8C - Spring 6 6

64 Deadlock Avoidance: The Turn Model b 5 c4 c 5 c4 c 54 c 5 b 54 b 56 c b 45 b 5 b 65 b 65 b 4 b 4 b 6 b 6 c 47 c 74 c 56 c 65 b 47 b 7 b c 67 b 74 b 7 b 76 c 7 c 7 c 76 c6 c6 Stanford University - EE8C - Spring 6 64

65 Deadlock Avoidance: The Turn Model b 5 c4 c 5 c4 c 54 c 5 b 54 b 56 c b 45 b 5 b 65 b 65 b 4 b 4 b 6 b 6 c 47 c 74 c 56 c 65 b 47 b 7 b c 67 b 74 b 7 b 76 c 7 c 7 c 76 c6 c6 Stanford University - EE8C - Spring 6 65

66 Resource Ordering Resource Ordering Resource Classes Distance Classes Hop Classes Dateline Classes Protocol Classes Restricted Routes Dimension Order Routing Turn Model Stanford University - EE8C - Spring 6 66

67 Resource Ordering: Dining Philosophers What are the agents? What are the resources? What creates resource dependencies? Stanford University - EE8C - Spring 6 67

68 Resource Ordering: Dining Philosophers Algorithm: Wait for and acquire any fork Wait for and acquire the other fork Eat spaghetti Think R R R R 4 Stanford University - EE8C - Spring 6 R 5 Resource Dependencies 68

69 Resource Ordering: Dining Philosophers Algorithm: Wait for and acquire the left fork Wait for and acquire the right fork Eat spaghetti Think R R R R 4 Stanford University - EE8C - Spring 6 R 5 Resource Dependencies 69

70 Resource Ordering: Dining Philosophers Algorithm: If Plato, Socrates, Voltaire, Frans: Wait for and acquire the left fork Wait for and acquire the right fork Else: Wait for and acquire the right fork Wait for and acquire the left fork Eat spaghetti Think R R R R 4 Stanford University - EE8C - Spring 6 R 5 Resource Dependencies 7

71 Deadlock Avoidance: Torus How can we avoid deadlock in an arbitrary torus topology? The buffer-class approach requires a large amount of buffering per node. Restrict routes doesn t overcome the channel dependencies of the rings. Stanford University - EE8C - Spring 6 7

72 Deadlock Avoidance: Hybrid Use the dateline classes method on each ring to effectively turn the torus into a mesh. Dateline Dateline Dateline Dateline Dateline Dateline Dateline Dateline Stanford University - EE8C - Spring 6 7

73 Deadlock Avoidance: Hybrid Use the dateline classes method on each ring to effectively turn the torus into a mesh. Dateline Dateline Dateline Dateline Dateline Use dimension order routing to route deadlock-free in the resulting mesh. Dateline Dateline Dateline Stanford University - EE8C - Spring 6 7

74 Deadlock Avoidance: Hybrid Use the dateline classes method on each ring to effectively turn the torus into a mesh. Dateline Dateline Dateline Dateline Dateline Use dimension order routing to route deadlock-free in the resulting mesh. Dateline Use protocol classes to separate bounces in the the protocol to avoid protocol deadlock. Dateline Dateline Stanford University - EE8C - Spring 6 74

75 Deadlock Avoidance: Adaptive Routing Adaptive routing algorithms can have cycles in their resource dependence graphs while remaining deadlock-free. A deadlock-free escape path must be provided to every packet in a potential cycle. Duato s Theorem: An adaptive routing relation R for and interconnection network is deadlock-free if there exists a routing subrelation R that is connected and has no cycles in its extended channel dependence graph. Stanford University - EE8C - Spring 6 75

76 Deadlock Avoidance: Adaptive Routing Example: -D mesh Flit-buffer flow control VCs per physical channel w w n n e e w w n n e e s s s s n n n n w w e e w w e e s s s s * similar to, but different than the book s example Stanford University - EE8C - Spring 6 76

77 Deadlock Avoidance: Adaptive Routing Example: -D mesh Flit-buffer flow control VCs per physical channel w w n n e e w w n n e e VC is restricted to DOR s s s s (this is the escape path) n n n n w w e e w w e e s s s s * similar to, but different than the book s example Stanford University - EE8C - Spring 6 77

78 Deadlock Avoidance: Adaptive Routing Example: -D mesh Flit-buffer flow control VCs per physical channel w w n n e e w w n n e e VC is restricted to DOR (this is the escape path) VC can use arbitrary routing s s s s n n n n w w e e w w e e s s s s * similar to, but different than the book s example Stanford University - EE8C - Spring 6 78

79 Deadlock Avoidance: Adaptive Routing Example: -D mesh Flit-buffer flow control VCs per physical channel w w n n e e w w n n e e VC is restricted to DOR (this is the escape path) VC can use arbitrary routing VC VC x VC VC s n s n s n s n w w e e w w e e s s s s * similar to, but different than the book s example Stanford University - EE8C - Spring 6 79

80 Deadlock Avoidance: Adaptive Routing Example: -D mesh Flit-buffer flow control VCs per physical channel w w n n e e w w n n e e VC is restricted to DOR (this is the escape path) VC can use arbitrary routing VC VC minimal VC VC s n s n s n s n w w e e w w e e s s s s * similar to, but different than the book s example Stanford University - EE8C - Spring 6 8

81 Deadlock Avoidance: Adaptive Routing Example: -D mesh Packet-buffer flow control VCs per physical channel w w n n e e w w n n e e VC is restricted to DOR (this is the escape path) VC can use arbitrary routing VC VC VC VC s n s n s n s n w w e e w w e e s s s s * similar to, but different than the book s example Stanford University - EE8C - Spring 6 8

82 Deadlock Avoidance: HyperX & DAL Dimensionally Adaptive Load balancing (DAL). Mark all offset dimensions as deroutable on creation of the packet at its source. On arrival at a switch:. Find an offset dimension with an unblocked path to an aligned switch in that dimension. If none exist, then:. Find an deroutable offset dimension and unblocked switch that is offset from the destination and if one exists then route and mark the dimension as no-longerderoutable; else 4. Push the packet into a minimal, dimension-order, deterministic routed virtual channel Stanford University - EE8C - Spring 6 8

83 Deadlock Avoidance for Recursively Defined Networks Stanford University - EE8C - Spring 6 8

84 Deadlock Avoidance: -D Flattened Butterfly Deterministic minimal routing:. Go to destination Stanford University - EE8C - Spring 6 84

85 Deadlock Avoidance: Dragonfly Deterministic minimal routing:. Resolve source local network. Resolve global network. Resolve destination local network Stanford University - EE8C - Spring 6 85

86 Deadlock Avoidance: Dragonfly Deterministic minimal routing:. Resolve source local network. Resolve global network. Resolve destination local network Stanford University - EE8C - Spring 6 86

87 Deadlock Avoidance: Dragonfly Deterministic minimal routing:. Resolve source local network. Resolve global network. Resolve destination local network DEADLOCK! Stanford University - EE8C - Spring 6 87

88 Deadlock Avoidance: Dragonfly Deterministic minimal routing:. Resolve source local network. Resolve global network. Resolve destination local network Non-minimal adaptive routing:. Resolve source local network. Resolve global network. Resolve intermediate local network 4. Resolve global network 5. Resolve destination local network Diagram from the Dragonfly paper. Stanford University - EE8C - Spring 6 88

89 Deadlock Avoidance: Folded-Clos Restricted routes provide deadlock freedom. Stanford University - EE8C - Spring 6 89

90 Deadlock Avoidance: Dragon-Clos (not a real name) Folded-Clos with virtual routers as a -D Flattened Butterfly Same global routing as the Folded Clos. Stanford University - EE8C - Spring 6 9

91 Deadlock Avoidance: Dragon-Clos (not a real name) Folded-Clos with each switch being a -D Flattened Butterfly Both most common ancestor (MCA) and least common ancestor (LCA) routing cause deadlock. DEADLOCK! Stanford University - EE8C - Spring 6 9

92 Deadlock Recovery Stanford University - EE8C - Spring 6 9

93 Deadlock Recovery Regressive Recovery: Packets (or connections) that are deadlocked are removed from the network. Progressive Recovery: Packets that are deadlocked are NOT removed from the network, just placed aside. Essentially, this is a temporary escape path until it fills up, then it degrades to regressive recovery. Stanford University - EE8C - Spring 6 9

94 Livelock Avoidance Stanford University - EE8C - Spring 6 94

95 Livelock Avoidance Commonly caused by non-minimal adaptive routing or dropping flow control. Non-minimal adaptive routing Symptom: with high congestion, a packet may be continually mis-routed. Solution: track and limit number of mis-routes. Dropping flow control Symptom: with high congestion, packet may be continually dropped. Solution: resolve conflicts using age-based priorities Stanford University - EE8C - Spring 6 95

96 Questions Stanford University - EE8C - Spring 6 96

Routing Algorithms. Review

Routing Algorithms. Review Routing Algorithms Today s topics: Deterministic, Oblivious Adaptive, & Adaptive models Problems: efficiency livelock deadlock 1 CS6810 Review Network properties are a combination topology topology dependent

More information

Interconnection Networks: Routing. Prof. Natalie Enright Jerger

Interconnection Networks: Routing. Prof. Natalie Enright Jerger Interconnection Networks: Routing Prof. Natalie Enright Jerger Routing Overview Discussion of topologies assumed ideal routing In practice Routing algorithms are not ideal Goal: distribute traffic evenly

More information

Adaptive Routing. Claudio Brunelli Adaptive Routing Institute of Digital and Computer Systems / TKT-9636

Adaptive Routing. Claudio Brunelli Adaptive Routing Institute of Digital and Computer Systems / TKT-9636 1 Adaptive Routing Adaptive Routing Basics Minimal Adaptive Routing Fully Adaptive Routing Load-Balanced Adaptive Routing Search-Based Routing Case Study: Adapted Routing in the Thinking Machines CM-5

More information

Lecture: Interconnection Networks. Topics: TM wrap-up, routing, deadlock, flow control, virtual channels

Lecture: Interconnection Networks. Topics: TM wrap-up, routing, deadlock, flow control, virtual channels Lecture: Interconnection Networks Topics: TM wrap-up, routing, deadlock, flow control, virtual channels 1 TM wrap-up Eager versioning: create a log of old values Handling problematic situations with a

More information

NOC Deadlock and Livelock

NOC Deadlock and Livelock NOC Deadlock and Livelock 1 Deadlock (When?) Deadlock can occur in an interconnection network, when a group of packets cannot make progress, because they are waiting on each other to release resource (buffers,

More information

Interconnection topologies (cont.) [ ] In meshes and hypercubes, the average distance increases with the dth root of N.

Interconnection topologies (cont.) [ ] In meshes and hypercubes, the average distance increases with the dth root of N. Interconnection topologies (cont.) [ 10.4.4] In meshes and hypercubes, the average distance increases with the dth root of N. In a tree, the average distance grows only logarithmically. A simple tree structure,

More information

Lecture 24: Interconnection Networks. Topics: topologies, routing, deadlocks, flow control

Lecture 24: Interconnection Networks. Topics: topologies, routing, deadlocks, flow control Lecture 24: Interconnection Networks Topics: topologies, routing, deadlocks, flow control 1 Topology Examples Grid Torus Hypercube Criteria Bus Ring 2Dtorus 6-cube Fully connected Performance Bisection

More information

Lecture 12: Interconnection Networks. Topics: dimension/arity, routing, deadlock, flow control

Lecture 12: Interconnection Networks. Topics: dimension/arity, routing, deadlock, flow control Lecture 12: Interconnection Networks Topics: dimension/arity, routing, deadlock, flow control 1 Interconnection Networks Recall: fully connected network, arrays/rings, meshes/tori, trees, butterflies,

More information

EE 6900: Interconnection Networks for HPC Systems Fall 2016

EE 6900: Interconnection Networks for HPC Systems Fall 2016 EE 6900: Interconnection Networks for HPC Systems Fall 2016 Avinash Karanth Kodi School of Electrical Engineering and Computer Science Ohio University Athens, OH 45701 Email: kodi@ohio.edu 1 Acknowledgement:

More information

Deadlock and Livelock. Maurizio Palesi

Deadlock and Livelock. Maurizio Palesi Deadlock and Livelock 1 Deadlock (When?) Deadlock can occur in an interconnection network, when a group of packets cannot make progress, because they are waiting on each other to release resource (buffers,

More information

Lecture 12: Interconnection Networks. Topics: communication latency, centralized and decentralized switches, routing, deadlocks (Appendix E)

Lecture 12: Interconnection Networks. Topics: communication latency, centralized and decentralized switches, routing, deadlocks (Appendix E) Lecture 12: Interconnection Networks Topics: communication latency, centralized and decentralized switches, routing, deadlocks (Appendix E) 1 Topologies Internet topologies are not very regular they grew

More information

Packet Switch Architecture

Packet Switch Architecture Packet Switch Architecture 3. Output Queueing Architectures 4. Input Queueing Architectures 5. Switching Fabrics 6. Flow and Congestion Control in Sw. Fabrics 7. Output Scheduling for QoS Guarantees 8.

More information

Packet Switch Architecture

Packet Switch Architecture Packet Switch Architecture 3. Output Queueing Architectures 4. Input Queueing Architectures 5. Switching Fabrics 6. Flow and Congestion Control in Sw. Fabrics 7. Output Scheduling for QoS Guarantees 8.

More information

Deadlock. Reading. Ensuring Packet Delivery. Overview: The Problem

Deadlock. Reading. Ensuring Packet Delivery. Overview: The Problem Reading W. Dally, C. Seitz, Deadlock-Free Message Routing on Multiprocessor Interconnection Networks,, IEEE TC, May 1987 Deadlock F. Silla, and J. Duato, Improving the Efficiency of Adaptive Routing in

More information

Routing Algorithm. How do I know where a packet should go? Topology does NOT determine routing (e.g., many paths through torus)

Routing Algorithm. How do I know where a packet should go? Topology does NOT determine routing (e.g., many paths through torus) Routing Algorithm How do I know where a packet should go? Topology does NOT determine routing (e.g., many paths through torus) Many routing algorithms exist 1) Arithmetic 2) Source-based 3) Table lookup

More information

EECS 570. Lecture 19 Interconnects: Flow Control. Winter 2018 Subhankar Pal

EECS 570. Lecture 19 Interconnects: Flow Control. Winter 2018 Subhankar Pal Lecture 19 Interconnects: Flow Control Winter 2018 Subhankar Pal http://www.eecs.umich.edu/courses/eecs570/ Slides developed in part by Profs. Adve, Falsafi, Hill, Lebeck, Martin, Narayanasamy, Nowatzyk,

More information

EE482, Spring 1999 Research Paper Report. Deadlock Recovery Schemes

EE482, Spring 1999 Research Paper Report. Deadlock Recovery Schemes EE482, Spring 1999 Research Paper Report Deadlock Recovery Schemes Jinyung Namkoong Mohammed Haque Nuwan Jayasena Manman Ren May 18, 1999 Introduction The selected papers address the problems of deadlock,

More information

Basic Switch Organization

Basic Switch Organization NOC Routing 1 Basic Switch Organization 2 Basic Switch Organization Link Controller Used for coordinating the flow of messages across the physical link of two adjacent switches 3 Basic Switch Organization

More information

Resource Allocation. Pradipta De

Resource Allocation. Pradipta De Resource Allocation Pradipta De pradipta.de@sunykorea.ac.kr Outline Dining Philosophers Problem Drinking Philosophers Problem Dining Philosophers Problem f(5) 5 f(1) Each philosopher goes through, Think

More information

Lecture 13: Interconnection Networks. Topics: lots of background, recent innovations for power and performance

Lecture 13: Interconnection Networks. Topics: lots of background, recent innovations for power and performance Lecture 13: Interconnection Networks Topics: lots of background, recent innovations for power and performance 1 Interconnection Networks Recall: fully connected network, arrays/rings, meshes/tori, trees,

More information

Deadlock-free XY-YX router for on-chip interconnection network

Deadlock-free XY-YX router for on-chip interconnection network LETTER IEICE Electronics Express, Vol.10, No.20, 1 5 Deadlock-free XY-YX router for on-chip interconnection network Yeong Seob Jeong and Seung Eun Lee a) Dept of Electronic Engineering Seoul National Univ

More information

Interconnection Networks: Topology. Prof. Natalie Enright Jerger

Interconnection Networks: Topology. Prof. Natalie Enright Jerger Interconnection Networks: Topology Prof. Natalie Enright Jerger Topology Overview Definition: determines arrangement of channels and nodes in network Analogous to road map Often first step in network design

More information

NOW Handout Page 1. Outline. Networks: Routing and Design. Routing. Routing Mechanism. Routing Mechanism (cont) Properties of Routing Algorithms

NOW Handout Page 1. Outline. Networks: Routing and Design. Routing. Routing Mechanism. Routing Mechanism (cont) Properties of Routing Algorithms Outline Networks: Routing and Design Routing Switch Design Case Studies CS 5, Spring 99 David E. Culler Computer Science Division U.C. Berkeley 3/3/99 CS5 S99 Routing Recall: routing algorithm determines

More information

Interconnection Networks

Interconnection Networks Lecture 17: Interconnection Networks Parallel Computer Architecture and Programming A comment on web site comments It is okay to make a comment on a slide/topic that has already been commented on. In fact

More information

Lecture: Interconnection Networks

Lecture: Interconnection Networks Lecture: Interconnection Networks Topics: Router microarchitecture, topologies Final exam next Tuesday: same rules as the first midterm 1 Packets/Flits A message is broken into multiple packets (each packet

More information

Generic Methodologies for Deadlock-Free Routing

Generic Methodologies for Deadlock-Free Routing Generic Methodologies for Deadlock-Free Routing Hyunmin Park Dharma P. Agrawal Department of Computer Engineering Electrical & Computer Engineering, Box 7911 Myongji University North Carolina State University

More information

ECE 669 Parallel Computer Architecture

ECE 669 Parallel Computer Architecture ECE 669 Parallel Computer Architecture Lecture 21 Routing Outline Routing Switch Design Flow Control Case Studies Routing Routing algorithm determines which of the possible paths are used as routes how

More information

Interconnection Networks: Flow Control. Prof. Natalie Enright Jerger

Interconnection Networks: Flow Control. Prof. Natalie Enright Jerger Interconnection Networks: Flow Control Prof. Natalie Enright Jerger Switching/Flow Control Overview Topology: determines connectivity of network Routing: determines paths through network Flow Control:

More information

TDT Appendix E Interconnection Networks

TDT Appendix E Interconnection Networks TDT 4260 Appendix E Interconnection Networks Review Advantages of a snooping coherency protocol? Disadvantages of a snooping coherency protocol? Advantages of a directory coherency protocol? Disadvantages

More information

Lecture 3: Flow-Control

Lecture 3: Flow-Control High-Performance On-Chip Interconnects for Emerging SoCs http://tusharkrishna.ece.gatech.edu/teaching/nocs_acaces17/ ACACES Summer School 2017 Lecture 3: Flow-Control Tushar Krishna Assistant Professor

More information

Evaluating Bufferless Flow Control for On-Chip Networks

Evaluating Bufferless Flow Control for On-Chip Networks Evaluating Bufferless Flow Control for On-Chip Networks George Michelogiannakis, Daniel Sanchez, William J. Dally, Christos Kozyrakis Stanford University In a nutshell Many researchers report high buffer

More information

Deadlock and Router Micro-Architecture

Deadlock and Router Micro-Architecture 1 EE482: Advanced Computer Organization Lecture #8 Interconnection Network Architecture and Design Stanford University 22 April 1999 Deadlock and Router Micro-Architecture Lecture #8: 22 April 1999 Lecturer:

More information

Lecture: Transactional Memory, Networks. Topics: TM implementations, on-chip networks

Lecture: Transactional Memory, Networks. Topics: TM implementations, on-chip networks Lecture: Transactional Memory, Networks Topics: TM implementations, on-chip networks 1 Summary of TM Benefits As easy to program as coarse-grain locks Performance similar to fine-grain locks Avoids deadlock

More information

Lecture 15: PCM, Networks. Today: PCM wrap-up, projects discussion, on-chip networks background

Lecture 15: PCM, Networks. Today: PCM wrap-up, projects discussion, on-chip networks background Lecture 15: PCM, Networks Today: PCM wrap-up, projects discussion, on-chip networks background 1 Hard Error Tolerance in PCM PCM cells will eventually fail; important to cause gradual capacity degradation

More information

OFAR-CM: Efficient Dragonfly Networks with Simple Congestion Management

OFAR-CM: Efficient Dragonfly Networks with Simple Congestion Management Marina Garcia 22 August 2013 OFAR-CM: Efficient Dragonfly Networks with Simple Congestion Management M. Garcia, E. Vallejo, R. Beivide, M. Valero and G. Rodríguez Document number OFAR-CM: Efficient Dragonfly

More information

ECE 1749H: Interconnec1on Networks for Parallel Computer Architectures: Rou1ng. Prof. Natalie Enright Jerger

ECE 1749H: Interconnec1on Networks for Parallel Computer Architectures: Rou1ng. Prof. Natalie Enright Jerger ECE 1749H: Interconnec1on Networks for Parallel Computer Architectures: Rou1ng Prof. Natalie Enright Jerger Announcements Feedback on your project proposals This week Scheduled extended 1 week Next week:

More information

Networks: Routing, Deadlock, Flow Control, Switch Design, Case Studies. Admin

Networks: Routing, Deadlock, Flow Control, Switch Design, Case Studies. Admin Networks: Routing, Deadlock, Flow Control, Switch Design, Case Studies Alvin R. Lebeck CPS 220 Admin Homework #5 Due Dec 3 Projects Final (yes it will be cumulative) CPS 220 2 1 Review: Terms Network characterized

More information

Basic Low Level Concepts

Basic Low Level Concepts Course Outline Basic Low Level Concepts Case Studies Operation through multiple switches: Topologies & Routing v Direct, indirect, regular, irregular Formal models and analysis for deadlock and livelock

More information

Interconnection Networks

Interconnection Networks Lecture 18: Interconnection Networks Parallel Computer Architecture and Programming CMU 15-418/15-618, Spring 2015 Credit: many of these slides were created by Michael Papamichael This lecture is partially

More information

A Deterministic Fault-Tolerant and Deadlock-Free Routing Protocol in 2-D Meshes Based on Odd-Even Turn Model

A Deterministic Fault-Tolerant and Deadlock-Free Routing Protocol in 2-D Meshes Based on Odd-Even Turn Model A Deterministic Fault-Tolerant and Deadlock-Free Routing Protocol in 2-D Meshes Based on Odd-Even Turn Model Jie Wu Dept. of Computer Science and Engineering Florida Atlantic University Boca Raton, FL

More information

Lecture 16: On-Chip Networks. Topics: Cache networks, NoC basics

Lecture 16: On-Chip Networks. Topics: Cache networks, NoC basics Lecture 16: On-Chip Networks Topics: Cache networks, NoC basics 1 Traditional Networks Huh et al. ICS 05, Beckmann MICRO 04 Example designs for contiguous L2 cache regions 2 Explorations for Optimality

More information

4.1 Interval Scheduling

4.1 Interval Scheduling 41 Interval Scheduling Interval Scheduling Interval scheduling Job j starts at s j and finishes at f j Two jobs compatible if they don't overlap Goal: find maximum subset of mutually compatible jobs a

More information

Lecture 26: Interconnects. James C. Hoe Department of ECE Carnegie Mellon University

Lecture 26: Interconnects. James C. Hoe Department of ECE Carnegie Mellon University 18 447 Lecture 26: Interconnects James C. Hoe Department of ECE Carnegie Mellon University 18 447 S18 L26 S1, James C. Hoe, CMU/ECE/CALCM, 2018 Housekeeping Your goal today get an overview of parallel

More information

Recall: The Routing problem: Local decisions. Recall: Multidimensional Meshes and Tori. Properties of Routing Algorithms

Recall: The Routing problem: Local decisions. Recall: Multidimensional Meshes and Tori. Properties of Routing Algorithms CS252 Graduate Computer Architecture Lecture 16 Multiprocessor Networks (con t) March 14 th, 212 John Kubiatowicz Electrical Engineering and Computer Sciences University of California, Berkeley http://www.eecs.berkeley.edu/~kubitron/cs252

More information

Lecture 3: Topology - II

Lecture 3: Topology - II ECE 8823 A / CS 8803 - ICN Interconnection Networks Spring 2017 http://tusharkrishna.ece.gatech.edu/teaching/icn_s17/ Lecture 3: Topology - II Tushar Krishna Assistant Professor School of Electrical and

More information

Synchronized Progress in Interconnection Networks (SPIN) : A new theory for deadlock freedom

Synchronized Progress in Interconnection Networks (SPIN) : A new theory for deadlock freedom ISCA 2018 Session 8B: Interconnection Networks Synchronized Progress in Interconnection Networks (SPIN) : A new theory for deadlock freedom Aniruddh Ramrakhyani Georgia Tech (aniruddh@gatech.edu) Tushar

More information

in Oblivious Routing

in Oblivious Routing Static Virtual Channel Allocation in Oblivious Routing Keun Sup Shim, Myong Hyon Cho, Michel Kinsy, Tina Wen, Mieszko Lis G. Edward Suh (Cornell) Srinivas Devadas MIT Computer Science and Artificial Intelligence

More information

ECS 150 (Operating Systems) Goal To examine what causes deadlock, and what to do about it. Spring Quarter

ECS 150 (Operating Systems) Goal To examine what causes deadlock, and what to do about it. Spring Quarter D e a d l o c k Goal To examine what causes deadlock, and what to do about it. Spring Quarter 1999 1 The resource manager is that part of the kernel responsible for managing resources. Its process interface

More information

Early Transition for Fully Adaptive Routing Algorithms in On-Chip Interconnection Networks

Early Transition for Fully Adaptive Routing Algorithms in On-Chip Interconnection Networks Technical Report #2012-2-1, Department of Computer Science and Engineering, Texas A&M University Early Transition for Fully Adaptive Routing Algorithms in On-Chip Interconnection Networks Minseon Ahn,

More information

Deadlock: Part II. Reading Assignment. Deadlock: A Closer Look. Types of Deadlock

Deadlock: Part II. Reading Assignment. Deadlock: A Closer Look. Types of Deadlock Reading Assignment T. M. Pinkston, Deadlock Characterization and Resolution in Interconnection Networks, Chapter 13 in Deadlock Resolution in Computer Integrated Systems, CRC Press 2004 Deadlock: Part

More information

4. Networks. in parallel computers. Advances in Computer Architecture

4. Networks. in parallel computers. Advances in Computer Architecture 4. Networks in parallel computers Advances in Computer Architecture System architectures for parallel computers Control organization Single Instruction stream Multiple Data stream (SIMD) All processors

More information

ECE 4750 Computer Architecture, Fall 2017 T06 Fundamental Network Concepts

ECE 4750 Computer Architecture, Fall 2017 T06 Fundamental Network Concepts ECE 4750 Computer Architecture, Fall 2017 T06 Fundamental Network Concepts School of Electrical and Computer Engineering Cornell University revision: 2017-10-17-12-26 1 Network/Roadway Analogy 3 1.1. Running

More information

Lecture 18: Communication Models and Architectures: Interconnection Networks

Lecture 18: Communication Models and Architectures: Interconnection Networks Design & Co-design of Embedded Systems Lecture 18: Communication Models and Architectures: Interconnection Networks Sharif University of Technology Computer Engineering g Dept. Winter-Spring 2008 Mehdi

More information

Module 17: "Interconnection Networks" Lecture 37: "Introduction to Routers" Interconnection Networks. Fundamentals. Latency and bandwidth

Module 17: Interconnection Networks Lecture 37: Introduction to Routers Interconnection Networks. Fundamentals. Latency and bandwidth Interconnection Networks Fundamentals Latency and bandwidth Router architecture Coherence protocol and routing [From Chapter 10 of Culler, Singh, Gupta] file:///e /parallel_com_arch/lecture37/37_1.htm[6/13/2012

More information

Liveness properties. Deadlock

Liveness properties. Deadlock Liveness properties From a theoretical viewpoint we must ensure that we eventually make progress i.e. we want to avoid : blocked threads/processes waiting for each other Livelock: processes/threads execute

More information

EECS 570 Final Exam - SOLUTIONS Winter 2015

EECS 570 Final Exam - SOLUTIONS Winter 2015 EECS 570 Final Exam - SOLUTIONS Winter 2015 Name: unique name: Sign the honor code: I have neither given nor received aid on this exam nor observed anyone else doing so. Scores: # Points 1 / 21 2 / 32

More information

Evaluation of NOC Using Tightly Coupled Router Architecture

Evaluation of NOC Using Tightly Coupled Router Architecture IOSR Journal of Computer Engineering (IOSR-JCE) e-issn: 2278-0661,p-ISSN: 2278-8727, Volume 18, Issue 1, Ver. II (Jan Feb. 2016), PP 01-05 www.iosrjournals.org Evaluation of NOC Using Tightly Coupled Router

More information

A Hybrid Interconnection Network for Integrated Communication Services

A Hybrid Interconnection Network for Integrated Communication Services A Hybrid Interconnection Network for Integrated Communication Services Yi-long Chen Northern Telecom, Inc. Richardson, TX 7583 kchen@nortel.com Jyh-Charn Liu Department of Computer Science, Texas A&M Univ.

More information

A Modification to the Chandy-Misra Dining Philosophers Algorithm to Support Dynamic Resource Conflict Graphs

A Modification to the Chandy-Misra Dining Philosophers Algorithm to Support Dynamic Resource Conflict Graphs A Modification to the Chandy-Misra Dining Philosophers Algorithm to Support Dynamic Resource Conflict Graphs Kenneth Goldman and Joe Hoffert {kjg,joeh}@cs.wustl.edu Distributed Programing Environments

More information

Bubble Flow Control in High-Radix Hierarchical Networks

Bubble Flow Control in High-Radix Hierarchical Networks Bubble Flow Control in High-Radix Hierarchical Networks Marina García 1,Enrique Vallejo 1,Ramon Beivide 1,Miguel Odriozola 1,Cristóbal Camarero 1, Mateo Valero 2, Germán Rodríguez 3, Jesús Labarta 2, and

More information

The deadlock problem

The deadlock problem Deadlocks Arvind Krishnamurthy Spring 2004 The deadlock problem A set of blocked processes each holding a resource and waiting to acquire a resource held by another process. Example locks A and B P 0 P

More information

Different network topologies

Different network topologies Network Topology Network topology is the arrangement of the various elements of a communication network. It is the topological structure of a network and may be depicted physically or logically. Physical

More information

Routing and Deadlock

Routing and Deadlock 3.5-1 3.5-1 Routing and Deadlock Routing would be easy...... were it not for possible deadlock. Topics For This Set: Routing definitions. Deadlock definitions. Resource dependencies. Acyclic deadlock free

More information

The Network Layer and Routers

The Network Layer and Routers The Network Layer and Routers Daniel Zappala CS 460 Computer Networking Brigham Young University 2/18 Network Layer deliver packets from sending host to receiving host must be on every host, router in

More information

From Routing to Traffic Engineering

From Routing to Traffic Engineering 1 From Routing to Traffic Engineering Robert Soulé Advanced Networking Fall 2016 2 In the beginning B Goal: pair-wise connectivity (get packets from A to B) Approach: configure static rules in routers

More information

SIMON FRASER UNIVERSITY SCHOOL OF ENGINEERING SCIENCE. Spring 2013 ENSC 427: COMMUNICATION NETWORKS. Midterm No. 2(b) Monday, March 18, 2013

SIMON FRASER UNIVERSITY SCHOOL OF ENGINEERING SCIENCE. Spring 2013 ENSC 427: COMMUNICATION NETWORKS. Midterm No. 2(b) Monday, March 18, 2013 SIMON FRASER UNIVERSITY SCHOOL OF ENGINEERING SCIENCE Spring 2013 ENSC 427: COMMUNICATION NETWORKS Midterm No. 2(b) Monday, March 18, 2013 Duration: 50 minutes. Attempt all problems. Questions may not

More information

NOC: Networks on Chip SoC Interconnection Structures

NOC: Networks on Chip SoC Interconnection Structures NOC: Networks on Chip SoC Interconnection Structures COE838: Systems-on-Chip Design http://www.ee.ryerson.ca/~courses/coe838/ Dr. Gul N. Khan http://www.ee.ryerson.ca/~gnkhan Electrical and Computer Engineering

More information

Switching/Flow Control Overview. Interconnection Networks: Flow Control and Microarchitecture. Packets. Switching.

Switching/Flow Control Overview. Interconnection Networks: Flow Control and Microarchitecture. Packets. Switching. Switching/Flow Control Overview Interconnection Networks: Flow Control and Microarchitecture Topology: determines connectivity of network Routing: determines paths through network Flow Control: determine

More information

This Lecture. BUS Computer Facilities Network Management. Switching Network. Simple Switching Network

This Lecture. BUS Computer Facilities Network Management. Switching Network. Simple Switching Network This Lecture BUS0 - Computer Facilities Network Management Switching networks Circuit switching Packet switching gram approach Virtual circuit approach Routing in switching networks Faculty of Information

More information

ECE 1749H: Interconnec1on Networks for Parallel Computer Architectures: Rou1ng. Prof. Natalie Enright Jerger

ECE 1749H: Interconnec1on Networks for Parallel Computer Architectures: Rou1ng. Prof. Natalie Enright Jerger ECE 1749H: Interconnec1on Networks for Parallel Computer Architectures: Rou1ng Prof. Natalie Enright Jerger Rou1ng Overview Discussion of topologies assumed ideal rou1ng In prac1ce Rou1ng algorithms are

More information

Wormhole Routing Techniques for Directly Connected Multicomputer Systems

Wormhole Routing Techniques for Directly Connected Multicomputer Systems Wormhole Routing Techniques for Directly Connected Multicomputer Systems PRASANT MOHAPATRA Iowa State University, Department of Electrical and Computer Engineering, 201 Coover Hall, Iowa State University,

More information

Parallel Computing Platforms

Parallel Computing Platforms Parallel Computing Platforms Routing, Network Embedding John Mellor-Crummey Department of Computer Science Rice University johnmc@rice.edu COMP 422/534 Lecture 14-15 4,11 October 2018 Topics for Today

More information

OPERATING SYSTEMS. Deadlocks

OPERATING SYSTEMS. Deadlocks OPERATING SYSTEMS CS3502 Spring 2018 Deadlocks Chapter 7 Resource Allocation and Deallocation When a process needs resources, it will normally follow the sequence: 1. Request a number of instances of one

More information

CS575 Parallel Processing

CS575 Parallel Processing CS575 Parallel Processing Lecture three: Interconnection Networks Wim Bohm, CSU Except as otherwise noted, the content of this presentation is licensed under the Creative Commons Attribution 2.5 license.

More information

Multithreaded Programming Part II. CSE 219 Stony Brook University, Department of Computer Science

Multithreaded Programming Part II. CSE 219 Stony Brook University, Department of Computer Science Multithreaded Programming Part II CSE 219 Stony Brook University, Thread Scheduling In a Java application, main is a thread on its own Once multiple threads are made Runnable the thread scheduler of the

More information

EC 513 Computer Architecture

EC 513 Computer Architecture EC 513 Computer Architecture On-chip Networking Prof. Michel A. Kinsy Virtual Channel Router VC 0 Routing Computation Virtual Channel Allocator Switch Allocator Input Ports VC x VC 0 VC x It s a system

More information

ACCELERATING COMMUNICATION IN ON-CHIP INTERCONNECTION NETWORKS. A Dissertation MIN SEON AHN

ACCELERATING COMMUNICATION IN ON-CHIP INTERCONNECTION NETWORKS. A Dissertation MIN SEON AHN ACCELERATING COMMUNICATION IN ON-CHIP INTERCONNECTION NETWORKS A Dissertation by MIN SEON AHN Submitted to the Office of Graduate Studies of Texas A&M University in partial fulfillment of the requirements

More information

Interconnection networks

Interconnection networks Interconnection networks When more than one processor needs to access a memory structure, interconnection networks are needed to route data from processors to memories (concurrent access to a shared memory

More information

Deadlock-Free Connection-Based Adaptive Routing with Dynamic Virtual Circuits

Deadlock-Free Connection-Based Adaptive Routing with Dynamic Virtual Circuits Computer Science Department Technical Report #TR050021 University of California, Los Angeles, June 2005 Deadlock-Free Connection-Based Adaptive Routing with Dynamic Virtual Circuits Yoshio Turner and Yuval

More information

Lecture 28: Networks & Interconnect Architectural Issues Professor Randy H. Katz Computer Science 252 Spring 1996

Lecture 28: Networks & Interconnect Architectural Issues Professor Randy H. Katz Computer Science 252 Spring 1996 Lecture 28: Networks & Interconnect Architectural Issues Professor Randy H. Katz Computer Science 252 Spring 1996 RHK.S96 1 Review: ABCs of Networks Starting Point: Send bits between 2 computers Queue

More information

CSC Operating Systems Spring Lecture - XII Midterm Review. Tevfik Ko!ar. Louisiana State University. March 4 th, 2008.

CSC Operating Systems Spring Lecture - XII Midterm Review. Tevfik Ko!ar. Louisiana State University. March 4 th, 2008. CSC 4103 - Operating Systems Spring 2008 Lecture - XII Midterm Review Tevfik Ko!ar Louisiana State University March 4 th, 2008 1 I/O Structure After I/O starts, control returns to user program only upon

More information

Topologies. Maurizio Palesi. Maurizio Palesi 1

Topologies. Maurizio Palesi. Maurizio Palesi 1 Topologies Maurizio Palesi Maurizio Palesi 1 Network Topology Static arrangement of channels and nodes in an interconnection network The roads over which packets travel Topology chosen based on cost and

More information

FlexVC: Flexible Virtual Channel Management in Low-Diameter Networks

FlexVC: Flexible Virtual Channel Management in Low-Diameter Networks This is an earlier accepted version; a final version of this work will be published in the Proceedings of the 31st IEEE International Parallel & Distributed Processing Symposium (IPDPS 2017). Copyright

More information

Cloud Thinking in the Enterprise

Cloud Thinking in the Enterprise Cloud Thinking in the Enterprise Sean Flack sean@aristanetwoks.com CCIE# 24438 Traditional Datacenter Design OSPF/BGP Public Internet Edge LB FW Core L3 1 2 OSPF Distribution Layer L2/L3 1 2 LB LB n-1

More information

Resource Allocation - Dining Philosophers. Dining Philosophers - Properties. OK? EATING[(i%N)+1]) Impossibility Result for Symmetric Algorithm

Resource Allocation - Dining Philosophers. Dining Philosophers - Properties. OK? EATING[(i%N)+1]) Impossibility Result for Symmetric Algorithm Resource Allocation - Dining Philosophers Dining Philosophers - Properties Five philosophers sit around a circular table. Each philosopher spends his life alternately thinking and eating. In the centre

More information

SOFTWARE BASED FAULT-TOLERANT OBLIVIOUS ROUTING IN PIPELINED NETWORKS*

SOFTWARE BASED FAULT-TOLERANT OBLIVIOUS ROUTING IN PIPELINED NETWORKS* SOFTWARE BASED FAULT-TOLERANT OBLIVIOUS ROUTING IN PIPELINED NETWORKS* Young-Joo Suh, Binh Vien Dao, Jose Duato, and Sudhakar Yalamanchili Computer Systems Research Laboratory Facultad de Informatica School

More information

Interconnection Networks

Interconnection Networks Interconnection Networks Interconnection Networks Introduction How to connect individual devices together into a group of communicating devices? Device: r r r Component within a computer Single computer

More information

CONGESTION AWARE ADAPTIVE ROUTING FOR NETWORK-ON-CHIP COMMUNICATION. Stephen Chui Bachelor of Engineering Ryerson University, 2012.

CONGESTION AWARE ADAPTIVE ROUTING FOR NETWORK-ON-CHIP COMMUNICATION. Stephen Chui Bachelor of Engineering Ryerson University, 2012. CONGESTION AWARE ADAPTIVE ROUTING FOR NETWORK-ON-CHIP COMMUNICATION by Stephen Chui Bachelor of Engineering Ryerson University, 2012 A thesis presented to Ryerson University in partial fulfillment of the

More information

William Stallings Data and Computer Communications. Chapter 10 Packet Switching

William Stallings Data and Computer Communications. Chapter 10 Packet Switching William Stallings Data and Computer Communications Chapter 10 Packet Switching Principles Circuit switching designed for voice Resources dedicated to a particular call Much of the time a data connection

More information

Embedded Systems 7. Models of computation for embedded systems

Embedded Systems 7. Models of computation for embedded systems Embedded Systems 7 - - Models of computation for embedded systems Communication/ local computations Communicating finite state machines Data flow model Computational graphs Von Neumann model Discrete event

More information

Interconnection Network

Interconnection Network Interconnection Network Recap: Generic Parallel Architecture A generic modern multiprocessor Network Mem Communication assist (CA) $ P Node: processor(s), memory system, plus communication assist Network

More information

Introduction. The fundamental purpose of data communications is to exchange information between user's computers, terminals and applications programs.

Introduction. The fundamental purpose of data communications is to exchange information between user's computers, terminals and applications programs. Introduction The fundamental purpose of data communications is to exchange information between user's computers, terminals and applications programs. Simplified Communications System Block Diagram Intro-1

More information

A thesis presented to. the faculty of. In partial fulfillment. of the requirements for the degree. Master of Science. Yixuan Zhang.

A thesis presented to. the faculty of. In partial fulfillment. of the requirements for the degree. Master of Science. Yixuan Zhang. High-Performance Crossbar Designs for Network-on-Chips (NoCs) A thesis presented to the faculty of the Russ College of Engineering and Technology of Ohio University In partial fulfillment of the requirements

More information

Last Class: Monitors. Real-world Examples

Last Class: Monitors. Real-world Examples Last Class: Monitors Monitor wraps operations with a mutex Condition variables release mutex temporarily C++ does not provide a monitor construct, but monitors can be implemented by following the monitor

More information

Generalized Theory for Deadlock-Free Adaptive Wormhole Routing and its Application to Disha Concurrent

Generalized Theory for Deadlock-Free Adaptive Wormhole Routing and its Application to Disha Concurrent Generalized Theory for Deadlock-Free Adaptive Wormhole Routing and its Application to Disha Concurrent Anjan K. V. Timothy Mark Pinkston José Duato Pyramid Technology Corp. Electrical Engg. - Systems Dept.

More information

Abstract. Paper organization

Abstract. Paper organization Allocation Approaches for Virtual Channel Flow Control Neeraj Parik, Ozen Deniz, Paul Kim, Zheng Li Department of Electrical Engineering Stanford University, CA Abstract s are one of the major resources

More information

Interconnection Networks

Interconnection Networks Lecture 15: Interconnection Networks Parallel Computer Architecture and Programming CMU 15-418/15-618, Spring 2016 Credit: some slides created by Michael Papamichael, others based on slides from Onur Mutlu

More information

Topology basics. Constraints and measures. Butterfly networks.

Topology basics. Constraints and measures. Butterfly networks. EE48: Advanced Computer Organization Lecture # Interconnection Networks Architecture and Design Stanford University Topology basics. Constraints and measures. Butterfly networks. Lecture #: Monday, 7 April

More information

Global Adaptive Routing Algorithm Without Additional Congestion Propagation Network

Global Adaptive Routing Algorithm Without Additional Congestion Propagation Network 1 Global Adaptive Routing Algorithm Without Additional Congestion ropagation Network Shaoli Liu, Yunji Chen, Tianshi Chen, Ling Li, Chao Lu Institute of Computing Technology, Chinese Academy of Sciences

More information

Fault-Tolerant Routing Algorithm in Meshes with Solid Faults

Fault-Tolerant Routing Algorithm in Meshes with Solid Faults Fault-Tolerant Routing Algorithm in Meshes with Solid Faults Jong-Hoon Youn Bella Bose Seungjin Park Dept. of Computer Science Dept. of Computer Science Dept. of Computer Science Oregon State University

More information