tag:blogger.com,1999:blog-4172950626830217643.post5954019954412380052..comments2024-03-28T03:20:54.405-04:00Comments on Better Embedded System SW: Real Time Scheduling Analysis for Critical SystemsPhil Koopmanhttp://www.blogger.com/profile/11849599272360094243noreply@blogger.comBlogger4125tag:blogger.com,1999:blog-4172950626830217643.post-20962589321364555662014-05-19T20:17:20.115-04:002014-05-19T20:17:20.115-04:00Harmonic multiples is only required if you want to...Harmonic multiples is only required if you want to use 100% of the CPU. If task periods aren't harmonic, then you get to use the equation based on number of tasks to compute the limit (I'm sure you can find it if you search for RMA tutorials) and this gets you the 69.3% utilization bound mentioned a couple times in this posting.Phil Koopmanhttps://www.blogger.com/profile/11849599272360094243noreply@blogger.comtag:blogger.com,1999:blog-4172950626830217643.post-10602183253977518042014-05-19T10:46:02.639-04:002014-05-19T10:46:02.639-04:00Thanks for this. One comment. You said: "To ...Thanks for this. One comment. You said: "To achieve this, RMA requires rules to be followed such as all tasks having a defined fastest time period at which they will run, and the period of tasks being harmonic multiples to permit using 100% of the CPU capacity." Does RMA really require the period of the tasks to be harmonic multiples? I am no expert - but did not remember that as a requirement.Anonymoushttps://www.blogger.com/profile/06138870868812571528noreply@blogger.comtag:blogger.com,1999:blog-4172950626830217643.post-6804683461309360592014-05-15T04:54:00.517-04:002014-05-15T04:54:00.517-04:00You're right that DMA is most often the right ...You're right that DMA is most often the right choice. The fix to the scheduling sufficiency criterion is to create a virtual period = MIN(period, deadline) and then order by virtual period. This wastes some CPU capacity but then gets you back to the magic 69% (or 100% for harmonic periods) if you exclude the amount wasted by using a virtual period in cases where deadline<period. My book chapter on scheduling shows the math for this. You can also see it in the slides for lecture 16 of my graduate-level embedded systems course here: http://www.ece.cmu.edu/~ece649/Phil Koopmanhttps://www.blogger.com/profile/11849599272360094243noreply@blogger.comtag:blogger.com,1999:blog-4172950626830217643.post-32026507248805622772014-05-14T04:43:40.525-04:002014-05-14T04:43:40.525-04:00Thank you for an excellent article. However, I am ...Thank you for an excellent article. However, I am surprised that you have not mentioned Deadline Monotonic Analysis (DMA) - not, of course, to be confused with Earliest Deadline First (EDF), which is anathema to real-time programming.<br /><br />RMA (in its impure form with allowance made for task dependencies, etc.) is ideal for time triggered systems but is seriously sub-optimal for the more general event-driven systems which abound in the world of embedded systems. DMA is much better matched to the realities of such systems and the mathematics of the analysis is almost identical to that of RMA. Only the task ordering criterion changes, from period to deadline.<br /><br />DMA, however, does not yield any simple overall "scheduling sufficiency" criterion akin to the magic 69% utilisation figure arising from RMA; each task has to be assessed individually as to its schedulability. This is no bad thing, though. The famous 69% figure is much better known than the theory underlying it and is generally misunderstood and abused, like other measures of utilisation, as you point out in your article. With DMA, though, there are no short cuts; you really have to understand what you're doing!Peter Bushellhttp://software-integrity.com/noreply@blogger.com