Partitioned Fixed-priority Real-time Scheduling Based on Dependent Task-Split on
Multicore Platform
Guowei Wu, Ying Li, Jiankang Ren, Chi Lin
School of Software
Dalian University of Technology
Dalian, China
wgwdut@dlut.edu.cn, candice_dlut@yahoo.cn, {rjk.dlut, linchix}@gmail.com
Abstract—Most real-time multicore scheduling algorithms
ignore intra-task relationships, which cannot meet all
deadlines by placing severe restrictions upon sequential
programming models. Moreover, no partitioned algorithms
can have a utilization bound over 50%. In this paper, a
partitioned fixed-priority real-time scheduling based on
dependent tasks-split on homogeneous multi-core platform is
proposed, namely BDTD/TS (B-tree Dependent Task
Dispatching/Task Splitting). BDTD converts dependent tasks
into a series of sequential jobs and obtains the interrelated
subtasks path as well as synthetic deadlines through the B-tree
task model. Then in BDTS, dependent task in idle-wait state is
qualified to split and all blocked sub-tasks would preempt CPU
immediately to guarantee deadlines. With regard to utilization
bound analysis, the new algorithm is proved to offer superior
performance guarantee 69.31%. The simulations and
experimental results prove that the proposed algorithm
provides high practicability and efficiency.
Keywords- multi-core platform; dependent real-time task;
task-split; partitioned preemptive scheduling
I. INTRODUCTION
In recent years, multicore platforms have proliferated in
the market, not only for servers and personal computers but
also for embedded machines. As performing more complex
and computation-intensive tasks in real-time, the research
has been therefore renewed on multicore platforms,
especially in the context of real-time scheduling [1]. The
success of a real-time system depends on whether all
requests of the tasks can be guaranteed to complete their
executions before their timing deadlines. Having been
ignoring intra-task relationships, algorithms for real-time
multicore scheduling use sequential programming models,
which may miss deadlines and fail the real-time system.
The multicore scheduling algorithms in real-time system
can be classified into partitioned (static) and global (dynamic)
approaches, with each category having its own merits and
demerits [2]. Partitioned scheduling assigns each task to a
single processor core in advance, dividing this problem into
one of task allocations (bin-packing) followed by
uniprocessor scheduling. Research on partitioned multicore
scheduling [4, 5] examined the use of EDF or fixed-priority
scheduling using rate monotonic (RM) priority assignment
on each processor core, combined with bin packing
heuristics such as first fit (FF), next fit (NF), best fit (BF),
worst fit (WF), and task orderings such as decreasing
utilization (DU) for task allocation. In contrast, global
approaches allow tasks to execute on any available processor
core and migrate at run-time. These methods (global EDF
[15], LLREF [13], PFair [9]) have focused on job-level
migration, where a job may be preempted on one core and
resumed on another.
Recent works [6, 16, 17, 18] have made available a new
strategy of splitting scheduling, for the purpose of finding a
balance point between partitioned scheduling and global
scheduling. In [6], a series of RMS-based partitioned
scheduling algorithm are proposed to overstep the Liu and
Layland utilization bound [8]. These two algorithms
RM-TS/light and RM-TS can achieve any sustainable
parametric utilization bound for light task sets and gets rid of
the light restriction, if the bound is under a threshold. By
allowing the highest priority task on a processor core to be
split (HPTS) across more than one core, [18] extended the
class of partitioned deadline-monotonic scheduling (PDMS)
algorithms achieving a per processor core utilization bound
of 65% on implicit-deadline task-sets.
As far as we know the exiting methods above just rely on
independent tasks, and ignored links between tasks. In this
case, density of task-set is low and tasks may not accomplish
before their deadlines due to intra-task data dependency. For
example, task A is assigned the highest priority and not
permitting preempted. At some time, it requires a middle
result from another blocked task B to proceed on. So task A
has to wait and its core becomes idle even if there is a task
ready to execute. Because A has been waiting so long for B
possessing a core, it may miss the deadline. Moreover, no
partitioned algorithm can have a utilization bound over 50%
[7], so we cannot take use of every core at its maximum
efficiency. Conversely, the existing global scheduling
algorithms like the PFair family [10], the LLREF family [14]
and the EKG family [11, 12] offer utilization bound of 100%,
but more preemptions caused by migration may fail in
guaranteeing the execution deadline, which is unacceptable
in many real-time systems.
In this paper, we first propose a novel partitioned
multicore scheduling algorithm (BDTD/TS) using tasks
splitting, especially for real-time tasks with intra-task
2013 12th IEEE International Conference on Trust, Security and Privacy in Computing and Communications
978-0-7695-5022-0/13 $26.00 © 2013 IEEE
DOI 10.1109/TrustCom.2013.151
1257