Exercises — Real-time constraints — hard and soft deadlines
5.5.12 · D4· Coding › Embedded Systems & Real-Time Software › Real-time constraints — hard and soft deadlines
Yeh page ek self-testing ladder hai. Har problem ek difficulty level par hai (L1 → L5). Problem padho, solution cover karo, khud try karo, phir collapsible [!recall]- kholo aur check karo. Yahan har number machine-verified hai.
Prerequisite ideas parent note the topic note aur uske neighbours par hain: Rate-Monotonic Scheduling, Earliest Deadline First (EDF), Worst-Case Execution Time analysis, Priority Inversion and Priority Inheritance, RTOS scheduler design, Periodic vs Aperiodic Tasks, Jitter and Latency.
Level 1 — Recognition
L1.1 — Deadline ko classify karo
Har system ke liye batao ki timing requirement hard, firm, ya soft hai, aur late result ki value se justify karo.
(a) Ek car ka airbag controller crash ke 20 ms ke andar fire karna chahiye. (b) Ek video decoder frame 900 produce karta hai; yeh apne display slot ke 5 ms baad aata hai. (c) Ek music streaming app ka buffer refill kuch milliseconds late run karta hai.
Recall Solution
Rule yeh hai: deadline ke baad deliver hue result ki utility dekho.
- (a) Hard. Ek late airbag catastrophic hai — late result ki value effectively hai. Yeh total system failure hai, slowness nahi.
- (b) Firm. Ek video frame jo apna display slot miss kar de uski zero value hai (tum use show nahi kar sakte), isliye tum discard karte ho — lekin kuch break nahi hota. Late value = 0, koi catastrophe nahi.
- (c) Soft. Thoda sa late buffer refill quality degrade karta hai (ek choti si stutter), lekin result ki abhi bhi reduced value hai; kabhi-kabhi misses tolerated hain.
L1.2 — Utilisation padho
Ek single periodic task hai jisme ms aur ms hai. CPU ka kitna fraction yeh demand karta hai?
Recall Solution
Yeh formula kyun? Har ms ki window mein task ko ms CPU chahiye, isliye yeh processor ka average mein occupy karta hai. CPU ka free rehta hai.
Level 2 — Application
L2.1 — Task set ki total utilisation
Tasks: ; ; . Total utilisation compute karo.
Recall Solution
Sum kyun? Teeno tasks ek ek CPU share karte hain, aur unki demands us single resource ke additive fractions hain. Kyunki hai, CPU over-subscribed nahi hai — schedulable hone ki ek necessary (abhi sufficient nahi) condition hai.
L2.2 — Rate-Monotonic bound compute karo
tasks ke set ke liye, Liu–Layland utilisation bound compute karo.
Recall Solution
1 se neeche kyun? Fixed priorities ke under worst-case phasing (saare tasks ek saath release) kabhi-kabhi CPU ko idle force karta hai jab bhi work exist karta hai, isliye tum safely use nahi fill kar sakte. ke liye safe ceiling lagbhag hai.
L2.3 — RM test apply karo
Kya L2.1 ka task set () Rate-Monotonic scheduling ke under schedulable hai?
Recall Solution
ko L2.2 ke bound se compare karo: Haan — RM har deadline guarantee karta hai. Ek sufficient test pass karna schedulability ka proof hai; hum done hain aur kisi exact test ki zaroorat nahi.
Level 3 — Analysis
L3.1 — Jab bound fail ho lekin set theek ho
Tasks: ; ; . (a) compute karo. (b) Kya yeh ke liye RM bound pass karta hai? (c) Bound fail karna kya prove karta hai?
Recall Solution
(a) . (b) RM bound . Kyunki hai, yeh utilisation test fail karta hai. (c) Fail karna unschedulability ke baare mein kuch prove nahi karta. Liu–Layland bound sufficient, not necessary hai: pass karna success guarantee karta hai, lekin fail karna inconclusive hai. Decide karne ke liye exact Response-Time Analysis run karo (L4 dekho).
L3.2 — Same set par EDF versus RM
L3.1 ke set ke liye (), kya yeh EDF ke under schedulable hai? EDF kyun succeed karta hai jahan RM utilisation test inconclusive tha?
Recall Solution
EDF ka exact bound ( ke saath) hai. Yahan hai, isliye EDF ise schedule karta hai. EDF kyun jeetta hai: EDF hamesha earliest absolute deadline wali job pehle run karta hai, dynamically re-prioritise karta rehta hai. Yeh worst-case phasing par CPU kabhi waste nahi karta, isliye yeh safely poora processor use kar sakta hai. RM ke fixed priorities nahi kar sakte, aur yehi wajah hai ki RM ka sufficient bound 1 se neeche hota hai.
Agla figure RM-versus-EDF gap ko visual banata hai. Isse aise padho: horizontal axis tasks ki sankhya hai; vertical axis woh highest utilisation hai jo har policy safely accept kar sakti hai. Upar flat black line par EDF ceiling hai — EDF CPU hamesha completely fill kar sakta hai. Red curve RM bound hai: yeh ek task ke liye par shuru hoti hai, phir sag karti hai, aur dashed marker ko cross karti hai jiske paas yeh hone par approach karti hai. Red dot hamara L3 set par mark karta hai — yeh red RM ceiling ke upar hai (isliye RM ka utilisation test inconclusive hai) lekin black EDF line ke neeche hai (isliye EDF ise schedule karta hai). Insight yeh hai: EDF choose karna tumhe red curve aur black line ke beech ka poora gap deta hai.

