198
Synchronized Progress in Interconnection Networks (SPIN) : A new theory for deadlock freedom Aniruddh Ramrakhyani Georgia Tech ([email protected]) Tushar Krishna Georgia Tech ([email protected]) Paul V. Gratz Texas A&M University ([email protected]) ISCA 2018 Session 8B: Interconnection Networks

Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

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

deadlock freedom

Aniruddh Ramrakhyani Georgia Tech

([email protected])

Tushar Krishna Georgia Tech

([email protected])

Paul V. Gratz Texas A&M University

([email protected])

ISCA 2018 Session 8B: Interconnection Networks

Page 2: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Network Routing2

Page 3: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Network Routing2

B

A

C

F

E

D

G

H

I

J

K

Page 4: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Network Routing2

B

A

C

F

E

D

G

H

I

J

K

Page 5: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Network Routing2

B

A

C

F

E

D

G

H

I

J

K

Page 6: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Network Routing2

B

A

C

F

E

D

G

H

I

J

K

Deadlock

Page 7: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Routing Deadlocks3

Page 8: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Routing Deadlocks3

A

C D

BE

F

Page 9: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Routing Deadlocks3

A

C D

B

Deadlock

E

F

Page 10: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Routing DeadlocksA Routing Deadlock is a cyclic buffer dependency chain that renders forward progress impossible.

3

A

C D

B

Deadlock

E

F

Page 11: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Routing DeadlocksA Routing Deadlock is a cyclic buffer dependency chain that renders forward progress impossible.

4

Page 12: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Routing DeadlocksA Routing Deadlock is a cyclic buffer dependency chain that renders forward progress impossible.

Deadlocks are a fundamental problem in both off-chip and on-chip interconnection networks.

4

Page 13: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Routing DeadlocksA Routing Deadlock is a cyclic buffer dependency chain that renders forward progress impossible.

Deadlocks are a fundamental problem in both off-chip and on-chip interconnection networks.

Cause system breakdown and kill chips.

4

Page 14: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Routing DeadlocksA Routing Deadlock is a cyclic buffer dependency chain that renders forward progress impossible.

Deadlocks are a fundamental problem in both off-chip and on-chip interconnection networks.

Cause system breakdown and kill chips.

Deadlocks are hard to detect.

4

Page 15: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Routing DeadlocksA Routing Deadlock is a cyclic buffer dependency chain that renders forward progress impossible.

Deadlocks are a fundamental problem in both off-chip and on-chip interconnection networks.

Cause system breakdown and kill chips.

Deadlocks are hard to detect.

Manifest after a long use time.

4

Page 16: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Routing DeadlocksA Routing Deadlock is a cyclic buffer dependency chain that renders forward progress impossible.

Deadlocks are a fundamental problem in both off-chip and on-chip interconnection networks.

Cause system breakdown and kill chips.

Deadlocks are hard to detect.

Manifest after a long use time.

Show up due to system wear out faults and power-gating of network elements which are hard to simulate.

4

Page 17: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Routing DeadlocksA Routing Deadlock is a cyclic buffer dependency chain that renders forward progress impossible.

Deadlocks are a fundamental problem in both off-chip and on-chip interconnection networks.

Cause system breakdown and kill chips.

Deadlocks are hard to detect.

Manifest after a long use time.

Show up due to system wear out faults and power-gating of network elements which are hard to simulate.

Need a solution for functional correctness !!

4

Page 18: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Solution I: Dally’s Theory5

Page 19: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Solution I: Dally’s TheoryDefines a strict order in acquisition of links and/or buffers which ensures a cyclic dependency is never created.       

5

Page 20: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Solution I: Dally’s TheoryDefines a strict order in acquisition of links and/or buffers which ensures a cyclic dependency is never created.       

5

A

C D

BE

F

Page 21: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Solution I: Dally’s TheoryDefines a strict order in acquisition of links and/or buffers which ensures a cyclic dependency is never created.       

5

A

C D

BE

F1

2

3

45

6

Page 22: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Solution I: Dally’s TheoryDefines a strict order in acquisition of links and/or buffers which ensures a cyclic dependency is never created.       

5

A

C D

BE

F1

2

3

45

6

Higher to Lower not

allowed

Page 23: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Solution I: Dally’s TheoryDefines a strict order in acquisition of links and/or buffers which ensures a cyclic dependency is never created.       

5

A

C D

BE

F1

2

3

45

6

Higher to Lower not

allowed

Page 24: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Solution I: Dally’s TheoryDefines a strict order in acquisition of links and/or buffers which ensures a cyclic dependency is never created.  

6

Page 25: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Solution I: Dally’s TheoryDefines a strict order in acquisition of links and/or buffers which ensures a cyclic dependency is never created.  

Implementations: Turn model [5], XY routing, Up-Down routing [20].

6

Page 26: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Solution I: Dally’s TheoryDefines a strict order in acquisition of links and/or buffers which ensures a cyclic dependency is never created.  

Implementations: Turn model [5], XY routing, Up-Down routing [20].

Limitations:

Routing Restrictions: Increased Latency, Throughput loss, Energy overhead

Require large no. of VCs for fully adaptive routing.

6

Page 27: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Solution II: Duato’s Theory7

Page 28: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Solution II: Duato’s TheoryAdds buffers to create a deadlock free escape path that can be used to avoid/recover from deadlocks.

7

Page 29: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Solution II: Duato’s TheoryAdds buffers to create a deadlock free escape path that can be used to avoid/recover from deadlocks.

Implementation: turn restrictions in escape-VC.

7

Page 30: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

A

C D

BE

F

