1 Leandro Soares Indrusiak Real-Time Systems Group
Priority-based Wormhole Networks-on-Chip: challenges and opportunities
Leandro Soares Indrusiak
Real-Time Systems Group Department of Computer Science University of York United Kingdom
Priority-based Wormhole Networks-on-Chip: challenges and - - PowerPoint PPT Presentation
Leandro Soares Indrusiak Priority-based Wormhole Networks-on-Chip: challenges and opportunities Leandro Soares Indrusiak Real-Time Systems Group Department of Computer Science University of York United Kingdom RTN 2017 1 Real-Time Systems
1 Leandro Soares Indrusiak Real-Time Systems Group
Leandro Soares Indrusiak
Real-Time Systems Group Department of Computer Science University of York United Kingdom
2 Leandro Soares Indrusiak Real-Time Systems Group
3 Leandro Soares Indrusiak Real-Time Systems Group
abundant computation resources shared communication media
point-to-point bus networks
source: IBM, Intel
4 Leandro Soares Indrusiak Real-Time Systems Group
mesh, star, torus…
deterministic, adaptive…
round-robin, priority preemptive, priority non- preemptive, TDM…
FIFO, SAFC, SAMQ, DAMQ, hot potato…
handshake, credit-based…
circuit, store-and-forward, wormhole
5 Leandro Soares Indrusiak Real-Time Systems Group
mesh, star, torus…
deterministic, adaptive…
round-robin, priority preemptive, priority non- preemptive, TDM…
FIFO, SAFC, SAMQ, DAMQ, hot potato…
handshake, credit-based…
circuit, store-and-forward, wormhole
6 Leandro Soares Indrusiak Real-Time Systems Group
kept until the transmission is finished
no further contention once path is established
time to establish a path can be high
7 Leandro Soares Indrusiak Real-Time Systems Group
Terminal
Switch Switch Switch Switch Switch Switch
Terminal
Packet Header Packet Data
8 Leandro Soares Indrusiak Real-Time Systems Group
Switch Switch Switch Switch Switch Switch
Terminal Terminal
Packet Header Packet Data
9 Leandro Soares Indrusiak Real-Time Systems Group
Switch Switch Switch Switch Switch Switch
Terminal Terminal
Packet Header Packet Data
10 Leandro Soares Indrusiak Real-Time Systems Group
Switch Switch Switch Switch Switch Switch
Terminal Terminal
Packet Header Packet Data
11 Leandro Soares Indrusiak Real-Time Systems Group
Switch Switch Switch Switch Switch Switch
Terminal Terminal
Packet Header Packet Data
12 Leandro Soares Indrusiak Real-Time Systems Group
Switch Switch Switch Switch Switch Switch
A segment of reserved path is idle for a significant period
Terminal Terminal
Packet Header Packet Data
13 Leandro Soares Indrusiak Real-Time Systems Group
Switch Switch Switch Switch Switch Switch
A segment of reserved path is idle for a significant period
Terminal Terminal
Packet Header Packet Data
14 Leandro Soares Indrusiak Real-Time Systems Group
Switch Switch Switch Switch Switch Switch
A segment of reserved path is idle for a significant period
Terminal Terminal
Packet Header Packet Data
15 Leandro Soares Indrusiak Real-Time Systems Group
Switch Switch Switch Switch Switch Switch
A segment of reserved path is idle for a significant period
Terminal Terminal
Packet Header Packet Data
16 Leandro Soares Indrusiak Real-Time Systems Group
Switch Switch Switch Switch Switch Switch
A segment of reserved path is idle for a significant period
Terminal Terminal
Packet Header Packet Data
17 Leandro Soares Indrusiak Real-Time Systems Group
Switch Switch Switch Switch Switch Switch
A segment of reserved path is idle for a significant period
Terminal Terminal
Packet Header Packet Data
18 Leandro Soares Indrusiak Real-Time Systems Group
Switch Switch Switch Switch Switch Switch
A segment of reserved path is idle for a significant period
Terminal Terminal
Packet Header Packet Data
19 Leandro Soares Indrusiak Real-Time Systems Group
Switch Switch Switch Switch Switch Switch
A segment of reserved path is idle for a significant period
Terminal Terminal
Packet Header Packet Data
20 Leandro Soares Indrusiak Real-Time Systems Group
Switch Switch Switch Switch Switch Switch
A segment of reserved path is idle for a significant period
Terminal Terminal
Packet Header Packet Data
21 Leandro Soares Indrusiak Real-Time Systems Group
received and stored
packet acquires one link at a time
temporarily store a complete packet
22 Leandro Soares Indrusiak Real-Time Systems Group
Switch Switch Switch Switch Switch Switch
Terminal
Packet Header Packet Data
23 Leandro Soares Indrusiak Real-Time Systems Group
Switch Switch Switch Switch Switch Switch
Terminal
Packet Header Packet Data
24 Leandro Soares Indrusiak Real-Time Systems Group
Switch Switch Switch Switch Switch Switch
Terminal
Packet Header Packet Data
25 Leandro Soares Indrusiak Real-Time Systems Group
Switch Switch Switch Switch Switch Switch
Terminal
Packet Header Packet Data
26 Leandro Soares Indrusiak Real-Time Systems Group
Switch Switch Switch Switch Switch Switch
Terminal
Packet Header Packet Data
27 Leandro Soares Indrusiak Real-Time Systems Group
Switch Switch Switch Switch Switch Switch
Terminal
Packet Header Packet Data
28 Leandro Soares Indrusiak Real-Time Systems Group
Switch Switch Switch Switch Switch Switch
Terminal
Packet Header Packet Data
29 Leandro Soares Indrusiak Real-Time Systems Group
Switch Switch Switch Switch Switch Switch
Terminal
Packet Header Packet Data
30 Leandro Soares Indrusiak Real-Time Systems Group
Switch Switch Switch Switch Switch Switch
Terminal
Packet Header Packet Data
31 Leandro Soares Indrusiak Real-Time Systems Group
Switch Switch Switch Switch Switch Switch
Terminal
Packet Header Packet Data
32 Leandro Soares Indrusiak Real-Time Systems Group
Switch Switch Switch Switch Switch Switch
Terminal
Packet Header Packet Data
33 Leandro Soares Indrusiak Real-Time Systems Group
Switch Switch Switch Switch Switch Switch
Terminal
Packet Header Packet Data
34 Leandro Soares Indrusiak Real-Time Systems Group
Switch Switch Switch Switch Switch Switch
Terminal
Packet Header Packet Data
35 Leandro Soares Indrusiak Real-Time Systems Group
arrived
payload flits follow header
flits of a packet can be stored across multiple routers
36 Leandro Soares Indrusiak Real-Time Systems Group
Switch Switch Switch Switch Switch Switch
Terminal
Packet Header Packet Data
37 Leandro Soares Indrusiak Real-Time Systems Group
Switch Switch Switch Switch Switch Switch
Terminal
Packet Header Packet Data
38 Leandro Soares Indrusiak Real-Time Systems Group
Switch Switch Switch Switch Switch Switch
Terminal
Packet Header Packet Data
39 Leandro Soares Indrusiak Real-Time Systems Group
Switch Switch Switch Switch Switch Switch
Terminal
Packet Header Packet Data
40 Leandro Soares Indrusiak Real-Time Systems Group
Switch Switch Switch Switch Switch Switch
Terminal
Packet Header Packet Data
41 Leandro Soares Indrusiak Real-Time Systems Group
Switch Switch Switch Switch Switch Switch
Terminal
Packet Header Packet Data
42 Leandro Soares Indrusiak Real-Time Systems Group
Switch Switch Switch Switch Switch Switch
Terminal
Packet Header Packet Data
43 Leandro Soares Indrusiak Real-Time Systems Group
small buffers mean smaller area and lower energy dissipation
PE PE PE PE PE PE PE PE R PE R R R R R R R R
44 Leandro Soares Indrusiak Real-Time Systems Group
PE PE PE PE PE PE PE PE R PE R R R R R R R R
Core Router Link
45 Leandro Soares Indrusiak Real-Time Systems Group
PE PE PE PE PE PE PE PE R PE R R R R R R R R
Link
46 Leandro Soares Indrusiak Real-Time Systems Group
arbitration routing & transmission control routing & transmission control
data out data in data out data in data out data in data out data in data out data in
PE PE PE PE PE PE PE PE R PE R R R R R R R R
47 Leandro Soares Indrusiak Real-Time Systems Group
48 Leandro Soares Indrusiak Real-Time Systems Group
Multiple connections simultaneously
49 Leandro Soares Indrusiak Real-Time Systems Group
link contention leads to latency variability
task contention leads to latency variability
50 Leandro Soares Indrusiak Real-Time Systems Group
worst-case response time of each task worst-case latency of each NoC packet worst-case end-to-end latencies of communicating task chains
the system’s temporal behaviour
limited best/worst case difference
upper bound
time time frequency frequency
51 Leandro Soares Indrusiak Real-Time Systems Group
R R R R R R
PE
Packet Header Packet Data
PE
52 Leandro Soares Indrusiak Real-Time Systems Group
R R R R R R
PE
Packet Header Packet Data
PE
53 Leandro Soares Indrusiak Real-Time Systems Group
R R R R R R
PE
Packet Header Packet Data
PE
54 Leandro Soares Indrusiak Real-Time Systems Group
R R R R R R
PE
Packet Header Packet Data
PE
55 Leandro Soares Indrusiak Real-Time Systems Group
R R R R R R
PE
Packet Header Packet Data
PE
56 Leandro Soares Indrusiak Real-Time Systems Group
R R R R R R
PE
packet is blocked Packet Header Packet Data
PE
57 Leandro Soares Indrusiak Real-Time Systems Group
R R R R R R
PE
Packet Header Packet Data
PE
58 Leandro Soares Indrusiak Real-Time Systems Group
R R R R R R
PE
Packet Header Packet Data
PE
59 Leandro Soares Indrusiak Real-Time Systems Group
R R R R R R
PE
new packet released Packet Header Packet Data
PE
60 Leandro Soares Indrusiak Real-Time Systems Group
R R R R R R
PE
Packet Header Packet Data
PE
61 Leandro Soares Indrusiak Real-Time Systems Group
R R R R R R
PE
Packet Header Packet Data
PE
62 Leandro Soares Indrusiak Real-Time Systems Group
R R R R R R
PE
Packet Header Packet Data
PE
63 Leandro Soares Indrusiak Real-Time Systems Group
R R R R R R
PE
Packet Header Packet Data
PE
64 Leandro Soares Indrusiak Real-Time Systems Group
Full traffic separation (i.e. no link contention)
65 Leandro Soares Indrusiak Real-Time Systems Group
Virtual traffic separation
66 Leandro Soares Indrusiak Real-Time Systems Group
67 Leandro Soares Indrusiak Real-Time Systems Group
…
highest priority with remaining credit data_in credit_out data_out credit_in
…
routing & transmission control priority ID
…
highest priority with remaining credit
…
routing & transmission control
PE PE PE PE PE PE PE PE R PE R R R R R R R R
68 Leandro Soares Indrusiak Real-Time Systems Group
R R R R R R
PE
wormhole NoC with priority preemptive virtual channels
Packet Header Packet Data
PE
69 Leandro Soares Indrusiak Real-Time Systems Group
R R R R R R
PE
wormhole NoC with priority preemptive virtual channels
Packet Header Packet Data
PE
70 Leandro Soares Indrusiak Real-Time Systems Group
R R R R R R
PE
wormhole NoC with priority preemptive virtual channels
Packet Header Packet Data
PE
high priority packet released
71 Leandro Soares Indrusiak Real-Time Systems Group
R R R R R R
PE
wormhole NoC with priority preemptive virtual channels
Packet Header Packet Data
PE
72 Leandro Soares Indrusiak Real-Time Systems Group
R R R R R R
PE
wormhole NoC with priority preemptive virtual channels
Packet Header Packet Data
PE
73 Leandro Soares Indrusiak Real-Time Systems Group
R R R R R R
PE
wormhole NoC with priority preemptive virtual channels
Packet Header Packet Data
PE
first packet is preempted
74 Leandro Soares Indrusiak Real-Time Systems Group
R R R R R R
PE
wormhole NoC with priority preemptive virtual channels
Packet Header Packet Data
PE
75 Leandro Soares Indrusiak Real-Time Systems Group
R R R R R R
PE
wormhole NoC with priority preemptive virtual channels
Packet Header Packet Data
PE
76 Leandro Soares Indrusiak Real-Time Systems Group
R R R R R R
PE
wormhole NoC with priority preemptive virtual channels
Packet Header Packet Data
PE
77 Leandro Soares Indrusiak Real-Time Systems Group
R R R R R R
PE
wormhole NoC with priority preemptive virtual channels
Packet Header Packet Data
PE
78 Leandro Soares Indrusiak Real-Time Systems Group
R R R R R R
PE
wormhole NoC with priority preemptive virtual channels
Packet Header Packet Data
PE
79 Leandro Soares Indrusiak Real-Time Systems Group
R R R R R R
PE
wormhole NoC with priority preemptive virtual channels
Packet Header Packet Data
PE
80 Leandro Soares Indrusiak Real-Time Systems Group
R R R R R R
PE
wormhole NoC with priority preemptive virtual channels
Packet Header Packet Data
PE
81 Leandro Soares Indrusiak Real-Time Systems Group
82 Leandro Soares Indrusiak Real-Time Systems Group
not available as COTS
83 Leandro Soares Indrusiak Real-Time Systems Group
hardware overhead related to virtual channel buffering and arbitration
Xilinx Artix FPGA
84 Leandro Soares Indrusiak Real-Time Systems Group
hardware overhead related to virtual channel buffering and arbitration
simple round-robin, no traffic shaping
Xilinx Artix FPGA
85 Leandro Soares Indrusiak Real-Time Systems Group
hardware overhead related to virtual channel buffering and arbitration
priority non- preemptive arbitration [Sudev & Indrusiak, ReCoSoC 2014]
Xilinx Artix FPGA
OPEN PROBLEM ALERT
86 Leandro Soares Indrusiak Real-Time Systems Group
hardware overhead related to virtual channel buffering and arbitration
priority preemptive arbitration, 4 VCs with 2 position buffers each
Xilinx Artix FPGA
87 Leandro Soares Indrusiak Real-Time Systems Group
notion of priorities is very intuitive and natural no waste of bandwidth through reservation mechanisms amenable to tight analysis methods (more on this later) virtual separation of traffic accommodates change in traffic properties (periods, packet sizes, jitter)
88 Leandro Soares Indrusiak Real-Time Systems Group
simple protocols to handle mixed-criticality traffic
C R R R R C R R C R R C R C C C C C
mode change notification
C R R R R C R R C R R C R C C C C C
after a mode change, routers arbitrate links in criticality order, and in priority
same criticality
89 Leandro Soares Indrusiak Real-Time Systems Group
90 Leandro Soares Indrusiak Real-Time Systems Group
91 Leandro Soares Indrusiak Real-Time Systems Group
application mapped to a Network-on-Chip?
full system prototyping
accurate system simulation
approximately-timed system simulation
the OS + application
analytical system performance models
(periodic independent tasks, synchronous dataflow, etc.)
92 Leandro Soares Indrusiak Real-Time Systems Group
application mapped to a Network-on-Chip?
full system prototyping
accurate system simulation
approximately-timed system simulation
the OS + application
analytical system performance models
(periodic independent tasks, synchronous dataflow, etc.)
93 Leandro Soares Indrusiak Real-Time Systems Group
Mutka (1994) Hary and Ozguner (1997)
as a single shared resource
worst-case latency bound of a packet flow can be found by analysing the higher priority packet flows that share at least one link of its route
94 Leandro Soares Indrusiak Real-Time Systems Group
PE PE PE PE PE PE PE PE R PE R R R R R R R R
t4 t3 t2 t1 pri(t1)>pri(t2)>pri(t3)>pri(t4) t2 t4 t3 t1 interference graph
95 Leandro Soares Indrusiak Real-Time Systems Group
PE PE PE PE PE PE PE PE R PE R R R R R R R R
t2 t3 t1 pri(t1)>pri(t2)>pri(t3)
96 Leandro Soares Indrusiak Real-Time Systems Group
aiming to provide upper bounds to sporadic packets over NoCs with priority preemptive virtual channels flawed assumption of a critical instant where all packets start flowing simultaneously
97 Leandro Soares Indrusiak Real-Time Systems Group
interference jitter Jj
I = Rj-Lj
OPEN PROBLEM ALERT
98 Leandro Soares Indrusiak Real-Time Systems Group
highly cited: 145 (Google Scholar) many works on priority assignment and task mapping a few on analysis improvement, aiming to make it tighter
be calculated based on the full path, but the contention domain
consider backpressure)
backpressure effects
99 Leandro Soares Indrusiak Real-Time Systems Group
new formulation to the upstream indirect interference problem, aiming to be tighter than Shi and Burns 2008 new formulation to the downstream indirect interference problem, aiming to capture a previously unseen issue, and showing that Shi and Burns 2008 is optimistic and unsafe (and so are all the analyses upper-bounded by it)
100 Leandro Soares Indrusiak Real-Time Systems Group
Xiong et al’s formulation to the upstream indirect interference problem was flawed Xiong et al’s formulation to the downstream indirect interference problem was correct, but unnecessarily pessimistic (i.e. it assumed all indirect interference as if it is direct interference) a tighter upper bound that considers the downstream indirect interference problem is possible
OPEN PROBLEM ALERT
101 Leandro Soares Indrusiak Real-Time Systems Group
102 Leandro Soares Indrusiak Real-Time Systems Group
guides the search towards full schedulability much faster than simulation, therefore can cover a wider search space
103 Leandro Soares Indrusiak Real-Time Systems Group
Reconfigurable Communication-centric Systems-on-Chip (ReCoSoC), 2011.
VLSI (ISVLSI), 2013.
evolutionary algorithm
104 Leandro Soares Indrusiak Real-Time Systems Group
by a chromosome structure
Selection Crossover Mutation
105 Leandro Soares Indrusiak Real-Time Systems Group
# unschedulable tasks and flows generations
106 Leandro Soares Indrusiak Real-Time Systems Group
communicating tasks), 4x4 Mesh NoC
VLSI (ISVLSI), 2013.
107 Leandro Soares Indrusiak Real-Time Systems Group
evolutionary algorithm
example: evolve mappings that are fully schedulable and low power
# unschedulable tasks and flows generations dissipated power generations
108 Leandro Soares Indrusiak Real-Time Systems Group
application (AVA) benchmark, 4x4 Mesh
solution convergence between single and multiple objectives
VLSI (ISVLSI), 2013.
109 Leandro Soares Indrusiak Real-Time Systems Group
(SA) benchmark, 4x4 Mesh
solution convergence between single and multiple objectives
VLSI (ISVLSI), 2013.
110 Leandro Soares Indrusiak Real-Time Systems Group
(SA) benchmark, 5x5 Mesh
solution convergence between single and multiple objectives
VLSI (ISVLSI), 2013.
111 Leandro Soares Indrusiak Real-Time Systems Group
advances needed on accounting for indirect interference
task mapping, packet routing, priority assignment, security features, voltage and frequency scaling
OPEN PROBLEM ALERT OPEN PROBLEM ALERT
112 Leandro Soares Indrusiak Real-Time Systems Group
Leandro Soares Indrusiak
with contributions by: Alan Burns, Rob Davis, Iain Bate, Neil Audsley, James Harbin, Piotr Dziurzanski, Amit Singh, Paris Mesidis, Adrian Racu, Norazizi Sayuti, Zheng Shi, Yunfeng Ma, Rosh Mendis, Bharath Sudev with funding from: EU (DreamCloud, T-CREST), EPSRC (MCC, MCCps)