Diapositiva 1

Transcript

Diapositiva 1
Università degli Studi di Bologna
FACOLTÀ DI INGEGNERIA
Corso di Laurea in Ingegneria delle Telecomunicazioni
Sistemi di Telecomunicazioni LA
STUDIO PER SOLUZIONI DI
VIRTUALIZZAZIONE SU PIATTAFORMA
MULTICORE PER APPARATI DI
TELECOMUNICAZIONE
Tesi di Laurea di:
ANTONIO CECERE
Relatore:
Prof. Ing. ORESTE ANDRISANO
Correlatori in Nokia Siemens Network:
Dott. FABRIZIO ZIZZA
Ing. STEFANO BASILE
Caso di studio
App
App
App
App
OS
OS
OS
OS
App
App
App
App
OS
OS
OS
OS
Multi-core
• Sistema a blade single-core con
OS indipendente
26 Luglio 2007
Virtualizzazione su multi-core
Antonio Cecere
• Passaggio a tecnologia
multi-core
2
Obiettivi
„
Studio della piattaforma multi-core
„
Possibili soluzioni per sfruttare il multi-core
„
Nuova piattaforma di Call Processing
„
Test di carico e performance
26 Luglio 2007
Virtualizzazione su multi-core
Antonio Cecere
3
Perché multi-core
• Aumentare la
frequenza di clock
richiede lavorazioni
costose
26 Luglio 2007
1/2
• Aumentando la
frequenza di clock
aumenta la potenza
Virtualizzazione su multi-core
Antonio Cecere
4
Perché multi-core
2/2
• Trend inevitabile delle grandi aziende produttrici (Intel, AMD, IBM)
Intel roadmap
Pentium III
1999
Pentium 4
2000
Pentium M
Dual-Core
2003
2006
Quad-Core/Multi-core
2007+
AMD roadmap
Opteron
2005
Athlon 64 X2 / FX
2006
Turion 64 X2
2007+
• IBM
(POWER4 (1st dual core, 2000), POWER5, PowerPC 970MP (Apple Power Mac G5)).
• Microsoft's Xbox 360
(PowerPC 3 cores).
• Sony PlayStation 3
(PowerPC 8 cores).
• Sun Microsystems
(UltraSPARC T1 8 cores)
26 Luglio 2007
Virtualizzazione su multi-core
Antonio Cecere
5
Intel multi-core
Intel Dual - Dual core Xeon Sossaman 2,0 GHz LV
X6DLP-EG2
XD: "XD-bit" e indica l'implementazione della tecnologia di sicurezza che evita l'esecuzione di codice malevolo sul computer.
HT: Hyper-Threading, consente al sistema operativo di vedere core logici.
ST: SpeedStep Tecnology, per il risparmio energetico.
VT: Vanderpool Tecnology, rende possibile l'esecuzione simultanea di più sistemi operativi differenti contemporaneamente.
26 Luglio 2007
Virtualizzazione su multi-core
Antonio Cecere
6
Come sfruttare il multi-core
Possibili soluzioni
Virtualizzazione
OS1
Programmazione
parallela
OS
N
OS2
Multi-threading
Virtualizzatore
C0
C1
C2
C3
C0
Intel Xeon - VT
C2
C3
Intel Xeon - VT
Più istanze di sistema
operativo su un’unica
piattaforma
26 Luglio 2007
C1
Più threads sovrapposti
condividono un unico
processore
Virtualizzazione su multi-core
Antonio Cecere
7
Programmazione parallela
one process
one thread
multiple processes
one thread per process
PRO:
one process
multiple threads
• Reale incremento delle
prestazioni
multiple processes
multiple threads per process
CONTRO:
= instruction trace
• Riscrivere il codice
• Adattare codice già esistente
e.g. Threads
su Dual-core
• Open Multi-Processing (OpenMP)
• POSIX Threads (PThreads)
•. ..
26 Luglio 2007
Virtualizzazione su multi-core
Antonio Cecere
8
Virtualizzazione
PRO:
OS_1
OS_2
• Nessun impatto su codice
• Scalabilità
Virtualizzatore
Cpu/Cores Ethernet
HD
CONTRO:
• Possibile latenza aggiuntiva
• Inserimento di ulteriore software
ƒ La virtualizzazione è eseguita da un SW, Host, che controlla le risorse della macchina. Le
VM che vengono create sono dette Guest.
• Le macchine Guest create possono “parlare” tra di loro ed interloquire con I dispositivi di I/O
tramite il layer di virtualizzazione.
26 Luglio 2007
Virtualizzazione su multi-core
Antonio Cecere
9
Software di virtualizzazione
Novità kernel
2.6.21-22
(Aprile-Maggio 2007)
FreeVPS
FreeVPS
GUSS
GUSS
lguest
lguest
Bochs
Bochs
VMware
VMware
UML
UML
V-RT
V-RT
XEN
XEN
Qemu
Qemu
LinuxLinuxVServer
VServer
KVM
KVM
Parallels
Parallels
Workstation
Workstation
OpenVZ
OpenVZ
Paravirtualizzatori
...
...
Emulatori
26 Luglio 2007
Virtualizzazione su multi-core
Antonio Cecere
10
Tipologie di virtualizzazione
Emulazione
OS_1
Paravirtualizzazione
OS_1
OS_2
Emulazione
Sistema Operativo
CPU
Ethernet
OS_2
Paravirtualizzazione
CPU
HD
Ethernet
HD
Utilizzo degli stessi driver
Utilizzo di driver ad hoc
della macchina reale
(modifica del OS Guest)
Frequenti interazioni tra
Minori interazioni tra
dispositivi HW e macchine
dispositivi HW e macchine
Virtuali Æ Maggiore latenza
Virtuali Æ Latenza minore
26 Luglio 2007
Virtualizzazione su multi-core
Antonio Cecere
11
Gli emulatori all’opera
Qemu
VMware Server
26 Luglio 2007
Virtualizzazione su multi-core
Antonio Cecere
12
I paravirtualizzatori all’opera
Xen
V-RT
26 Luglio 2007
Virtualizzazione su multi-core
Antonio Cecere
13
In particolare Æ BSC
Line Module
HUB-B
Packet Traffic
Blade
Line Module
Application
Blade
Line Module
Application
Blade
Maintenance
Blade
BSC
AB (Application Blade): Responsabile dei processi di chiamata. Dimensionata in numero, in base al
traffico da gestire.
PTB ( Packet Traffic Blade): Gestione dei processi di traffico dati.
MB (Maintenance Blade): Controlla e supervisiona il sistema.
HUB-B ( HUB-Blade): Si occupa di interloquire con le varie blades.
LM (Line Module): Si occupa dell’interfacciamento con l’ HUB-B e i canali esterni.
26 Luglio 2007
Virtualizzazione su multi-core
Antonio Cecere
14
Virtualizzare il vero software delle AB
MVCGL MVCGL MVCGL MVCGL
•Il sistema operativo delle AB è
Montavista Carrier Grade Linux 3.1
8
MVCGL MVCGL MVCGL MVCGL
•Al posto di Montavista CGL
abbiamo utilizzato Fedora Core 6
Virtualizzatore
9
SIM
SIM
SIM
SIM
FC6
FC6
FC6
FC6
Virtualizzatore
26 Luglio 2007
•All’interno di NSN esiste un
software che simula i network
elements e le singole istanze del
BSC
•Configurazione comunque molto
vicina a quella reale
Virtualizzazione su multi-core
Antonio Cecere
15
Struttura del simulatore
Packet Traffic
Blade
Line Module
HUB-B
Line Module
Line Module
Maintenance
Blade
Application
Blade
Application
Blade
Traffic
generator
26 Luglio 2007
Virtualizzazione su multi-core
Antonio Cecere
BTS
TRAU
MSC
16
Configurazione della nuova piattaforma
di Call Processing
•
Piattaforma con OS delle AB
Virtualizzatore
Piattaforma con OS di LM,
HUB-B, MB ed il generatore di
traffico
•
26 Luglio 2007
Virtualizzazione su multi-core
Antonio Cecere
17
Risultati NSN LAB
Traffic
generator
BTS
TRAU
MSC
55 BTSM
Configurazione reale per
prove di carico al System
test
•
1 AB :
400.000 chiamate/ h
70 % “carico del
processore”
BSC
Occupazione del
processore/chiamate
all’ora
•
26 Luglio 2007
Virtualizzazione su multi-core
Antonio Cecere
18
Test – Come abbiamo mappato le AB
TEST 1
OS / Hypervisor
TEST 2
OS / Hypervisor
AB
0
AB
0
OS
Core
0
Core
1
OS / Hypervisor
Core
0
Core
1
Core
2
Core
3
TEST 3
AB
0
OS / Hypervisor
Core
2
Core
3
OS
TEST 4
OS
AB
2
Core
0
Core
2
OS
Core
1
Core
3
AB
4
AB
2
AB
0
OS
OS
26 Luglio 2007
Virtualizzazione su multi-core
Antonio Cecere
Core
0
Core
1
Core
2
Core
3
OS
OS
AB
4
19
Risultati
200.000 chiamate/ora
60,0%
50,0%
FC6_Nativa
40,0%
Qemu
30,0%
XEN
20,0%
VMWare
Utilizzo del processore
(più basso è meglio)
V_RT
10,0%
0,0%
1AB_1core_d
1AB_3core_c
3AB_3core_c
3AB_3core_d
d=dedicato
c=condiviso
180,0%
160,0%
140,0%
FC6_Nativa
120,0%
Incremento/decremento
delle prestazioni
(più basso è meglio)
Qemu
100,0%
XEN
80,0%
VMWare
60,0%
V_RT
40,0%
20,0%
d=dedicato
c=condiviso
0,0%
1AB_1core_d
26 Luglio 2007
1AB_3core_c
Virtualizzazione su multi-core
Antonio Cecere
3AB_3core_c
3AB_3core_d
20
Conclusioni e futuro
„
La virtualizzazione è una buona strada
„
„
„
„
Nessun impatto sul codice
Scalabile
Performance paragonabili a quelle reali
Scenario in evoluzione
„
„
„
Aumento del numero di core
Software di virtualizzazione nuovi o migliorati
Puntare sull’Open Source (e.g. KVM, Xen e lguest)
26 Luglio 2007
Virtualizzazione su multi-core
Antonio Cecere
21