536 research outputs found
How the structure of precedence constraints may change the complexity class of scheduling problems
This survey aims at demonstrating that the structure of precedence
constraints plays a tremendous role on the complexity of scheduling problems.
Indeed many problems can be NP-hard when considering general precedence
constraints, while they become polynomially solvable for particular precedence
constraints. We also show that there still are many very exciting challenges in
this research area
Restart-Based Fault-Tolerance: System Design and Schedulability Analysis
Embedded systems in safety-critical environments are continuously required to
deliver more performance and functionality, while expected to provide verified
safety guarantees. Nonetheless, platform-wide software verification (required
for safety) is often expensive. Therefore, design methods that enable
utilization of components such as real-time operating systems (RTOS), without
requiring their correctness to guarantee safety, is necessary.
In this paper, we propose a design approach to deploy safe-by-design embedded
systems. To attain this goal, we rely on a small core of verified software to
handle faults in applications and RTOS and recover from them while ensuring
that timing constraints of safety-critical tasks are always satisfied. Faults
are detected by monitoring the application timing and fault-recovery is
achieved via full platform restart and software reload, enabled by the short
restart time of embedded systems. Schedulability analysis is used to ensure
that the timing constraints of critical plant control tasks are always
satisfied in spite of faults and consequent restarts. We derive schedulability
results for four restart-tolerant task models. We use a simulator to evaluate
and compare the performance of the considered scheduling models
Blocking time under basic priority inheritance: Polynomial bound and exact computation
The Priority Inheritance Protocol (PIP) is arguably the best-known protocol
for resource sharing under real-time constraints. Its importance in modern
applications is undisputed. Nevertheless, because jobs may be blocked under PIP
for a variety of reasons, determining a job's maximum blocking time could be
difficult, and thus far no exact method has been proposed that does it.
Existing analysis methods are inefficient, inaccurate, and of limited
applicability. This article proposes a new characterization of the problem,
thus allowing a polynomial method for bounding the blocking time, and an exact,
optimally efficient method for blocking time computation under priority
inheritance that have a general applicability
Malleable task-graph scheduling with a practical speed-up model
Scientific workloads are often described by Directed Acyclic task Graphs.Indeed, DAGs represent both a model frequently studied in theoretical literature and the structure employed by dynamic runtime schedulers to handle HPC applications. A natural problem is then to compute a makespan-minimizing schedule of a given graph. In this paper, we are motivated by task graphs arising from multifrontal factorizations of sparsematrices and therefore work under the following practical model. We focus on malleable tasks (i.e., a single task can be allotted a time-varying number of processors) and specifically on a simple yet realistic speedup model: each task can be perfectly parallelized, but only up to a limited number of processors. We first prove that the associated decision problem of minimizing the makespan is NP-Complete. Then, we study a widely used algorithm, PropScheduling, under this practical model and propose a new strategy GreedyFilling. Even though both strategies are 2-approximations, experiments on real and synthetic data sets show that GreedyFilling achieves significantly lower makespans
Analysis and implementation of the multiprocessor bandwidth inheritance protocol
The Multiprocessor Bandwidth Inheritance (M-BWI) protocol is an extension of the Bandwidth Inheritance (BWI) protocol for symmetric multiprocessor systems. Similar to Priority Inheritance, M-BWI lets a task that has locked a resource execute in the resource reservations of the blocked tasks, thus reducing their blocking time. The protocol is particularly suitable for open systems where different kinds of tasks dynamically arrive and leave, because it guarantees temporal isolation among independent subsets of tasks without requiring any information on their temporal parameters. Additionally, if the temporal parameters of the interacting tasks are known, it is possible to compute an upper bound to the interference suffered by a task due to other interacting tasks. Thus, it is possible to provide timing guarantees for a subset of interacting hard real-time tasks. Finally, the M-BWI protocol is neutral to the underlying scheduling policy: it can be implemented in global, clustered and semi-partitioned scheduling.
After introducing the M-BWI protocol, in this paper we formally prove its isolation properties, and propose an algorithm to compute an upper bound to the interference suffered by a task. Then, we describe our implementation of the protocol for the LITMUS RT real-time testbed, and measure its overhead. Finally, we compare M-BWI against FMLP and OMLP, two other protocols for resource sharing in multiprocessor systems
Memory-processor co-scheduling in fixed priority systems
A major obstacle towards the adoption of multi-core platforms for real-time systems is given by the difficulties in characterizing the interference due to memory contention. The simple fact that multiple cores may simultaneously access shared memory and communication resources introduces a significant pessimism in the timing and schedulability analysis. To counter this problem, predictable execution models have been proposed splitting task executions into two consecutive phases: a memory phase in which the required instruction and data are pre-fetched to local memory (M-phase), and an execution phase in which the task is executed with no memory contention (C-phase). Decoupling memory and execution phases not only simplifies the timing analysis, but it also allows a more efficient (and predictable) pipelining of memory and execution phases through proper co-scheduling algorithms. In this paper, we take a further step towards the design of smart co-scheduling algorithms for sporadic real-time tasks complying with the M/C (memory-computation) model. We provide a theoretical framework that aims at tightly characterizing the schedulability improvement obtainable with the adopted M/C task model on a single-core systems. We identify a tight critical instant for M/C tasks scheduled with fixed priority, providing an exact response-time analysis with pseudo-polynomial complexity. We show in our experiments that a significant schedulability improvement may be obtained with respect to classic execution models, placing an important building block towards the design of more efficient partitioned multi-core systems
Data Freshness Over-Engineering: Formulation and Results
In many application scenarios, data consumed by real-time tasks are required to meet a maximum age, or freshness, guarantee. In this paper, we consider the end-to-end freshness constraint of data that is passed along a chain of tasks in a uniprocessor setting. We do so with few assumptions regarding the scheduling algorithm used. We present a method for selecting the periods of tasks in chains of length two and three such that the end-to-end freshness requirement is satisfied, and then extend our method to arbitrary chains. We perform evaluations of both methods using parameters from an embedded benchmark suite (E3S) and several schedulers to support our result
Some topics on deterministic scheduling problems
Sequencing and scheduling problems are motivated by allocation of limited resources over time. The goal is to find an optimal allocation where optimality is defined by some problem specific objectives.
This dissertation considers the scheduling of a set of ri tasks, with precedence constraints, on m \u3e= 1 identical and parallel processors so as to minimize the makespan. Specifically, it considers the situation where tasks, along with their precedence constraints, are released at different times, and the scheduler has to make scheduling decisions without knowledge of future releases. Both preemptive and nonpreemptive schedules are considered. This dissertation shows that optimal online algorithms exist for some cases, while for others it is impossible to have one. The results give a sharp boundary delineating the possible and the impossible cases.
Then an O(n log n)-time implementation is given for the algorithm which solves P|pj = 1, rj, outtree| ÎŁCj and P|pmtn, pj=1,rj,outtree|ÎŁCj.
A fundamental problem in scheduling theory is that of scheduling a set of n unit-execution-time (UET) tasks, with precedence constraints, on m \u3e 1 parallel and identical processors so as to minimize the mean flow time. For arbitrary precedence constraints, this dissertation gives a 2-approximation algorithm. For intrees, a 1.5-approximation algorithm is given.
Six dual criteria problems are also considered in this dissertation. Two open problems are first solved. Both problems are single machine scheduling problems with the number of tardy jobs as the primary criterion and with the total completion time and the total tardiness as the secondary criterion, respectively. Both problems are shown to be NP-hard. Then it focuses on bi-criteria scheduling problems involving the number of tardy jobs, the maximum weighted tardiness and the maximum tardiness. NP-hardness proofs are given for the scheduling problems when the number of tardy jobs is the primary criterion and the maximum weighted tardiness is the secondary criterion, or vice versa. It then considers complexity relationships between the various problems, gives polynomial-time algorithms for some special cases, and proposes fast heuristics for the general case
- …