ECE 720T5 Fall 2011 Cyber-Physical Systems Rodolfo Pellizzoni Topic Today: End-To-End Analysis • HW platform comprises multiple resources – Processing Elements – Communication Links • SW model consists of multiple independent flows or transactions – Each flow traverses a fixed sequence of resources – Task = flow execution on one resource – We are interested in computing its end-to-end delay f1 R1 R2 R3 R4 2 / 47 Analyses: Model Analysis Task Model Resource Model Network Calculus / Real-Time Calculus General arrival General service Any; works model model better for independent policies No assumption Holistic Analysis Periodic / Sporadic Transactions Fixed times per-task Independent (TDMA), FP, EDF Any deadline Delay Analysis Aperiodic (can Fixed times be extended to per-task periodic but it works worse) Independent, FP Any; for periodic, works better for D <= period Flow-based latency analysis Periodic / Sporadic Transactions FP <= period (could be extended) Fixed pertransaction time; unidirectional Arbitration Deadlines 3 / 47 Pipeline Delay • f1 and f2 share more than one contiguous resources. • Can the analysis take advantage of this information? – If f2 “gets ahead” of f1 on R2, it is likely to cause less interference on R3. f1 R1 R2 f2 R3 R4 4 / 47 Transitive Delay • f2 and f3 both interfere with f1, but only one at a time. • Can the analysis take advantage of this information? f1 R1 f2 R2 R3 R4 f3 5 / 47 Analyses: Model Analysis Interference increases with # resources? Network Calculus / Superlinear (down Real-Time Calculus to almost constant in some cases) Pipeline Delay Considered? Transitive Delay Considered? No Yes Holistic Analysis Generally linear in # No (partial if flow different resources revisits resource) Yes Delay Analysis Almost constant No (partial extension) Flow-based latency Almost constant analysis Yes Yes (Partial for Link- No (Yes for LinkLevel Analysis) Level Analysis) 6 / 47 Holistic Analysis 7 Transaction Model (Tasks with Offsets) • Fast and Tight Response-Times for Tasks with Offsets • Schedulability Analysis for Tasks with Static and Dynamic Offsets. • Improved Schedulability Analysis of Real-Time Transactions with Earliest Deadline Scheduling Ci 1 Ti Ci 2 Ji 1 Ci 3 Ji 2 ai ai 1 Ji 3 ai 2 φi 1 ai 3 di 1 Di1 φi 2 System model and notation di 2 Di2 φi 3 di 3 Di3 = Di Ti Figure 1. Transaction model 8 / 47 ing these deadlines can be proven to be NP-Hard usi Holistic Analysis 1. 2. 3. 4. Start with offsets = cumulative computation times. Compute worst-case response times. Update release jitter. Go back to step 2 until convergence to fixed-point (or endto-end response time > deadline). Ri 1 Ri 2 Ri 3 a) WC ai = ai 1 ai 2 ai 3 φi 2 = Ci 1 J i 2 = R i 1 − φi 2 φi 3 = Ci 1 + Ci 2 J i 3 = R i 2 − φi 3 b) CD ai = ai 1 ai 2 φi 2 = R i 1 ai 3 9 / 47 Can you model Wormhole Routing? • Sure you can! • For a flow with K flits, simply assume there are K transactions – Assign artificially decreasing priorities to the K transactions to best model the precedence constraint among flits. • The problem is that response time analysis for transaction models do not take into account relations among different resources – can not take advantage of pipeline delay. 10 / 47 Response Time Analysis • Let’s focus on a single resource – note a flow might visit a resource multiple times. • The worst-case is produced when a task for each interfering transaction is released at the critical instant after suffering worstcase jitter. – Tasks activated before the critical instant are delayed (by jitter) until the critical instant if feasible – Tasks activated after the critical instant suffer no jitter • EDF: the task under analysis has deadline = to the deadline of any interfering task in the busy period • RM: a task of the transaction under analysis is released at the critical instant – Same assumptions for all other tasks of the transactions – In both cases, we need to try out all possibilities 11 / 47 Response Time Analysis • Problem: the number of possible activation patterns is exponential – For each interfering transaction, we can pick any task – Hence the number of combinations is exponential in the number of transactions. • Solution: compute a worst-case interference pattern over all possible starting tasks for a given interfering transaction. • For the transaction under analysis we still analyze all possible patterns. 12 / 47 F i g. 6. A simple example t ransact io Example t ime. T his means t hat t he response t ime formulas, for t t ask, present ed in appendix A, can be reduced and simp Transaction under analysis: R u a = Cu a + Wi∗ (τ u a , R u a ) single task with C=2 ∀i = u 6 Wi1 4 2 Wi 2 T he response-t ime calculat ion is performed by mea (st 4 art ing wit h R u a = 0) as follows: 6 2 t 01234567891 0 6 Wi1 & Wi 2 t 01234567891 0 6 4 4 2 2 t Wi * t It er# 0 1 2 3 4 t W i 1 W i 2 W i∗ R u a 0 0 0 0 0 2 2 2 4 4 6 6 6 4 6 8 8 6 4 6 8 Where column “It er# 0123456789 1 0 0123456789 1 0” denot es t he it erat ion number, “t” 47 and “Wi 1 ” denot es Wi c (τ u a , t) for t he two candidat13 e t/asks ∗ esions t he value of W ∗ (τ , t), and “R ” t he c F i g. 5. W (τ , t )“W and W”∗ (τdenot , t) funct Tighter Analysis F i g. 8. Int erference imposed by our example t T he slant ed st airs generat ed by equat ion 8 are shown and figure 8(c) shows t hemKey overlaid. our new vers idea:Using use slanted t ion 5 we get t he maximised slant ed st airs int erference stairs instead t he approximat ion funct ion Wi∗ , shown in figure 8(d). W Wit h t he new definit ion of int erference in equat ion 8 6 t ion 7 t o calculat e a new response-t ime R u a for our exam Wi1 i2 6 (b) (a) t t 0 0 0 1 2 0 Wi1 & Wi 2 1 2 Wi * 6 6 (d) (c) t 0 t 1 2 t W i 1 W i 2 W i∗ R u a 0 0 0 0 0 2 2 2 2 2 4 4 2 4 4 6 6 4 4 4 6 2 We not e t hat our new definit ion of I iSet (t) makes t he a j c 0 1 2 14 origi / 47 empt y slot between t asks τ i 1 and τ i 2 , somet hing t he Hence, t he calculat ed response-t ime (6) is lower t h 0 0 It er# 0 1 2 3 4 Removing Jitter • Jitters introduce variability – increase w-case response time • Alternative: time-trigger all tasks. 1. Start with offsets = cumulative computation times. 2. Compute worst-case response times. Ri 1 3. Modify offsets. Ri 2 R i 3 convergence or divergence 4. Go back to step 2 until • However convergence is trickier now! a) WCDO ai = ai 1 ai 2 ai 3 φi 2 = Ci 1 J i 2 = Ri 1 − φi 2 φi 3 = Ci 1 + Ci 2 J i 3 = R i 2 − φi 3 b) CDO ai = ai 1 ai 2 ai 3 φi 2 = R i 1 φi 3 = Ri 2 Figure 2. Setting offsets and jitters 15 / 47 Cyclic-Dynamic Offsets • Response time can decrease as a result of modifying offsets. – Always increasing as jitter increases • We can prove that it is sufficient to check for limit cycles. ives more pessimistic ase times of the tasks ct, the contrary is efithm provides tighter n WCDO, as the fol- R2 R2 R1 R7 R3 R8 ector R , f N T O (R ) ≤ R6 R5 T O (R ). Furthermore, r for each task τ i j as 4, 5 and 6 with reffset as computed by en it suffices to prove ab ≤ R ab. y obtain φ i j = J i j + assuming the same ac- R4 R0 R1 Figure 3. A limit cycle 16 / 47 assume that the computation times for each task on ever Delay stage is one unit. Pipeline The objective is to estimate the end-to end and schedulability ofWith T1 . Jitter… • delay T2 higher priority. All Ctime = 1. T 2,1 1,1 T T 2,3 2,2 O=0 R=2 J=0 T T T O=1 R=4 J=1 T 1,3 1,2 2,4 O=2 R = 7! J=2 O=3 R=9 J=4 T T 1,7 S1 T T O=6 R = 15 J=7 1,6 S2 1,4 O=5 R = 13 J=6 1,5 S3 O=4 R = 11 J=5 S4 17 / 47 assume that the computation times for each task on ever Delay stage is one unit. Pipeline The objective is to estimate the end-to end and schedulability ofWith T1 . Offsets… • delay T2 higher priority. All Ctime = 1. T T T 2,1 O=2 R=4 O=0 R=2 T 2,4 O=4 R=6 T T 1,1 T 2,3 2,2 O=6 R=8 1,3 1,2 T T 1,7 S1 T T O = 12 R = 14 1,6 S2 1,4 O = 10 R = 12 1,5 S3 O=8 R = 10 S4 18 / 47 Delay Calculus 19 Delay Calculus • End-To-End Delay Analysis of Distributed Systems with Cycles in the Task Graph • System Model: – Aperiodic flows (each called a job) – Each job has the same fixed priority on all resources (nodes) – Arbitrary path through nodes (stages) – can include cycles – Each stage can have a different computation time • How to model worm-hole routing – Use one job for each flit 20 / 47 Break the Cycles • f1 lowest-priority flow under analysis • f2 is broken into two non-cyclic folds: (1, 2, 3) and (2, 3, 4) • The two segments that overlaps with f1 are: (1, 2, 3) and (2, 3) • Solution: consider f1(1, 2, 3) and f1(2,3) as separate flows. f2 R1 f1 R2 R3 R4 21 / 47 the ere be job by ted es1. inob) ing ferdes job ) at deng, be- Figure 2 shows an example where the path of J 1 traverses five stages. Higher-priority job segments that share parts of that path are indicated by arrows that extend across the stages they execute on, pointing in the direction of the flow of the segment. Cross-flow segments are indicated by vertical arrows at the node they execute on. Types of Interfering Flows Figure 2. Three segment types Consider the interval of time starting from the arrival time of J 1 to the system, until the finish time of J 1 on its last stage. The length of this interval is the end-to-end response time of J 1 , which we wish to bound. Let us now 22 / 47 stage. Remember that a busy execution trace, by definithree lemm tion, cannot contain idle time, since it is composed of conof segmen tiguous intervals of continuous processing, ending with the flow segme finish time of trace: J 1 on its last stage. the following, weeach shall stageWe start w • Earliest earliest job In finishing time on such bound thethere lengthisofnoa valid busy at trace, that idle time thehence, end. bounding the end-to-end response-time of J 1 . Lemma 1 most one s est traversa Proof. The ments, by d Execution Trace Lemma 2: most one s est traversa Proof. The execute on from J 1 . S of J 1 , if J 23 / 47 stage j , the Delay Bounds • Each cross-flow segment and reserve-flow segment contributes one stage computation time to the earliest trace • What about forward flows? one execution of the longest job on each stage f2 preempting lower-priority job S1 f1 f2 f2 S2 S3 S4 f2 on the last stage it delays f1 f1 f2 f1 f2 f1 24 / 47 (3) 2) ing policyjobs) that assigns sameletpriority all stages priority on stagethe j , and N odej ,lacross ow er m ax denote fortheeach job, and a differenttime priority for different jobs, maximum computation of any lower priority job Delay Bounds the end-to-end delayofofJ 1a on jobstage J 1 following path p1 can be that joins the path j. composed from the execution parameters of higher priority 2 max executions for each Theorem 2. For a non-preemptive scheduling policyMax thatexec time higher it priority segment jobs that delay or preempt as follows: Preemptive each stage assigns theCase: same priority across all stages for eachforjob, and a different priority for different x ,sjobs, the end-to-end D elay(J 1 ) ≤ 2Ci ,m ax + N odej ,m ax delay of a job J 1 following path p can be composed from 1 x ,s x x i J i ∈ Q i J i ∈ Segi j ∈ p1 the execution parameters of jobs that delay it as follows: (5) Non-Preemptive Case: one mpt liest• sal and gment nit is, rary rtents of • ,s t are DProof. erelay(JThe Cix,m + Lemma N ode1,j ,al2,l m ax from 1 ) ≤theorem follows trivially ax eralill i J isthe j ∈ p 1cross-flow, ∈ Q i contributions J ix , s ∈ Segix and 3, by adding of all Jk . sal reverse-flow, and forward-flow segments to the trace. + N ode (6) j ,l ow er m ax ives of j ∈ p1 nder ndNo preemption Wemeans shall now state the theorem … under non-preemptive but we have to pay one ar-one maxscheduling, execution of blocking time execution for but omit its proof. Let max N ode j ,al l m ax denote higher priority segment… 3) on each stage 18the maximum computation time of any job (not just higher priority jobs) on stage j , and let N odej ,l ow er m ax denote 25 / 47 assume that the computation times for each task on ever Pipeline - Preemptive stage is one unit. TheDelay objective is to estimate the end-to end and schedulability ofTT . 1 • delay T2 higher priority. All Ctime = 1. response time = 9. 1 T T T T T T 2,1 1,1 2,2 1,2 2,3 T 2,4 1,3 T T T T S1 S2 S3 1,7 1,6 1,4 1,5 S4 26 / 47 he across all stages madesame of a setpriority of folds, deThe Periodic Case J ix ∈ Qi priority gives rise tofor one different jobs, ferent ively called set Segix . The a delay job JNow p1 can be by periodic activations… 1 following • bound assume jobs are produced on J 1 in the path tion• parameters of cyclic highersystem priority Trick: reduce to an equivalent uniprocessor ptwork-conserving it assystem. follows: For preemptive case: schedul- e priority–across all stages Replace each segment with priority for different jobs, x ,s 2C + N odej ,m ax following path 1 1 can ip,m ax be arameters of higher priority j ∈ p J ix , s ∈ Segix 1 follows: a periodic task with ctime = – Replace the flow under (5) analysis with a task with ctime = ,s 2Cix,m ax + egix N odej ,m ax j ∈ p1 lows trivially from (5) Lemma 1, 2, • Schedulability can then be checked with any uniprocessor contributions of all cross-flow, test (utilization bound, response time analysis). ivially from Lemma 1, to 2, the trace. d-flow segments butions of all cross-flow, segments to the trace. he theorem under non-preemptive 27 / 47 Transitive Delay • • • • All Ctime = 1, non-preemptive. Let’s assume T2 = T3 = 2, deadline = period. Then U2 = ½, U3 = ½ and the system is not schedulable… In reality the worst-case response time of f1 is 4. f1 S1 f2 S2 f3 28 / 47 Other issues… • What happens if deadline > period? – Add an addition floor(deadline/period) instances of the higher priority job. – Self blocking: the flow under analysis can block itself. Hence, consider its previous instances as another, higher priority flow. • What happens if a flow suffers jitter (i.e., indirect blocking)? – Add an additional ceil(jitter/period) instances. – Note: all reverse flows have this issue… • Lots of added terms -> bad analysis for low number of stages. 29 / 47 0 0 0.3 0 .8 0.2 0 .7 0.1 0 5 10 15 No. of Nodes in System 20 25 S ta g e U tiliz a tio n Average Per Stage Utilization consisting of 80000 task invocations. For the purpose of doescontrollers, it perform well? Figure comparing When different admission each admission utiliza controller was allowed to execute on the same 100 task • Send request to a server, getforanswer eter va sets. The 95% confidence interval all the back. values pre• Same path1% forof allthe request/response sented is within mean value, and pairs! is not plotted in Figure for•theHundreds sake of legibility. of tasks. implies th 0.8 Traditional test lows lowe Holistic Analysis 0.7 Bound after cutting loops the backg New Bound 0.6 lines, incr trend is ob 0.5 new boun 0.4 deadline r 0 .6 .5 30 / 470 0 .4 Network Calculus 31 sent Aggregate Traffic ges phngth• Assumption: we do not know the arbitration employed by min , the router. • Solution: consider each flow as the lowest-priority one. apFigure 7: Two Flows Circular Example the can two posted write flows f 1 , f 2 and three bus segments de0 0 picted in Figure 7, where we assume that δ 1 , δ2 are known rom and ρ1 = ρ2 = ρ ≤ 0.5C. Using Corollary 9 would yield wer 1 2 3 1 2 3 six equations for burstiness δ 1 , δ1 , δ1 , δ1 , δ1 , δ1 : mum δ11 δ12 δ13 δ22 ρ1 C − ρ2 δ21 ρ1 C − ρ2 1 δ22 ρ1 C − ρ2 δ21 δ22 δ23 δ12 ρ2 C − ρ1 δ11 ρ2 C − ρ1 ρ02 C −δ01ρ1 = δ2 Example + Figure =7: δTwo 1 + Flows Circular (12) 10 = δ11 + = δ21 + wo posted write flows f , f and three bus segments de2 2 us= δ1 + = δ2 + picted in Figure 7, where we assume that δ1 , δ2 are known elds and ρ2 that = ρthere ≤ 0.5C. Using Corollary 9 would yield ot a ρ1 =Note is a circular dependencies between δ12 , δ21 32 / 47 nto be used with Theorems 6the and 10 δ11can = 2δthereδ2 = om 1 + ρ1 C − ρ2 tions 5, 8 are linear in burstiness terms. We form x and = Ax is a vector unknown ρ1 + = b, ρ2where = ρ ≤x 0.5C. UsingofCorollary 9burstiwould δ2 3 2 the yield 3 wer totherefore foreask use ourselves them toNetwork obtain a linear system of equations of whether usδ = δ + ρ δ 1 Solution 2 3 1 12 3 1 1 2 = C − ρ ness values, A is a square matrix and bis a vector of known six equations for burstiness δ , δ , δ , δ , δ , δ : 2 1 1 1 1 1 1 um form x8 = Ax + b, where x is a vector of unknown burstice Theorem of or Theorem 12 yields values.ness Furthermore, itsquare can bematrix shown that following Equaj 2 2 values, A is a and b is a vector of known wδ1there is a circular dep urstiness δboth . InδAgeneral, this isδ2not a δ1 = Hence, 1 Note that i = δ + ρ δ + ρ q tions 5, 8 and bare non negative. if all 1 1 2 2 1j 2 values. Furthermore, it can that following EquaC − ρbe C − ρ1eigenδl 2 shown 1 1 − 1 δ δ2 , δ1 , hence we can he service rates S computed by Theδ and between values of A are within the unit circle, (I − A) is also 2 1 2 1 2 1 eigeni = Aδand 2non 1 (12) tions 5, 8 δboth bare non negative. Hence, if all to 10 + ρ δ = δ + ρ 1 2 1 1 2 2 C − ρ2 C − ρ 1 −−11 this mparable. Obviously if ρ is smaller To solve problem, we follow values of A are within the unit circle, (I − A) is also non i δ δ nnegative and x can be computed as x = (I − A) b. By fol3 2 3 2 2 1 usδ1 = δ1 + ρ1 C − ρ2 δ2 = δ2 + ρ2−C1− ρ1 inlowing ice curve, can it. In the[2], eated in be Proposition negative and xnot canuse beprinciple computed as x it= can (I −then A) b. proven By fol- 2.4.1 in [2] thewe time stopping lds tethat•both lowing the time stopping principle [2],at ittions can proven ply service curves, have to dependencies indeed provides aiswe valid upper bound forthen burstiness. 1the bursti 5, 8be are the burstiness values stages 1, 2 linear are δ2in ot a xProblem: Note that there a circular between , δ 1 2 q er Following that x indeed provides a technique, valid upper bound for burstiness. 2 1 interdependent. the above we can compute all burstiness values δ required to fore use them todirectly. obtain a linear s heand between δ , δ , hence we cannot compute them l 2 1 te 1 2 1Following the following above technique, we can compute 2 δ , δ , δ , δ using the system: ler a both system of follow equations problem, we the methodology delin1 • we 1Solution: 1 2this form x = Ax + b, where x is a then can use service on δ11To , δ12solve ,1simply δ11 , δwrite using the following system: 1 j 2.4.1 in [2]. ness the eated in Proposition We first noteAthat Equahe values, is a square matrix inimum ofδ1the computed δ . Howi 0 in00the00burstiness kk δWe 1 can there1 5,δ18 are linear tions terms. q into 0 δ 1 1 values. Furthermore, it can be sh 2 are ction 3.3 there cases when the δ 2 l δ 1 0 k 0 0 cetox = fore1 useδ1,them to obtain system of equations of the 1 a0linear k 0 0 A = , b = , x = , A = , b = , 1 A and bare non ne stem of equations to 0 0 0 tions 5, 8 both 1 must be0solved δ k 0 δ δ 0 k δ 2 2 2 form x =2 Ax + b, where x is a vector of unknown burstiice 2 2 values of A00are of within the unit cir se, it is preferable toAconsider a sinδ k 0 1 0 δ k 0 1 0 ness values, is a square matrix and b is a vector known 2 2 w(13) oid a minimum function inbe shown (13) negative and x can be computed a √ values. Furthermore, it can that following Equa√ δlq inserting ρ ρ where k = . The eigenvaluesare are±± kthe k22++time k and and where k = . The eigenvalues k ble to prove that when no aggregate C − ρ lowing stopping tions 5, 8 both A and bare non negative. Hence, if all eigen- principl to√ C− ρ √ 33 / 47 2 − 1 provides ±−values k − k;solving by solving ρ we obtain that a−solution solution exeorem always provides a for smaller ythat x indeed a valid up of A the unit circle, (I A) is also non √ are within in± k 212 k; by for ρ we obtain a ex√ lso onFurthermore, the However, using Theorem 12 reduces the δ1the ,service δ1 , δ1 ,itrate. δ1can using following system: ues. bethe shown that following Equa12 reduces j 1 ces the number of variables δlq that δ depends on. As we show in δ i 1 1 As we show in δ 0if 0 eigen0 reduce kδ δ1 δ2 ns 5, 8 both A and bare non negative. Hence, all 1 1 Network Stability Section 3.3,δmutual dependencies between flows can how in 0 0 0 k 1 1 1 2 x = − 1 flows can reduce 2 δ1 1hence 1desirable. 0also k non 00 0 δ21 , A = ues of A are withinδ1the circle, (I − A) is the available bus unit utilization, this is reduce 0 k 0 x =, A = 1 , A = ,,b = x= ,kb = 0 0 2, 1 esirable. − 1 δ δ 0 δ 0 δ2 2 2 2 x0 =k(I 0 gative and xneed can betoδcomputed as − A) b. By fol• We 2compute 2 2 δ2 principle k it 0 can 1 then 0k be δ2 [2], 0 proven 1 00 0 3.3. Example wing• the time stopping ρ I - A can be inverted iff all eigenvalues of A have module <= 1. where k = . C− ρ (13) (13) √ √ √ t x indeed where provides a valid for burstiness. ρ upper bound 2 − k; by solvi 2 + k and ρ ± k 2 k = . The eigenvalues are ± k • The eigenvalues of the matrix are and .√ We now provide an example to show how the analywhere k = . The eigenvalues are ± k + k and C− ρ √ C − ρ 3− 5 Followingsis the above technique, we can compute √ solving can applied to a concrete case. It is important to ists if ρ ≤ C≈ 2 be ± k − k; by for ρ we obtain that a solution ex2 2 analy2 1 2 √ ± k − k;bounds by solving for ρ we that a solution how δ1 , δ1the , δ1analyusing following system: note thatthe the3− burstiness of Equations 5, 8obtain directly condition eximplies tha √ 5 tant to ists if ρ ≤ 2 C ≈ 0.382C. It is interesting to see that the 3− configurations, 5 holdto only for feed-forward where are when is important ists if ρ ≤ C ≈ 0.382C. It isthere interesting toeven see that thebus utili • Solving for rho: 2 are not able to find delay bounds irectly 1 nocondition implies that we circular dependencies flows. thisnot Equaever, bounds that the derive ns 5, condition that weIn are tohowfind delay 0 utilization 0 implies 0among kis as δcase, 1 able ere are8δ1directly even when bus low as 77%. Note, 5, 8 can be applied to iteratively compute all burstiall eigenvalues are w 2 tions where there are even when bus utilization is as low as 77%. Note, howj 1derived 0 condition kmany 0 configurations 0dosufficient: Equa- δ1 ness ever, thatdthe on A is only if pute terms . In practice, have cirbounded delay • Note: for bus we can not find a solution. i utilizations > 76.4%, = , A = , b = , 1 this case, Equaever, that the derived condition on A is only sufficient: if the un bursti- δ2 cular all eigenvalues the circle, the then com- ues are outside 0areamong kwithin 0 flows. 0 unit δsystem dependencies Consider with 2we can • all Does a bounded solution exist such a case? ve cirpute delay but even if0thecircle, eigenvalmpute all keigenvalues are within the unit then we can comδ22bursti0 and1inbacklog, 0 m with ues outside unit circle, delay backlog but can even still beif the eigenvalons do have cir-are putethe bounded delay andand backlog, – Yes, following delay calculus, each bit of f1 can only delay (13) √ ρ the ues are outside theare unit±circle, delay and backlog can still be 2+ on one node. ere system k = f2with . The eigenvalues k k and C− ρ – However, for ρmore complex k2 − k; by solving for we obtain that atopologies solution ex-(transitive delay) √ 5 is an open problem. if ρ ≤ 3−this C ≈ 0.382C. It is interesting to see that the 2 34 / 47 ndition implies that we are not able to find delay bounds en when bus utilization is as low as 77%. Note, how- Modular performance analysis 35 Modular Performance Analysis • System Architecture evaluation using modular performance analysis: a case study • An application of network calculus to early system performance analysis and design exploration. • Real-time calculus: extension to network-calculus. – Introduces lower arrival curves and upper service curves – A more structured approach to system description and multiple flows analysis 36 / 47 Upper and Lower Curves arrival curve period task service curve – link with zero delay arrival curve – period task with jitter service curve – TDMA 37 / 47 Abstract Component 38 / 47 Network of Components 39 / 47 Another Example: Real-Time Bridge 11 β̄1S ↵1 %&! %# ( ) *+) *## %# β̄1u (t) = β̄1l (t) = t ↵¯10 %&! &# ( ) *+) *## $# ↵¯02 β̄3S ↵3 %&! &# (())*+) *+)*## '*### '# %&! &# (())*+) *+)*## ,*### '# Incoming flow β̄2Au (t) = β̄2Al (t) = t ! " ## $# ! &# ↵ 200 %&! " # β̄3 = β̄20 ↵¯03 β̄4S ↵4 ! %# β̄2 = β̄10 β̄2S ↵2 ! " ## %# ↵ 100 ! " ## '# β̄4 = ↵¯04 ! " ## ,' # ! " ## %# ! "# ↵ 0200 Outgoing flow, Network A β̄3Bu (t) = β̄3Bl (t) = t ! &# ↵ 300 %&! $# ! " ## %# β̄4B β̄30 ! &# ↵ 040 %&! $# ! " ## $# ! $# = ↵ 0300 β̄30B ! $# ↵ 0400 β̄40 β̄40B Sporadic Bus Network Transmission Server Fig. 6. (reservations) Real-time bridge scheduling forScheduling virtualized outScheduling going flows can be modeled with additional abstract Outgoing flows, Network B 40 / 47 Design Flow 41 / 47 Case Study: Radio Navigation System 42 / 47 Example: Change Volume Sequence Diagram 43 / 47 Architectural Alternatives 44 / 47 Model: Architecture A 45 / 47 End-To-End Delay 46 / 47 Sensitivity to Resource Capacity 47 / 47