Solution II: Duato’s TheoryAdds buffers to create a deadlock free escape path that can be used to avoid/recover from deadlocks.

Implementation: turn restrictions in escape-VC.

7

Page 31: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

A

C D

BE

F

Solution II: Duato’s TheoryAdds buffers to create a deadlock free escape path that can be used to avoid/recover from deadlocks.

Implementation: turn restrictions in escape-VC.

7

E

FVC0

VC0

Escape-VC

Escape-VC

Page 32: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

A

C D

BE

F

Solution II: Duato’s TheoryAdds buffers to create a deadlock free escape path that can be used to avoid/recover from deadlocks.

Implementation: turn restrictions in escape-VC.

7

E

FVC0

VC0

Escape-VC

Escape-VC

Page 33: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

A

C D

BE

F

Solution II: Duato’s TheoryAdds buffers to create a deadlock free escape path that can be used to avoid/recover from deadlocks.

Implementation: turn restrictions in escape-VC.

7

E

FVC0

VC0

Escape-VC

Escape-VC

Page 34: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Solution II: Duato’s Theory8

Adds buffers to create a deadlock free escape path that can be used to avoid/recover from deadlocks.

Implementation: turn restrictions in escape-VC.

Page 35: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Solution II: Duato’s Theory

Limitations:

Energy and Area overhead of escape VCs.

Additional routing tables/logic for routing within escape-VC.

8

Adds buffers to create a deadlock free escape path that can be used to avoid/recover from deadlocks.

Implementation: turn restrictions in escape-VC.

Page 36: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Other Solutions9

Page 37: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Other SolutionsSolution III: Flow Control

9

Page 38: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Other SolutionsSolution III: Flow Control

Restrict injection when no. of empty buffers fall below a threshold

9

Page 39: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Other SolutionsSolution III: Flow Control

Restrict injection when no. of empty buffers fall below a threshold

Implementation: Bubble Flow Control [9]

9

Page 40: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Other SolutionsSolution III: Flow Control

Restrict injection when no. of empty buffers fall below a threshold

Implementation: Bubble Flow Control [9]

Limitation: Implementation Complexity.

9

Page 41: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Other SolutionsSolution III: Flow Control

Restrict injection when no. of empty buffers fall below a threshold

Implementation: Bubble Flow Control [9]

Limitation: Implementation Complexity.

Solution IV: Deflection Routing

9

Page 42: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Other SolutionsSolution III: Flow Control

Restrict injection when no. of empty buffers fall below a threshold

Implementation: Bubble Flow Control [9]

Limitation: Implementation Complexity.

Solution IV: Deflection Routing

Assign every flit to some output port even if they get misrouted.

9

Page 43: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Other SolutionsSolution III: Flow Control

Restrict injection when no. of empty buffers fall below a threshold

Implementation: Bubble Flow Control [9]

Limitation: Implementation Complexity.

Solution IV: Deflection Routing

Assign every flit to some output port even if they get misrouted.

Implementation: BLESS [10], CHIPPER [35]

9

Page 44: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Other SolutionsSolution III: Flow Control

Restrict injection when no. of empty buffers fall below a threshold

Implementation: Bubble Flow Control [9]

Limitation: Implementation Complexity.

Solution IV: Deflection Routing

Assign every flit to some output port even if they get misrouted.

Implementation: BLESS [10], CHIPPER [35]

Limitation: Livelocks

9

Page 45: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Comparison of Deadlock Freedom Theories10

Acyclic CDG not Required

No Packet Injection

RestrictionsLivelock

Free

VC cost for Mesh Routing

Minimal Adaptive

Topology Indepen-

dent

Theory

Metric

Page 46: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Comparison of Deadlock Freedom Theories10

Acyclic CDG not Required

No Packet Injection

RestrictionsLivelock

Free

VC cost for Mesh Routing

Minimal Adaptive

Topology Indepen-

dent

Dally

Theory

Metric

1 6

Page 47: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Comparison of Deadlock Freedom Theories10

Acyclic CDG not Required

No Packet Injection

RestrictionsLivelock

Free

VC cost for Mesh Routing

Minimal Adaptive

Topology Indepen-

dent

Dally

Duato

Theory

Metric

1 61 2

Page 48: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Comparison of Deadlock Freedom Theories10

Acyclic CDG not Required

No Packet Injection

RestrictionsLivelock

Free

VC cost for Mesh Routing

Minimal Adaptive

Topology Indepen-

dent

Dally

DuatoFlow

Control

Theory

Metric

1 61 2

2 2

Page 49: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Comparison of Deadlock Freedom Theories10

Acyclic CDG not Required

No Packet Injection

RestrictionsLivelock

Free

VC cost for Mesh Routing

Minimal Adaptive

Topology Indepen-

dent

Dally

DuatoFlow

ControlDeflection Routing

Theory

Metric

1 61 2

2 2

1

Page 50: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Comparison of Deadlock Freedom Theories10

Acyclic CDG not Required

No Packet Injection

RestrictionsLivelock

Free

VC cost for Mesh Routing

Minimal Adaptive

Topology Indepen-

dent

Dally

DuatoFlow

ControlDeflection Routing

Theory

Metric

1 61 2

2 2

1

Can we do better ??

Page 51: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Comparison of Deadlock Freedom Theories10

Acyclic CDG not Required

No Packet Injection

RestrictionsLivelock

Free

VC cost for Mesh Routing

Minimal Adaptive

Topology Indepen-

dent

Dally

DuatoFlow

ControlDeflection Routing

Theory

Metric

1 61 2

2 2

1

Can we do better ??

Page 52: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Comparison of Deadlock Freedom Theories10

