Deadlock Recovery - PowerPoint PPT Presentation

1 / 25
About This Presentation
Title:

Deadlock Recovery

Description:

... se ?p??ad?p?te t?p?????a e Hamiltonian ???p?t?a (? spanning trees) ... ?? ?? ?? a??? ???ta? s? f??a e t? ??s? t??? st? Hamiltonian path ... – PowerPoint PPT presentation

Number of Views:271
Avg rating:3.0/5.0
Slides: 26
Provided by: Geo160
Category:

less

Transcript and Presenter's Notes

Title: Deadlock Recovery


1
Deadlock Recovery
  • Interconnection Networks
  • ??ts??? Ge?????? ?.?.-113
  • ???e??d?? Te?d?s??? ?.?.-99

2
??sa????
  • ?? te?????? a???aµ??? ap? ad????da de? ep??e?????
    t??? a??????µ??? d??µ?????s??
  • ?p?t??peta? ? s??µat?sµ?? ad?e??d??
  • ?ta? a????e?te? ad????d? ??a ? pe??ss?te?a pa??ta
    ape?e??e?????? t??? p????? p?? ?at?????
  • ?? te?????? a?t?? ???s?µ?p?????ta? µ??? ?ta? ta
    ad????da e??a? sp???a
  • ???? t?? ?t? t? wormhole switching e??a?
    pe??ss?te?? ep???ep?? se ad????da ?a as???????µe
    µe a?t?

3
Deadlock Probability (?)
  • ?a?????te? p?? ep??e????? t?? p??a??t?ta
    s??µat?sµ?? ad?e??d??
  • Routing freedom
  • ?????? t?? packet routing options
  • ?????? blocked packets
  • ?????? resource dependency cycles
  • ??e? ap?de???e? ?t? ?a??? a??????µe t??? p?????
    ?a? t? routing freedom ? p??a??t?ta s??µat?sµ??
    ad?e??d?? µe???eta? e??et???

4
Deadlock Probability (??)
  • channel wait-for graph (CWG)
  • ????es? p???? st? s?st?µa ?a? e???eµ?? a?t?µ?t??
    se ??p??a ??????? st??µ?
  • Knot S????? ??µß?? st??? ?p????? ?s??e? p?? ap?
    ?p????d?p?te ??µß? µp????µe ?a µetaß??µe se
    ?p????d?p?te ???? t?? ?d??? s??????
  • Deadlocks
  • deadlock set
  • ?? s????? pa??t?? p?? ??e? ?ata??ße? virtual
    channels se ??a knot
  • resource set
  • ?? s????? t?? virtual channels p?? ?????
    ?ata??f?e? ap? t? deadlock set
  • knot cycle density
  • ?????? ?????? p?? pe??????ta? st? knot

5
CWG Example (I)
Deadlock set m1 . . .m8 Resource set
vc0 . . . vc15 Knot cycle density 24
6
CWG Example (II)
  • Increased routing freedom
  • ?p??e? ?a ?d???se? se fa???µe?? livelock
  • ?? t? fa???µe?? a?t? ???eta? µe a???µ?????
    ???µ??? ?ste ta pa??ta ?a µ?? p???aßa????? ?a
    ?ata?a?????ta? ????µe µe??µ??? throughput ?a?
    a???µ??? latency

7
Deadlock Probability (???)
  • ?? µe??st?p????e? t? routing freedom e?att??eta?
    ? p??a??t?ta eµf???s?? ad?e??d??
  • ?? deadlock-recovery-based routing a??????µ?? p??
    ep?t???????? t? pa?ap??? p??t?µ???ta? ap? t???
    deadlock-avoidance-based ???? ?a??te??? ap?d?s??
  • ??a??a?t??? µ???d?? µe??s?? p??a??t?ta? eµf???s??
    ad?e??d??
  • ?e?????sµ?? t?? a???µ?? ???? pa??t?? p??
    e?s?????ta? st? s?st?µa
  • ?.?. ??? pa??t? µp??e? ?a e?sa??e? st? s?st?µa
    µ??? ?ta? ? a???µ?? t?? e?e??e??? ?a?a???? e??a?
    µe?a??te??? ap? ??p??? threshold

