Implementing Slot-Based Task-Splitting Multiprocessor Scheduling
Ref: HURRAY-TR-110704 Publication Date: 15 to 17, Jun, 2011
Implementing Slot-Based Task-Splitting Multiprocessor Scheduling
Ref: HURRAY-TR-110704 Publication Date: 15 to 17, Jun, 2011Abstract:
Consider the problem of scheduling a set of sporadic
tasks on a multiprocessor system to meet deadlines using a tasksplitting
scheduling algorithm. Task-splitting (also called semipartitioning)
scheduling algorithms assign most tasks to just
one processor but a few tasks are assigned to two or more
processors, and they are dispatched in a way that ensures that
a task never executes on two or more processors simultaneously.
A particular type of task-splitting algorithms, called slot-based
task-splitting dispatching, is of particular interest because of
its ability to schedule tasks with high processor utilizations.
Unfortunately, no slot-based task-splitting algorithm has been implemented in a real operating system so far. In this paper we discuss and propose some modifications to the slot-based task-splitting algorithm driven by implementation concerns, and we report the first implementation of this family of algorithms in a real operating system running Linux kernel version 2.6.34. We
have also conducted an extensive range of experiments on a 4-core multicore desktop PC running task-sets with utilizations of up to 88%. The results show that the behavior of our implementation is in line with the theoretical framework behind it.
Document:
6th IEEE International Symposium on Industrial Embedded Systems (SIES 11), IEEE, pp 256-265.
Vasteras, Sweden.
DOI:10.1109/SIES.2011.5953669.
Record Date: 2, Mar, 2011