Participation in GSoC 2016

Darshit Shah darnir at gmail.com
Thu Mar 10 11:13:57 UTC 2016


Hi,

I've been a little busy with my semester end exams and other things 
recently. But I have spent time looking into the RTEMS Priority 
Scheduler with Processor Affinities and the paper mentioned in the trac 
ticket.

At this point, I have a decent understanding of the paper and its 
algorithm and am looking into how we may implement it in RTEMS. To this 
end, I am looking for help / guidance.

>
>This would be a good project. I would add a few steps to simply implementing
>it.
>
>+ Update the scheduling simulator since it is a lot easier to test using
>that.
>   It is also easier to ensure you keep the same behavior.
>
This sounds like it would be in important part of the implementation of 
the paper. However, I do not know anything about the existing scheduling
simulator. Any links to this and basic pointers on how I should go about 
extending it would be a great start. I'll incorporate this into my draft 
proposal as soon as I have a better idea of what needs to be done.
>
>+ Propose criteria for knowing if the new algorithm is really better for
>   RTEMS than the old one. Evaluating algorithms for RTEMS use involves
>   big-O of the algorithm, data space requirements (and big-O of that),
>   global knowledge required, and maybe other factors.
>
The new algorithm is almost definitely worse in time and space than the 
existing algorithm. Based on a preliminary analysis, it will be able to 
use the existing Priority Affinity Scheduler for the most part and add a 
O(|E|) complexity to each thread blocking and unblocking operation.  
Here, E is the set of all processor affinity assignments, so it will 
approximately add an extra linear increase in scheduling overhead w.r.t.  
the number of processes that use this scheduler.

I haven't specifically looked into the space requirements, but it will 
be worse than the existing scheduler.

However, the point to realize is that after these changes, more user 
programs that set processor affinities will be able to meet their 
deadlines as compared to the existing scheduler. This should happen 
despite the higher scheduling overheads.

>+ Testing on scheduling simulator and in RTEMS testsuite to ensure
>   it is functionally identical to the current algorithm.
>
Once again, some pointers tot he scheduling simulator would help me a 
lot.
>
>If the algorithm is functionally identical to the current one and superior
>in execution time/data requirements, then replacing it is a no brainer.
>If there are trade-offs on when one is better than the other in real life,
>then we will all have to characterize those.
>
I was thinking more along the lines of writing a new scheduler instead 
of replacing the existing one. A PriorityStringAPA scheduler that pretty 
much reuses all the existing priority affinity scheduler code apart from 
the two operations. This is because, with some task sets where the 
affinity assignments are not too restrictive, the lower overheads of the 
existing scheduler may be preferred over the new one.

I have also been writing my draft proposal for GSoC. A version is 
currently available on GDrive and a link has been put on on the student 
tracking page. However, I wanted to ask if sharing a PDF of the proposal 
would be possible. Since, I would be more comfortable in making the 
entire proposal in Latex and sharing the final PDF. If not, I can keep 
working on the proposal in Google Docs.

-- 
Thanking You,
Darshit Shah
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.rtems.org/pipermail/devel/attachments/20160310/e2eb8650/attachment.bin>


More information about the devel mailing list