Acyclic CDG not Required

No Packet Injection

RestrictionsLivelock

Free

VC cost for Mesh Routing

Minimal Adaptive

Topology Indepen-

dent

Dally

DuatoFlow

ControlDeflection Routing

SPIN

Theory

Metric

1 61 2

2 2

1

1 1

Can we do better ??

Page 53: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

OutlineRouting Deadlocks

State of the Art

Dally’s Theory

Duato’s Theory

Flow Control Routing

Deflection Routing

SPIN : Synchronized Progress in Interconnection Networks

Evaluations

Conclusion

11

Page 54: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

SPIN : Key Idea12

Page 55: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

SPIN : Key Idea12

A

C D

B

Deadlock

E

F

Page 56: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

SPIN : Key Idea12

A

C D

B

Deadlock

E

F

What if: We coordinate the movement of every packet to the next hop at a given time ??

Page 57: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

SPIN : Key Idea12

A

C D

B

Deadlock

E

F

What if: We coordinate the movement of every packet to the next hop at a given time ??

Page 58: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

SPIN : Key Idea12

A

CDB Deadlock

EF

What if: We coordinate the movement of every packet to the next hop at a given time ??

Page 59: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

SPIN : Key Idea12

A

CDB Deadlock

EF

What if: We coordinate the movement of every packet to the next hop at a given time ??

Simultaneous Synchronized

Movement

Page 60: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

SPIN : Key Idea12

A

CDB Deadlock

EF

What if: We coordinate the movement of every packet to the next hop at a given time ??

Simultaneous Synchronized

Movement

Simultaneous Synchronized Movement of all deadlocked packets in the loop is called a spin.

Page 61: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

SPIN : Key Idea12

A

C

D

BDeadlock

EF

What if: We coordinate the movement of every packet to the next hop at a given time ??

Simultaneous Synchronized

Movement

Simultaneous Synchronized Movement of all deadlocked packets in the loop is called a spin.

Page 62: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

SPIN : Key Idea12

A

C

D

BDeadlock

EF

What if: We coordinate the movement of every packet to the next hop at a given time ??

Simultaneous Synchronized

Movement

Simultaneous Synchronized Movement of all deadlocked packets in the loop is called a spin.

spin complete

Page 63: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

SPIN : Key Idea13

Simultaneous Synchronized Movement of all deadlocked packets in the loop is called a spin.

Page 64: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

SPIN : Key Idea13

Simultaneous Synchronized Movement of all deadlocked packets in the loop is called a spin.

Each spin leads to one hop forward movement of all deadlock packets.

Page 65: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

SPIN : Key Idea13

Simultaneous Synchronized Movement of all deadlocked packets in the loop is called a spin.

Each spin leads to one hop forward movement of all deadlock packets.

One spin may not resolve the deadlock. If so, spin can be repeated

Page 66: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

SPIN : Key Idea13

Simultaneous Synchronized Movement of all deadlocked packets in the loop is called a spin.

Each spin leads to one hop forward movement of all deadlock packets.

One spin may not resolve the deadlock. If so, spin can be repeated

Deadlock is guaranteed to be resolved in a finite number of spins [proof in paper, Sec. III]

Page 67: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

SPIN : Key Idea14

Page 68: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

SPIN : Key Idea14

A

C D

BE

F

Page 69: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

SPIN : Key Idea14

A

C

D

B

EF

First spin complete

Page 70: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

SPIN : Key Idea14

A

C

D

B

EF

First spin complete

Page 71: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

SPIN : Key Idea14

A

C

D

B

E

F

First spin complete

Page 72: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

SPIN : Key Idea14

A

C

D

B

E

F

First spin complete

Second spin complete

Page 73: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

SPIN : Key Idea15

A

C

D

B

E

F

Page 74: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

SPIN : Key Idea15

A

C

D

B

E

F

Page 75: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

SPIN : Key Idea15

A

C

D

B

E

F

Packets E &B exit the loop

Page 76: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

SPIN : Key Idea15

A

C

D

B

E

F

Packets E &B exit the loop

Deadlock Resolved

Page 77: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

OutlineRouting Deadlocks

State of the Art

SPIN : Synchronized Progress in Interconnection Networks

Key Idea

Implementation Example

Micro-architecture

FAvORS

Evaluations

Conclusion

16

Page 78: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

SPIN: Implementation Example17

Page 79: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

SPIN: Implementation ExampleSPIN is a generic deadlock freedom theory that can have multiple implementations.

17

Page 80: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

SPIN: Implementation ExampleSPIN is a generic deadlock freedom theory that can have multiple implementations.

SPIN Implementation:

Detect the Deadlock.

Coordinate a time for spin.

Execute the spin.

17

Page 81: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

SPIN: Implementation ExampleSPIN is a generic deadlock freedom theory that can have multiple implementations.

SPIN Implementation:

Detect the Deadlock.

Coordinate a time for spin.

Execute the spin.

We choose a recovery approach as deadlocks are rare scenarios (See Sec. II-F).

17

Page 82: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Implementation Example : Detect Deadlocks18

Page 83: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Implementation Example : Detect Deadlocks

Use counters.

18

Page 84: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Implementation Example : Detect Deadlocks

Use counters.

Placed at every node at design time.

18

Page 85: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Implementation Example : Detect Deadlocks

Use counters.

Placed at every node at design time.Optimize by exploiting topology symmetry (See Static Bubble [6]).

18

Page 86: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Implementation Example : Detect Deadlocks

Use counters.

Placed at every node at design time.Optimize by exploiting topology symmetry (See Static Bubble [6]).

