Real-Time Systems GmbH (RTS) Partition where you can – Virtualize where you have to Real Time Hypervisor Esperti di Real-Time e Sistemi Embedded Real-Time Systems GmbH Gartenstrasse 33 D-88212 Ravensburg Germany Partners strategici: UN APPROCCIO INNOVATIVO RTS Hypervisor Un approccio innovativo per le tecnologie multicore: Suddivisione delle risorse hardware sui core Virtualizzazione solo dove si deve TENDENZA DEL MERCATO Performance Architettura Intel e legge di Moore Sviluppo dei processori Multi-core Single-core 2000 2004 2008 Multi-core CPU consentono incrementi esponenziali di prestazioni Report VDC 2008: applicazioni MultiCore cresceranno dall‟attuale 6.3% al 27.7% Per sfruttarne le prestazioni è richiesto un “Software MultiCore ” 2009 Virtualizzazione tradizionale VANTAGGI LIMITI 2009 Hardware separati Printer Server CRM Server DHCP Server GPOS GPOS GPOS Linux Windows Windows Hardware Hardware Hardware 6% Load 15% Load 5% Load Applicazione tipica basata su Hardware separati … 2009 Virtualizzazione tradizionale Virtualizzazione tradizionale Printer Server CRM Server DHCP Server GPOS GPOS GPOS Linux Windows Windows Virtual HW Virtual HW Virtual HW e.g. VMWare Real Hardware basata su SW VMWare Hardware virtuale … Nuovo carico CPU: 5% + 6% + 15% + … Goal: 65% Separazione di sicurezza 2009 Virtualizzazione tradizionale Benefici della consolidazione Massimizzare l„utilizzazione delle risorse del processore Ridurre i costi dell„Hardware Ridurre il consumo e la dissipazione Ridurre spazio e pesi Aumentare l„MTBF Utilizzare sistemi operativi diversi in parallelo 2009 Benefici della Virtualizzazione Consolidare sistemi multipli in un singolo sistema Riutilizzo del software esistente Con la virtualizzazione, le applicazioni esistenti girano sotto ciascun sistema operativo senza modifiche 2009 Virtualizzazione tradizionale I limiti della virtualizzazione tradizionale per le applicazioni Real Time 2009 Limiti della Virtualizzazione tradizionale • Il sistema operativo deve fare il boot per primo • Il sistema operativo Guest dipende dal sistema operativo Host • Il sistema operativo Host e il VMM schedulano i processi •Il Guest OS NON accede all‟hardware • I Device sono solo Virtuali • L‟ Host OS provvede i Driver Esempi: VMWare, XEN, Hyper-V, Parallels, Virtual Box, KVM 2009 Limiti della Virtualizzazione tradizionale Hardware emulato o virtualizzato La Virtualizzazione aggiunge latenze La virtualizzazione di MMU, Interrupt Controller etc. indebolisce il determinismo del sistema I tools di debug degli OS non supportano i dispositivi SW di Hypervisor 2009 Limiti della Virtualizzazione tradizionale Perdita del Real-Time! Le chiamate I/O del sistema Guest passano attraverso VMM e il sistema operativo Host. Introducono latenza Nessun accesso diretto hardware per il Sistema operativo Guest Il Sistema operativo Host + il VMM schedulano i processi Il sistema operativo Host deve sempre effettuare il boot per primo Il Sistema operativo Guest dipende dall‟ Host OS L‟utilizzo di un RTOS come „Host‟ non migliora le prestazioni Real Time (le indeterminatezze delle “Exits” influenzano il determinismo RTOS) RTS-Overview_2009_GL 2009 Windows in Secure Partition Il funzionamento di Windows XP in una cella virtuale separata di un Sistema operativo Real Time mette in pericolo il determinismo e aumenta i costi di test. Virtual Machine, Memory Management per Windows e GUI sono gestiti dal Sistema operativo Real Time I RTOS vengono “gonfiati” inutilmente Nessun accesso hardware diretto per Windows L„accesso ai media di memorizzazione, USB etc., lento a causa dei dispositivi virtualizzati 2009 UN APPROCCIO INNOVATIVO RTS Hypervisor COME SUPERARE I LIMITI DELLA VIRTUALIZZAZIONE La virtualizzazione diventa PARTIZIONE: assegnazione delle risorse hardware per ogni Core Un sistema operativo dedicato per ogni Core 2009 Architettura tradizionale User Interface HMI / SCADA Windows XP x86 CPU IPC e.g.PLC or Controller. RTOS ARM / PPC … Embedded Ctrl. Fieldbus or RT Ethernet Machine TCP / IP (LAN) 2009 Architettura innovativa Risparmio sui costi Aumento dell‟MTBF User Interface HMI / SCADA PLC or Controller Etc. Razionalizzazione TCP/IP Windows XP CPU 1 RTOS CPU 2 Fieldbus / RT Ethernet ATOM or DualCore HW Machine 2009 RTS Hypervisor PARTIZIONE invece di Virtualizzazione Real-Time! Esempio di un processore Core Duo Accesso diretto all‟ hardware Risorse assegnate in modo esclusivo Fino a 255 cores gestiti Utilizzo di driver standard Nessuna latenza (0 µs) Isolamento completo dei sistemi operativi in memoria Nessuna dipendenza tra sistemi operativi Facile comunicazione tra i sistemi Sequenza di boot definibile Reboot independente dei sistemi 2009 Il futuro Possibili Architetture Future Gruppi di CPU core Alcuni core eseguono un sistema operativo Alcuni core potrebbero essere utilizzati con funzionalità DSP 2009 Architetture supportate Design Modulare e aperto Possibilità: Mix di differenti OS Multipli dello stesso OS Minimo un core per OS Supporto Intel ATOM (Versione HyperThreading) Commercial RTOS WINDOWS Proprietary RTOS LINUX Architetture Intel Multi-Core Quad Core Dual Core 2009 La gestione degli interrupt RTS Hypervisor: Nessun layer Software aggiunto Esempio di due sistemi operativi Su architettura Quad Core RTS Hypervisor configura il sistema in modo che tutti gli Interrupt siano gestiti direttamente in hardware. Contrariamente ai tradizionali sistemi di virtualizzazione non vengono aggiunte latenze 2009 Trusted rispetto a Virtualizzato Un GPOS come Windows XP apre il sistema all‟utilizzatore finale. Applicazioni e driver possono essere aggiunti con possibilità di blocchi di sistema RTOS Code è testato a fondo L‟utilizzatore finale non può aggiungere drivers. Questi sistemi operativi RTOS possono essere definit “TRUSTED”. L‟accesso diretto all‟hardware comporta una grande responsabilità L‟accesso diretto all‟hardware dovrebbe essere assegnato solo al “trusted code” dei sistemi operativi Real Time 2009 Direct Hardware Access „Partition where you can. Virtualize where you have to“ Optionally, an RTOS could also be deployed using “Virtualization”. For real-time applications it is recommended to grant direct hardware access to minimize latencies. The RTS Real-Time Hypervisor virtualizes only hardware used by a General Purpose Operating System (e.g. Windows XP), elements that play no role in real-time system performance. Comunicazione Separazione al 100% – Come comunicano I sistemi? Shared Memory RTS Hypervisor consente di configurare una o più aree di share memory. Unico limite l‟ammontare della memoria di sistema Un semplice API provvede agli accessi da ciascun S.O. con meccanismi di Lock e di comunicazione. Rete Virtuale RTS Hypervisor provvede ai S.O. i driver di rete che risiedono nella direttamente nella share memory. Ciascun core può avere il proprio indirizzo IP e il proprio MAC address. Normali protocolli quali TCP-IP, OPC, CORBA etc. possono essere usati per la comunicazione tra i core 2009 Utilizzo di schede di rete Una scheda di rete può essere assegnata a un solo sistema operativo Ogni sistema operativo può avere una o più schede fisiche di rete. Il Routing e il Bridging possono essere usati con i driver virtuali dell‟RTS Altri core possono accedere fisicamente a una scheda di un altro sistema se reso disponibile dal sistema operativo 2009 Configurare è semplice Esempio: Windows XP con QNX 6.4 Virtualizzazione del SO GP Definizione della sequenza di Start-up Localizzazione dell„immagine del sistema. In caso di XP definizione disco e partizione Configurare è semplice Assegna IO e interrupt delle porte Seriali al sistema operativo specifico Ciò che non è assegnato è destinato a XP Configurare è semplice Startup Startup del Sistema: Regolare esecuzione del BIOS Start del Boot Loader Il Boot Loader carica la Configurazione dell‟ Hypervisor (Text based “ini”-file) e l‟immagine dell‟ RTOS in memoria Il Boot Loader fa partire RTS Hypervisor come un sistema operativo Hypervisor legge la configurazione di sistema, programma gli hardware interrupt controller con assegnazione diretta dell‟hardware ai rispettivi cores, imposta MMU etc. Ogni sistema operativo parte nella sequenza designata. I sistemi operativi sono ora in esecuzione. RTS Hypervisor rimane in memoria per la sola gestione delle eccezioni. 2009 Riepilogo PARTIZIONE invece di Virtualizzazione per accesso hardware diretto per sistemi operativi Real-Time (“Trusted”) . Nessun sistema è Host o Guest: i sistemi operativi sono uguali. Non esiste alcuna dipendenza reciproca. Interrupt controller non virtualizzati: operazioni Hard Real Time L‟utilizzo della virtualizzazione per i sistemi operativi aperti, come ad es. Windows, provvede ad una sicura separazione Istanze multiple di un RTOS possono essere eseguite contemporaneamente per bilanciare il carico degli interrupt e il design modulare del sistema (Asymmetric Multi Processing) Reboot indipendente di ogni sistema operativo mentre l‟altro sistema operativo continua ad operare indisturbato 2009 Intel® Embedded Alliance http://www.intelcom msalliance.com/ksh owcase/view/view_p rofile/8fc2fe50c6685 8c37337ca2a393412 5a7d9e7ddb 2009 Intel® Software Partner http://ibx.intel.com/direc tory/productpage/tabid/8 5/language/en-us/p5501-rts-hypervisor.aspx 2009 QNX® Partner http://www.qnx.com/partner s/partner.html?partnerid=1 61592 2009 Windows® Embedded Silver Partner http://www.microsoft.com/ windowsembedded/enus/partners/partnerprofile. mspx?CompanyProfileID= 36&Type=1 2009 Contatti Real Time Systems GmbH Gartenstrasse 33 D-88212 – Ravensburg - Germany Contradata Milano srl Via Solferino, 12 20052 Monza - Italy Tel: +49 (0) 751.359.558-0 Fax: +49 (0) 751.359.558-20 www.real-time-systems.com [email protected] Servizio vendite Italia [email protected] Tel: (+39) 039-2301492 Fax: (+39)039-2301489 Assistenza [email protected] Tel: (+39) 039-2301492 Fax: (+39)039-2301489 Grazie per l‟attenzione & VI RINGRAZIANO PER L‟ATTENZIONE 2009