Porting su architettura ARM Marvell 88F6281 ed analisi comparativa delle patch real-time RTAI e Xenomai per il kernel Linux



Documenti analoghi
Lezione R14. Sistemi embedded e real-time

Laureando: Damiano Vittor. Relatore: Dott. Ing. Massimiliano Nolich

PROPOSTA DI UN ARCHITETTURA IMS INTEGRATA IN UN AMBIENTE VIRTUALIZZATO: ANALISI DI PRESTAZIONI Daniele Costarella

Introduzione alle architetture per il controllo dei manipolatori

Software Open Source per sistemi embedded

Lezione 4 La Struttura dei Sistemi Operativi. Introduzione

Il sistema operativo TinyOS

Uno strumento per l emulazione di fallimenti hardware in sistemi virtualizzati

Marco Cesati Dipartimento di Ingegneria Civile e Ingegneria Informatica Università degli Studi di Roma Tor Vergata

Lezione E5. Sistemi embedded e real-time

Le Aziende del Distretto Green & High Tech presentano i loro progetti. Valorizzare le sinergie della rete per creare valore aggiunto.

Linux nei sistemi Real-Time. Andrea Sambi

Prototipazione GNU/Linux-Arduino

Corso di Sistemi di Elaborazione A.A. 2008/2009

PROTOTIPAZIONE DI UN TRADUTTORE DA SORGENTE PLC AD ASSEMBLY DI UNA MACCHINA VIRTUALE

Linux Day Linux Real time ed Embedded in applicazioni industriali

Schedulazione in RTAI

Linux Embedded un pinguino piccolo così

Implementazione di sistemi real time

Tesina per l esame di Sistemi Operativi a cura di Giuseppe Montano. Prof. Aldo Franco Dragoni

Gianluigi Magnasco easitec S.r.l. Parma, 16 Settembre 2010

Architettura di un sistema di calcolo

RTAI: un po di storia

Linux e il real time in applicazioni spaziali

Tesi di Laurea Specialistica EMULAZIONE DI EFFETTI WAN NELLA VALUTAZIONE DELLE PRESTAZIONI DI SERVER WEB. Candidato Emiliano Zeppa.

Il Sistema Operativo. Introduzione di programmi di utilità. Elementi di Informatica Docente: Giorgio Fumera

Computazione multi-processo. Condivisione, Comunicazione e Sincronizzazione dei Processi. Segnali. Processi e Threads Pt. 2

STRUTTURE DEI SISTEMI DI CALCOLO

Architettura di un sistema operativo

