Real-time systems are at the core of many critical computing systems whose timely reaction to inputs is of vital importance for the safety of people and capital. As new requirements for performance, lower cost and reduced power consumption collide with the in- creasing complexity of their application domains, the new generation of critical real-time systems must turn toward high-throughput but low-assurance commercial off-the-shelf components, parallel processing, and dynamic, evolvable architectures. To satisfy these goals, federations of redundant specialized computers, running highly compartmentalized applications, must be replaced by general-purpose, high-density, less energy-hungry computers equipped with novel software systems. These programs must be capable of playing an active role in fault mitigation, be reconfigurable and easily maintainable, while still preserving the high service quality required by their domain. A programming paradigm that has proven able to meet these requirements, and to effectively exploit the power of parallel processors, is the actor model. Unfortunately, many existing actor runtime environments focus on so-called soft real-time workloads where deadline misses do not represent critical failures, and their high asynchrony and implicit concurrency make it difficult to estimate the actual running time of dispatched operations. In this thesis, we will try to devise a theory of real-time actor-oriented processing, and use it to design and implement a proof-of-concept actor system that is able to safely host a hard real-time workload. To make the system practical from the performance standpoint, we will be using the special features of an experimental hardware platform called the Responsive MultiThreaded Processor. Experimental results show that, for all those operations deemed of primary importance for an actor runtime, the system can deliver acceptable performance even under stress. Some extreme workload configurations can induce large time fluctuations, which are undesirable for time-critical systems, and some suggestions are given as to how future implementations can avoid these.

I sistemi di calcolo real-time sono al cuore di molti sistemi di controllo critici, dalla cui tempestività e correttezza nelle operazioni dipende la salvaguardia di vite e capitale. In risposta alle nuove esigenze di alte prestazioni, basso costo e bassi consumi, le nuove generazioni di sistemi critici devono orientarsi verso componenti commerciali performanti, processori paralleli, e architetture software in grado di evolvere dinamicamente. I classici sistemi composti da federazioni di computer ridondanti dovranno essere rimpiazzati da processori ad alta potenza ed efficienza energetica, con applicazioni in grado di giocare un ruolo attivo nella mitigazione dei guasti e ripristino delle funzionalità, riconfigurabili e facilmente mantenibili, pur assicurando la qualità di servizio richiesta dal loro dominio. Un paradigma di programmazione che ha dimostrato di poter soddisfare questi requisiti e saper sfruttare la capacità computazionale dei processori paralleli è il paradigma della programmazione ad attori. Sfortunatamente, molti dei runtime per applicazioni actor-oriented sono pensati per operare in sistemi soft real-time, dove il tempismo esecutivo non è considerato critico. Inoltre, la natura asincrona e concorrente del modello rende difficile ragionare sulla durata effettiva delle operazioni che essi compiono. In questa tesi, tenteremo di costruire una teoria del calcolo real-time su sistemi di attori, utilizzata poi per la realizzazione di un prototipo di runtime in grado di eseguire carichi di tipo hard real-time. Per fare ciò, utilizzeremo le funzionalità messe a disposizione da una piattaforma hardware sperimentale chiamata Responsive MultiThreaded Processor. I risultati dimostrano che, per tutte le principali operazioni, il sistema è in grado di fornire prestazioni accettabili anche sotto stress. Noteremo come, a causa di carichi facenti un utilizzo intensivo della memoria, possano insorgere fluttuazioni nel tempo di esecuzione che potrebbero presentare un pericolo per sistemi critici real-time. In seguito a ciò, forniremo alcuni suggerimenti utili su come future implementazioni del sistema possano limitare l’incidenza di queste fluttuazioni.

Prioritized actor execution for real-time systems

LOPEZ, TOMAS ANTONIO
2022/2023

Abstract

