<html>
<head>
<meta content="text/html; charset=windows-1252"
http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<br>
<br>
<div class="moz-cite-prefix">On 4/23/2015 8:55 AM, Biermans Joeri
wrote:<br>
</div>
<blockquote cite="mid:1429797350438.31448@student.uantwerpen.be"
type="cite">
<meta http-equiv="Content-Type" content="text/html;
charset=windows-1252">
<style type="text/css" style="display:none;"><!-- P {margin-top:0;margin-bottom:0;} --></style>
<div id="divtagdefaultwrapper"
style="font-size:12pt;color:#000000;background-color:#FFFFFF;font-family:Calibri,Arial,Helvetica,sans-serif;">
<p>Hey everyone,<br>
</p>
<p><br>
</p>
<p>I'm a student at the University of Antwerp and I'm<br>
</p>
<p>currently working on my master's project.<br>
</p>
<p>My master's project is about the comparison<br>
</p>
<p>of real-time multicore scheduling algorithms<br>
</p>
<p>on embedded systems.<br>
</p>
<p><br>
</p>
<p>I'm currently looking for an RTOS on which<br>
</p>
<p>I can add a few global schedulers like G-EDF,<br>
</p>
<p>G-RM, RM-US, EDF-US and EDF(k).<br>
</p>
<p><br>
</p>
<p>I came across RTEMS and I have the following<br>
</p>
<p>question about the OS:<br>
</p>
<p><br>
</p>
<p>* Is it possible to globally schedule jobs of tasks<br>
</p>
<p>in RTEMS? </p>
<p><br>
</p>
<p>(ie released/suspended jobs are placed<br>
</p>
<p>into <span style="font-size: 12pt;">a global queue shared
between all </span><span style="font-size: 12pt;">processors.</span></p>
<p><span style="font-size: 12pt;">The scheduler calculates their
priority and decides</span></p>
<p><span style="font-size: 12pt;">on which m cores the m highest
priority jobs should </span></p>
<p><span style="font-size: 12pt;">run. </span><span
style="font-size: 12pt;">Jobs can migrate between different
cores.</span><span style="font-size: 12pt;">)</span></p>
<p><span style="font-size: 12pt;"><br>
</span></p>
</div>
</blockquote>
The answer is yes. RTEMS has a plugin for thread schedulers. <br>
There are multiple uniprocessor and multicore schedulers plus<br>
clustered scheduling. <br>
<br>
None of the algorithms you listed are currently available as<br>
SMP schedulers. EDF is implemented as a uniprocessor scheduler.<br>
It uses (or IMO abuses) thread priority for threads with a deadline.<br>
There is a ticket filed to move the scheduler's notion of "priority"<br>
into a per-thread scheduler specific structure. Currently, the<br>
thread priority is overloaded to have a deadline which is out of<br>
range for legal thread priorities.<br>
<br>
There is a Scheduler Simulator which makes it possible to<br>
implement and debug schedulers without hardware. I used<br>
this on the SMP w/affinity and got the algorithm to 100% <br>
test coverage although it did turn out I had tripped a bug<br>
which didn't show up until on real hardware. It would be handy<br>
for you.<br>
<br>
I will email some slides on the current state of SMP from<br>
a user perspective but the code itself is all in git and Doxygen<br>
is available. Please feel free to ask questions as needed.<br>
<blockquote cite="mid:1429797350438.31448@student.uantwerpen.be"
type="cite">
<div id="divtagdefaultwrapper"
style="font-size:12pt;color:#000000;background-color:#FFFFFF;font-family:Calibri,Arial,Helvetica,sans-serif;">
<p><span style="font-size: 12pt;">
</span></p>
<p><span style="font-size: 12pt;">Thanks in advance.</span></p>
<p><span style="font-size: 12pt;"><br>
</span></p>
<p><span style="font-size: 12pt;">Kind regards,</span></p>
<p><span style="font-size: 12pt;">Joeri</span></p>
</div>
</blockquote>
<br>
<pre class="moz-signature" cols="72">--
Joel Sherrill, Ph.D. Director of Research & Development
<a class="moz-txt-link-abbreviated" href="mailto:joel.sherrill@OARcorp.com">joel.sherrill@OARcorp.com</a> On-Line Applications Research
Ask me about RTEMS: a free RTOS Huntsville AL 35805
Support Available (256) 722-9985</pre>
</body>
</html>