Robotica di servizio su piattaforma Linux. relatore: Alessandro Budai con la collaborazione dello SmartLab (

introduzione I MICROCONTROLLORI

FACOLTÀ DI INGEGNERIA CORSO DI LAUREA IN INGEGNERIA INFORMATICA DIPARTIMENTO DI INFORMATICA E SISTEMISTICA. Presentazione

Estensioni Linux per il Real-Time

Microelettronica Corso di progettazione su SoC ARM:

Embedded Linux Introduzione

Il software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi

Strumento per l iniezione di guasti software nel sistema operativo GNU/Linux

Un approccio innovativo alla tecnica di robustness testing del sistema operativo Linux

Introduzione ai sistemi operativi

VIRTUALIZZAZIONE LUG - CREMONA. Linux Day - 25 Ottobre 2008

Università degli Studi di Trieste

Presentazione curata da Ing. Mario Di Dio Busa

Università Politecnica delle Marche

Marco Cesati Dipartimento di Ingegneria Civile e Ingegneria Informatica Università degli Studi di Roma Tor Vergata

Porting su architettura ARM ed analisi comparativa delle patch real-time PREEMPT_RT e Xenomai per il kernel Linux

Sviluppo di applicazioni mobili su piattaforma Maemo

ISTVAS Ancona Introduzione ai sistemi operativi Tecnologie Informatiche


Prestazioni CPU Corso di Calcolatori Elettronici A 2007/2008 Sito Web: Prof. G. Quarella prof@quarella.

Progettazione e Sviluppo dell Applicazione Web Share Mobile per Dispositivi Mobili Multipiattaforma. Elaborato di Laurea di: Marco Stanzani

Real-time EDF scheduling per il kernel FreeBSD: analisi, implementazione e risultati sperimentali

Scheduling. Lo scheduler è la parte del SO che si occupa di

8 Microcontrollori PIC

Sistemi Operativi. Conclusioni e nuove frontiere

scheduling Riedizione modifi cata delle slide della Prof. DI Stefano

Un architettura per lo streaming multimediale in ambiente distribuito

Scheduling della CPU Introduzione ai Sistemi Operativi Corso di Abilità Informatiche Laurea in Fisica

Tesina per l esame di Sistemi Operativi a cura di Giuseppe Montano. Prof. Aldo Franco Dragoni

Università Politecnica delle Marche

Università degli Studi di Milano Bicocca Facoltà di Scienze Matematiche Fisiche e Naturali Corso di Laurea Specialistica in Informatica

Progetto di una radio software GPS su periferica USRP. 2 Ottobre 2007

Sistema Operativo Chrome: Analisi degli aspetti peculiari.

Metodologie e tecnologie a supporto nello sviluppo di applicazioni mobile di tipo Enterprise!

Microelettronica. Architettura del processore ARM. Stefano Salvatori. Università degli Studi Roma Tre. Microelettronica

Sistemi in tempo reale Anno accademico

Come valutare e scegliere un Sistema Operativo Embedded

Calcolatori Elettronici A a.a. 2008/2009

Approccio stratificato

EMBEDDED & MISSION CRITICAL. Engineering At Your Service INTEGRATED SYSTEMS INDUSTRIAL AUTOMATION

Capitolo 1: Introduzione

Generazione Automatica di Asserzioni da Modelli di Specifica

Sistemi di Elaborazione delle Informazioni. Corso di Laurea per "Tecnico Ortopedico" 03

REALIZZAZIONE DI UN LABORATORIO REMOTO PER ESPERIENZE DI ROBOTICA EDUCATIVA: LATO CLIENT

Strumenti per la gestione della configurazione del software

PROGETTAZIONE E SVILUPPO DI UN PROTOTIPO PER LA COMUNICAZIONE SICURA ATTRAVERSO IL CANALE GSM-VOCE

Scheduling. Scheduling 14/12/2003 1/7

Definizione e Sviluppo di un Ricevitore Software per l Elaborazione dei Segnali GPS e Galileo: Peculiarità e Risultati della Fase di Acquisizione

Università degli studi Roma Tre Dipartimento di informatica ed automazione. Tesi di laurea

Automazione di Test di Sistemi Embedded. Sintesi

Real-Time Systems GmbH (RTS) Partition where you can Virtualize where you have to. Real Time Hypervisor

Protezione del Kernel Tramite Macchine Virtuali

soluzioni per durare nel tempo Il partner tecnologico per l automazione industriale e la difesa

Drivers. Introduzione Tipologie Struttura Interazione con il kernel

Sistemi e schedulazione in tempo reale

Una metodologia per la definizione dei livelli di criticità dei componenti di un sistema software complesso

Progetto di un sistema di controllo per un robot basato su CAN

Relazione sull attività didattica e scientifica del Ricercatore. (D.P.R. n. 382/1980)

Mono per sistemi embedded

Introduzione ai Sistemi Real Time. Prof. Davide Brugali

Architetture software. Virtualizzazione

COORDINAMENTO PER MATERIE SETTEMBRE 2014 MATERIA DI NUOVA INTRODUZIONE PER EFFETTO DELLA RIFORMA

Zoo di sistemi operativi: studio e realizzazione del supporto di macchine virtuali con accesso via Web

Hardware & Software Development

Sistemi Operativi. Processi GESTIONE DEI PROCESSI. Concetto di Processo. Scheduling di Processi. Operazioni su Processi. Processi Cooperanti

Lezione R12. Sistemi operativi real-time I. Sistemi embedded e real-time

Marco Cesati Dipartimento di Ingegneria Civile e Ingegneria Informatica Università degli Studi di Roma Tor Vergata

Software. Algoritmo. Algoritmo INFORMATICA PER LE DISCIPLINE UMANISTICHE 2 (13042)

Ing Omar Morales Qualità del Software

Università degli Studi di Cagliari Corso di Laurea Specialistica in Ingegneria Elettronica SISTEMI OPERATIVI STRUTTURE DEI SISTEMI OPERATIVI

PROGRAMMAZIONE COORDINATA TEMPORALMENTE

Transcript:

UNIVERSITÀ POLITECNICA DELLE MARCHE FACOLTÀ DI INGEGNERIA Corso di Laurea Specialistica in Ingegneria Elettronica Porting su architettura ARM Marvell 88F6281 ed analisi comparativa delle patch real-time RTAI e Xenomai per il kernel Linux Tesi di laurea di Francesco LUCCONI Relatore Prof. Aldo Franco DRAGONI Correlatori Prof. Massimo CONTI Ing. Massimiliano PIRANI Anno Accademico 2009/2010

Esigenza di controllo di sistemi con stringenti vincoli temporali Utilizzo di GNU/Linux Semplice portabilità Elevato numero di piattaforme hardware supportate Elevato numero di device drivers Soluzione applicabile e replicabile rapidamente su diverse piattaforme Collaborazione con Spes s.c.p.a. per SO real-time su piattaforma embedded per controllo ambientale

Indagine sulla portabilità e sulle performance delle patch real-time al kernel Linux delle patch considerate della timeliness delle patch considerate

Definizione di sistema a tempo reale Real-time = Predicibilità temporale Real-time Rapidità di esecuzione Correttezza dei risultati Valore del risultato Rispetto dei vincoli temporali

Linux non è un sistema operativo real-time Aspetti problematici: Task senza vincoli temporali Latenze di interrupt impredicibili Esecuzione delle ISR incontrollabili Problemi di scheduling legati ai context switch

Linux non è un sistema operativo real-time Linux per il real-time? Riferimento per piattaforme embedded Disponibilità di drivers per periferiche e dispositivi Modularità, stabilità, robustezza

Sono presenti due approcci: Dual kernel (RTAI, Xenomai) Mono kernel (RT PREEMPT)

due kernel - un hardware

Descrizione hardware piattaforma Marvell : CPU Feroceon @ 1.2 GHz, con set di istruzioni ARMv5te Porta USB ed Ethernet 2 canali TDM, interfaccie SDIO, NAND flash, SPI, TWSI e UART

Il microcontrollore presenta due timer general purpose ed un watchdog: Timer a 32 bit Decremento ad ogni fronte di salita del clock Modalità di lavoro auto-mode/one-shot Codice sorgente kernel Linux: TIMER 0 free-running TIMER 1 clock-event-device

Porting di Supporto per assente. Introduzione del supporto creando una patch. Kernel Linux 2.6.33.7 Xenomai 2.5.5.2

Porting di Patch specifiche per board Marvell e per pipeline Adeos Riconfigurazione software per adattamento ad Adeos Cross-compilazione del Kernel Linux Cross-compilazione modulo utente Xenomai

Porting di Porting per board funzioni implementate per gestione timing su Adeos ipipe: Acquisizione e acknowledge interrupt dei timer Impostazione ad elevata risoluzione Acquisizione e settaggio dei valori dei timer

Porting di RTAI su Supporto per assente anche per RTAI Linux 2.6.33.7 RTAI 3.8.1 Ulteriori problematiche: Architettura RTAI architettura Xenomai Scarso supporto per ARM Difficile adattamento al kernel 2.6.33.7 Procedura analoga a Xenomai

Porting di RTAI su Creazione della patch RTAI rispetto al kernel 2.6.33.7: Impostazioni dispatcher interrupt Funzioni di attivazione/disattivazione interrupt annidati Scheduling task-set real-time Adattamento del modulo utente RTAI per board : Customizzazione del modulo su hardware board Studio dei registri di sistema (, CPU) Revisione di funzioni ottimizzate in assembly

patch real-time API Supporto HW Xenomai RTAI RT PREEMPT Nativa RTDM POSIX RTDM POSIX 1003.1b VxWorks psos+ VRTX µitron x86 ARM PPC Blackfin NIOS II Sviluppo (ARM) 2.6.33.7 Interrupt Dispatcher IRQ Modello task Periodico, aperiodico x86 ARM PPC 2.6.20 Dispatcher IRQ, gestione diretta Periodico, aperiodico all 2.6.33.7 ISR Aperiodico

eseguiti per verifica prestazioni real-time async handler gtod latency pthread kill latency sched jitter sched latency

async handler test1 test2 test3 min [ns] 11 11 10 max [ns] 78 76 75 avg [ns] 16,8155 16,7881 16,7883 σ [ns] 1,1847 1,2217 1,2303 Tabella: Risultati del test async handler per RT PREEMPT test1 test2 test3 min [ns] 9 9 9 max [ns] 65 64 62 avg [ns] 9,1724 9,1354 9,3396 σ [ns] 0,3833 0,3454 0,4757 Tabella: Risultati del test async handler per Xenomai

gtod latency test1 test2 test3 min [ns] 470 440 474 max [ns] 15805 16076 19560 avg [ns] 506,8832 508,0424 507,2231 σ [ns] 73,7063 77,0647 75,1585 Tabella: Risultati del test gtod latency per RT PREEMPT test1 test2 test3 min [ns] 850 865 865 max [ns] 15790 15460 18960 avg [ns] 854,3176 897,5952 897,8467 σ [ns] 119,1611 125,6247 125,2727 Tabella: Risultati del test gtod latency per Xenomai

pthread kill latency test1 test2 test3 min [ns] 16 16 16 max [ns] 31 31 30 avg [ns] 18,2357 18,1562 18,1886 σ [ns] 1,028 1,0215 0,9926 failures 39 32 34 Tabella: Risultati del test pthread kill latency per RT PREEMPT test1 test2 test3 min [ns] 14 14 14 max [ns] 37 40 36 avg [ns] 16,0993 16,0846 15,99 σ [ns] 1,174 1,1528 1,1114 failures 21 41 48 Tabella: Risultati del test pthread kill latency per Xenomai

sched jitter test1 test2 test3 max [ms] 100,027321 100,023338 97,455437 Tabella: Risultati del test sched jitter per RT PREEMPT test1 test2 test3 max [ms] 102,348434 102,359306 102,352394 Tabella: Risultati del test sched jitter per Xenomai

sched latency test1 test2 test3 start [ns] 25 17 15 min [ns] 11 11 11 max [ns] 31 29 31 avg [ns] 16 15 15 σ 1,5363 1,2544 1,5631 Tabella: Risultati del test sched latency per RT PREEMPT test1 test2 test3 start [ns] 5 5 5 min [ns] 0 0 0 max [ns] 13 14 15 avg [ns] 5 5 5 σ 1,9292 1,5402 1,6167 Tabella: Risultati del test sched latency per Xenomai

Conclusioni e sviluppi futuri Necessità di modifiche a Linux per aumentare predicibilità RTAI non adatto a contesti embedded Xenomai: performance ed affidabilità Scelta: Xenomai Sviluppi futuri: Estensione testsuite software per RTOS Sviluppo testsuite hardware per RTOS

Grazie per l attenzione