You are here: Home / RTLWS 1999-2017 / RTLWS Submitted Papers / 
2022-08-12 - 10:24

Real Time Linux Workshops

1999 - 2000 - 2001 - 2002 - 2003 - 2004 - 2005 - 2006 - 2007 - 2008 - 2009 - 2010 - 2011 - 2012 - 2013 - 2014 - 2015

13th Real-Time Linux Workshop from October 20 to 22 at the Faculty of Electrical Engineering, Czech Technical University in Prague

Announcement - Hotels - Directions - Agenda - Paper Abstracts - Presentations - Registration - Abstract Submission - Sponsoring - Gallery

On the implementation of real-time slot-based task-splitting scheduling algorithms for multiprocessor systems

Paulo Sousa, CISTER Research Unit ISEP/IPP
Bjorn  Anderson, CISTER Research Unit ISEP/IPP
Eduardo Tovar, CISTER Research Unit ISEP/IPP

Consider the problem of scheduling a task set on a multiprocessor to meet deadlines even at high processor utilizations. We assume that task preemption and migration is allowed but because of their associated overhead, their frequency of use should be kept small. Task-splitting (also called semi-partitioning) is a family of algorithms that offers these properties. An algorithm in this class assigns most tasks to just one processor but a few tasks are assigned to two or more processors, and they are dispatched to ensure that a task never executes on two or more processors simultaneously.

A certain type of task-splitting algorithms, called slot-based split task dispatching, is of particular interest because of its ability to schedule tasks at high processor utilizations. This is the class that provides the highest utilization bound.

In addition, its run-time dispatching does not depend on any data structures that are shared among all processors and therefore it has the potential to scale to multicore processors with a very large number of processors.

For these reasons, we believe an implementation of a slot-based task-splitting algorithm would be valuable.

We discuss challenges and design principles of an implementation of a slot-based task-splitting algorithm into Linux 2.6.34 version and also we show that this kernel version is provided by the required “tools” for implementing such scheduling algorithm.

Finally, we show that the real behavior of the scheduling algorithm is very close of the theoretical using several experiments on a 4core and also on a 24-core machines.