• Tidak ada hasil yang ditemukan

Deadlock Scenarios for (EWs + EWn) Arc with XY-Turn . 147

Dalam dokumen Doctor of Philosophy (Halaman 168-174)

5.6 Experimental Deadlock Detection

5.6.2 Deadlock Scenarios generated by CFSM Framework

5.6.2.1 Deadlock Scenarios for (EWs + EWn) Arc with XY-Turn . 147

The (EWs + EWn) Arc pairs are from the same wraparound channel EW. Both of the EWs and EWn Arcs are part of the same types of wraparound channel EW. As per Lemma 5.5.1, two Arcs from the same wraparound channels create deadlock. Therefore, (EWs + EWn) Arc pairs are deadlock prone with respect to XY-Turns in the Mesh sub-network.

The experimental deadlock scenario for (EWs + EWn) with XY-routing is shown in Fig.

5.17. (EWs + EWn) Arc pairs introduce new Turns. The NE Turn is introduced Turns by EWn Arc and SE Turn is introduced by EWs Arcs, respectively. These new Turns are

shown with red color in Fig5.17.

The packets shown withred color anditalic font have used either EWsArcor EWn Arc.

The packet (19, 1) is currently present at the West input port of R20. It intends to use the same EWs Arc between R20 and R16 which is already used by (20, 12) and (20, 1). The packet (15, 2) has used another EWs Arc between R15 and R11 and has reached the North port buffer of R6 where it was involved in the deadlock cycle and stuck for ever. It intend to follow XY-routing for the rest of the path from R6 by taking a SE Turn. In this way the resource dependency keeps on spreading across packets.

Similarly, the packets that has used or intend to use EWn Arcs are (9, 11), (10, 22), (5, 21) and (15, 22). They are highlighted with red color. Dependencies between all the packets are shown with a curved arrow. It is challenging to construct such an experimental dependency showing resource dependency in detail level by a manual process. Our CFSM framework has automated this process and make it convenience for us. The experimental packets wise detailed dependency in Fig. 5.17 matches with the DDG shown in Fig. 5.12.

It implies correctness of the DDG presented in the theory part.

R3 R8 R23 EWs

WEn

R5 R10 R25

R4 R9 R24

R2 R7 R22

R6

R1 R21

R13 R1819,17

12,4 R15

R20

14,25 R14

R1920,21

13,15 R12

R1718,16

R11 11,3 R16 17,11

11,19

20,7

Figure 5.18: Experimental deadlock scenario in a 5x5 Torus NoC for EWs and WEn Arcs with XY-routing due to new Turns introduced by Arcs

5.6.2.2 Deadlock Scenarios for (EWs + WEn) Arc with XY-Turn

The Arc pair (EWs + WEn) introduces two YX-Turns. WEs introduces SE Turn and WEn introduces NW Turn. We have already considered all XY-Turns are in the Mesh sub-network. Due to these two newly introduced YX-Turns deadlock cycle is possible as described in the Subsection 5.5.2. The experimental deadlock snapshot for (EWs + WEn) with XY-Turn in the Mesh sub-network is depicted in Fig. 5.18.

In the Fig. 5.18, the packet (11, 19) at the South port buffer of R20 has traversed using the WEn Arcs between R11 and R15. The packet would follow XY-Turns from R20 to reach the destination. Thus it intends to take a NW Turn and stuck in the dependency cycle for ever. Similarly, the packet (20, 7) present at the North port of R11 uses the EWs Arcs between R20 and R16. It intend to take SE Turn and stuck in the cyclic resource dependency. The experimental packets wise dependency cycle in Fig. 5.18is matching with the dependency graph shown in Fig. 5.14.

EWn NSw

R21 R22 R23 R24 R25

R16 R17 R18 R19 R20

R11 R12 R13 R14 R15

R6 R7 R8 R9 R10

R1 R2 R3 R4 R5

20,4

25, 2 20,2

22,6 3,1 5,7

6,19 7,15 7,15 9,25

6,25 15,25

25, 9

Figure 5.19: Experimental deadlock scenario in a 5x5 Torus NoC for EWn and NSw Arcs with XY-routing as per Lemma 5.5.2

5.6.2.3 Deadlock Scenarios for (EWn + NSw) Arc with XY-Turn

In the third example for experimental deadlock scenario, we have considered (EWn + NSw) Arc pairs. As per Lemma5.5.2, EWn and NSw Arcs are deadlock prone. Deadlock detection time for (EWn + NSw) Arc with respect to XY-Turn is 1556.76 seconds from the Table 5.2. The experimental deadlock scenario for (EWn + NSw) with XY-routing is depicted in Fig. 5.19. This deadlock snapshot complies with the dependency graph shown in Fig. 5.15.