If packet does not leave in threshold time (configurable), it indicates a potential deadlock.

18

Page 87: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Implementation Example : Detect Deadlocks

Use counters.

Placed at every node at design time.Optimize by exploiting topology symmetry (See Static Bubble [6]).

If packet does not leave in threshold time (configurable), it indicates a potential deadlock.

Counter expired ? Send probe to verify deadlock.

18

Page 88: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Implementation Example : Probe Msg.19

A

C D

BE

F1. Deadlock Detection

2. Coordinating the spin.

3. Executing the spin.

Page 89: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Implementation Example : Probe Msg.19

A

C D

BE

FCounter

Expires at Node 5

1. Deadlock Detection

2. Coordinating the spin.

3. Executing the spin.

Page 90: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Implementation Example : Probe Msg.19

A

C D

BE

FCounter

Expires at Node 5

Send Probe

1. Deadlock Detection

2. Coordinating the spin.

3. Executing the spin.

Page 91: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Implementation Example : Probe Msg.19

A

C D

BE

FCounter

Expires at Node 5

Probe

Send Probe

1. Deadlock Detection

2. Coordinating the spin.

3. Executing the spin.

Page 92: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Implementation Example : Probe Msg.19

A

C D

BE

FCounter

Expires at Node 5

Probe

Send Probe

1. Deadlock Detection

2. Coordinating the spin.

3. Executing the spin.

Page 93: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Implementation Example : Probe Msg.19

A

C D

BE

FCounter

Expires at Node 5

Probe

Send Probe

1. Deadlock Detection

2. Coordinating the spin.

3. Executing the spin.

Page 94: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Implementation Example : Probe Msg.19

A

C D

BE

FCounter

Expires at Node 5

Probe

Send Probe

1. Deadlock Detection

2. Coordinating the spin.

3. Executing the spin.

Page 95: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Implementation Example : Probe Msg.19

A

C D

BE

FCounter

Expires at Node 5

Probe

Send Probe

1. Deadlock Detection

2. Coordinating the spin.

3. Executing the spin.

Page 96: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Implementation Example : Probe Msg.19

A

C D

BE

FCounter

Expires at Node 5

ProbeSend Probe

1. Deadlock Detection

2. Coordinating the spin.

3. Executing the spin.

Page 97: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Implementation Example : Probe Msg.19

A

C D

BE

FCounter

Expires at Node 5

ProbeSend Probe

1. Deadlock Detection

2. Coordinating the spin.

3. Executing the spin.

Page 98: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Implementation Example : Probe Msg.19

A

C D

BE

FCounter

Expires at Node 5

Probe

Send Probe

1. Deadlock Detection

2. Coordinating the spin.

3. Executing the spin.

Page 99: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Implementation Example : Probe Msg.19

A

C D

BE

FCounter

Expires at Node 5

Probe

Send Probe

1. Deadlock Detection

2. Coordinating the spin.

3. Executing the spin.

Probe Returns: Deadlock Confirmed

Page 100: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Implementation Example : Probe Msg.20

Page 101: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Implementation Example : Probe Msg.Probe is a special message that tracks the buffer dependency.

20

Page 102: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Implementation Example : Probe Msg.Probe is a special message that tracks the buffer dependency.

Probe returns to sender:

20

Page 103: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Implementation Example : Probe Msg.Probe is a special message that tracks the buffer dependency.

Probe returns to sender: Cyclic buffer dependence, hence deadlock.

20

Page 104: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Implementation Example : Probe Msg.Probe is a special message that tracks the buffer dependency.

Probe returns to sender: Cyclic buffer dependence, hence deadlock.

Next, send a move msg. to convey the spin time

20

Page 105: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Implementation Example : Probe Msg.Probe is a special message that tracks the buffer dependency.

Probe returns to sender: Cyclic buffer dependence, hence deadlock.

Next, send a move msg. to convey the spin timeUpon receiving move msg., router sets its counter to count to spin cyle.

20

Page 106: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Implementation Example : Move Msg.21

A

C D

BE

F1. Deadlock Detection

2. Coordinating the spin.

3. Executing the spin.

Page 107: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Implementation Example : Move Msg.21

A

C D

BE

F

Send Move

1. Deadlock Detection

2. Coordinating the spin.

3. Executing the spin.

Page 108: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Implementation Example : Move Msg.21

A

C D

BE

F

Move

Send Move

1. Deadlock Detection

2. Coordinating the spin.

3. Executing the spin.

Page 109: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Implementation Example : Move Msg.21

A

C D

BE

FMove

Send Move

1. Deadlock Detection

2. Coordinating the spin.

3. Executing the spin.

Page 110: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Implementation Example : Move Msg.21

A

C D

BE

FMove

Send Move

Set counter to count to spin cycle

1. Deadlock Detection

2. Coordinating the spin.

3. Executing the spin.

Page 111: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Implementation Example : Move Msg.21

A

C D

BE

FMove

Send Move

Set counter to count to spin cycle

1. Deadlock Detection

2. Coordinating the spin.

3. Executing the spin.

Page 112: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Implementation Example : Move Msg.21

A

C D

BE

F

Move

Send Move

Set counter to count to spin cycle

1. Deadlock Detection

2. Coordinating the spin.

3. Executing the spin.

Page 113: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Implementation Example : Move Msg.21

A

C D

BE

F

MoveSend Move

Set counter to count to spin cycle

1. Deadlock Detection

2. Coordinating the spin.

3. Executing the spin.

Page 114: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Implementation Example : Move Msg.21

A

C D

BE

F

MoveSend Move

Set counter to count to spin cycle

1. Deadlock Detection

