Refine
Document Type
Has Fulltext
- no (14)
Is part of the Bibliography
- no (14)
Keywords
- AUTOSAR (1)
- Arrival Curve (1)
- Deadline Violation (1)
- Embed System (1)
- Functional Safety (1)
- Goodness-of-fit (1)
- Multi-Core (1)
- Multi-Objective Optimization (1)
- Real-time systems (1)
- Task Allocation (1)
Institute
Begutachtungsstatus
- peer-reviewed (1)
The shift from single-core to multi-core processors in real-time embedded systems leads to communication based effects on timing such as inter-core communication delays and blocking times. Moreover, the complexity of the scheduling problem increases when multi-core processors are used. In priority-based-scheduling, a fixed priority assignment is used in order to enable predictable behavior of the system. Predictability means that the system has to be analyzable which allows the detection of problems coming from scheduling decisions. For fixed priority scheduling in multi-core real-time embedded systems, a proper task priority assignment has to be done in a way that the system has minimal effects on timing. In this paper, we present an approach for finding near-optimal solutions for task priority assignment and the preemption/cooperation problem. A genetic algorithm is hereby used to create priority assignment solutions. A timing simulator is used for evaluation of each solution regarding real-time properties, memory consumption and communication overhead. In a case study we demonstrate that the proposed approach performs better than well known and single-core optimal heuristics for relatively complex systems.
Extended Task Priority and Preemptability Optimization in Real-Time Multi-Core Embedded Systems
(2014)
We present a model-based optimization approach for the task allocation problem in embedded multi-core systems. The information therefore is obtained from a system description in AUTOSAR and runtime measurements of the runnables in hardware traces. Based on this an initial software partitioning of runnables to tasks is created. We then use a genetic algorithm to create and evaluate solutions to the task allocation problem. Each solution is hereby evaluated using a discrete event-based simulation, which allows the evaluation with regard to real-time properties, resource consumption and data-communication overhead. The significance of our approach is then shown in a case-study. There, we optimize the task allocation of an embedded system, whose complexity is comparable to that of an actual system, on a multi-core processor. Finally, the results of the optimization are transferred to an ECU Configuration Description to enable further development in compliance with the AUTOSAR methodology.
Global scheduling algorithms are very promising for application in embedded real-time systems using multi-core controllers. In this paper we want to make a first step forward to apply such scheduling methods on real existing systems. Especially a new resource model is necessary to avoid deadlocks, as this goal can not be achieved by using the standard OSEK Priority Ceiling Protocol when shared global resources are in use. We also introduce the new metric mean Normalized Blocking Time in order to be able to compare locking mechanisms according to the timing effects of their blocking behavior. Finally we give a simulative application example of the new metric by the use of two different kinds of semaphore models and an example task set typical for existing embedded real-time systems in the automotive powertrain environment.
Safe and reliable multi-core technology becomes more and more important in the field of embedded systems. Today’s and future embedded systems require increasing performance while being more energy efficient. Moreover, the functional safety for these embedded systems has to be improved or developed completely new. In this chapter, we first address the challenges of embedded multi-core real-time systems. To raise the resilience of such systems we use the deadlock-free synchronization model of Block et al. (A flexible real-time locking protocol for multiprocessors. 2012 IEEE international conference on embedded and real-time computing systems and applications, vol 0, pp 47–56, 2007). The metric mean Normalized Blocking Time (mNBT) is hereby used to measure the timing effects of the blocking behavior of strongly interacting tasks. In a second step, we present a model-based approach to map the tasks of an embedded real-time system to the cores of a multi-core processor. Moreover, we derive an execution time model from runtime measurements of software functions. This information is then used to perform precise probabilistic simulations of different task-to-core mappings and evaluate them with regard to task response times, inter-task blocking overhead and load distribution. Subsequently, we integrate the probabilistic simulation within an optimization technique to systematically improve the task-to-core mapping. We conclude with a case-study, where we demonstrate the effectiveness of the presented approach by optimizing the task-to-core mapping of a practical automotive powertrain system.
Towards the Derivation of Guidelines for the Deployment of Real-Time Tasks on a Multicore Processor
(2014)
The deployment of automotive software on a multicore processor includes the task of mapping executables to cores. Given the number of possible solutions, integrators have to solve a complex problem. Considering multiple, often conflicting goals like minimizing task response times and memory consumption, complexity further increased with the advent of multicore processors. We present a model-based approach for deriving design rules supporting integrators with statically mapping tasks to a multicore ECU. First, an evolutionary algorithm is used to sample the design space. For each sample, a model-based analysis is performed, resulting in the required fitness values according to the system metric objectives. Finally, subsets of the sample population are used to derive deployment guidelines by evaluating similarities between highly ranked solutions. This reduces the number of solutions to be considered by the integrators by orders of magnitude. In a case-study, we demonstrate the developed approach on an artificial automotive engine management system.
The deployment of complex real-time systems with everyday increasing demands and possibilities, is a challenging task for engineers when performance and efficiency have to be maximized while cost have to be minimized at the same time. For already designed systems it became necessary to perform different modifications in order to find optimal software architecture configuration by respecting all timing constraints which are essential when speaking of real-time systems. In this work, we present a model-based approach of optimizing the execution sequence of runnables within tasks in order to reduce the system's reaction times by improving the overall signal flow duration. Hereby, a genetic optimization algorithm is used to create and evaluate multiple solutions for the runnable sequencing problem. We conclude by demonstration the efficiency of the presented approach with experimental results.