The packet (20, 4) intends to use NSw Arc and reached the South port buffer of R25. The packet (25, 9) at the South port of R5, (25, 2) at the East port of R4, (20, 2) at the East port of R3 has already used the NSw Arcs between R25 and R5. The packet (22, 6) at the East port of R1 has used the NSw Arc between R22 and R2. The EWn Arc between R5 and R1 is used by the packet (5, 7). The packet has reached the South port of R6 and intend to use NE Turn to reach its destination. The NE Turn is introduced due to EWn Arc.

5.7 Conclusion

This chapter proposes a deadlock avoidance approach for Torus NoC. An Arc model is proposed for avoiding deadlock in Torus NoC. It imposes routing restrictions to break the cyclic path via wraparound channel. A directional dependency graph (DDG) is proposed which is be convenient for deadlock detection, useful in formulating deadlock avoidance and showing deadlock freedom. As an application of Arc model and DDG, the use of Arcs are discussed with XY-Turns. Arc pairs are categorised into deadlock free and deadlock prone pairs with respect to XY-Turns. Application of deadlock avoidance using DDG cycle of deadlock prone Arc pairs are shown with examples. All of the 28 possible Arc pairs along with XY-Turns in the Mesh sub-network are implemented in our CFSM based simulation framework and deadlock scenarios are experimentally validated by extensive random simu- lations. The proposed Arc model and DDG would be helpful in formulating deadlock free routing algorithms for Torus by considering maximum possible Arcs and Turns. We discuss various routing algorithms using Arc model in the next chapter.

6

Deadlock Free Routing Algorithms for Torus NoC using Arc Model

6.1 Introduction

The wraparound channels help in reducing overall hop counts in a given traffic in Torus NoC. On the other hand, these inherent circular paths act as a catalyst in the formation of circular dependency where a sequence of packets are involved. Thus, deadlock arises and the system stops functioning eventually. For avoiding deadlock in Torus NoC different techniques like bubble flow control [28, 29] or virtual channels (VC) [3] are used. In the bubble flow control approach, extra buffers are needed to ensure empty buffer slots at any

circumstances [28, 29]. In the VC approach, different classes of VCs are used to break cyclic dependencies [2, 11, 27]. However, these methods use additional resources like buffer or VCs to prevent from occurring deadlock.

Only a few algorithms exist for Torus NoC that avoids deadlock without using any addi- tional resources. Up*/Down* routing is a classical deadlock avoidance approach applicable for any communication network including Torus NoC [10]. A given topology is converted into a spanning tree in Up*/Down* routing. A spanning tree is acyclic in nature. These acyclic paths corresponding to a given NoC topology are used for routing packets. Due to the acyclic routing paths via a spanning tree deadlock is not possible in Up*/Down* routing.

Though deadlock is avoided, most of the packets use longer paths in Up*/Down* routing approach [94]. Turn model is another approach where deadlock is avoided by controlling the movements of packets by restricting certain Turns [1, 9]. The primary significance of Turn model is that it avoids deadlock without using additional buffers and virtual chan- nels. To deal with the inherent cyclic paths in Torus NoC via wraparound channel, FirstHop approach is used along with Turn model approach. In FirstHop approach, wraparound chan- nels in Torus NoC are permitted to use by the packets that are injected from the boundary routers. This restriction helps in discontinuing the resource dependency via wraparound channels in Torus. Thus, deadlock is avoided in FirstHop approach.

In this chapter, we have shown that our Arc model is specifically applicable for avoiding deadlock in Torus NoC without using any additional resources. In Arc model approach, inevitable cyclic dependency in circular paths via wraparound channels are broken by re- stricting immediate backward movement just after taking the wraparound channel. Each wraparound channels are logically subdivided into two Arcs based on next move just af- ter traversing through wraparound channel. Thus, there are eight logical Arcs from four wraparound channels. Arcs are needed to be chosen carefully considering a known deadlock free routing algorithm in the Mesh sub-network such that the combined effects of Turns in the routing algorithm and the Arcs do not create deadlock. All Arcs cannot be used at a time as some of the Arcs combinations are deadlock prone. One advantage of Arc over First

Hop method is that Arcs are applicable not only for packets injected from boundary nodes, but also for packets injected form non boundary nodes as well. Therefore, combining the suitable subset of Arcs and a routing algorithm in Mesh sub-network is a promising approach to develop deadlock free routing algorithms for Torus NoC.

R16(0,3)

R1(0,0) R6(0,1) R11(0,2) R21(0,4)

R2(1,0) R22(1,4)

R17(1,3)

R12(1,2)

R7(1,1)

R18(2,3) R23(2,4)

R13(2,2)

R8(2,1)

R3(2,0)

R19(3,3) R24(3,4)

R14(3,2)

R9(3,1)

R4(3,0)

R25(4,4)

R20(4,3)

R15(4,2)

R10(4,1)

R5(4,0)

Router

Processor

Figure 6.1: 5x5 Torus NoC

Dalam dokumen Doctor of Philosophy (Halaman 168-174)