All News Items Tagged 'real-time' - JUNIPER Project2024-03-28T11:59:20Zhttp://www.juniper-project.org/forum/topic/listForTag?tag=real-time&feed=yes&xn_auth=noSCHED_DEADLINE in mainlinetag:www.juniper-project.org,2014-02-12:6620280:Topic:12822014-02-12T14:21:48.105ZGiuseppe Liparihttp://www.juniper-project.org/profile/GiuseppeLipari
<p>Most RTOSs provide <a href="http://en.wikipedia.org/wiki/Fixed-priority_pre-emptive_scheduling">Fixed Priority scheduling</a> as the only available scheduling policy. This is because FP is effective, and easy to be implemented efficiently. Also, FP is in the POSIX standard, so all UNIX-based systems implement it. Different flavours of FP are also available in Windows and Mac OS.</p>
<p>At the <a href="http://retis.sssup.it/">RETIS lab</a>, we have based much of our research on an alternative…</p>
<p>Most RTOSs provide <a href="http://en.wikipedia.org/wiki/Fixed-priority_pre-emptive_scheduling">Fixed Priority scheduling</a> as the only available scheduling policy. This is because FP is effective, and easy to be implemented efficiently. Also, FP is in the POSIX standard, so all UNIX-based systems implement it. Different flavours of FP are also available in Windows and Mac OS.</p>
<p>At the <a href="http://retis.sssup.it/">RETIS lab</a>, we have based much of our research on an alternative scheduler, <a href="http://en.wikipedia.org/wiki/Earliest_deadline_first_scheduling">Earliest Deadline First</a> (EDF), known to be a theoretically optimal scheduler. As part of these research efforts, the group at RETIS Lab of Scuola Superiore Sant'Anna, together with the people at <a href="http://www.evidence.eu.com/it">Evidence</a>, implemented some time ago the <a href="http://en.wikipedia.org/wiki/SCHED_DEADLINE">SCHED_DEADLINE scheduler</a>, while working on the <a href="http://www.actors-project.eu/">ACTORS EU project</a>. The scheduler has been continuously improved and maintained by our group over the years, and it is now being used in the <a href="http://www.juniper-project.org/" target="_blank">JUNIPER project.</a> <a target="_self" href="http://storage.ning.com/topology/rest/1.0/file/get/2869442138?profile=original"><img width="300" class="align-right" src="http://storage.ning.com/topology/rest/1.0/file/get/2869442138?profile=RESIZE_320x320" width="300"/></a><a href="http://www.juniper-project.org/" target="_blank"></a></p>
<p>The SCHED_DEADLINE patch implements the EDF with the <a href="http://ieeexplore.ieee.org/xpl/login.jsp?tp=&arnumber=739726&url=http%3A%2F%2Fieeexplore.ieee.org%2Fxpls%2Fabs_all.jsp%3Farnumber%3D739726">Constant Bandwidth Server</a> (CBS) algorithm. According to this policy, each thread is assigned a budget Q and a period P. The thread is then guaranteed to receive Q units of execution time every P. Therefore, this policy combines real-time behavior (thanks to the EDF real-time policy) and temporal isolation (thanks to the budgeting policy). In particular, a thread cannot "disturb" the execution of the other threads in the system, because it cannot execute more than its assigned share of CPU Q/P. The scheduler is ready for multicore systems and it can support global as well as clustered and partitioned scheduling.</p>
<p>A few weeks ago, the scheduler went into the <a href="https://www.kernel.org/" target="_blank">mainline Linux kernel</a>. <a href="http://www.phoronix.com/scan.php?page=news_item&px=MTU3Njk">Here is one announcement</a>. Many thanks first of all to <a href="http://www.linkedin.com/profile/view?id=1383523&authType=NAME_SEARCH&authToken=iPDg&locale=en_US&srchid=315045201390255561768&srchindex=1&srchtotal=23&trk=vsrp_people_res_name&trkInfo=VSRPsearchId%3A315045201390255561768%2CVSRPtargetId%3A1383523%2CVSRPcmpt%3Aprimary">Peter Zjilstra</a> who has always supported this idea; and to <a href="http://www.osadl.org/Thomas-Gleixner.hannover-2008-thomas-gleixner.0.html">Thomas Gleixner</a> for his initial help and support all along the way. Also, many thanks to all the people that have contributed to its development: Michael Trimarchi, Claudio Scordino, Fabio Checconi, Luca Abeni, Dario Faggioli and Juri Lelli.</p>
<p>If you are interested, here are two recent papers on this scheduler.</p>
<ul>
<li>Juri Lelli, Giuseppe Lipari, Dario Faggioli, Tommaso Cucinotta, <i>An efficient and scalable implementation of global EDF in Linux</i> In proceedings of the 7th Workshop on Operating Systems Platforms for Embedded Real-Time Applications (OSPERT), Porto (Portugal), July 2011. (<a href="http://retis.sssup.it/%7Efaggioli/papers/OSPERT-2011-gedf.pdf">pdf</a>)</li>
</ul>
<ul>
<li>A. Parri, J. Lelli, M. Marinoni and G. Lipari. An implementation of the Bandwidth Inheritance Protocol in the Linux Kernel. In RTLWS'13. 2013. (<a href="http://retis.sssup.it/~lipari/papers/rtlws2013.pdf">pdf</a>)</li>
</ul>