243 research outputs found

    Global EDF scheduling of directed acyclic graphs on multiprocessor systems

    Get PDF
    International audienceIn this paper, we study the problem of real-time scheduling of parallel tasks represented by a Directed Acyclic Graph (DAG) on multiprocessor architectures. We focus on Global Earliest Deadline First scheduling of sporadic DAG tasksets with constrained-deadlines on a system of homogeneous processors. Our contributions consist in analyzing DAG tasks by considering their internal structures and providing a tighter bound on the workload and interference analysis. This approach consists in assigning a local offset and deadline for each subtask in the DAG. We derive an improved sufficient schedulability test w.r.t. an existing test proposed in the state of the art. Then we discuss the sustainability of this test

    A C-DAG task model for scheduling complex real-time tasks on heterogeneous platforms: preemption matters

    Full text link
    Recent commercial hardware platforms for embedded real-time systems feature heterogeneous processing units and computing accelerators on the same System-on-Chip. When designing complex real-time application for such architectures, the designer needs to make a number of difficult choices: on which processor should a certain task be implemented? Should a component be implemented in parallel or sequentially? These choices may have a great impact on feasibility, as the difference in the processor internal architectures impact on the tasks' execution time and preemption cost. To help the designer explore the wide space of design choices and tune the scheduling parameters, in this paper we propose a novel real-time application model, called C-DAG, specifically conceived for heterogeneous platforms. A C-DAG allows to specify alternative implementations of the same component of an application for different processing engines to be selected off-line, as well as conditional branches to model if-then-else statements to be selected at run-time. We also propose a schedulability analysis for the C-DAG model and a heuristic allocation algorithm so that all deadlines are respected. Our analysis takes into account the cost of preempting a task, which can be non-negligible on certain processors. We demonstrate the effectiveness of our approach on a large set of synthetic experiments by comparing with state of the art algorithms in the literature

    An Experimental Analysis of DAG Scheduling Methods in Hard Real-time Multiprocessor Systems

    Get PDF
    International audienceThe scheduling of real-time parallel tasks on multiprocessor systems is more complicated than the one of independent sequential tasks, specially for the Directed Acyclic Graph (DAG) parallel model. The complexity is due to the structure of the DAG tasks and the precedence constraints between their subtasks. The trivial DAG scheduling method is to apply directly common real-time scheduling algorithms despite their lack of compatibility with the parallel model. Another scheduling method called the stretching method is summarized as converting each parallel DAG task in the set into a collection of independent sequential threads that are easier to be scheduled. In this paper, we are interested in analyzing global preemptive scheduling of DAGs using both methods by showing that both methods are not comparable in the case of using Deadline Monotonic (DM) and Earliest Deadline First (EDF) scheduling algorithms. Then we use extensive simulations to compare and analyze their performance

    Schedulability Analysis for Directed Acyclic Graphs on Multiprocessor Systems at a Subtask Level

    Get PDF
    International audienceThis paper addresses the problem of scheduling parallel real- time tasks of Directed Acyclic Graph (DAG) model on multiprocessor systems. We propose a new scheduling method based on a subtask-level, which means that the schedulability decisions are taken based on the local temporal parameters of subtasks. This method requires modifying the subtasks to add more parameters which are necessary for the analysis, such as local offsets, deadlines and release jitters. Then we provide interference and workload analyses of DAG tasks, and we provide a schedulability test for any work conserving scheduling algorithm

    A Stretching Algorithm for Parallel Real-time DAG Tasks on Multiprocessor Systems

    Get PDF
    International audienceParallelism is becoming more important nowadays due to the increasing use of multiprocessor systems. In this paper, we study the problem of scheduling periodic parallel real-time Directed Acyclic graph (DAG) tasks on m homogeneous multiprocessor systems. A DAG task is an example of inter-subtask parallelism. It consists of a collection of dependent subtasks under precedence constraints. The dependencies between subtasks make scheduling process more challenging. We propose a stretching algorithm applied on each DAG tasks to transform them into a set of independent sequential threads with intermediate offsets and deadlines. The threads obtained with the transformation are two types, (i) fully-stretched master threads with utilization equal to 1 and (ii) constrained-deadline independent threads. The fully-stretched master threads are assigned to dedicated processors and the remaining processors m' ≀ m, are scheduled using global EDF scheduling algorithm. Then, we prove that preemptive global EDF scheduling of stretched threads has a resource augmentation bound equal to (3+ √ 5)/2 for all tasksets with n < ϕ * m , where n is the number of tasks in the taskset and ϕ is the golden ratio 1

    Experimental Analysis of the Tardiness of Parallel Tasks in Soft Real-time Systems

    Get PDF
    International audienceA parallel application is defined as the application that can be executed on multiple processors simultaneously. In software, parallelism is a useful programming technique to take advantage of the hard-ware advancement in processors manufacturing nowadays. In real-time systems, where tasks have to respect certain timing constraints during execution, a single task has a shorter response time when executed in parallel than the sequential execution. However, the same cannot be trivially applied to a set of parallel tasks (taskset) sharing the same processing platform, and there is a negative intuition regarding parallelism in real-time systems. In this work, we are interested in analyzing this statement and providing an experimental analysis regarding the effect of parallelism soft on real-time systems. By performing an extensive simulation of the scheduling process of parallel taskset on multiprocessor systems using a known scheduling algorithm called the global Earliest-Deadline First (gEDF), we aim at providing an indication about the effects (positive or negative) of parallelism in real-time scheduling

    YARTISS: A Generic, Modular and Energy-Aware Scheduling Simulator for Real-Time Multiprocessor Systems

    Get PDF
    In this report, we present a free software written in Java, YARTISS, which is a real-time multiprocessor scheduling simulator. It is aimed at comparing user-customized algorithms with ones from the literature on real-time scheduling. This simulator is designed as an easy-to-use modular tool in which new modules can be added without the need to decompress, edit nor recompile existing parts. It can sim-ulate the execution of a large number of concurrent periodic independent tasksets on multiprocessor platforms and generate clear visual results of the scheduling process (both schedules and tunable metrics presentations). Other task models are already implemented in the simulator, like graph tasks with precedence constraints and it is easily extensible to other task models. Moreover, YARTISS can simulate tasksets in which energy consumption is a scheduling parameter in the same manner as Worst Case Execution Time (WCET)
    • 

    corecore