New Insights Into the Real-Time Performance of a Multicore Processor (original) (raw)
Related papers
An experimental comparison of different real-time schedulers on multicore systems
Journal of Systems and Software, 2012
In this work, an experimental comparison among the Rate Monotonic (RM) and Earliest Deadline First (EDF) multiprocessor real-time schedulers is performed, with a focus on soft real-time systems. We generated random workloads of synthetic periodic task sets and executed them on a big multi-core machine, using Linux as Operating System, gathering an extensive amount of data related to their exhibited performance under various real-time scheduling strategies.
International journal of computer applications, 2011
Embedded Linux became a dominant choice in the embedded entertainment and mobile systems. Their adoption in widely used control applications is the second phase of their embedded market domination. One of the most important criteria of the control RTOS is their determinism/overhead ratio. Actually, many extensions exist to bring real-time capability into the Linux kernel. On the other hand standard computer architecture become widely adopted in the embedded market, with a large variety of performances and power requirement. In this paper, we study the impact of timing enhancement offered by various real-time Linux kernel extensions and their impact into the overall system performance. The obtained results are compared with the standard and server kernels performances. We used for our study a multi-core IntelĀ® based architecture since we considered the trend of the embedded control market for this kind of architectures. In our work we studied two metrics to reflect the performance of the studied kernel that are latency and throughput. Such work can be used to orient the adoption of real-time Linux extension for a given hardware architecture to reach control application requirements.
Supporting intra-task parallelism in real-time multiprocessor systems
2012
Mul ple programming models are emerging to address the increased need for dynamic task-level parallelism in applica ons for mul-core processors and shared-memory parallel compu ng, presen ng promising solu ons from a user-level perspec ve. Nonetheless, while high-level parallel languages offer a simple way for applica on programmers to specify parallelism in a form that easily scales with problem size, they s ll leave the actual scheduling of tasks to be performed at run me. Therefore, if the underlying system cannot efficiently map those tasks on the available cores, the benefits will be lost. This is par cularly important in modern real-me systems as their average workload is rapidly growing more parallel, complex and compu ng-intensive, whilst preserving stringent ming constraints. However, as the real-me scheduling theory has mostly been focused on sequen al task models, a shi to parallel task models introduces a completely new dimension to the scheduling problem. Within this context, the work presented in this thesis considers how to dynamically schedule highly heterogeneous parallel applica ons that require real-me performance guarantees on mul-core processors. A novel scheduling approach called RTWS is proposed. RTWS combines the G-EDF scheduler with a priority-aware work-stealing load balancing scheme, enabling parallel real-me tasks to be executed on more than one processor at a given me instant. Two stealing sub-policies have arisen from this proposal and their suitability is discussed in detail. Furthermore, this thesis describes the implementa on of a new scheduling class in the Linux kernel concerning RTWS, and extensively evaluate its feasibility. Experimental results demonstrate the greater scalability and lower scheduling overhead of the proposed approach, compara vely to an exis ng real-me deadline-driven scheduling policy for the Linux kernel, as well as reveal its be er performance when considering tasks with intra-task parallelism than without, even for short-living applica ons. We show that busy-aware stealing is robust to small devia ons from a strict priority schedule and conclude that some priority inversion may be actually acceptable, provided it helps reduce conten on, communica on, synchronisa on and coordina on between parallel threads.
Real-time scheduling on multithreaded processors
Proceedings Seventh International Conference on Real-Time Computing Systems and Applications, 2000
This paper investigates real-time scheduling algorithms on upcoming multithreaded processors. As evaluation testbed we introduce a multithreaded processor kernel which is specifically designed as core processor of a microcontroller or system-on-a-chip. Handling of external realtime events is performed through multithreading. Real-time threads are used as interrupt service threads (ISTs) instead of interrupt service routines (ISRs). Our proposed microcontroller supports multiple ISTs with zero-cycle context switching overhead. We investigate the behavior of fixed priority preemptive, earliest deadline first, least laxity first and guaranteed percentage scheduling with respect to multithreaded processors. Our finding is that the strategies GP and LLF result in a good blending of instructions of different threads thus enabling a multithreaded processor to utilize latencies best. Assuming a zero-cycle context switch LLF performs best, however implementation cost are prohibitive.
Multicore Applications in Real Time Systems
arXiv (Cornell University), 2010
Microprocessor roadmaps clearly show a trend towards multiple core CPUs. Modern operating systems already make use of these CPU architectures by distributing tasks between processing cores thereby increasing system performance. This review article highlights a brief introduction of what a multicore system is, the various methods adopted to program these systems and also the industrial application of these high speed systems. Index terms-Automatic load balancing, Asymetric Multi Processing (AMP), Bound Multi Processing (BMP) Real time systems Symetric Multi Processing (SMP), Scaling. I.
Reducing timing interferences in real-time applications running on multicore architectures
HAL (Le Centre pour la Communication Scientifique Directe), 2018
We introduce a unified wcet analysis and scheduling framework for real-time applications deployed on multicore architectures. Our method does not follow a particular programming model, meaning that any piece of existing code (in particular legacy) can be re-used, and aims at reducing automatically the worst-case number of timing interferences between tasks. Our method is based on the notion of Time Interest Points (tips), which are instructions that can generate and/or suffer from timing interferences. We show how such points can be extracted from the binary code of applications and selected prior to performing the wcet analysis. We then represent real-time tasks as sequences of time intervals separated by tips, and schedule those tasks so that the overall makespan (including the potential timing penalties incurred by interferences) is minimized. This scheduling phase is performed using an Integer Linear Programming (ilp) solver. Preliminary results on state-of-the-art benchmarks show promising results and pave the way for future extensions of the model and optimizations.
Guest Editorial: From Uniprocessors to Multiprocessors: Advances in Real-Time Systems
Real-Time Systems, 2013
Real-time multiprocessor computing has been an active area of research for many years. For example, several real-time multiprocessor scheduling results are known for more than three decades. However, while the field of real-time uniprocessor computing evolved steadily to a mature area, the multiprocessor counterpart lagged behind, plagued by higher intrinsic complexity, costly platforms, low efficiency and few applications. This situation changed radically in the last decade with the massification of multi-core processors that made parallel computing platforms available in practically all general purpose computers as well as many industrial and embedded systems. This revolution forced adaptations in many existing software commodities to take advantage of the available parallel computing hardware and motivated a strong research effort in tackling the idiosyncrasies of these systems. The real-time systems community in particular has been dedicating substantial attention to issues such as the definition of analysable task models that better adapt to parallel platforms, the scheduling of the tasks on the set of processors, the tasks synchronization across processors and the access to global resources including caches, to name just a few.
Implementation and evaluation of global and partitioned scheduling in a real-time OS
Real-Time Systems, 2013
In this work, we provide an experimental comparison between Global-EDF and Partitioned-EDF, considering the run-time overhead of a real-time operating system (RTOS). Recent works have confirmed that OS implementation aspects, such as the choice of scheduling data structures and interrupt handling mechanisms, impact real-time schedulability as much as scheduling theoretic aspects. However, these studies used real-time patches applied into a general-purpose OS. By measuring the run-time overhead of an RTOS designed from scratch, we show how close the schedulability ratio of task sets is to the theoretical hard real-time schedulability tests. Moreover, we show how a well-designed object-oriented RTOS allows code reuse of scheduling components (e.g., thread, scheduling criteria, and schedulers) and easy real-time scheduling extensions. We compare our RTOS to a real-time patch for Linux in terms of the task set schedulability ratio of several generated task sets. In some cases, Global-EDF considering the overhead of the RTOS is superior to Partitioned-EDF considering the overhead of the patched Linux, which clearly shows how different OSs impact hard real-time schedulers.
A Hybrid Real-Time Scheduling Approach on Multi-Core Architectures
Journal of Software, 2010
This paper proposes a hybrid scheduling approach for real-time system on homogeneous multi-core architecture. To make the best of the available parallelism in these systems, first an application is partitioned into some parallel tasks as much as possible. Then the parallel tasks are dispatched to different cores, so as to execute in parallel. In each core, real-time tasks can run concurrently with nonreal-time tasks. The hybrid scheduling approach uses a twolevel scheduling scheme. At the top level, a sporadic server is assigned to each scheduling policy. Each sporadic server is used to schedule the dispatched tasks according to its scheduling policy. At the bottom level, a rate-monotonic OS scheduler is adopted to maintain and schedule the top level sporadic servers. The schedulability test is also considered in this paper. The experimental results show that the hybrid scheme is an efficient scheduling scheme.