Hi everyone,
I'm a student at the university of Antwerp and I'm currently working on
my master's thesis. My project is about comparing the performance of
a few global multicore scheduling algorithms (G-RM, G-EDF, ...) on
an embedded system. A part of my thesis is to make an implementation
on a real embedded system equipped with a quadcore processor (i.MX6).
To do that I need an RTOS. Fiasco with the l4re at a first sight seems
an interesting candidate.
To test the performance of the above algorithms I will schedule a bunch
of randomly generated tasksets comprising some periodic tasks having
implicit deadlines* with each of the algorithms and try to detect if any
deadlines are missed.
* Such a task is executed repeatedly after a fixed amount of time and its
deadline is equal to its period, which is the point of time when the next
invocation of the task takes place.
This brings me to my first question:
Would this be achievable with the fiasco kernel?
I've been trying to interpret the project of the fiasco kernel during the
last days, but this seems easier said than done. As a first step I've been
trying to figure out how the scheduler works and how exactly the
scheduling policies are implemented. (I have read somewhere the
current scheduling policy is fixed priority round robin)
Is there perhaps a more documented version of the code or an
overview of the different classes, their functions and the way they
interact available? It's really hard to figure out a bunch of code
without any leads on how exactly the project has been implemented.
Besides that I don't really have a clue about how to start developing
on the fiasco kernel. Some tips about how to start working on the kernel
are always welcome.
Has anyone got experience with developing on the fiasco kernel?
It would be nice to get some directions on this matter because I'm
quite stuck on this.
Thanks in advance!
Kind regards,
Joeri