Upload
phungkiet
View
214
Download
1
Embed Size (px)
Citation preview
Università degli Studi di Bologna
FACOLTÀ DI INGEGNERIACorso di Laurea in Ingegneria delle Telecomunicazioni
Sistemi di Telecomunicazioni LA
STUDIO PER SOLUZIONI DI VIRTUALIZZAZIONE SU PIATTAFORMA
MULTICORE PER APPARATI DI TELECOMUNICAZIONE
Relatore:Prof. Ing. ORESTE ANDRISANO
Tesi di Laurea di:ANTONIO CECERE Correlatori in Nokia Siemens Network:
Dott. FABRIZIO ZIZZAIng. STEFANO BASILE
26 Luglio 2007Virtualizzazione su multi-core
Antonio Cecere 2
Caso di studio
• Passaggio a tecnologiamulti-core
• Sistema a blade single-core con OS indipendente
Multi-core
OS
App
OS
App
OS
App
OS
App
OS
App
OS
App
OS
App
OS
App
26 Luglio 2007Virtualizzazione su multi-core
Antonio Cecere 3
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 2007Virtualizzazione su multi-core
Antonio Cecere 4
Perché multi-core 1/2
• Aumentando la frequenza di clockaumenta la potenza
• Aumentare lafrequenza di clockrichiede lavorazioni costose
26 Luglio 2007Virtualizzazione su multi-core
Antonio Cecere 5
Perché multi-core 2/2
• Trend inevitabile delle grandi aziende produttrici (Intel, AMD, IBM)
1999 2000 2003 2006 2007+
Pentium III Pentium 4 Pentium M Dual-Core Quad-Core/Multi-core
Intel roadmap
2005 2006 2007+
AMD roadmapOpteron Athlon 64 X2 / FX Turion 64 X2
• 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 2007Virtualizzazione su multi-core
Antonio Cecere 6
Intel multi-coreIntel 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 2007Virtualizzazione su multi-core
Antonio Cecere 7
Come sfruttare il multi-corePossibili soluzioni
Virtualizzazione Programmazioneparallela
Più istanze di sistema operativo su un’unicapiattaforma
Più threads sovrapposticondividono un unico processore
Intel Xeon - VTC0 C1 C2 C3
Virtualizzatore
OS1 OS2 OSN
Intel Xeon - VTC0 C1 C2 C3
Multi-threading
26 Luglio 2007Virtualizzazione su multi-core
Antonio Cecere 8
Programmazione parallela
PRO:
• Reale incremento delle prestazioni
CONTRO:
• Riscrivere il codice• Adattare codice già esistente
• Open Multi-Processing (OpenMP)• POSIX Threads (PThreads)•. ..
one processone thread
one processmultiple threads
multiple processesone thread per process
multiple processesmultiple threads per process
= instruction trace
one processone thread
one processmultiple threads
multiple processesone thread per process
multiple processesmultiple threads per process
= instruction trace
e.g. Threadssu Dual-core
26 Luglio 2007Virtualizzazione su multi-core
Antonio Cecere 9
VirtualizzazionePRO:
• Nessun impatto su codice• Scalabilità
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.
Cpu/Cores Ethernet HD
Virtualizzatore
OS_1 OS_2
26 Luglio 2007Virtualizzazione su multi-core
Antonio Cecere 10
Software di virtualizzazione
FreeVPSFreeVPS GUSSGUSS
......
OpenVZOpenVZ
ParallelsWorkstationParallels
Workstation
UMLUML
Linux-VServerLinux-
VServer
BochsBochs
QemuQemu
V-RTV-RT
VMwareVMware
XENXEN
Emulatori
Paravirtualizzatori
Novità kernel2.6.21-22
(Aprile-Maggio 2007)
lguestlguestKVMKVM
26 Luglio 2007Virtualizzazione su multi-core
Antonio Cecere 11
Tipologie di virtualizzazioneParavirtualizzazione
Utilizzo di driver ad hoc(modifica del OS Guest)
Minori interazioni tradispositivi HW e macchineVirtuali Latenza minore
Paravirtualizzazione
OS_1 OS_2
CPU Ethernet HD
Emulazione
Utilizzo degli stessi driverdella macchina reale
Frequenti interazioni tradispositivi HW e macchine
Virtuali Maggiore latenza
CPU Ethernet HD
Emulazione
OS_1 OS_2
Sistema Operativo
26 Luglio 2007Virtualizzazione su multi-core
Antonio Cecere 12
Gli emulatori all’opera
Qemu
VMware Server
26 Luglio 2007Virtualizzazione su multi-core
Antonio Cecere 13
I paravirtualizzatori all’opera
Xen
V-RT
26 Luglio 2007Virtualizzazione su multi-core
Antonio Cecere 14
In particolare 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.
BSC
Line Module
Line Module
Line Module
MaintenanceBlade
Packet TrafficBlade
HUB-BApplication
Blade
ApplicationBlade
26 Luglio 2007Virtualizzazione su multi-core
Antonio Cecere 15
Virtualizzare il vero software delle AB
Virtualizzatore
MVCGL MVCGL MVCGL MVCGL
•Il sistema operativo delle AB èMontavista Carrier Grade Linux 3.1
•Al posto di Montavista CGL abbiamo utilizzato Fedora Core 6
•All’interno di NSN esiste un software che simula i network elements e le singole istanze del BSC
•Configurazione comunque moltovicina a quella reale
Virtualizzatore
FC6
SIM
FC6
SIM
FC6
SIM
FC6
SIM
MVCGLMVCGLMVCGLMVCGL
26 Luglio 2007Virtualizzazione su multi-core
Antonio Cecere 16
Traffic generator
MSCTRAUBTS
Struttura del simulatoreLine Module
Line Module
Line ModuleMaintenance
Blade
Packet TrafficBlade
ApplicationBlade
ApplicationBlade
HUB-B
26 Luglio 2007Virtualizzazione su multi-core
Antonio Cecere 17
Configurazione della nuova piattaforma di Call Processing
• Piattaforma con OS delle AB
• Piattaforma con OS di LM, HUB-B, MB ed il generatore ditraffico
Virtualizzatore
26 Luglio 2007Virtualizzazione su multi-core
Antonio Cecere 18
Risultati NSN LAB
• Configurazione reale per prove di carico al System test
BSC
Traffic generator
BTS MSCTRAU
1 AB :
400.000 chiamate/ h
70 % “carico del processore”
55 BTSM
• Occupazione del processore/chiamate all’ora
26 Luglio 2007Virtualizzazione su multi-core
Antonio Cecere 19
Test – Come abbiamo mappato le AB
OS / Hypervisor
OS
Core 0
Core 1
Core 2
Core 3
AB 0
TEST 1 OS / Hypervisor
OSCore 2
Core 3
AB 0
Core 0
Core 1
TEST 2
OS / Hypervisor
Core 2
Core 3
OS
AB 0
OS
AB 4
OS
AB 2
Core 0
Core 1
TEST 3
OS
AB4
OS / Hypervisor
OS
Core 0
Core 1
Core 2
Core 3
AB 0
AB 2
OS
TEST 4
26 Luglio 2007Virtualizzazione su multi-core
Antonio Cecere 20
Risultati
Utilizzo del processore(più basso è meglio)
Incremento/decrementodelle prestazioni(più basso è meglio)
0,0%
10,0%
20,0%
30,0%
40,0%
50,0%
60,0%
1AB_1core_d 1AB_3core_c 3AB_3core_c 3AB_3core_d
FC6_Nativa
Qemu
XEN
VMWare
V_RT
d=dedicatoc=condiviso
0,0%
20,0%
40,0%
60,0%
80,0%
100,0%
120,0%
140,0%
160,0%
180,0%
1AB_1core_d 1AB_3core_c 3AB_3core_c 3AB_3core_d
FC6_Nativa
Qemu
XEN
VMWare
V_RT
d=dedicatoc=condiviso
200.000 chiamate/ora
26 Luglio 2007Virtualizzazione su multi-core
Antonio Cecere 21
Conclusioni e futuro
La virtualizzazione è una buona stradaNessun impatto sul codiceScalabilePerformance paragonabili a quelle reali
Scenario in evoluzioneAumento del numero di core Software di virtualizzazione nuovi o miglioratiPuntare sull’Open Source (e.g. KVM, Xen e lguest)