Con l'aumento delle prestazioni computazionali per Watt fornito da architetture multi-/many-core, diverse industrie stanno affrontando una transizione da sistemi single-core a multi-/many-core. Allo stesso tempo, c'è una tendenza nel mercato automobilistico che punta all'integrazione di più componenti software nello stesso MPSoC (Multi-Processor System-On-Chip). In questo contesto il partizionamento e l'integrazione di applicazioni a criticità mista su architetture multi-/many-core rappresenta una seria sfida per gli architetti del software embedded. Per affrontare questo problema una soluzione plausibile è virtualizzare le risorse hardware. L'adozione di questo approccio nell'industria automobilistica è aumentata negli ultimi anni al fine di raggiungere l'isolamento temporale e spaziale richiesto da Tier-1 e OEM per l'esecuzione di applicazioni mission-critical in tempo reale. Tuttavia, ci sono ancora molte preoccupazioni e sfide riguardanti la corretta gestione dei dispositivi hardware condivisi. A livello software, le moderne applicazioni embedded automobilistiche sono composte da più componenti con diversi livelli di criticità. In particolare questi componenti software comunicano attraverso la memoria condivisa. Questo tipo di comunicazione tra le attività può portare a potenziali problemi di incoerenza dei dati. In questo senso, vengono proposti modelli di comunicazione nuovi e standard distinti, che forniscono diversi livelli di prevedibilità e coerenza dei dati. Questa tesi si concentra sull'analisi dei problemi relativi all'esecuzione di applicazioni in tempo reale, che si basano su architetture multi-core/many-core. Nello specifico questa tesi fornisce i seguenti contributi: 1) identificazione delle principali fonti di imprevedibilità nelle architetture multi-core a livello I/O in piattaforme virtualizzate; 2) analisi di diversi meccanismi che vengono utilizzati per la comunicazione inter-task a memoria condivisa nel dominio automobilistico; 3) caratterizzazione della end-to-end latency di effect chain implementate con diversi paradigmi di comunicazione e 4) uno strumento generatore di codice basato su modelli che serve per testare e dimostrare i risultati ottenuti durante il dottorato

With the increasing computational performance per Watt provided by multi-/many-core architectures, several industries are facing a transition from single-core to multi-/many-core systems. At the same time, there is a trend in the automotive market aiming at integrating multiple software components into the same MPSoC (MultiProcessor System-On-Chip). In this context, the partitioning and integration of mixed-criticality applications on top of multi-/many-core architectures is a serious challenge for embedded-software architects. In order to tackle this problem, a plausible solution is to virtualize the hardware resources. The adoption of this approach in the automotive industry has increased in recent years in order to achieve the temporal and spatial isolation demanded by Tier-1 and OEMs for the execution of mission-critical real-time applications. However, there are still many concerns and challenges regarding the correct management of shared hardware devices. At software level, modern automotive embedded applications are composed of multiple components with different levels of criticality. In particular these software components communicate through shared memory. This type of inter-task communication can lead to potential data inconsistency issues. In this sense, distinct novel and standard communication models are proposed, providing different levels of predictability and data consistency. %In addition, the characterization of industrial applications is still a big challenge, due to industry's reluctance to share the implementation details with academy. Moreover, there is a considerable lack of benchmarks to test and prove the research findings. This thesis focuses on investigating and analyzing problems related to the execution of real-time applications running on top of modern embedded multi-/many-core architectures. Specifically, this dissertation makes the following contributions: 1) identification of the main sources of unpredictability in multi-core architectures at I/O level in virtualized platforms, 2) analysis of different mechanisms that are used for shared-memory inter-task communication in the automotive domain 3) end-to-end latency characterization of effect chains implemented with different communication paradigms, and 4) a model-based code generator tool that serves to test and prove the findings done during the PhD.

Predictable Communication Semantics For Industrial Real-Time Systems

SANUDO OLMEDO, Ignacio
2018

Abstract

Con l'aumento delle prestazioni computazionali per Watt fornito da architetture multi-/many-core, diverse industrie stanno affrontando una transizione da sistemi single-core a multi-/many-core. Allo stesso tempo, c'è una tendenza nel mercato automobilistico che punta all'integrazione di più componenti software nello stesso MPSoC (Multi-Processor System-On-Chip). In questo contesto il partizionamento e l'integrazione di applicazioni a criticità mista su architetture multi-/many-core rappresenta una seria sfida per gli architetti del software embedded. Per affrontare questo problema una soluzione plausibile è virtualizzare le risorse hardware. L'adozione di questo approccio nell'industria automobilistica è aumentata negli ultimi anni al fine di raggiungere l'isolamento temporale e spaziale richiesto da Tier-1 e OEM per l'esecuzione di applicazioni mission-critical in tempo reale. Tuttavia, ci sono ancora molte preoccupazioni e sfide riguardanti la corretta gestione dei dispositivi hardware condivisi. A livello software, le moderne applicazioni embedded automobilistiche sono composte da più componenti con diversi livelli di criticità. In particolare questi componenti software comunicano attraverso la memoria condivisa. Questo tipo di comunicazione tra le attività può portare a potenziali problemi di incoerenza dei dati. In questo senso, vengono proposti modelli di comunicazione nuovi e standard distinti, che forniscono diversi livelli di prevedibilità e coerenza dei dati. Questa tesi si concentra sull'analisi dei problemi relativi all'esecuzione di applicazioni in tempo reale, che si basano su architetture multi-core/many-core. Nello specifico questa tesi fornisce i seguenti contributi: 1) identificazione delle principali fonti di imprevedibilità nelle architetture multi-core a livello I/O in piattaforme virtualizzate; 2) analisi di diversi meccanismi che vengono utilizzati per la comunicazione inter-task a memoria condivisa nel dominio automobilistico; 3) caratterizzazione della end-to-end latency di effect chain implementate con diversi paradigmi di comunicazione e 4) uno strumento generatore di codice basato su modelli che serve per testare e dimostrare i risultati ottenuti durante il dottorato
File in questo prodotto:
File Dimensione Formato  
tesi.pdf

accesso aperto

Descrizione: Tesi
Tipologia: Tesi di dottorato
Dimensione 4.58 MB
Formato Adobe PDF
4.58 MB Adobe PDF Visualizza/Apri

I documenti in SFERA 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/11392/2487980
 Attenzione

Attenzione! I dati visualizzati non sono stati sottoposti a validazione da parte dell'ateneo

Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus ND
  • ???jsp.display-item.citation.isi??? ND
social impact