In the context of the Edge-Cloud computing continuum, containerization and orchestration have become two key requirements in software development best practices. Containerization allows for better resource utilization, platform-independent development, and secure software deployment. Orchestration automates the deployment, networking, scaling, and availability of containerized workloads and services. However, there are still several open challenges. First, the optimization of software tailored for edge computing, with the aim of enhancing software portability in real-time distributed environments and containerized applications within the realms of robotics and Industry 4.0/5.0 technologies. Second, the orchestration of real-time containers within mixed-criticality systems. Third, the expansion of the Edge-Cloud computing continuum through innovative runtime scheduling techniques geared towards enhancing throughput and reducing response times. This thesis tackles these challenges with a software methodology that targets various aspects of the Edge-Cloud computing continuum. The aforementioned objectives are divided into five categories that are subsequently analyzed, expanded, and optimized with techniques that allow for improved performance, safety, and reliability. It also addresses the growing demand for faster data processing and more responsive computing in the contemporary technological landscapes of industrial automation. The methodology is analyzed on a multitude of synthetic benchmarks and scenarios, but is also always verified through real-case studies, such as the software implementing the mission of a Robotnik RB-Kairos mobile robot interacting with an industrial agile production chain. The experimental results demonstrate that these objectives were achieved. First, the methodology allows for better performance on heterogeneous embedded edge devices that make use of unified memory architectures in vision-based applications. In addition, the introduction of containers into industrial automation and robotic contexts facilitates flexible software development. Furthermore, mixed-criticality environments benefit from the introduction of orchestration and the real-time plugin that allows for runtime monitoring of software. Finally, the verification and migration of assertions guarantee the reliability and safety of modern robots.
Nel contesto dell'Edge-Cloud computing continuum, la containerizzazione e l'orchestrazione sono diventati due pilastri delle migliori pratiche di sviluppo del software. La containerizzazione consente un migliore utilizzo delle risorse, lo sviluppo di componenti software indipendenti, e la distribuzione sicura del software. L'orchestrazione automatizza la distribuzione, la scalabilità e la disponibilità dei carichi di lavoro e dei servizi containerizzati. Tuttavia, ci sono ancora diverse sfide aperte. In primo luogo, l'ottimizzazione del software progettato per il calcolo Edge, con l'obiettivo di migliorare la portabilità del software in ambienti distribuiti real-time e nelle applicazioni containerizzate nei settori della robotica e delle tecnologie dell'industria 4.0/5.0. In secondo luogo, l'orchestrazione dei container in real-time all'interno di sistemi mixed criticality. Terzo, l'espansione dell'Edge-Cloud computing continuum attraverso tecniche di programmazione innovative, che sfruttino il real-time, volte a migliorare il throughput e a migliorare i tempi di risposta. Questa tesi affronta queste sfide con una metodologia che mira ad ottimizzare vari aspetti dell'Edge-Cloud computing continuum. Gli obiettivi menzionati sono raggruppati in cinque categorie che vengono successivamente analizzate, approfondite e ottimizzate con tecniche che consentono una migliore performance, sicurezza e affidabilità. Inoltre, affronta la crescente domanda di elaborazioni di dati più veloci e di calcolo più reattivo nei contesti tecnologici industriali. La metodologia viene verificata tramite una moltitudine di benchmark sintetici, ma viene anche sempre verificata tramite casi di studio reali, per esempio, programmando la missione di un robot mobile Robotnik RB-Kairos che interagisce con una catena di produzione industriale agile. I risultati sperimentali ottenuti dimostrano come questi obiettivi siano stati raggiunti. La metodologia migliora le prestazioni su dispositivi embedded eterogenei che utilizzano memoria unificata nelle applicazioni basate su computer vision. Inoltre, l'introduzione dei container nei contesti di automazione industriale e robotica consentono uno sviluppo più flessibile del software. Per di più, gli ambienti mixed-criticality traggono vantaggio dall'introduzione dell'orchestrazione real-time, la quale consente inoltre il monitoraggio delle violazione temporali del software. Infine, le asserzioni garantiscono l'affidabilità e la sicurezza dei robot moderni tramite verifica formale.
Software Optimization and Orchestration for Heterogeneous and Distributed Architectures
Francesco Lumpp
2024-01-01
Abstract
In the context of the Edge-Cloud computing continuum, containerization and orchestration have become two key requirements in software development best practices. Containerization allows for better resource utilization, platform-independent development, and secure software deployment. Orchestration automates the deployment, networking, scaling, and availability of containerized workloads and services. However, there are still several open challenges. First, the optimization of software tailored for edge computing, with the aim of enhancing software portability in real-time distributed environments and containerized applications within the realms of robotics and Industry 4.0/5.0 technologies. Second, the orchestration of real-time containers within mixed-criticality systems. Third, the expansion of the Edge-Cloud computing continuum through innovative runtime scheduling techniques geared towards enhancing throughput and reducing response times. This thesis tackles these challenges with a software methodology that targets various aspects of the Edge-Cloud computing continuum. The aforementioned objectives are divided into five categories that are subsequently analyzed, expanded, and optimized with techniques that allow for improved performance, safety, and reliability. It also addresses the growing demand for faster data processing and more responsive computing in the contemporary technological landscapes of industrial automation. The methodology is analyzed on a multitude of synthetic benchmarks and scenarios, but is also always verified through real-case studies, such as the software implementing the mission of a Robotnik RB-Kairos mobile robot interacting with an industrial agile production chain. The experimental results demonstrate that these objectives were achieved. First, the methodology allows for better performance on heterogeneous embedded edge devices that make use of unified memory architectures in vision-based applications. In addition, the introduction of containers into industrial automation and robotic contexts facilitates flexible software development. Furthermore, mixed-criticality environments benefit from the introduction of orchestration and the real-time plugin that allows for runtime monitoring of software. Finally, the verification and migration of assertions guarantee the reliability and safety of modern robots.File | Dimensione | Formato | |
---|---|---|---|
Tesi_Dottorato_nb_fc.pdf
accesso aperto
Tipologia:
Tesi di dottorato
Licenza:
Creative commons
Dimensione
18.97 MB
Formato
Adobe PDF
|
18.97 MB | Adobe PDF | Visualizza/Apri |
I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.