2. Coordinating the spin.

3. Executing the spin.

Page 115: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Implementation Example : Move Msg.21

A

C D

BE

F

Move

Send Move

Set counter to count to spin cycle

1. Deadlock Detection

2. Coordinating the spin.

3. Executing the spin.

Page 116: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Implementation Example : Move Msg.21

A

C D

BE

F

Move

Send Move

Set counter to count to spin cycle

Move returns

1. Deadlock Detection

2. Coordinating the spin.

3. Executing the spin.

Page 117: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Implementation Example : spin22

A

C D

BE

F1. Deadlock Detection

2. Coordinating the spin.

3. Executing the spin.

Page 118: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Implementation Example : spin22

A

C D

BE

F

Counters expire together in the spin

cycle

1. Deadlock Detection

2. Coordinating the spin.

3. Executing the spin.

Page 119: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Implementation Example : spin23

A

C

D

B

EF1. Deadlock Detection

2. Coordinating the spin.

3. Executing the spin.

Page 120: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Multiple SPIN Optimization24

Page 121: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Multiple SPIN OptimizationResolving a deadlock may require multiple spins

24

Page 122: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Multiple SPIN OptimizationResolving a deadlock may require multiple spins

After spin, router can resume normal operation.

24

Page 123: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Multiple SPIN OptimizationResolving a deadlock may require multiple spins

After spin, router can resume normal operation.

Counter expires again, process repeated.

24

Page 124: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Multiple SPIN OptimizationResolving a deadlock may require multiple spins

After spin, router can resume normal operation.

Counter expires again, process repeated.

Optimization: send probe_move after spin is complete.

24

Page 125: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Multiple SPIN OptimizationResolving a deadlock may require multiple spins

After spin, router can resume normal operation.

Counter expires again, process repeated.

Optimization: send probe_move after spin is complete.

probe_move checks if deadlock still exists and if so, sets the time for the next spin.

24

Page 126: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Multiple SPIN OptimizationResolving a deadlock may require multiple spins

After spin, router can resume normal operation.

Counter expires again, process repeated.

Optimization: send probe_move after spin is complete.

probe_move checks if deadlock still exists and if so, sets the time for the next spin.

Details in paper (Sec. IV-B).

24

Page 127: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

OutlineRouting Deadlocks

State of the Art

SPIN : Synchronized Progress in Interconnection Networks

Key Idea

Implementation Example

Micro-architecture

FAvORS

Evaluations

Conclusion

25

Page 128: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Implementation Micro-architecture26

Page 129: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Implementation Micro-architectureNo additional links: Spl. Msgs. use the same links as regular flits.

26

Page 130: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Implementation Micro-architectureNo additional links: Spl. Msgs. use the same links as regular flits.

Spl. Msgs. have higher priority in link usage over regular flits.

26

Page 131: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Implementation Micro-architectureNo additional links: Spl. Msgs. use the same links as regular flits.

Spl. Msgs. have higher priority in link usage over regular flits.

Links are anyways idle during deadlocks.

26

Page 132: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Implementation Micro-architectureNo additional links: Spl. Msgs. use the same links as regular flits.

Spl. Msgs. have higher priority in link usage over regular flits.

Links are anyways idle during deadlocks.

Bufferless Forwarding: Spl. Msgs. are not buffered anywhere (either forwarded or dropped).

26

Page 133: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Implementation Micro-architectureNo additional links: Spl. Msgs. use the same links as regular flits.

Spl. Msgs. have higher priority in link usage over regular flits.

Links are anyways idle during deadlocks.

Bufferless Forwarding: Spl. Msgs. are not buffered anywhere (either forwarded or dropped).

Distributed Design: any router can initiate the recovery.

26

Page 134: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Implementation Micro-architectureNo additional links: Spl. Msgs. use the same links as regular flits.

Spl. Msgs. have higher priority in link usage over regular flits.

Links are anyways idle during deadlocks.

Bufferless Forwarding: Spl. Msgs. are not buffered anywhere (either forwarded or dropped).

Distributed Design: any router can initiate the recovery.

4% area overhead compared to traditional mesh router in 15nm Nangate [42].

26

Page 135: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

OutlineRouting Deadlocks

State of the Art

SPIN : Synchronized Progress in Interconnection Networks

Key Idea

Walkthrough Example

Micro-architecture

FAvORS

Evaluations

Conclusion

27

Page 136: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

FAvORS Routing Algorithm28

Page 137: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

FAvORS Routing AlgorithmSPIN is the first scheme that enables true one-VC fully adaptive deadlock-free routing for any topology.

28

Page 138: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

FAvORS Routing AlgorithmSPIN is the first scheme that enables true one-VC fully adaptive deadlock-free routing for any topology.

FAvORS : Fully Adaptive One-vc Routing with SPIN.

28

Page 139: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

FAvORS Routing AlgorithmSPIN is the first scheme that enables true one-VC fully adaptive deadlock-free routing for any topology.

FAvORS : Fully Adaptive One-vc Routing with SPIN.

Algorithm has two flavors:

28

Page 140: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

FAvORS Routing AlgorithmSPIN is the first scheme that enables true one-VC fully adaptive deadlock-free routing for any topology.

FAvORS : Fully Adaptive One-vc Routing with SPIN.

Algorithm has two flavors: Minimal Adaptive

28

Page 141: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

FAvORS Routing AlgorithmSPIN is the first scheme that enables true one-VC fully adaptive deadlock-free routing for any topology.

FAvORS : Fully Adaptive One-vc Routing with SPIN.

Algorithm has two flavors: Minimal AdaptiveNon-minimal Adaptive.

