SPHERE
Università degli Studi di Napoli Federico II, Università degli Studi di MODENA e REGGIO EMILIA
Abstract
Le piattaforme multicore eterogenee aprono grandi opportunità nel mercato dei sistemi embedded in molti scenari applicativi. L'integrazione di più elementi di elaborazione in esecuzione a frequenze inferiori consente di ottenere prestazioni significative con un ridotto consumo energetico.
La maggiore complessità di sistemi emergenti (ad esempio, auto a guida autonoma, robot umanoidi, sistemi di realtà aumentata, spazi virtuali) richiede l'integrazione di sempre più sottosistemi e funzionalità, imponendo ulteriori vincoli al progetto di sistemi embedded ed evidenziando i limiti degli attuali frameworkdi sviluppo. Tali requisiti includono:
- Elevato carico computazionale;
- Fusione di una significativa mole di dati provenienti da un gran numero di sensori eterogenei;
- Comunicazione in tempo reale tra unità di controllo distribuite;
- Stretta interazione con l'ambiente;
- Capacità di gestire attività critiche, sostituendo attività umane safety-critical.
Il pieno sfruttamento di queste nuove piattaforme informatiche pone nuovi problemi, ovvero:
- Metodologie di sviluppo: sviluppare software real-time su una piattaforma eterogenea che includa CPU di diversi tipi e dispositivi hardware quali, ad esempio, GPU, FPGA e DSP, non è facile come in un sistema single-core, in quanto richiede parallelismo e un’oculata allocazione delle risorse.
- Gestione delle comunicazioni interne ed esterne: le prestazioni sono influenzate da ritardi molto variabili dovuti all'interferenza tra più dispositivi hardware.
- Garanzie in tempo reale: le molte cause di non determinismo in architetture così complesse rendono più difficile eseguire un'analisi temporale e fornire garanzie in tempo reale rispetto a una piattaforma a processore singolo.
- Strumenti di sviluppo: oggi non sono disponibili strumenti né sistemi operativi per supportare l'allocazione delle risorse e l'analisi temporale delle nuove piattaforme multicore.
Il progetto SPHERE mira a fornire un framework di sistema operativo integrato per astrarre la complessità hardware delle più recenti piattaforme multi-core e semplificare la gestione di risorse computazionali eterogenee.
Il framework SPHERE fornirà metodologie e strumenti per:
- Analizzare il comportamento di esecuzione delle applicazioni e prevederne i tempi di risposta medi e quelli nel caso peggiore;
- Offrire meccanismi di comunicazione veloci e prevedibili tra più risorse computazionali;
- Applicare funzionalità di sicurezza per garantire l'integrità dei dati e la riservatezza dei nodi.
La fattibilità del framework SPHERE sarà convalidata in un innovativo sistema di guida autonoma per il settore automobilistico.