Presentazioni Efficaci e lezioni di Educazione Civica
Xen benchmark sistemi paravirtualizzati
1. Università degli Studi del Sannio 1
Facoltà di Ingegneria
Corso di laurea in Ingegneria Informatica
Analisi delle prestazione di sistemi cluster
in ambienti paravirtualizzati
Relatore Candidato
Ch.mo Prof. Flavio Pace
Umberto Villano 195001062
2. Sommario
2
¨ Overview Virtualizzazione
• Definizione, Principi, Benefici
• Tipi di virtualizzazione
¨ Architettura di Xen
• Architettura
• Ruolo dei domini
• Profiling
¨ Ambiente di Test e Risultati
¨ Conclusioni
¨ Sviluppi futuri
3. Virtualizzazione
3
Definizione
• La logica suddivisione delle risorse fisiche di un computer in multipli
ambienti di esecuzione
Principi
• Lanciare multiple istanze di SO contemporaneamente
• Garantire isolamento tra i vari SO
• Gestione e controllo delle risorse condivise
• Amministrazione centralizzata
Benefici
• Consolidamento Server
• Failover e Disaster Recovery
• Ambienti personalizzati di Debugging e di Test
• Alta scalabilità
• Riduzione dei costi
4. Tipi di Virtualizzazione
4
¨ Full Virtualization
¨ Paravirtualization
¨ Hardware-Assisted
Virtualization
¨ Kernel-level Virtualization
6. Profiling in Xen
6
¨ Ogni dominio partecipa attivamente all’analisi del
proprio ambiente
¨ Il Domain-0 definisce una interfaccia per la raccolta
dei samples da parte dei Domain-U
¨ La raccolta dei samples è centralizzati nel Domain-0
7. Cluster fab4 e Tool di analisi
7
Cluster fab4
• Il cluster è formato da un front-end e da 4 nodi
computazionali virtualizzati
• I nodi sono interconnessi tra loro tramite uno switch
Gigabit Ethernet
• Rocks 5.1 (CentOS 5)
• La virtualizzazione dei nodi avviene tramite Xen 3.0
I tool di analisi usati sono:
• Netperf
• Pathload
• Xenoprof
8. Obiettivo
8
L’obiettivo è quello di capire in che modo si deteriorano le
prestazioni di rete in base alle diverse accoppiate CPU-VCPU
secondo le seguenti configurazioni:
ü Dom0–>CPU0 DomU_1 DomU_2 àCPU1
ü Dom0 DomU_1 àCPU0 DomU_2 àCPU1
ü Dom0 DomU_1 DomU_2 àCPU0
I parametri presi in considerazione sono stati:
¨ Banda disponibile
¨ Throughput di rete
¨ Utilizzo della CPU dei processi sender e receiver
¨ Distribuzione degli eventi hardware
12. Risultati Throughput (4)
12
• Sender à DomU
• Receiver à DomU
Su diversi nodi
fisici
-50.15 %
E’ diminuita di un ulteriore 12.5 %
rispetto alla configurazione dove il
Dom0 funge da sender
14. Utilizzo della CPU (2)
14
• Sender à DomU
• Receiver à DomU
Su diversi nodi
fisici
15. Analisi tramite Xenoprof
15
Sample
Sample % % Image name Image name
App
Sample
%
image
4968415
698856 52.6085
7.0848 Vmlinux Vmlinux
__copy_from_user_ll
9444138
95.7425
netperf
3048907
502514 32.2836
5.0944 xen-syms-2.6.18-92.1.13.el5
Vmlinux get_page_from_freelist
545881
427408 5.7801
4.3330 vmlinux netbk
skb_copy_bits
316974 3.3563 ip_conntrack
Distribuzione dei simboli maggiormente usati dal kernel di Xen
Percentuale dei Samples totali
213704 2.2628 Bridge
__copy_from_user_ll funzione usata per copiare i dati dal dominio utente a
quello del driver
Distribuzione delle percentuali del tempo di esecuzione di Netperf
get_page_from_freelist è la funzione che trova l’indirizzo della pagina al
livello kernel dove saranno copiati i dati
skb_copy_bits una funzione che copia i dati dal buffer della socket ad in
una regione del kernel
16. Prestazioni Virtual Cluster
16
¨ 3 nodi fisici, ogni nodo con due macchine virtuali oltre al
Dom0
¨ 2 Virtual Cluster VC0 e VC1
• VC0 IMB-MPI1 (PingPong)
• VC1 carico computazionale (NAS)
¨ Le VMs di VC0 girano sulla CPU0 assieme al Dom0
¨ Le VMs di VC1 girano sulla CPU1
¨ Il Middleware utilizzato per i test è stato MPICH
17. Risultati
17
¨ Punto A messaggi di grandezza 16K
¨ Punto B messaggi di grandezza 32K
18. Analisi tramite Xenoprof
18
Stessa distribuzione di simboli
IMB-MPI1 Punto A Punto B % punto A % punto B
#samples #samples
Xen 6867 7745 5% 1%
Vmlinux 44567 584375 57.26 % 56.17 %
Vmlinux 13964 14631 11% 2%
IMB-MPI1 21744 331766 27.93 % 33.17 %
IMB-MPI1 77830 1E^06 61% 95%
[vdso]
Xennet 4648
338 93690
725 5.97 %
0% 9.05 %
0%
Strings
libc-2.5.so 17434
692 17389
6927 14%
0.88 % 2%
0.66 %
Phyton 7991 7857 6% 1%
xen-syms 3822 6425 4.19 % 0.61 %
Sge_execd 2076 2038 5% 1%
Xennet 1317 2135 1.69 % 0.20 %
Irqbalance 837 1226 1% 0%
19. Risultati
19
Risultati dello stesso test usando la libreria di
comunicazione OPENMPI
20. Conclusioni
20
¨ Abbiamo visto come cambia il throughput di rete
in base alle diverse accoppiate CPU-VCPU
¨ L’utilizzo della CPU in base ai processi sender/
receiver
¨ Attraverso il Profiling abbiamo appurato le funzioni
maggiormente interessate dallo scambio intensivo
di I/O di rete
¨ Il Profiling ci è venuto in aiuto nel definire l’area
del problema riscontrato all’interno del tool sulle
prestazione dei Virtual Cluster
21. Sviluppi futuri
21
¨ Analizzare le prestazioni di rete mettendole in
relazioni con i risultati di un ambiente nativo
¨ Effettuare un’analisi più approfondita dei
risultati di Xenoprof sulla libreria di
comunicazione MPICH