28

Page 142: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

FAvORS Routing AlgorithmSPIN is the first scheme that enables true one-VC fully adaptive deadlock-free routing for any topology.

FAvORS : Fully Adaptive One-vc Routing with SPIN.

Algorithm has two flavors: Minimal AdaptiveNon-minimal Adaptive.

Route Selection Metrics:

28

Page 143: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

FAvORS Routing AlgorithmSPIN is the first scheme that enables true one-VC fully adaptive deadlock-free routing for any topology.

FAvORS : Fully Adaptive One-vc Routing with SPIN.

Algorithm has two flavors: Minimal AdaptiveNon-minimal Adaptive.

Route Selection Metrics:Credit turn-around time

28

Page 144: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

FAvORS Routing AlgorithmSPIN is the first scheme that enables true one-VC fully adaptive deadlock-free routing for any topology.

FAvORS : Fully Adaptive One-vc Routing with SPIN.

Algorithm has two flavors: Minimal AdaptiveNon-minimal Adaptive.

Route Selection Metrics:Credit turn-around timeHop Count

28

Page 145: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

FAvORS Routing AlgorithmSPIN is the first scheme that enables true one-VC fully adaptive deadlock-free routing for any topology.

FAvORS : Fully Adaptive One-vc Routing with SPIN.

Algorithm has two flavors: Minimal AdaptiveNon-minimal Adaptive.

Route Selection Metrics:Credit turn-around timeHop Count

More details in paper (Sec. V).

28

Page 146: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

OutlineRouting Deadlocks

State of the Art

SPIN : Synchronized Progress in Interconnection Networks

Evaluations

Conclusion

29

Page 147: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Evaluations 30

Simulator

Topologies

Link Latency

Traffic

Network Configuration:

Page 148: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Evaluations 30

Simulator

Topologies

Link Latency

Traffic

gem5 + Garnet 2.0 Network simulator

8x8 Mesh

1-cycle

Synthetic + Multi-threaded (PARSEC)

Network Configuration:

Page 149: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Evaluations 30

Simulator

Topologies

Link Latency

Traffic

gem5 + Garnet 2.0 Network simulator

8x8 Mesh

1-cycle

Synthetic + Multi-threaded (PARSEC)

1024 node Off-chip Dragon-fly

Inter-group: 1-cycleIntra-group: 3-cycle

Synthetic

Network Configuration:

Page 150: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Evaluations : Baselines31

Page 151: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Evaluations : Baselines8x8 Mesh:

31

Design Routing Adaptivity

Minimal Theory Deadlock Freedom Type

West-first Routing Partial Yes Dally Avoidance

Escape-VC Full Yes Duato Avoidance

Static-Bubble [6] Full Yes Flow-Control Recovery

Page 152: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Evaluations : Baselines8x8 Mesh:

31

Design Routing Adaptivity

Minimal Theory Deadlock Freedom Type

West-first Routing Partial Yes Dally Avoidance

Escape-VC Full Yes Duato Avoidance

Static-Bubble [6] Full Yes Flow-Control Recovery

1024 Node Off-chip Dragon-fly:

Design Routing Adaptivity

Minimal Theory Deadlock Freedom Type

UGAL [37] Full No Dally Avoidance

Page 153: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Saturation Throughput 1024-node Off-chip Dragon-fly:

32

Page 154: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Saturation Throughput 1024-node Off-chip Dragon-fly:

32

0255075

100

0.01 0.03 0.05 0.07 0.09 0.11

Bit-complement

Late

ncy

(cyc

les)

Inj. Rate (flits/node/cycle)

UGAL_3VCSPIN

UGAL_3VCDally

FAvORS_NMin_1VCSPIN

Minimal_1VCSPIN

Page 155: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Saturation Throughput 1024-node Off-chip Dragon-fly:

32

0255075

100

0.01 0.03 0.05 0.07 0.09 0.11

Bit-complement

Late

ncy

(cyc

les)

Inj. Rate (flits/node/cycle)

UGAL_3VCSPIN

UGAL_3VCDally

FAvORS_NMin_1VCSPIN

Minimal_1VCSPIN

50% higher throughput compared to UGAL_Dally

Page 156: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Saturation Throughput 1024-node Off-chip Dragon-fly:

32

0255075

100

0.01 0.03 0.05 0.07 0.09 0.11

Bit-complement

Late

ncy

(cyc

les)

Inj. Rate (flits/node/cycle)

0255075

100

0.01 0.08 0.15 0.22 0.29 0.36Inj. Rate (flits/node/cycle)

Neighbor

Late

ncy

(cyc

les)

UGAL_3VCSPIN

UGAL_3VCDally

FAvORS_NMin_1VCSPIN

Minimal_1VCSPIN

50% higher throughput compared to UGAL_Dally

Page 157: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Saturation Throughput 1024-node Off-chip Dragon-fly:

32

0255075

100

0.01 0.03 0.05 0.07 0.09 0.11

Bit-complement

Late

ncy

(cyc

les)

Inj. Rate (flits/node/cycle)

0255075

100

0.01 0.08 0.15 0.22 0.29 0.36Inj. Rate (flits/node/cycle)

Neighbor

Late

ncy

(cyc

les)

UGAL_3VCSPIN

UGAL_3VCDally

FAvORS_NMin_1VCSPIN

Minimal_1VCSPIN

50% higher throughput compared to UGAL_Dally

25% higher throughput compared to UGAL_Dally

Page 158: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Saturation Throughput 1024-node Off-chip Dragon-fly:

32

0255075

100

0.01 0.03 0.05 0.07 0.09 0.11

