eal-time Mixed-Criticality Wormhole Networks Leandro Soares Indrusiak eal-time Systems Group Department of Computer Science University of York United Kingdom eal-time Systems Group 1
Outline Wormhole Networks Networks-on-Chip eal-time Analysis Mixed-Criticality Analysis eal-time Systems Group 2
source: IBM, Intel Motivation Multiprocessor and multicore systems forced a shift towards communicationcentric design abundant computation resources shared communication media Leandro Soares Indrusiak Inter-processor communication point-to-point bus networks eal-time Systems Group 3
Networks key characteristics topology mesh, star, torus routing protocol deterministic, adaptive arbitration round-robin, priority preemptive, priority nonpreemptive, TDM buffering FIFO, SAFC, SAMQ, DAMQ, hot potato flow control protocol handshake, credit-based switching protocol circuit, store-and-forward, wormhole eal-time Systems Group 4
Networks key characteristics topology mesh, star, torus routing protocol deterministic, adaptive arbitration round-robin, priority preemptive, priority nonpreemptive, TDM buffering FIFO, SAFC, SAMQ, DAMQ, hot potato flow control protocol handshake, credit-based switching protocol circuit, store-and-forward, wormhole eal-time Systems Group 5
Circuit ing Terminal Terminal eal-time Systems Group 6
Circuit ing Terminal Terminal eal-time Systems Group 7
Circuit ing Terminal Terminal eal-time Systems Group 8
Circuit ing Terminal Terminal eal-time Systems Group 9
Circuit ing Terminal Terminal eal-time Systems Group 10
Circuit ing Terminal A segment of reserved path is idle for a significant period of time. Terminal eal-time Systems Group 11
Circuit ing Terminal A segment of reserved path is idle for a significant period of time. Terminal eal-time Systems Group 12
Circuit ing Terminal A segment of reserved path is idle for a significant period of time. Terminal eal-time Systems Group 13
Circuit ing Terminal A segment of reserved path is idle for a significant period of time. Terminal eal-time Systems Group 14
Circuit ing Terminal A segment of reserved path is idle for a significant period of time. Terminal eal-time Systems Group 15
Circuit ing Terminal A segment of reserved path is idle for a significant period of time. Terminal eal-time Systems Group 16
Circuit ing Terminal A segment of reserved path is idle for a significant period of time. Terminal eal-time Systems Group 17
Circuit ing Terminal A segment of reserved path is idle for a significant period of time. Terminal eal-time Systems Group 18
Circuit ing Terminal A segment of reserved path is idle for a significant period of time. Terminal eal-time Systems Group 19
Circuit switching Packets are forwarded through dedicated paths that are kept until the transmission is finished Contention can arise when establishing a path no further contention once path is established Temporary packet buffering in routers is not required Suitable to long and infrequent messages time to establish a path can be high eal-time Systems Group 20
SAF ing Terminal eal-time Systems Group 21
SAF ing Terminal eal-time Systems Group 22
SAF ing Terminal eal-time Systems Group 23
SAF ing Terminal eal-time Systems Group 24
SAF ing Terminal eal-time Systems Group 25
SAF ing Terminal eal-time Systems Group 26
SAF ing Terminal eal-time Systems Group 27
SAF ing Terminal eal-time Systems Group 28
SAF ing Terminal eal-time Systems Group 29
SAF ing Terminal eal-time Systems Group 30
SAF ing Terminal eal-time Systems Group 31
SAF ing Terminal eal-time Systems Group 32
SAF ing Terminal eal-time Systems Group 33
SAF ing SAF - Store And Forward outers can only forward a packet once it is completely received and stored packet acquires one link at a time outer input ports must have enough buffering space to temporarily store a complete packet eal-time Systems Group 34
Wormhole ing Terminal eal-time Systems Group 35
Wormhole ing Terminal eal-time Systems Group 36
Wormhole ing Terminal eal-time Systems Group 37
Wormhole ing Terminal eal-time Systems Group 38
Wormhole ing Terminal eal-time Systems Group 39
Wormhole ing Terminal eal-time Systems Group 40
Wormhole ing Terminal eal-time Systems Group 41
Wormhole switching Packet is routed and forwarded as soon the header flit has arrived payload flits follow header Input ports does not need to buffer a complete packet flits of a packet can be stored across multiple routers Trade-off between buffer overheads and network contention eal-time Systems Group 42
Wormhole Networks-on-Chip Small buffering overheads of wormhole networks was particularly attractive to a special class of resourceconstrained networks: Networks-on-Chip (NoCs) small buffers mean smaller area and lower energy dissipation eal-time Systems Group 43
Wormhole Networks-on-Chip outer Core Link eal-time Systems Group 44
Wormhole Networks-on-Chip Link eal-time Systems Group 45
Wormhole Networks-on-Chip arbitration data in data out data in data in routing & transmission control data out data out data in data out data in data out eal-time Systems Group 46
NoC parallelism and scalability CPU CPU I/O Multiple connections simultaneously AM CPU CPU eal-time Systems Group 47
NoC performance CPU CPU I/O task contention leads to latency variability link contention leads to latency variability AM CPU CPU eal-time Systems Group 48
Wormhole Networks-on-Chip eal-time Systems Group 49
Wormhole Networks-on-Chip eal-time Systems Group 50
Wormhole Networks-on-Chip eal-time Systems Group 51
Wormhole Networks-on-Chip eal-time Systems Group 52
Wormhole Networks-on-Chip eal-time Systems Group 53
Wormhole Networks-on-Chip eal-time Systems Group 54
Wormhole Networks-on-Chip packet is blocked eal-time Systems Group 55
Wormhole Networks-on-Chip eal-time Systems Group 56
Wormhole Networks-on-Chip eal-time Systems Group 57
Wormhole Networks-on-Chip new packet released eal-time Systems Group 58
Wormhole Networks-on-Chip eal-time Systems Group 59
Wormhole Networks-on-Chip eal-time Systems Group 60
Wormhole Networks-on-Chip eal-time Systems Group 61
Wormhole Networks-on-Chip eal-time Systems Group 62
Wormhole Networks-on-Chip Packets can acquire multiple links, making it hard to predict worst-case latency due to complex contention patterns Alternative: wormhole NoCs using virtual channels with priority preemptive arbitration eal-time Systems Group 63
Priority preemptive virtual channels Leandro Soares Indrusiak priority ID highest priority with remaining credit data_in credit_out routing & transmission control data_out credit_in eal-time Systems Group 64
Priority preemptive virtual channels Leandro Soares Indrusiak wormhole NoC with priority preemptive virtual channels eal-time Systems Group 65
Priority preemptive virtual channels Leandro Soares Indrusiak wormhole NoC with priority preemptive virtual channels eal-time Systems Group 66
Priority preemptive virtual channels Leandro Soares Indrusiak wormhole NoC with priority preemptive virtual channels high priority packet released eal-time Systems Group 67
Priority preemptive virtual channels Leandro Soares Indrusiak wormhole NoC with priority preemptive virtual channels eal-time Systems Group 68
Priority preemptive virtual channels Leandro Soares Indrusiak wormhole NoC with priority preemptive virtual channels eal-time Systems Group 69
Priority preemptive virtual channels first packet is preempted wormhole NoC with priority preemptive virtual channels eal-time Systems Group 70
Priority preemptive virtual channels Leandro Soares Indrusiak wormhole NoC with priority preemptive virtual channels eal-time Systems Group 71
Priority preemptive virtual channels Leandro Soares Indrusiak wormhole NoC with priority preemptive virtual channels eal-time Systems Group 72
Priority preemptive virtual channels Leandro Soares Indrusiak wormhole NoC with priority preemptive virtual channels eal-time Systems Group 73
Priority preemptive virtual channels Leandro Soares Indrusiak wormhole NoC with priority preemptive virtual channels eal-time Systems Group 74
Priority preemptive virtual channels Leandro Soares Indrusiak wormhole NoC with priority preemptive virtual channels eal-time Systems Group 75
Priority preemptive virtual channels Leandro Soares Indrusiak wormhole NoC with priority preemptive virtual channels eal-time Systems Group 76
Priority preemptive virtual channels Leandro Soares Indrusiak wormhole NoC with priority preemptive virtual channels eal-time Systems Group 77
Performance evaluation How to estimate performance figures for a particular application mapped to a Network-on-Chip? full system prototyping cores + NoC in FPGA, running OS + application extremely costly setup time, can only explore few design alternatives accurate system simulation cycle-accurate model of cores + NoC, running OS + application extremely long simulation time, can only explore few design alternatives approximately-timed system simulation approximately-timed model of cores + NoC, executing an abstract model of the OS + application analytical system performance models average or worst-case latency estimation for restricted application styles (periodic independent tasks, synchronous dataflow, etc.) eal-time Systems Group 78
Performance evaluation How to estimate performance figures for a particular application mapped to a Network-on-Chip? full system prototyping cores + NoC in FPGA, running OS + application extremely costly setup time, can only explore few design alternatives accurate system simulation cycle-accurate model of cores + NoC, running OS + application extremely long simulation time, can only explore few design alternatives approximately-timed system simulation approximately-timed model of cores + NoC, executing an abstract model of the OS + application analytical system performance models average or worst-case latency estimation for restricted application styles (periodic independent tasks, synchronous dataflow, etc.) eal-time Systems Group 79
End-to-End esponse Time Analysis (E2ETA) The worst-case end-to-end response time of a task is the longest time consumed between its release and the moment when the last packet it transmits arrives at the destination core It can be found by a specific composition of: worst case response time of tasks based on classical single processor schedulability analysis (Audsley et al., 1993) worst case latency of traffic flows based on the NoC schedulability analysis (Shi and Burns, 2008) It assumes that: the minimum inter-release time of each task (T) and its worst case computation time (C) are known the source task only starts transmitting packets after it finishes its execution system uses priority-preemptive arbitration L.S. Indrusiak, End-to-End Schedulability Tests for Multiprocessor Embedded Systems based on Networks-on-Chip with Priority-Preemptive Arbitration, Journal of Systems Architecture, v. 60, n. 7, Aug 2014. eal-time Systems Group 80
End-to-End esponse Time Analysis (E2ETA) Leandro Soares Indrusiak period (T) = deadline (D) response time of the task computation response time of the task communication L.S. Indrusiak, End-to-End Schedulability Tests for Multiprocessor Embedded Systems based on Networks-on-Chip with Priority-Preemptive Arbitration, Journal of Systems Architecture, v. 60, n. 7, Aug 2014. eal-time Systems Group 81
End-to-End esponse Time Analysis (E2ETA) Deadline (D) = Period of Task (T) End-to-end response time analysis: a task is schedulable if a packet flow is schedulable if Otherwise, system is unschedulable L.S. Indrusiak, End-to-End Schedulability Tests for Multiprocessor Embedded Systems based on Networks-on-Chip with Priority-Preemptive Arbitration, Journal of Systems Architecture, v. 60, n. 7, Aug 2014. eal-time Systems Group 82
End-to-End esponse Time Analysis (E2ETA) Leandro Soares Indrusiak precedence relationship must solve task s response time first, and add it as the release jitter of the flow s response time calculation eal-time Systems Group 83
End-to-End esponse Time Analysis (E2ETA) Leandro Soares Indrusiak recurrence relationships can be solved iteratively until convergence require safe initial value eal-time Systems Group 84
End-to-End esponse Time Analysis (E2ETA) Leandro Soares Indrusiak must identify interference sets, i.e. which tasks Task j (or flows Flow j ) can preempt a given task Task i (or flow Flow i ) eal-time Systems Group 85
End-to-End esponse Time Analysis (E2ETA) Complexity of E2ETA scales with size of NoC Leandro Soares Indrusiak complexity of application (# tasks and # flows) and of the allocation (amount of resource contention) Performance of E2ETA is orders of magnitude faster than the fastest available NoC simulation E2ETA has been further optimised and hardware-accelerated Y. Ma and L.S. Indrusiak, Hardware-accelerated esponse Time Analysis for Priority-Preemptive Networks-on-Chip, in Int Symposium on econfigurable Communication-centric Systems-on-Chip (ecosoc), 2015. eal-time Systems Group 86
Outline Wormhole Networks Networks-on-Chip eal-time Analysis Mixed-Criticality Analysis eal-time Systems Group 87
Outline Wormhole Networks Networks-on-Chip eal-time Analysis Mixed-Criticality Analysis rant time!! eal-time Systems Group 88
Outline Wormhole Networks Networks-on-Chip eal-time Analysis Mixed-Criticality Analysis eal-time Systems Group 89
Mixed-criticality packet communication in NoCs Packet flows of different levels of criticality can share the NoC infrastructure Initial work considers only two levels of criticality, and packet flows are assigned a criticality level at design time: HI-CIT or LO-CIT Packet flows are also assigned fixed priorities at design time HI-CIT packet flows make more conservative assumptions about the environment and therefore have more conservative upper bounds for their resource provisions however, it is expected that during normal operation mode their resource usage stays within the bounds obtained using less conservative assumptions used for LO-CIT packets eal-time Systems Group 90
Mixed-criticality packet communication in NoCs Possible sources of uncertainty packet length packet flow period C C C All packet flows must be schedulable under normal mode C C C untime monitoring detects when packets go beyond normal e.g. packets longer than expected, or injected more often than expected in normal mode C C C network interface eal-time Systems Group 91
Mixed-criticality packet communication in NoCs untime monitoring detects when packets go beyond normal if it is a LO-CIT packet exceeding its normal budget, reject it if it is a HI-CIT packet exceeding its normal budget, signal a mode change to the NoC, aiming to notify that a service degradation to LO-CIT packets is needed so that HI-CIT packets can still be scheduled despite of potential increase of interference due to overbudget packets C C C C C C C C mode change notification C eal-time Systems Group 92
Mixed-criticality packet communication in NoCs Two mode change propagation protocols C C C WPMC: mode change flag piggybacked on packets that pass through a router that has changed mode WPMC-FLOOD: mode change is flooded to the entire NoC C C C C C C A. Burns, J. Harbin, L. S. Indrusiak: A Wormhole NoC Protocol for Mixed Criticality Systems. TSS 2014: 184-195 eal-time Systems Group 93
Mixed-criticality packet communication in NoCs Two mode change propagation protocols C C C WPMC: mode change flag piggybacked on packets that pass through a router that has changed mode WPMC-FLOOD: mode change is flooded to the entire NoC C C C C C C L. S. Indrusiak, J. Harbin, A. Burns: Average and Worst-Case Latency Improvements in Mixed-Criticality Wormhole Networks-on-Chip. ECTS 2015. eal-time Systems Group 94
Mixed-criticality packet communication in NoCs Two HI-CIT mode arbitration schemes C C C routers that change mode ignore arbitration requests of LO-CIT packets C C C routers that change mode arbitrate links in criticality order (HI-CIT then LO-CIT), and in priority order within the same criticality C C C A. Burns, J. Harbin, L. S. Indrusiak: A Wormhole NoC Protocol for Mixed Criticality Systems. TSS 2014: 184-195 eal-time Systems Group 95
Mixed-criticality packet communication in NoCs Two HI-CIT mode arbitration schemes C C C routers that change mode ignore arbitration requests of LO-CIT packets C C C routers that change mode arbitrate links in criticality order (HI-CIT then LO-CIT), and in priority order within the same criticality C C C L. S. Indrusiak, J. Harbin, A. Burns: Average and Worst-Case Latency Improvements in Mixed-Criticality Wormhole Networks-on-Chip. ECTS 2015. eal-time Systems Group 96
Mixed-criticality packet communication in NoCs esponse Time Analysis formulations for each of the protocols were developed Evaluation with synthetic flowsets (against no criticality awareness and criticalitymonotonic arbitration) and cycle-accurate NoC simulation WPMC-FLOOD slightly better in general, significantly better in stress scenarios Less restrictive arbitration allows LO-CIT packets to flow when there are no HI-CIT packets or when they are blocked due to interferences A. Burns, J. Harbin, L. S. Indrusiak: A Wormhole NoC Protocol for Mixed Criticality Systems. TSS 2014: 184-195 L. S. Indrusiak, J. Harbin, A. Burns: Average and Worst-Case Latency Improvements in Mixed-Criticality Wormhole Networks-on-Chip. ECTS 2015. eal-time Systems Group 97
Mixed-criticality packet communication in NoCs esponse Time Analysis formulations for each of the protocols were developed Evaluation with synthetic flowsets (against no criticality awareness and criticality-monotonic arbitration) and cycle-accurate NoC simulation WPMC-FLOOD slightly better in general, significantly better in stress scenarios Less restrictive arbitration allows LO-CIT packets to flow when there are no HI-CIT packets or when they are blocked due to interferences L. S. Indrusiak, J. Harbin, A. Burns: Average and Worst-Case Latency Improvements in Mixed-Criticality Wormhole Networks-on-Chip. ECTS 2015. eal-time Systems Group 98
Mixed-criticality packet communication in NoCs esponse Time Analysis formulations for each of the protocols were developed Evaluation with synthetic flowsets (against no criticality awareness and criticalitymonotonic arbitration) and cycle-accurate NoC simulation WPMC-FLOOD slightly better in general, significantly better in stress scenarios Less restrictive arbitration allows LO- CIT packets to flow when there are no HI-CIT packets or when they are blocked due to interferences L. S. Indrusiak, J. Harbin, A. Burns: Average and Worst-Case Latency Improvements in Mixed-Criticality Wormhole Networks-on-Chip. ECTS 2015. eal-time Systems Group 99
Open questions Leandro Soares Indrusiak How to detect that the network has returned to normal mode, so LO-CIT service and guarantees can be restored? Can we give reasonable guarantees in networks with non-preemptive arbitration? Can we optimise task allocation and packet routing? Benchmarks? eal-time Systems Group 100
eal-time Mixed-Criticality Wormhole Networks Leandro Soares Indrusiak, with contributions from: Alan Burns, ob Davis, Iain Bate, James Harbin Mixed Criticality Embedded Systems on Many-Core Platforms EPSC EP/K011626/1 Project MCCps - Mixed Criticality Cyber- Physical Systems EPSC EP/P003664/1 Project www.cs.york.ac.uk/research/research-groups/rts/mcc www.cs.york.ac.uk/rts eal-time Systems Group 101