Using the EDF scheduler

Jonathan Brandmeyer jbrandmeyer at planetiq.com
Fri Jan 17 23:51:18 UTC 2020


On Fri, Jan 17, 2020 at 4:03 PM Joel Sherrill <joel at rtems.org> wrote:

>
>
> On Fri, Jan 17, 2020 at 3:00 PM Gedare Bloom <gedare at rtems.org> wrote:
>
>> Hi Jonathan,
>
>
>
>> There is not much support available out-of-the-box in RTEMS for
>> servers, other than some academic implementation of the constant
>> bandwidth server (CBS) for uniprocessor EDF.
>>
>
> The affinity should work if deadline tasks and priority based tasks never
> are assigned to the same core.
>

My application is partitioned three ways: rate-monotonic tasks that are
scheduled using the kernel tick and the rate monotonic manager,
rate-monotonic tasks that are scheduled by sending rtems_events from a
regular ISR, and throughput-oriented tasks that have lower priority than
everything else.  There are only two cores physically present.  So I think
I can keep the two realtime task categories distinct with 1:1 affinity and
give the remaining time to throughput tasks using 1:any affinity.

The result is that the core that is managed using the rate-monotonic
manager should be schedulable using EDF's analysis, and the core that is
managed by sending events from interrupts should be schedulable using
fixed-priority rate-monotonic analysis.


>
> If you do this, you could experiment with affinity and then consider moving
> to a partitioned scheduler setup with some cores running based on
> deadline and other cores running threads based on priority.
>



>
> The SMP EDF scheduler only supports pinning (single core) and not
> affinity sets so the clustered scheduling may be the more optimal
> alternative.
>

Its a 2-core system, so I don't need the flexibility afforded by using
clustered scheduling instead of affinity.

Thanks,
-- 
Jonathan Brandmeyer
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/users/attachments/20200117/e3dfce65/attachment.html>


More information about the users mailing list