Bit-complement

Late

ncy

(cyc

les)

Inj. Rate (flits/node/cycle)

0255075

100

0.01 0.08 0.15 0.22 0.29 0.36Inj. Rate (flits/node/cycle)

Neighbor

Late

ncy

(cyc

les)

UGAL_3VCSPIN

UGAL_3VCDally

FAvORS_NMin_1VCSPIN

Minimal_1VCSPIN

50% higher throughput compared to UGAL_Dally

62% higher throughput compared to

Minimal Routing 1-VC

25% higher throughput compared to UGAL_Dally

Page 159: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Saturation Throughput 33

8x8 On-chip Mesh:

Page 160: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Saturation Throughput 33

8x8 On-chip Mesh:

Transpose (3-VC)

Inj. Rate (flits/node/cycle)

Late

ncy

(cyc

les)

West-First_3VCDally

0

25

50

75

100

0.001 0.031 0.061 0.091 0.121

Static_Bubble_3VCFlow-Control

EscapeVC_3VCDuato

FAvORS_Min_3VCSPIN

Page 161: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Saturation Throughput 33

8x8 On-chip Mesh:

Transpose (3-VC)

Inj. Rate (flits/node/cycle)

Late

ncy

(cyc

les)

West-First_3VCDally

0

25

50

75

100

0.001 0.031 0.061 0.091 0.121

Static_Bubble_3VCFlow-Control

EscapeVC_3VCDuato

FAvORS_Min_3VCSPIN

68% higher throughput compared

to West-first 3-VC

Page 162: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Saturation Throughput 33

8x8 On-chip Mesh:

Transpose (3-VC)

Inj. Rate (flits/node/cycle)

Late

ncy

(cyc

les)

West-First_3VCDally

0

25

50

75

100

0.001 0.031 0.061 0.091 0.121

Static_Bubble_3VCFlow-Control

EscapeVC_3VCDuato

FAvORS_Min_3VCSPIN

68% higher throughput compared

to West-first 3-VC

10% higher throughput

compared to Static-Bubble 3-VC

Page 163: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Saturation Throughput 33

8x8 On-chip Mesh:

Transpose (3-VC)

Inj. Rate (flits/node/cycle)

Late

ncy

(cyc

les)

West-First_3VCDally

0

25

50

75

100

0.001 0.031 0.061 0.091 0.121

Static_Bubble_3VCFlow-Control

EscapeVC_3VCDuato

FAvORS_Min_3VCSPIN

68% higher throughput compared

to West-first 3-VC

8% higher throughput compared

to Escape-VC 3-VC

10% higher throughput

compared to Static-Bubble 3-VC

Page 164: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Saturation Throughput 33

8x8 On-chip Mesh:

Transpose (3-VC)

Inj. Rate (flits/node/cycle)

Late

ncy

(cyc

les)

West-First_3VCDally

0

25

50

75

100

0.001 0.031 0.061 0.091 0.121

Static_Bubble_3VCFlow-Control

EscapeVC_3VCDuato

FAvORS_Min_3VCSPIN

0

25

50

75

100

0.001 0.031 0.061 0.091 0.121

Transpose (1-VC)

Inj. Rate (flits/node/cycle)

Late

ncy

(cyc

les)

FAvORS_Min_1VCSPIN

West-First_1VCDally

68% higher throughput compared

to West-first 3-VC

8% higher throughput compared

to Escape-VC 3-VC

10% higher throughput

compared to Static-Bubble 3-VC

Page 165: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Saturation Throughput 33

8x8 On-chip Mesh:

Transpose (3-VC)

Inj. Rate (flits/node/cycle)

Late

ncy

(cyc

les)

West-First_3VCDally

0

25

50

75

100

0.001 0.031 0.061 0.091 0.121

Static_Bubble_3VCFlow-Control

EscapeVC_3VCDuato

FAvORS_Min_3VCSPIN

0

25

50

75

100

0.001 0.031 0.061 0.091 0.121

Transpose (1-VC)

Inj. Rate (flits/node/cycle)

Late

ncy

(cyc

les)

FAvORS_Min_1VCSPIN

West-First_1VCDally

68% higher throughput compared

to West-first 3-VC

8% higher throughput compared

to Escape-VC 3-VC

80% higher throughput compared

to West-First 1-VC

10% higher throughput

compared to Static-Bubble 3-VC

Page 166: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Conclusion34

Page 167: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

ConclusionDeadlocks are a fundamental problem in Interconnection Networks.

34

Page 168: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

ConclusionDeadlocks are a fundamental problem in Interconnection Networks.

SPIN is a generic deadlock freedom theory

Scalable: Distributed Deadlock Resolution

Plug-n-Play: topology agnostic

Enables true one-VC fully adaptive routing for any topology

34

Page 169: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

ConclusionDeadlocks are a fundamental problem in Interconnection Networks.

SPIN is a generic deadlock freedom theory

Scalable: Distributed Deadlock Resolution

Plug-n-Play: topology agnostic

Enables true one-VC fully adaptive routing for any topology

Performance (Saturation Throughput):

On-chip mesh: upto 68% higher

Off-chip Dragon-fly: upto 62% higher

34

Page 170: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

ConclusionPractical Applications:

35

Page 171: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

ConclusionPractical Applications:

35

On-Chip Mesh (Intel SCC, Tilera Tile64)

Super-computers Dragon-fly (Cray XC Networks)

Datacenters JellyFish (HP), Fat Tree (Google)

Irregular Topologies Faults (Static Bubble [6])Power-gating (Router Parking[29])

NoC Generators FlexNoc (ARTERIS),Sonics GN