8
Detection of Potential Deadlocks
  • ?e? ?p?????? ap???ta a???ße?? µ??a??sµ??
    a????e?s?? ad?e??d?? ??at? a?t? ?a apa?t??se
    a?ta??a?? extra p????f?????
  • ???s?µ?p?????ta? e???st???? a??????µ?? µe t?p???
    p????f???a
  • ? µ??a??sµ?? a????e?s?? µp??e? ?a ???s?µ?p????e?
    e?te st?? p??? e?te se e?d??µes? ??µß?
  • ???? ???s?µ?p?????ta? time-outs ?a? ??????t?s?
    µe ??a threshold ???s? ep?p??s?et?? a???µ??
    dummy flits ?s?? µe t? µ???st? ap?stas?
  • ??d??µes?? ??µß?? timeout-counter, comparator se
    ???e virtual channel

9
Detection of Potential Deadlocks
  • ?p??e? ?a ???e? ?a??asµ??? a????e?s? deadlock
    (????? t?µ? st? time-out)
  • St? ?e???te?? pe??pt?s? p????? ??µß?? a????e????
    ?a??asµ??a deadlock ?a? ?????? kill ta pa??ta p??
    ß??s???ta? st??? buffers
  • ? t?µ? t?? time-out p??pe? ?a e??a? a?????? t??
    µ????? t?? pa??t??

10
Progressive and Regressive Recovery Techniques (?)
  • Progressive
  • ??a??t??? p????? p?? e??a? ?ate???µµ???? ap? µ?
    µp???a??sµ??a pa??ta se µp???a??sµ??a, ??a
    ??????? a???aµ?? ap? ad????d?
  • Regressive
  • ?????? kill ta µp???a??sµ??a pa??ta ?a? ???eta?
    epa?e?p?µp?

11
Progressive and Regressive Recovery Techniques
(??)
  • ?????e?s? ap? t?? p???
  • Control signal p?? ape?e??e???e? t??? buffers
    (compressionless routing)
  • ?pa?e?p?µp? µet? ap? t??a?? ?????
  • ?pa?te?ta? buffering st? injection port
  • ???ß??µa
  • Se pe??pt?s? ?a??asµ???? a????e?s??, ??e???eta?
    buffer st?? destination d??t? a? f??se? control
    signal p??pe? ta flits p?? ?f?asa? µ???? t?te ?a
    ?????? kill ?ste ?a ??f?e? t? pa??t? epa?e?p?µp??
  • ? ?pa??? buffer st?? p?????sµ? p??apa?te? t??
    s?st? p???a????sµ? t?? µe?????? t?? pa??t??

12
Progressive and Regressive Recovery Techniques
(???)
  • ?????e?s? se e?d??µes? ??µß?
  • Regressive
  • Kill t?? µp???a??sµ???? pa??t?? µe d??d?s?
    backward control signal p?? ape?e??e???e? t?
    µ???p?t?
  • Progressive
  • ????es? p???? ap? µ? µp???a??sµ??a pa??ta se
    µp???a??sµ??a
  • ?f?? ???e? t? ad????d? ?? p???? ep?st??f??ta? sta
    pa??ta p?? t??? ?ate??a? p???
  • Progressive ap?te?esµat???te?? ap? Regressive

13
Progressive Recovery Disha (I)
14
Progressive Recovery Disha (II)
  • ???sßas? st? deadlock buffer ???? t?? ??µß?? t??
    µ???pat??? µe ep?ßa???µe?? control signal
  • S??????? ?? buffers s??µat????? µ?a deadlock
    free d??d? p??? t?? p?????sµ?.
  • ?ta? a????e??e? ad????d? t? µp???a??sµ??? pa??t?
    e?t??peta? st? deadlock buffer
  • ?ta? ??p??? flit µp???a??sµ???? pa??t??
    ???s?µ?p???se? f?s??? ?a???? e??d??, ep?ß???eta?
    control signal st?? aµ?s?? ep?µe?? ??µß? ??a ?a
    t? e?t???e? ape??e?a? st? deadlock buffer