Real-time systems are at the core of many critical computing systems whose timely reaction to inputs is of vital importance for the safety of people and capital. As new requirements for performance, lower cost and reduced power consumption collide with the in- creasing complexity of their application domains, the new generation of critical real-time systems must turn toward high-throughput but low-assurance commercial off-the-shelf components, parallel processing, and dynamic, evolvable architectures. To satisfy these goals, federations of redundant specialized computers, running highly compartmentalized applications, must be replaced by general-purpose, high-density, less energy-hungry computers equipped with novel software systems. These programs must be capable of playing an active role in fault mitigation, be reconfigurable and easily maintainable, while still preserving the high service quality required by their domain. A programming paradigm that has proven able to meet these requirements, and to effectively exploit the power of parallel processors, is the actor model. Unfortunately, many existing actor runtime environments focus on so-called soft real-time workloads where deadline misses do not represent critical failures, and their high asynchrony and implicit concurrency make it difficult to estimate the actual running time of dispatched operations. In this thesis, we will try to devise a theory of real-time actor-oriented processing, and use it to design and implement a proof-of-concept actor system that is able to safely host a hard real-time workload. To make the system practical from the performance standpoint, we will be using the special features of an experimental hardware platform called the Responsive MultiThreaded Processor. Experimental results show that, for all those operations deemed of primary importance for an actor runtime, the system can deliver acceptable performance even under stress. Some extreme workload configurations can induce large time fluctuations, which are undesirable for time-critical systems, and some suggestions are given as to how future implementations can avoid these.
YAMASAKI, NOBUYUKI
ING - Scuola di Ingegneria Industriale e dell'Informazione
5-ott-2023
2022/2023
I sistemi di calcolo real-time sono al cuore di molti sistemi di controllo critici, dalla cui tempestività e correttezza nelle operazioni dipende la salvaguardia di vite e capitale. In risposta alle nuove esigenze di alte prestazioni, basso costo e bassi consumi, le nuove generazioni di sistemi critici devono orientarsi verso componenti commerciali performanti, processori paralleli, e architetture software in grado di evolvere dinamicamente. I classici sistemi composti da federazioni di computer ridondanti dovranno essere rimpiazzati da processori ad alta potenza ed efficienza energetica, con applicazioni in grado di giocare un ruolo attivo nella mitigazione dei guasti e ripristino delle funzionalità, riconfigurabili e facilmente mantenibili, pur assicurando la qualità di servizio richiesta dal loro dominio. Un paradigma di programmazione che ha dimostrato di poter soddisfare questi requisiti e saper sfruttare la capacità computazionale dei processori paralleli è il paradigma della programmazione ad attori. Sfortunatamente, molti dei runtime per applicazioni actor-oriented sono pensati per operare in sistemi soft real-time, dove il tempismo esecutivo non è considerato critico. Inoltre, la natura asincrona e concorrente del modello rende difficile ragionare sulla durata effettiva delle operazioni che essi compiono. In questa tesi, tenteremo di costruire una teoria del calcolo real-time su sistemi di attori, utilizzata poi per la realizzazione di un prototipo di runtime in grado di eseguire carichi di tipo hard real-time. Per fare ciò, utilizzeremo le funzionalità messe a disposizione da una piattaforma hardware sperimentale chiamata Responsive MultiThreaded Processor. I risultati dimostrano che, per tutte le principali operazioni, il sistema è in grado di fornire prestazioni accettabili anche sotto stress. Noteremo come, a causa di carichi facenti un utilizzo intensivo della memoria, possano insorgere fluttuazioni nel tempo di esecuzione che potrebbero presentare un pericolo per sistemi critici real-time. In seguito a ciò, forniremo alcuni suggerimenti utili su come future implementazioni del sistema possano limitare l’incidenza di queste fluttuazioni.
File allegati
File Dimensione Formato  
Polimi_Thesis_in_Computer_Science_and_Engineering.pdf

accessibile in internet per tutti a partire dal 19/09/2024

Descrizione: Tesi
Dimensione 2.41 MB
Formato Adobe PDF
2.41 MB Adobe PDF   Visualizza/Apri
Executive_Summary___Prioritized_actor_execution_for_real_time_systems-1.pdf

accessibile in internet per tutti a partire dal 19/09/2024

Descrizione: Executive summary
Dimensione 412.13 kB
Formato Adobe PDF
412.13 kB Adobe PDF   Visualizza/Apri

I documenti in POLITesi 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/10589/210687