Domain specific Accelerators

Corelink Interconnect (ARM)

Page 172: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

ConclusionPractical Applications:

35

On-Chip Mesh (Intel SCC, Tilera Tile64)

Super-computers Dragon-fly (Cray XC Networks)

Datacenters JellyFish (HP), Fat Tree (Google)

Irregular Topologies Faults (Static Bubble [6])Power-gating (Router Parking[29])

NoC Generators FlexNoc (ARTERIS),Sonics GN

Domain specific Accelerators

Corelink Interconnect (ARM)

Thank you !!

Page 173: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Back-up36

Page 174: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

SPIN : Applications37

Page 175: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

SPIN : ApplicationsSPIN is a generic deadlock freedom theory

Scalable: distributed deadlock resolution

Plug-n-Play: doesn’t require knowledge of topology

37

Page 176: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

SPIN : ApplicationsSPIN is a generic deadlock freedom theory

Scalable: distributed deadlock resolution

Plug-n-Play: doesn’t require knowledge of topology

SPIN can thus be used in :

On-chip networks: Mesh (Intel SCC, Tilera Tile64)

Supercomputers: Dragon-fly (Cray XC Networks)

Datacenters: Jellyfish (HP), Fat Tree (Google)

Static & Dynamically Changing Irregular topologies due to faults (Static Bubble [6]) & power-gating (Router Parking [29])

NoC Generators (Opensmart [13]) & Domain specific accelerator (Eyeriss[15])

37

Page 177: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Implementation Example : Probe Msg.38

A

C D

BE

F

Page 178: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Implementation Example : Probe Msg.38

A

C D

BE

FCounter

Expires at Node 5

Page 179: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Implementation Example : Probe Msg.38

A

C D

BE

FCounter

Expires at Node 5

Send Probe

Page 180: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Implementation Example : Probe Msg.38

A

C D

BE

FCounter

Expires at Node 5

Probe

Send Probe

Page 181: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Implementation Example : Probe Msg.38

A

C D

BE

FCounter

Expires at Node 5

Probe

Send Probe

Page 182: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Implementation Example : Probe Msg.38

A

C D

BE

FCounter

Expires at Node 5

Probe

Send Probe

Page 183: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Implementation Example : Probe Msg.38

A

C D

BE

FCounter

Expires at Node 5

Probe

Send Probe

Page 184: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Implementation Example : Probe Msg.38

A

C D

BE

FCounter

Expires at Node 5

ProbeSend Probe

Page 185: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Implementation Example : Probe Msg.38

A

C D

BE

FCounter

Expires at Node 5

ProbeSend Probe

Page 186: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Implementation Example : Probe Msg.38

A

C D

BE

FCounter

Expires at Node 5

Probe

Send Probe

Page 187: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Implementation Example : Probe Msg.38

A

C D

BE

FCounter

Expires at Node 5

Probe

Send Probe

Probe Returns: Deadlock Confirmed

Page 188: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Implementation Example : Move Msg.39

A

C D

BE

F1. Counter Expires2. Send Probe3. Send Move4. Counter expires

in spin cycle5. Spin

Page 189: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Implementation Example : Move Msg.39

A

C D

BE

F

Send Move

1. Counter Expires2. Send Probe3. Send Move4. Counter expires

in spin cycle5. Spin

Page 190: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Implementation Example : Move Msg.39

A

C D

BE

F

Move

Send Move

1. Counter Expires2. Send Probe3. Send Move4. Counter expires

in spin cycle5. Spin

Page 191: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Implementation Example : Move Msg.39

A

C D

BE

FMove

Send Move

1. Counter Expires2. Send Probe3. Send Move4. Counter expires

in spin cycle5. Spin

Page 192: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Implementation Example : Move Msg.39

A

C D

BE

FMove

Send Move

Set counter to count to spin cycle

Cntr

1. Counter Expires2. Send Probe3. Send Move4. Counter expires

in spin cycle5. Spin

Page 193: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Implementation Example : Move Msg.39

A

C D

BE

FMove

Send Move

Set counter to count to spin cycle

Cntr

1. Counter Expires2. Send Probe3. Send Move4. Counter expires

in spin cycle5. Spin

Page 194: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Implementation Example : Move Msg.39

A

C D

BE

F

Move

Send Move

Set counter to count to spin cycle

Cntr

1. Counter Expires2. Send Probe3. Send Move4. Counter expires

in spin cycle5. Spin

Page 195: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Implementation Example : Move Msg.39

A

C D

BE

F

MoveSend Move

Set counter to count to spin cycle

Cntr

1. Counter Expires2. Send Probe3. Send Move4. Counter expires

in spin cycle5. Spin

Page 196: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Implementation Example : Move Msg.39

A

C D

BE

F

MoveSend Move

Set counter to count to spin cycle

Cntr

1. Counter Expires2. Send Probe3. Send Move4. Counter expires

in spin cycle5. Spin

Page 197: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Implementation Example : Move Msg.39

A

C D

BE

F

Move

Send Move

Set counter to count to spin cycle

Cntr

1. Counter Expires2. Send Probe3. Send Move4. Counter expires

in spin cycle5. Spin

Page 198: Synchronized Progress in Interconnection Networks (SPIN)pwp.gatech.edu/ece-synergy/wp-content/uploads/... · Routing Deadlocks 䡧A Routing Deadlock is a cyclic buffer dependency

Implementation Example : Move Msg.39

A

C D

BE

F

Move

Send Move

Set counter to count to spin cycle

Cntr

Move returns

1. Counter Expires2. Send Probe3. Send Move4. Counter expires

in spin cycle5. Spin