Sei sulla pagina 1di 32

NI Real-Time Hypervisor:

Windows e LabVIEW Real-Time


sullo stesso controllore

Fabio Mussi
System Engineer

National Instruments Italia


2
Agenda
1) Introduzione ad NI Real-Time Hypervisor
2) Principi base della virtualizzazione
3) Configurazione ed utilizzo di un sistema Real-
Time Hypervisor
4) Analisi delle prestazioni
Introduzione ad NI Real-Time
Hypervisor
NI Real-Time Hypervisor
• Esecuzione in parallelo di
Windows XP LabVIEW Real-Time
NI LabVIEW Real-Time
e Windows XP

NI Real-Time Hypervisor • Suddivisione delle schede


di I/O, RAM e CPU tra
sistemi operativi

I/O RAM CPUs


• Utilizzo della tecnologia
Intel VT per la
virtualizzazione
Benefici di Real-Time
Hypervisor
• Potenzialità: sfruttare le capacità di
processing Real-Time e la versatilità dei
servizi Windows

Applicazioni Determinismo

Grafica I/O Real-Time

Servizi Temporizzazione
Benefici di Real-Time
Hypervisor
• Compattamento: diminuzione dei costi per
hardware e cablaggio, riduzione dello spazio
occupato

Sistema virtualizzato con NI Real-Time Hypervisor


Benefici di Real-Time
Hypervisor
• Efficienza: sfruttare a tutti gli effetti la
tecnologia multicore

Quad-Core Controller with Virtualization

Windows XP LabVIEW Real-Time


Principi base della
virtualizzazione
Cosa si intende per
virtualizzazione?
• Definizione: astrazione di un sistema operativo a
partire dalle risorse hardware
• In concreto: esecuzione di più sistemi operativi
simultaneamente su di un unico computer
Architetture software
virtualizzate
• Software: virtual machine monitor (VMM) oppure
Hypervisor
• Due tipologie: hosted o bare-metal

Hosted (VMWare) Bare-Metal (NI Real-Time Hypervisor)


Come funziona un software di
virtualizzazione?
• I sistemi operativi non “sanno” di essere virtualizzati

• Hypervisor entra in funzione solo quando necessario

• Esistono vari metodi per invocare l’Hypervisor


(utilizzando ad esempio la tecnologia Intel VT)

Obbiettivi dell’Hypervisor: facilitare le operazioni


simultanee da parte dei sistemi operativi e gestire le risorse
condivise
Esempio: accesso a risorse condivise
• OS 2 tenta di trasferire dati su disco
• Il processore invoca Hypervisor tramite Intel VT
• Hypervisor scrive su disco attraverso il suo driver

Hypervisor
OS 1 OS 2
Software
Kernel Driver
Intel VT
Risorsa
condivisa (Disk) CPU

Nota: tipicamente il Real-Time Hypervisor non esegue questa


operazione poiché i dischi sono partizionati e non condivisi
Esempio: accesso alle schede di I/O
partizionate
• NI Real Time Hypervisor permette di comunicare
direttamente con le schede di I/O oppurtunamente
partizionate

NI Real-Time LabVIEW
Windows
Hypervisor Real-Time
Driver Driver
Intel VT
Scheda di Scheda
CPU rete DAQ
Configurazione ed utilizzo dei
sistemi NI Real-Time Hypervisor
Utilizzo dei sistemi NI Real-Time
Hypervisor
• Configurazione: NI Real-Time
Hypervisor Manager

• Comunicazione: connessione ethernet e


console seriale virtuali

• Sviluppo e distribuzione: simile ai


sistemi LabVIEW Real-Time
tradizionali
Assegnazione di I/O e RAM ai
sistemi operativi
Demo: Configurare un sistema NI
Real-Time Hypervisor
Avvio di NI Real-Time
Hypervisor
Accedere al target Real-Time attraverso
NI Measurement & Automation Explorer
(MAX)
Comunicazione tra i sistemi
operativi

Ethernet Virtuale Console Seriale Virtuale (COM 4)


Demo: Funzionalità di NI Real-
Time Hypervisor
Sviluppo e distribuzione con
LabVIEW
• Molto simile ai sistemi NI real-time tradizionali
Demo: Esecuzione di
un’applicazione LabVIEW Real-
Time
Analisi delle prestazioni
Latenza degli Interrupt ed impatti
prestazionali
LabVIEW
Windows XP
Real-Time

NI Real-Time
Hypervisor

Interrupt
Richiesta di
comunicazione di
una scheda di I/O
Prestazioni di un’applicazione DAQ
Single point (Interrupts)
Numero di canali Massimo tempo
Massimo tempo ciclo
di I/O ciclo senza
con Hypervisor
(con controllo Hypervisor
(kHz)
PID) (kHz)
1 11.5 25.4
4 9.3 22.6
16 7.0 12.4

Consiglio: utilizzare tecniche di polling per le operazioni di I/O


sui sistemi Hypervisor
Prestazioni di una tipica
applicazione DAQ (Polling)
Massimo tempo
Tipo di Massimo tempo ciclo ciclo senza
applicazione con Hypervisor (kHz) Hypervisor
(kHz)
DAQ con gran
12.0 14.5
numero di I/O

La maggior parte delle applicazioni LabVIEW Real-Time tradizionali


con tempi ciclo da 1 a 5 kHz mantengono le stesse prestazioni anche
su sistemi Real-Time Hypervisor
Comunicazione di rete: prestazioni
Capacità di trasferimento dati (throughput) con e senza Hypervisor
70000

60000
Capacità di trasferimento (kb/s)

50000

40000

30000

20000

10000

0
0 1000 2000 3000 4000 5000 6000 7000 8000 9000
Dimensione dei pacchetti (Bytes)

Physical Ethernet (w/ hypervisor) Virtual Ethernet (w/ hypervisor) Physical Ethernet (no hypervisor)
Dettagli sulle configurazioni di
NI Real-Time Hypervisor

• Real-Time Hypervisor e sistemi operativi preinstallati

• Hardware attualmente supportato


– NI PXI-8108 e PXI-8110
– NI 3110 industrial controller
Risorse aggiuntive

• Portale NI per la virtualizzazione


(ni.com/virtualization)
– Nozioni di base sulle tecnologie per la virtualizzazione
– Tour virtuale su Real-Time Hypervisor
– Approfondimenti sull’architettura, analisi delle prestazioni e
consigli sulla programmazione
Domande?
Windows XP LabVIEW Real-Time

NI Real-Time Hypervisor

I/O RAM CPUs

STAND NI