2,512 research outputs found
Recommended from our members
Group-EDF: A New Approach and an Efficient Non-Preemptive Algorithm for Soft Real-Time Systems
Hard real-time systems in robotics, space and military missions, and control devices are specified with stringent and critical time constraints. On the other hand, soft real-time applications arising from multimedia, telecommunications, Internet web services, and games are specified with more lenient constraints. Real-time systems can also be distinguished in terms of their implementation into preemptive and non-preemptive systems. In preemptive systems, tasks are often preempted by higher priority tasks. Non-preemptive systems are gaining interest for implementing soft-real applications on multithreaded platforms. In this dissertation, I propose a new algorithm that uses a two-level scheduling strategy for scheduling non-preemptive soft real-time tasks. Our goal is to improve the success ratios of the well-known earliest deadline first (EDF) approach when the load on the system is very high and to improve the overall performance in both underloaded and overloaded conditions. Our approach, known as group-EDF (gEDF), is based on dynamic grouping of tasks with deadlines that are very close to each other, and using a shortest job first (SJF) technique to schedule tasks within the group. I believe that grouping tasks dynamically with similar deadlines and utilizing secondary criteria, such as minimizing the total execution time can lead to new and more efficient real-time scheduling algorithms. I present results comparing gEDF with other real-time algorithms including, EDF, best-effort, and guarantee scheme, by using randomly generated tasks with varying execution times, release times, deadlines and tolerances to missing deadlines, under varying workloads. Furthermore, I implemented the gEDF algorithm in the Linux kernel and evaluated gEDF for scheduling real applications
New Results on Online Resource Minimization
We consider the online resource minimization problem in which jobs with hard
deadlines arrive online over time at their release dates. The task is to
determine a feasible schedule on a minimum number of machines. We rigorously
study this problem and derive various algorithms with small constant
competitive ratios for interesting restricted problem variants. As the most
important special case, we consider scheduling jobs with agreeable deadlines.
We provide the first constant ratio competitive algorithm for the
non-preemptive setting, which is of particular interest with regard to the
known strong lower bound of n for the general problem. For the preemptive
setting, we show that the natural algorithm LLF achieves a constant ratio for
agreeable jobs, while for general jobs it has a lower bound of Omega(n^(1/3)).
We also give an O(log n)-competitive algorithm for the general preemptive
problem, which improves upon the known O(p_max/p_min)-competitive algorithm.
Our algorithm maintains a dynamic partition of the job set into loose and tight
jobs and schedules each (temporal) subset individually on separate sets of
machines. The key is a characterization of how the decrease in the relative
laxity of jobs influences the optimum number of machines. To achieve this we
derive a compact expression of the optimum value, which might be of independent
interest. We complement the general algorithmic result by showing lower bounds
that rule out that other known algorithms may yield a similar performance
guarantee
Energy-efficient algorithms for non-preemptive speed-scaling
We improve complexity bounds for energy-efficient speed scheduling problems
for both the single processor and multi-processor cases. Energy conservation
has become a major concern, so revisiting traditional scheduling problems to
take into account the energy consumption has been part of the agenda of the
scheduling community for the past few years.
We consider the energy minimizing speed scaling problem introduced by Yao et
al. where we wish to schedule a set of jobs, each with a release date, deadline
and work volume, on a set of identical processors. The processors may change
speed as a function of time and the energy they consume is the th power
of its speed. The objective is then to find a feasible schedule which minimizes
the total energy used.
We show that in the setting with an arbitrary number of processors where all
work volumes are equal, there is a approximation algorithm, where
is the generalized Bell number. This is the first constant
factor algorithm for this problem. This algorithm extends to general unequal
processor-dependent work volumes, up to losing a factor of
in the approximation, where is the maximum
ratio between two work volumes. We then show this latter problem is APX-hard,
even in the special case when all release dates and deadlines are equal and
is 4.
In the single processor case, we introduce a new linear programming
formulation of speed scaling and prove that its integrality gap is at most
. As a corollary, we obtain a
approximation algorithm where there is a single processor, improving on the
previous best bound of
when
Throughput Maximization in Multiprocessor Speed-Scaling
We are given a set of jobs that have to be executed on a set of
speed-scalable machines that can vary their speeds dynamically using the energy
model introduced in [Yao et al., FOCS'95]. Every job is characterized by
its release date , its deadline , its processing volume if
is executed on machine and its weight . We are also given a budget
of energy and our objective is to maximize the weighted throughput, i.e.
the total weight of jobs that are completed between their respective release
dates and deadlines. We propose a polynomial-time approximation algorithm where
the preemption of the jobs is allowed but not their migration. Our algorithm
uses a primal-dual approach on a linearized version of a convex program with
linear constraints. Furthermore, we present two optimal algorithms for the
non-preemptive case where the number of machines is bounded by a fixed
constant. More specifically, we consider: {\em (a)} the case of identical
processing volumes, i.e. for every and , for which we
present a polynomial-time algorithm for the unweighted version, which becomes a
pseudopolynomial-time algorithm for the weighted throughput version, and {\em
(b)} the case of agreeable instances, i.e. for which if and only
if , for which we present a pseudopolynomial-time algorithm. Both
algorithms are based on a discretization of the problem and the use of dynamic
programming
Throughput Maximization in the Speed-Scaling Setting
We are given a set of jobs and a single processor that can vary its speed
dynamically. Each job is characterized by its processing requirement
(work) , its release date and its deadline . We are also given
a budget of energy and we study the scheduling problem of maximizing the
throughput (i.e. the number of jobs which are completed on time). We propose a
dynamic programming algorithm that solves the preemptive case of the problem,
i.e. when the execution of the jobs may be interrupted and resumed later, in
pseudo-polynomial time. Our algorithm can be adapted for solving the weighted
version of the problem where every job is associated with a weight and
the objective is the maximization of the sum of the weights of the jobs that
are completed on time. Moreover, we provide a strongly polynomial time
algorithm to solve the non-preemptive unweighed case when the jobs have the
same processing requirements. For the weighted case, our algorithm can be
adapted for solving the non-preemptive version of the problem in
pseudo-polynomial time.Comment: submitted to SODA 201
On the periodic behavior of real-time schedulers on identical multiprocessor platforms
This paper is proposing a general periodicity result concerning any
deterministic and memoryless scheduling algorithm (including
non-work-conserving algorithms), for any context, on identical multiprocessor
platforms. By context we mean the hardware architecture (uniprocessor,
multicore), as well as task constraints like critical sections, precedence
constraints, self-suspension, etc. Since the result is based only on the
releases and deadlines, it is independent from any other parameter. Note that
we do not claim that the given interval is minimal, but it is an upper bound
for any cycle of any feasible schedule provided by any deterministic and
memoryless scheduler
- …