Level 4 — Synthesis
L4.1 — Exact Response-Time Analysis
Tasks (deadline = period), RM ke hisaab se priorities (shorter period = higher priority): ; ; . Iteration use karo: (lowest-priority task ka response time) find karo aur decide karo ki yeh apni deadline meet karta hai ya nahi.
Recall Solution
Task 3 ka period sabse lamba hai, isliye yeh lowest priority hai; higher-priority set hai (dono ise preempt karte hain). Ceiling count karta hai kitni baar task window ke andar task 3 ko interrupt karta hai.
Start: .
Iteration 1:
Iteration 2:
Iteration 3:
Iteration 4:
Iteration 5:
par converge hua. Ab test karo: → task 3 apni deadline MISS karta hai. Set not RM-schedulable hai, chahe (check karo) ho.
Iterate kyun karte hain? dono sides par appear karta hai: ek lamba response window zyada preemptions admit karta hai, jo window ko phir se lengthen karta hai. Hum tab tak repeat karte hain jab tak value change nahi hoti (a fixed point), jo true worst-case response time hai.
Neeche ka timeline figure dikhata hai kyun tak stretch hota hai. Time (ms) left se right run karta hai. Top row (T1) task 1 ke releases par dikhata hai, har ek -ms block of CPU jo yeh task 3 se pehle grab karta hai. Middle row (T2) task 2 ke releases par dikhata hai, phir se -ms blocks jo task 3 par priority liye hain. Bottom red row (T3) task 3 ka khud ka ms kaam hai — lekin upar ka har higher-priority block ise baad mein push karta hai, isliye uski completion (solid red line) tak drag hoti hai. Dashed black line deadline hai: kyunki red completion line uske daayein taraf land karti hai, task 3 miss karta hai. Picture concretely dikhati hai ki ceilings ne kya count kiya: preemptions gaps kha jaate hain aur response window ko deadline ke aage khiinch dete hain.

Level 5 — Mastery
L5.1 — Utilisation budget ke under schedulable set design karo
Tumhe ; mein ek third task add karna hai taaki teeno ke liye RM utilisation bound (jo hai) pass karen. Naye task ka hai. Sabse bada integer (ms mein) kya choose kar sakte ho?
Recall Solution
Fixed part: . Bacha hua budget: . Allowed : solve karo . Sabse bada integer: . Check: ke saath, ✅. ke saath, , fail. Isliye answer hai ms.
L5.2 — Hard vs soft design decision
Ek drone flight-control loop aur ek telemetry-logging task ek MCU share karte hain. Flight loop ka hard deadline hai; logger ka soft. Overload mein, kaun sa task work shed kare, aur yeh design principle kya govern karta hai?
Recall Solution
Soft telemetry logger work shed karta hai — log entries drop ya down-sample karo, ya ek cycle skip karo. Flight-control loop ka hard deadline kabhi bhi compromise nahi hona chahiye kyunki miss catastrophic hai. Principle: graceful degradation — overload mein tum low-value soft tasks ko degrade karte ho hard tasks ko protect karne ke liye. Yeh ek scheduling/priority design choice hai; hard task ko guaranteed CPU do (jaise highest RM priority + shared locks par priority inheritance) aur soft task ko best-effort banao.
Recall Feynman check: poora ladder ek saanth mein bolo
Pehle tum deadline type name karte ho (L1), phir CPU demand measure karte ho (L2), phir ise sahi bound ke against judge karte ho — RM ke liye , EDF ke liye — yeh jaante hue ki RM bound fail karna sirf "unknown, exact test run karo" matlab hai (L3). Exact test iterating Response-Time equation hai, jo true worst case par converge karta hai (L4). Aakhir mein tum budget ke andar design karte ho aur hard tasks ko soft wale degrade karke protect karte ho (L5).