4

I am working on a project for school, where I have to analyze the performances of a few fixed-priority servers algorithms (polling server, deferrable server, priority exchange) using a simulator in the case of hybrid scheduling, where we have both hard periodic tasks and soft aperiodic tasks.

In my model I consider that:

  • the hard tasks have a period equal to their deadline, with a known worst case execution time (wcet). The actual execution time could be smaller than the wcet.
  • the soft tasks have a known wcet and random interarrival times. The actual execution time could be smaller than the wcet.

In order to test those algorithms I need realistic case studies. For this reason I'm digging in the scientific literature but I am facing different problems:

  • Sometimes I find a list of hard tasks with wcet, but it is not specified how the soft tasks parameters are found.
  • Given the wcet of a task, how can I model its actual execution time? This means, what random distribution should I use considering the wcet?
  • How can I model the random interarrival times of soft aperiodic tasks?

migrated from electronics.stackexchange.com Nov 8 '13 at 17:16

This question came from our site for electronics and electrical engineering professionals, students, and enthusiasts.

  • 2
    While there is a recommendation aspect to this question, I think there's also a stronger core ("how can I model X") that trumps it. – Adam Lear Nov 8 '13 at 17:54
  • @AnnaLear I edited the question to wipe out shopping marks, feel free to edit it further if needed – gnat Nov 8 '13 at 18:07
0

On the WCET - there is no definitive answer to this. WCETs tend to be highly pessimistic as, for a hard task, the task absolutely must be completed before deadline or your whole application is a failure (obviously firm tasks can allow some flexibility in this). I would suggest simply hard coding a distribution that ranges up to the WCET but where the bulk of tasks complete in something like 50% of WCET.

On the random inter-arrival times of soft tasks then a simple normal/binomial distribution of inter-arrival times should suffice. If you want to you can simply code this by giving the probability of the task arriving in a given period (eg 1 second) as p and set p to some value e.g., p=0.1 (in this case that means a mean inter-arrival time of 10 seconds). Then test against the value generated by your pseudo-random function (i.e., in this case if RND() or whatever gave less than 0.1 then your task arrives).

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.