The exploitation of multicore processors is crucial to the development of advanced real-time embedded systems, since they allow increasing performance with a contained energy consumption, which also reflects on cooling, weight and space constraints. At the same time, however, the advent of multicore processors challenges the established approaches to system design and analysis. On one side, modern high-end embedded systems are increasingly concerned with providing high performance in real-time, which requires an evolution of programming paradigms to combine traditional requirements, i.e., ease of programmability and efficient exploitation of parallel resources, with timing and schedulability analysis techniques. In the context of safety-critical embedded systems, instead, the development of practical solutions is needed to ease the transition to multicore systems, while addressing the major sources of concern that are currently delaying their adoption. In the avionics domain, for instance, such issues are mainly related to certification directives, resource contention and porting existing applications to different platforms. In particular, the design of predictable multicore systems should be able to cope with the timing unpredictability arising from physical shared resources, such as last-level caches and main memory. This dissertation addresses some of the challenges related to the integration of parallel execution in modern real-time multicore systems, along three main dimensions. First, the schedulability problem for parallel tasks in a globally-scheduled system is considered, with the goal of reconciling high performance and predictability. The analysis is then instantiated for the particular case of OpenMP, considering the peculiarities of its execution and scheduling model. Second, a scheduling framework based on partitioned scheduling is presented for executing safety-critical software on parallel platforms, with the salient feature of mitigating the sources of concern mentioned above. Finally, a theoretical execution model is introduced to exploit parallelism at job level by leveraging the pipelined execution on different resources, leading to an efficient use of the computing power offered by multicore systems.

Supporting Parallelism in Multicore Real-Time Computing Systems

2017

Abstract

The exploitation of multicore processors is crucial to the development of advanced real-time embedded systems, since they allow increasing performance with a contained energy consumption, which also reflects on cooling, weight and space constraints. At the same time, however, the advent of multicore processors challenges the established approaches to system design and analysis. On one side, modern high-end embedded systems are increasingly concerned with providing high performance in real-time, which requires an evolution of programming paradigms to combine traditional requirements, i.e., ease of programmability and efficient exploitation of parallel resources, with timing and schedulability analysis techniques. In the context of safety-critical embedded systems, instead, the development of practical solutions is needed to ease the transition to multicore systems, while addressing the major sources of concern that are currently delaying their adoption. In the avionics domain, for instance, such issues are mainly related to certification directives, resource contention and porting existing applications to different platforms. In particular, the design of predictable multicore systems should be able to cope with the timing unpredictability arising from physical shared resources, such as last-level caches and main memory. This dissertation addresses some of the challenges related to the integration of parallel execution in modern real-time multicore systems, along three main dimensions. First, the schedulability problem for parallel tasks in a globally-scheduled system is considered, with the goal of reconciling high performance and predictability. The analysis is then instantiated for the particular case of OpenMP, considering the peculiarities of its execution and scheduling model. Second, a scheduling framework based on partitioned scheduling is presented for executing safety-critical software on parallel platforms, with the salient feature of mitigating the sources of concern mentioned above. Finally, a theoretical execution model is introduced to exploit parallelism at job level by leveraging the pipelined execution on different resources, leading to an efficient use of the computing power offered by multicore systems.
27-ott-2017
Italiano
BUTTAZZO, GIORGIO CARLO
ALMEIDA, LUIS
HAMANN, ARNE
CUCINOTTA, TOMMASO
Scuola Superiore di Studi Universitari e Perfezionamento "S. Anna" di Pisa
File in questo prodotto:
File Dimensione Formato  
PhDThesis_Alessandra.pdf

accesso aperto

Tipologia: Altro materiale allegato
Dimensione 4.18 MB
Formato Adobe PDF
4.18 MB Adobe PDF Visualizza/Apri

I documenti in UNITESI sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/20.500.14242/150190
Il codice NBN di questa tesi è URN:NBN:IT:SSSUP-150190