STUDIO PER SOLUZIONI DI VIRTUALIZZAZIONE SU · PDF fileANTONIO CECERE Correlatori in Nokia...

21
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 Relatore: Prof. Ing. ORESTE ANDRISANO Tesi di Laurea di: ANTONIO CECERE Correlatori in Nokia Siemens Network: Dott. FABRIZIO ZIZZA Ing. STEFANO BASILE

Transcript of STUDIO PER SOLUZIONI DI VIRTUALIZZAZIONE SU · PDF fileANTONIO CECERE Correlatori in Nokia...

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)