498 research outputs found

    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

    Timing Analysis for DAG-based and GFP Scheduled Tasks

    Full text link
    Modern embedded systems have made the transition from single-core to multi-core architectures, providing performance improvement via parallelism rather than higher clock frequencies. DAGs are considered among the most generic task models in the real-time domain and are well suited to exploit this parallelism. In this paper we provide a schedulability test using response-time analysis exploiting exploring and bounding the self interference of a DAG task. Additionally we bound the interference a high priority task has on lower priority ones

    Reservation-Based Federated Scheduling for Parallel Real-Time Tasks

    Full text link
    This paper considers the scheduling of parallel real-time tasks with arbitrary-deadlines. Each job of a parallel task is described as a directed acyclic graph (DAG). In contrast to prior work in this area, where decomposition-based scheduling algorithms are proposed based on the DAG-structure and inter-task interference is analyzed as self-suspending behavior, this paper generalizes the federated scheduling approach. We propose a reservation-based algorithm, called reservation-based federated scheduling, that dominates federated scheduling. We provide general constraints for the design of such systems and prove that reservation-based federated scheduling has a constant speedup factor with respect to any optimal DAG task scheduler. Furthermore, the presented algorithm can be used in conjunction with any scheduler and scheduling analysis suitable for ordinary arbitrary-deadline sporadic task sets, i.e., without parallelism

    Global EDF ์Šค์ผ€์ค„๋ง์„ ์œ„ํ•œ ์‹ค์‹œ๊ฐ„ ํƒœ์Šคํฌ์˜ ์กฐ๊ฑด๋ถ€ ์ตœ์  ๋ณ‘๋ ฌํ™”

    Get PDF
    ํ•™์œ„๋…ผ๋ฌธ(๋ฐ•์‚ฌ) -- ์„œ์šธ๋Œ€ํ•™๊ต๋Œ€ํ•™์› : ๊ณต๊ณผ๋Œ€ํ•™ ์ปดํ“จํ„ฐ๊ณตํ•™๋ถ€, 2022.2. ์ด์ฐฝ๊ฑด.Real-time applications are rapidly growing in their size and complexity. This trend is apparent even in extreme deadline-critical sectors such as autonomous driving and artificial intelligence. Such complex program models are described by a directed-acyclic-graph (DAG), where each node of the graph represents a task, and the connected edges portray the precedence relation between the tasks. With this intricate structure and intensive computation requirements, extensive system-wide optimization is required to ensure a stable real-time execution. On the other hand, recent advances in parallel computing frameworks, such as OpenCL and OpenMP, allow us to parallelize a real-time task into many different versions, which is called ``parallelization freedom.'' Depending on the degree of parallelization, the thread execution times can vary significantly, that is, more parallelization tends to reduce each thread execution time but increase the total execution time due to parallelization overhead. By carefully selecting a ``parallelization option'' for each task, i.e., the chosen number of threads each task is parallelized into, we can maximize the system schedulability while satisfying real-time constraints. Because of this benefit, parallelization freedom has drawn recent attention. However, for global EDF scheduling, G-EDF for short, the concept of parallelization freedom still has not brought much attention. To this extent, this dissertation proposes a way of optimally assigning parallelization options to real-time tasks for G-EDF on a multi-core system. Moreover, we aim to propose a polynomial-time algorithm that can be used for online situations where tasks dynamically join and leave. We formalize a monotonic increasing property of both tolerance and interference to the parallelization option to achieve this. Using such properties, we develop a uni-directional search algorithm that can assign parallelization options in polynomial time, which we formally prove the optimality. With the optimal parallelization, we observe significant improvement of schedulability through simulation experiment, and then in the following implementation experiment, we demonstrate that the algorithm is practically applicable for real-world use-cases. This dissertation first focuses on the traditional task model, i.e., multi-thread task model, then extends also to target the multi-segment (MS) task model and finally discusses the more general directed-acyclic-graph (DAG) task model to accommodate a wide range of real-world computing models.์ด ๋…ผ๋ฌธ์€ Global EDF ์Šค์ผ€์ค„๋Ÿฌ์—์„œ์˜ ์‹ค์‹œ๊ฐ„ ํƒœ์Šคํฌ์˜ ์ตœ์  ๋ณ‘๋ ฌํ™” ๊ธฐ๋ฒ•์— ๋Œ€ํ•ด ๊ธฐ์ˆ ํ•œ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด ๋ณ‘๋ ฌํ™” ์˜ต์…˜ ์ฆ๊ฐ€์— ๋Œ€ํ•ด tolerance์™€ interference๊ฐ€ ๋‹จ์กฐ ์ฆ๊ฐ€ํ•จ์„ ์ˆ˜ํ•™์ ์œผ๋กœ ๋ฐํžŒ๋‹ค. ์ด๋Ÿฌํ•œ ํŠน์„ฑ์„ ์ด์šฉํ•˜์—ฌ, ๋‹คํ•ญ์‹ ์‹œ๊ฐ„์•ˆ์— ์ˆ˜ํ–‰๋  ์ˆ˜ ์žˆ๋Š” ์‹ค์‹œ๊ฐ„ ํƒœ์Šคํฌ์˜ ๋ณ‘๋ ฌํ™” ๊ธฐ๋ฒ•์„ ์ œ์•ˆํ•˜๊ณ , ์ˆ˜ํ•™์ ์œผ๋กœ ์ตœ์ ์˜ ๋ฐฉ๋ฒ•์ž„์„ ์ฆ๋ช…ํ•œ๋‹ค. ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ์‹คํ—˜์„ ํ†ตํ•ด, ์‹ค์‹œ๊ฐ„ ํƒœ์Šคํฌ์˜ ์Šค์ผ€์ค„๋ง ์„ฑ๋Šฅ์˜ ๋น„์•ฝ์ ์ธ ์ƒ์Šน์„ ๊ด€์ฐฐํ•˜๊ณ , ์ด์–ด์ง€๋Š” ์‹ค์ œ ์„ธ๊ณ„ ์›Œํฌ๋กœ๋“œ๋ฅผ ์ด์šฉํ•œ ๊ตฌํ˜„ ์‹คํ—˜์—์„œ ์‹ค์ œ ์„ธ๊ณ„ ์ ์šฉ ๊ฐ€๋Šฅ์„ฑ์„ ์ ๊ฒ€ํ•œ๋‹ค. ์ด ๋…ผ๋ฌธ์€ ๋จผ์ € ์ „ํ†ต์ ์ธ ๋ฉ€ํ‹ฐ์“ฐ๋ ˆ๋“œ ํƒœ์Šคํฌ ๋ชจ๋ธ์„ ๋Œ€์ƒ์œผ๋กœ ์ตœ์  ๋ณ‘๋ ฌํ™” ๋ฐฉ๋ฒ•์„ ๋…ผํ•˜๋ฉฐ, ์ดํ›„ ๋ฉ€ํ‹ฐ ์„ธ๊ทธ๋จผํŠธ, DAG ํƒœ์Šคํฌ ๋ชจ๋ธ๊นŒ์ง€ ํ™•์žฅํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๊ธฐ์ˆ ํ•œ๋‹ค.1. Introduction 1 1. 1 Motivation and Objective 1 1. 2 Approach 3 1. 3 Organization 4 2. Related Work 5 2. 1 Real-Time Multi-Core Scheduling 5 2. 2 Real-Time Multi-Core Task Model 6 2. 3 Real-Time Multi-Core Schedulability Analysis 7 3. Optimal Parallelization of Multi-Thread Tasks 9 3. 1 Introduction 9 3. 2 Problem Description 10 3. 3 Extension of BCL Schedulability Analysis 12 3. 3. 1 Overview of BCL Schedulability Analysis 13 3. 3. 2 Properties of Parallelization Freedom 17 3. 4 Optimal Assignment of Parallelization Options 30 3. 4. 1 Optimal Parallelization Assignment Algorithm 33 3. 4. 2 Optimality of Algorithm1 35 3. 4. 3 Time Complexity of Algorithm1 38 3. 5 Experiment Results 38 3. 5. 1 Simulation Results 39 3. 5. 2 Simulated Schedule Results 43 3. 5. 3 Survey on the Boundary Condition of the Parallelization Freedom 45 3. 5. 4 Autonomous Driving Task Implementation Results 48 4. Conditionally Optimal Parallelization of Multi-Segment and DAG Tasks 56 4. 1 Introduction 56 4. 2 Multi-Segment Task Model 58 4. 3 Extension of Chwa-MS Schedulability Analysis 60 4. 3. 1 Chwa-MS Schedulability Analysis 60 4. 3. 2 Tolerance and Interference of Multi-Segment Tasks 62 4. 4 Assigning Parallelization Options to Multi-Segments 63 4. 4. 1 Parallelization Route 63 4. 4. 2 Assigning Parallelization Options to Multi-Segment Tasks 66 4. 4. 3 Time complexity of Algorithm2 69 4.5 DAG (Directed Acyclic Graph) Task Model 69 4. 6 Extension of Chwa-DAG Schedulability Analysis 73 4. 6. 1 Chwa-DAG Schedulability Analysis 73 4. 6. 2 Tolerance and Interference of DAG Tasks 78 4. 7 Assigning Parallelization Options to DAG Tasks 87 4. 7. 1 Parallelization Route for DAG Task Model 87 4. 7. 2 Assigning Parallelization Options to DAG Tasks 90 4. 7. 3 Time Complexity of Algorithm3 91 4. 8 Experiment Results: Multi-Segment Task Model 93 4. 9 Experiment Results: DAG Task Model 96 4. 9. 1 Simulation Results 97 4. 9. 2 Implementation Results 100 5 Conclusion 104 5. 1 Summary 104 5. 2 Future Work 105 6. References 106๋ฐ•

    Capacity Augmentation Bound of Federated Scheduling for Parallel DAG Tasks

    Get PDF
    We present a novel federated scheduling approach for parallel real-time tasks under a general directed acyclic graph (DAG) model. We provide a capacity augmentation bound of 2 for hard real-time scheduling; here we use the worst-case execution time and critical-path length of tasks to determine schedulability. This is the best known capacity augmentation bound for parallel tasks. By constructing example task sets, we further show that the lower bound on capacity augmentation of federated scheduling is also 2 for any m \u3e 2. Hence, the gap is closed and bound 2 is a strict bound for federated scheduling. The federated scheduling algorithm is also a schedulability test that often admits task sets with utilization much greater than 50%m

    Semi-Partitioned Scheduling of Fork-Join Tasks using Work-Stealing

    Get PDF
    13th IEEE/IFIP International Conference on Embedded and Ubiquitous Computing (EUC 2015). 21 to 23, Oct, 2015, Session W1-A: Multiprocessing and Multicore Architectures. Porto, Portugal.This paper explores the behavior of parallel fork-join tasks on multicore platforms by resorting to a semipartitioned scheduling model. This model offers a promising framework to embedded systems which are subject to stringent timing constraints as it provides these systems with very interesting properties. The proposed approach consists of two stagesโ€”an offline stage and an online stage. During the offline stage, a multi-frame task model is adopted to perform the fork-join task-to-core mapping so as to improve the schedulability and the performance of the system, and during the online stage, work-stealing is exploited among cores to improve the system responsiveness as well as to balance the execution workload. The objective of this work is twofold: (1) to provide an alternative technique that takes advantage of the semi-partitioned scheduling properties by offering the possibility to accommodate fork-join tasks that cannot be scheduled in any pure partitioned environment, and (2) to reduce the migration overhead which has shown to be a traditional major source of non-determinism in global approaches. The simulation results show an improvement of the proposed approach over the state-of-theart of up to 15% of the average response-time per task set
    • โ€ฆ
    corecore