facoltÁ di ingegneria corso di laurea ingegneria informatica progetto e sviluppo di un algoritmo di...
TRANSCRIPT
![Page 1: FACOLTÁ DI INGEGNERIA CORSO DI LAUREA INGEGNERIA INFORMATICA Progetto e Sviluppo di un Algoritmo di Scheduling per il Sistema RTAI Candidato: Luca Marzario](https://reader036.vdocuments.pub/reader036/viewer/2022062512/5542eb58497959361e8c3b52/html5/thumbnails/1.jpg)
FACOLTFACOLTÁÁ DI INGEGNERIA DI INGEGNERIA
CORSO DI LAUREACORSO DI LAUREAINGEGNERIA INFORMATICAINGEGNERIA INFORMATICA
Progetto e Sviluppo di un Algoritmo di Scheduling per il
Sistema RTAI
Candidato:Luca Marzario
![Page 2: FACOLTÁ DI INGEGNERIA CORSO DI LAUREA INGEGNERIA INFORMATICA Progetto e Sviluppo di un Algoritmo di Scheduling per il Sistema RTAI Candidato: Luca Marzario](https://reader036.vdocuments.pub/reader036/viewer/2022062512/5542eb58497959361e8c3b52/html5/thumbnails/2.jpg)
SommarioSommario
Motivazioni Obiettivi Architettura del sistema RTAI Implementazione Test Conclusioni
![Page 3: FACOLTÁ DI INGEGNERIA CORSO DI LAUREA INGEGNERIA INFORMATICA Progetto e Sviluppo di un Algoritmo di Scheduling per il Sistema RTAI Candidato: Luca Marzario](https://reader036.vdocuments.pub/reader036/viewer/2022062512/5542eb58497959361e8c3b52/html5/thumbnails/3.jpg)
MotivazioniMotivazioni
Applicazioni interattive e multimediali Quality of service
Sistemi operativi general-purpouse (Windows, Linux, ...) non offrono garanzie temporali
Sistemi operativi real-time troppo costosi non offrono supporto adeguato alle applicazioni
multimediali e interattive
![Page 4: FACOLTÁ DI INGEGNERIA CORSO DI LAUREA INGEGNERIA INFORMATICA Progetto e Sviluppo di un Algoritmo di Scheduling per il Sistema RTAI Candidato: Luca Marzario](https://reader036.vdocuments.pub/reader036/viewer/2022062512/5542eb58497959361e8c3b52/html5/thumbnails/4.jpg)
Caratteristiche di LinuxCaratteristiche di Linux Linux non è un sistema operativo real-time Possiede molte caratteristiche che ne fanno un
ottimo sistema operativo:
robusto e affidabileampio supporto di processori
e periferichenetworking avanzatostrumenti di sviluppo e dubugginginterfaccia graficaampia disponibilità di software
![Page 5: FACOLTÁ DI INGEGNERIA CORSO DI LAUREA INGEGNERIA INFORMATICA Progetto e Sviluppo di un Algoritmo di Scheduling per il Sistema RTAI Candidato: Luca Marzario](https://reader036.vdocuments.pub/reader036/viewer/2022062512/5542eb58497959361e8c3b52/html5/thumbnails/5.jpg)
Linux e Real-TimeLinux e Real-Time
Linux non possiede le caratteristiche tipiche dei sistemi real-time:determinismo (prevedibilità)possibilità di preemtionspecifica vincoli temporaliprogrammazione “fine” del timer
![Page 6: FACOLTÁ DI INGEGNERIA CORSO DI LAUREA INGEGNERIA INFORMATICA Progetto e Sviluppo di un Algoritmo di Scheduling per il Sistema RTAI Candidato: Luca Marzario](https://reader036.vdocuments.pub/reader036/viewer/2022062512/5542eb58497959361e8c3b52/html5/thumbnails/6.jpg)
RTAIRTAI Real-Time Application Interface (RTAI)
Affianca a Linux un kernel real-time Schedula Linux come idle task
Vantaggi Buone prestazioni real-time per i task RTAI Sistema di sviluppo basato su Linux
Problemi Starvation di Linux in caso di alti carichi
real-time Crash del sistema in caso di errori di
programmazione o malfunzionamenti
![Page 7: FACOLTÁ DI INGEGNERIA CORSO DI LAUREA INGEGNERIA INFORMATICA Progetto e Sviluppo di un Algoritmo di Scheduling per il Sistema RTAI Candidato: Luca Marzario](https://reader036.vdocuments.pub/reader036/viewer/2022062512/5542eb58497959361e8c3b52/html5/thumbnails/7.jpg)
SoluzioniSoluzioni
Implementare un algoritmo di reservation su RTAI Riservare banda di utilizzo del processore a ogni task
Tempo minimo di esecuzione garantito Protezione del sistema da errori di
programmazione o malfunzionamenti
Schedulare Linux con il CBS Shell di comandi sempre attiva Minor tempo di risposta delle applicazioni Linux
![Page 8: FACOLTÁ DI INGEGNERIA CORSO DI LAUREA INGEGNERIA INFORMATICA Progetto e Sviluppo di un Algoritmo di Scheduling per il Sistema RTAI Candidato: Luca Marzario](https://reader036.vdocuments.pub/reader036/viewer/2022062512/5542eb58497959361e8c3b52/html5/thumbnails/8.jpg)
Real Time Application Interface (RTAI)Real Time Application Interface (RTAI)
Sistema real-time che permette l’esecuzione di applicazioni tipo hard real-time
Fa parte dei progetti Linux Real-Time
Questo tipo di sistemi si definisce “real time executive”
Solo il kernel real-time ha il pieno controllo dell’hardware
Principali sistemi: RTAI e RTLinux
real time executive
hardware
Linux Task 1 Task n
![Page 9: FACOLTÁ DI INGEGNERIA CORSO DI LAUREA INGEGNERIA INFORMATICA Progetto e Sviluppo di un Algoritmo di Scheduling per il Sistema RTAI Candidato: Luca Marzario](https://reader036.vdocuments.pub/reader036/viewer/2022062512/5542eb58497959361e8c3b52/html5/thumbnails/9.jpg)
RTAI vs RTLinuxRTAI vs RTLinux
Prestazioni offerte paragonabili. Interfacce di programmazione (API) molto simili RTAI è meno intrusivo rispetto a RTLinux:
Maggiore mantenutibilità Più facile aggiornamento delle modifiche kernel Linux
RTLinux open-source non è più mantenuto RTAI costantemente aggiornato
Ultima versione di RTAI rilasciata il 23 settembre 2002
![Page 10: FACOLTÁ DI INGEGNERIA CORSO DI LAUREA INGEGNERIA INFORMATICA Progetto e Sviluppo di un Algoritmo di Scheduling per il Sistema RTAI Candidato: Luca Marzario](https://reader036.vdocuments.pub/reader036/viewer/2022062512/5542eb58497959361e8c3b52/html5/thumbnails/10.jpg)
RTAIRTAI
Costituito di moduli da inserire nel kernel Linux precedentemente modificato
Moduli principali Gestore interruzioni
(interrupt dispatcher) Scheduler
Moduli aggiuntivi FIFO shared memory POSIX etc.
Task Real-Time
Gest. Interr
Scheduler
FIFO
Shared Mem
POSIX
RT task
kernel
Linux
modificato
LinuxTask
![Page 11: FACOLTÁ DI INGEGNERIA CORSO DI LAUREA INGEGNERIA INFORMATICA Progetto e Sviluppo di un Algoritmo di Scheduling per il Sistema RTAI Candidato: Luca Marzario](https://reader036.vdocuments.pub/reader036/viewer/2022062512/5542eb58497959361e8c3b52/html5/thumbnails/11.jpg)
Applicazione RTAIApplicazione RTAICostituita di due componenti
Meccanismi di comunicazione fifo scambio di messaggi segnali memoria condivisa ...
TaskRT1
RTAI
TaskRTn
TaskRT2
Linux
P1
P2
Pk
Real-time (acquisizione, elaborazione, controllo etc.) eseguita da task RTAI (real-time)
Non real-time (visualizzazione, tracing etc.) eseguita da processi Linux non disturba le attività real-time
![Page 12: FACOLTÁ DI INGEGNERIA CORSO DI LAUREA INGEGNERIA INFORMATICA Progetto e Sviluppo di un Algoritmo di Scheduling per il Sistema RTAI Candidato: Luca Marzario](https://reader036.vdocuments.pub/reader036/viewer/2022062512/5542eb58497959361e8c3b52/html5/thumbnails/12.jpg)
RTHALRTHAL
Attivazione RTAI modifica dei puntatori dell’rthal
Linux disable interrupt
RTHAL disable interrupt
Hard disable
Soft disable
Disattivazione ripristino dei puntatori alle funzioni originali di Linux
Modifiche kernel Linux Linux perde il controllo diretto dell’hardware
RTHAL
hardware
Linux Task 1 Task n
![Page 13: FACOLTÁ DI INGEGNERIA CORSO DI LAUREA INGEGNERIA INFORMATICA Progetto e Sviluppo di un Algoritmo di Scheduling per il Sistema RTAI Candidato: Luca Marzario](https://reader036.vdocuments.pub/reader036/viewer/2022062512/5542eb58497959361e8c3b52/html5/thumbnails/13.jpg)
RTAI interrupt dispatcherRTAI interrupt dispatcher
RTAI dispatcher
Salva registri
rtai handler? rtai handler
Linux in esec?
Linux handler
Linux handler?
interruzionependente
Ripristina registri
![Page 14: FACOLTÁ DI INGEGNERIA CORSO DI LAUREA INGEGNERIA INFORMATICA Progetto e Sviluppo di un Algoritmo di Scheduling per il Sistema RTAI Candidato: Luca Marzario](https://reader036.vdocuments.pub/reader036/viewer/2022062512/5542eb58497959361e8c3b52/html5/thumbnails/14.jpg)
SchedulerScheduler Architetture supportate
monoprocessoremultiprocessore
Politiche di schedulingPrioritario SempliceRate MonotonicEarliest Deadline First
Gestione del Timermodalità periodicamodalità one-shot
![Page 15: FACOLTÁ DI INGEGNERIA CORSO DI LAUREA INGEGNERIA INFORMATICA Progetto e Sviluppo di un Algoritmo di Scheduling per il Sistema RTAI Candidato: Luca Marzario](https://reader036.vdocuments.pub/reader036/viewer/2022062512/5542eb58497959361e8c3b52/html5/thumbnails/15.jpg)
Resource reservationResource reservation
Ogni task ha riservato un tempo Q ogni periodo T
Processi hard real-time e soft real-time possono convivere
E’ possibile riservare una frazione del tempo macchina a Linux
![Page 16: FACOLTÁ DI INGEGNERIA CORSO DI LAUREA INGEGNERIA INFORMATICA Progetto e Sviluppo di un Algoritmo di Scheduling per il Sistema RTAI Candidato: Luca Marzario](https://reader036.vdocuments.pub/reader036/viewer/2022062512/5542eb58497959361e8c3b52/html5/thumbnails/16.jpg)
Il Constant Bandwidth ServerIl Constant Bandwidth Server
Resource reservation tramite CBS (Constant Bandwidth Server)
Basato sul TBS e DSSRispetto al TBS non richiede WCETRispetto al DSS migliori prestazioni
![Page 17: FACOLTÁ DI INGEGNERIA CORSO DI LAUREA INGEGNERIA INFORMATICA Progetto e Sviluppo di un Algoritmo di Scheduling per il Sistema RTAI Candidato: Luca Marzario](https://reader036.vdocuments.pub/reader036/viewer/2022062512/5542eb58497959361e8c3b52/html5/thumbnails/17.jpg)
Algoritmo CBSAlgoritmo CBS Ad ogni task viene associato un server schedulato
con EDFcapacità massimaperiodo
Ad ogni istanza servita dal server viene associata una deadline dinamica
Durante l’esecuzione la capacità viene decrementata. Una volta esaurita, viene ricaricata al suo valore massimo e la deadline viene posposta (diminuzione priorità)
![Page 18: FACOLTÁ DI INGEGNERIA CORSO DI LAUREA INGEGNERIA INFORMATICA Progetto e Sviluppo di un Algoritmo di Scheduling per il Sistema RTAI Candidato: Luca Marzario](https://reader036.vdocuments.pub/reader036/viewer/2022062512/5542eb58497959361e8c3b52/html5/thumbnails/18.jpg)
Applicazione di provaApplicazione di prova
Linux P1
RT3
RT2
RT1
FIFO
![Page 19: FACOLTÁ DI INGEGNERIA CORSO DI LAUREA INGEGNERIA INFORMATICA Progetto e Sviluppo di un Algoritmo di Scheduling per il Sistema RTAI Candidato: Luca Marzario](https://reader036.vdocuments.pub/reader036/viewer/2022062512/5542eb58497959361e8c3b52/html5/thumbnails/19.jpg)
![Page 20: FACOLTÁ DI INGEGNERIA CORSO DI LAUREA INGEGNERIA INFORMATICA Progetto e Sviluppo di un Algoritmo di Scheduling per il Sistema RTAI Candidato: Luca Marzario](https://reader036.vdocuments.pub/reader036/viewer/2022062512/5542eb58497959361e8c3b52/html5/thumbnails/20.jpg)
![Page 21: FACOLTÁ DI INGEGNERIA CORSO DI LAUREA INGEGNERIA INFORMATICA Progetto e Sviluppo di un Algoritmo di Scheduling per il Sistema RTAI Candidato: Luca Marzario](https://reader036.vdocuments.pub/reader036/viewer/2022062512/5542eb58497959361e8c3b52/html5/thumbnails/21.jpg)
Frequenze jitter con CBS
0102030405060708090
100
-6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6
jitter (ms)
Frequenze jitter senza CBS
01020
30405060
708090
-6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6
jitter (ms)
![Page 22: FACOLTÁ DI INGEGNERIA CORSO DI LAUREA INGEGNERIA INFORMATICA Progetto e Sviluppo di un Algoritmo di Scheduling per il Sistema RTAI Candidato: Luca Marzario](https://reader036.vdocuments.pub/reader036/viewer/2022062512/5542eb58497959361e8c3b52/html5/thumbnails/22.jpg)
ConclusioniConclusioni
Risultati ottenutiDiminuzione dei tempi di risposta delle
applicazioni LinuxGaranzia di schedulazione di Linux anche in
caso di grossi carichi real-timeMaggior controlloMaggiore robustezza