Multicore Real Time Scheduling Using Fuzzified Priority and Non-uniform Laxity

  • Authors:
  • Pradheep Kumar K.;Shanthi A.P.

  • Affiliations:
  • -;-

  • Venue:
  • CISIS '10 Proceedings of the 2010 International Conference on Complex, Intelligent and Software Intensive Systems
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

Scheduling of tasks takes into account the priority of the tasks and the available laxity among other factors. Laxity is a measure of slack time. Generally, the available slack time is cumulated and uniformly distributed among all tasks, irrespective of priority. However, a better approach would be to distribute the slack time to tasks in proportion to their priority, giving rise to non-uniform laxity distribution. Also, these parameters may not always be specified precisely. In such situations, these parameters can be specified as approximate linguistic variables and handled through the fuzzy inference engine. Fuzzification is used as a tool to obtain the execution eligibility from the input linguistic variables. The execution eligibility is the order in which tasks are dispatched to the execution queue. Based on the execution eligibility, the tasks are scheduled. The remaining time, if available after scheduling the task, is cumulated as slack time. A task is always scheduled based on minimum execution time allotted. If a task misses its deadline due to inadequate resources, the difference between scheduled time i. e., (Arrival time + minimum execution time) and deadline is computed. If this amount of time is available in the cumulated slack, a relative deadline is set by adding the deadline to the slack needed, and the task is scheduled. If slack is not available in the cumulated slack, the task misses its deadline. The objective of this approach is to ensure that a task with higher execution eligibility does not miss its deadline, when slack time is available. The algorithm presented in this paper has been simulated on Cheddar, a real time scheduling tool, and also on SESC, an architectural simulator for multicore platforms. The algorithm has been tested for about 50 task sets comprising of 1000 random tasks and the number of cores have been varied to 100. The algorithm using non-uniform laxity approach with fuzzification improves slack time utilisation by 40% and increases the number of tasks scheduled by 47%, compared to the algorithm using non-uniform laxity approach without fuzzification.