15
?a??de??µa ?d?e??d??
16
????aµ?? st? Disha (I)
?????? ?at?stas? (pa??t? P1)
17
????aµ?? st? Disha (I?)
????aµ?? ad?e??d?? (pa??t? P1)
18
????aµ?? st? Disha (I??)
  • ??????
  • ?? ?p?????? ? ?????? ???e f??? p?? eµfa???eta?
    ad????d? sp?e? ??a?
  • ??a ?-1 ??????
  • ?pa?????? s?µpe?a????µe ?t? ?p???e? asfa???
    a???aµ?? ap? ??a ta ad????da
  • ?? ??a deadlocked pa??t? ???e? ?a ???s?µ?p???se?
    ?a???? p?? ?at??e? ???? pa??t?, t? ?ata?aµß??e?
    p??s????? ?a? ?ta? te?e??se? t? ep?st??fe? st??
    p????t???
  • ??t? de d?µ?????e? ?d?a?te?? p??ß??µa d??t? ta
    ad????da ?p???t??µe ?t? eµfa?????ta? sp???a ?a?
    ta flits t?? pa??t?? p?? µetad?d??ta?
    ap????e???ta?. ?ts? a? ?a?e? t? ?a????
    p??s????? de? ?????ta?

19
????aµ?? st? Disha (VI)
  • Deadlock buffers are dedicated
  • Restricted access (Disha sequential)
  • Structured access
  • Channels are not
  • ???s?µ?p?????ta? ?a?????? ap? ??a ta pa??ta
  • ???s?µ?p?????ta? ??a deadlock freedom µ??? st??
    pe??pt?s? p?? eµfa??ste? ad????d?
  • ????e?µ???? ?a ?e?t?????se? ap?te?esµat??? de?
    p??pe? ?a µp??e? ?a eµfa??ste? ad????d? st???
    deadlock buffers
  • ??asfa???eta? ? deadlock freedom epe?d? ta
    deadlock buffers ??s?ast??? d?µ???????? µ?a
    routing subfunction ? ?p??a e??a? connected ?a?
    de? ??e? ???????? e?a?t?se?? µeta?? t?? p????

20
Deadlock freedom in Disha (?)
  • Disha sequential
  • ???? ??a pa??t? µp??e? ?a ???s?µ?p??e? t???
    deadlock buffers ???e f???
  • ?p???e? circulating token p?? a?a??te? t??
    p??sßas?
  • ???ß??µa
  • Circulating token single point of failure!
  • ? a???aµ?? ???eta? se???a?? ?p?te µp??e? ?a
    ep??easte? ? ap?d?s? a? s?ss??e?t??? ad????da se
    µ???? ??????? d??st?µa

21
Deadlock freedom in Disha (??)
  • G?a ta?t?????? a???aµ??
  • ?e? ??e???eta? token
  • ?p??e? ?a ???s?µ?p????e? d?a?t?t?? ? ?p???? ?a
    d?a?e????eta? ta?t?????a a?t?µata ???s?? t??
    deadlock buffer ap? d?af??et???? e?s?d???
  • ?p??e? ?a apa?te?ta? ? ?pa??? pe??ss?t???? ap?
    e??? deadlock buffer a??e? ?a µ?? ?pe?ßa????? t?
    minimum p?? apa?te?ta?
  • Ge???? µp??e? ?a ep?te???e? se ?p??ad?p?te
    t?p?????a µe Hamiltonian µ???p?t?a (? spanning
    trees) ???s?µ?p????ta? 2 deadlock buffers a??
    ??µß?
  • ?? ??µß?? a???µ???ta? s?µf??a µe t? ??s? t??? st?
    Hamiltonian path
  • ?ta? t? destination label e??a? µe?a??te?? ap?
    a?t? t?? t?????ta ??µß?? ???s?µ?p??e?ta? t? ??a
    set ap? buffers
  • ?? e??a? µ????te?? ???s?µ?p??e?ta? t? ???? set

22
??a??a?t???? a???te?t??????
  • ???s?µ?p????? ??? ?e?t?????? buffers, a??? a?t???
    t?? ?a?a????
  • Deadlock buffers p??st??e?ta? st?? e?s?d? t??
    ?a?a????
  • Ta p??pe? ?a pe??????? st???e?a crossbar
    reconfiguration ?a? ?????? ? ?p??a ?a ??µ?ta? t??
    ?at?stas? t?? crossbar p??? t?? eµf???s? t??
    ad?e??d??

23
Livelock Avoidance (?)
  • ? ap???ste??? t??p?? ??a ap?f??? livelock e??a?
    t? misrouting
  • ?? minimal routing algorithms e??a? e?d???
    pe??pt?s? limited misrouting ?p?? de? ep?t??peta?
    misrouting
  • ?? p????? t?? ?a?a???? p?? ?at??e? ??a pa??t?
    e??a? upper bounded ap? t? d??µet??
  • ?? minimal routing a??????µ?? e??a? p?????
    ap?d?t???? ?ta? ???s?µ?p??e?ta? wormhole
    switching ??at? ta pa??ta ?ata?aµß????? t?
    e????st? d??at? bandwidth ?a?a????

24
Livelock Avoidance (??)
  • ??a? ????? ??a ???s? misrouting e??a? ?
    d??µ?????s? µeta?? ??µß?? p?? ? s??des? t??? ??e?
    ?p?ste? ??p??a ?atast??f?
  • ?? ep?t??p??ta? µ??? e????sta µ???p?t?a ?a? ?
    s??des? µeta?? t?????t?? ?a? ??µß?? pa?a??pt?
    ??e? ?p?ste? ß??ß? t? pa??t? de? µp??e? ?a
    s??e??se?
  • ??e? ap?de???e? p?? d????ta? ??a µ???st? a???µ?
    ap? ß??ße? st? d??t??, p?? de? t? ap?s??d????, t?
    limited misrouting e??a? a??et? ?a f??s??µe se
    ????? t??? d??at??? p?????sµ???
  • ?p?s?? µe t? limited routing ????µe ??a µ???st?
    a???µ? ?a?a???? p?? µp????? ?a ?at????ta? ap? ??a
    pa??t?, ?p?te ap?fe??eta? t? livelock
  • G?a ?a ?????et?s??µe t? misrouting p??pe? e?te ?a
    d?µ??????s??µe ?at???????? a??????µ???
    d??µ?????s??, e?te ?a ??at?µe t?? p????f???a t??
    ep?t?ep?µe??? a???µ?? µ???pat??? a?? pa??t? st?
    header t?? pa??t??

25
Livelock Avoidance (???)
  • ? µ??? pe??pt?s? st?? ?p??a t? misrouting de?
    µp??e? ?a ?????et??e? ????? d?µ??????a deadlock
    e??a? st? deflection routing
  • ??t? ? te????? ap?t??pe? ta deadlock ep?t??p??ta?
    t? ???s? ?p????d?p?te e?e??e??? ?a?a???? ??a t??
    p?????s? t?? pa??t??
  • ??e? ap?de???e? p?? t? deflection routing e??a?
    livelock-free
  • ?p???t??ta? p?? d??eta? p??te?a??t?ta sta ?a????a
    p?? ????? µ????te?? µ????, ? p??a??t?ta e??es??
    ???? t?? e????st?? µ???pat??? ?a e??a?
    apas????µ??a µe???eta? ?s? a????eta? ? a???µ??
    t?? p??spa?e???
  • ?ts? ta pa??ta ?a f??s??? st?? p?????sµ? t???
    a??? ? ??????a
  • St?? p???? ??e? ap?de???e? p?? p??? ???e?
    ?e?t?????e? misrouting ??e?????ta? ?at? µ?s? ???
    ?ta? ???s?µ?p??e?ta? deflection routing
Write a Comment
User Comments (0)
About PowerShow.com