VIRGO-PG Beowulf - Workshop sulle problematiche di calcolo e reti

Transcript

VIRGO-PG Beowulf - Workshop sulle problematiche di calcolo e reti
VIRGO

Virgo:

Interferometro in fase di
ultimazione:


prevista accensione inizi 2003
La parte centrale
dell’interferometro già attiva ed
in presa dati


Già effettuati 3 engineering runs, il
quarto la settimana prossima
1,5TB di dati per ciascun run
Leone B. Bosi, VIRGO Perugia Group
1
Schema di rivelazione



Il modello di rivelazione di Virgo mal si
combina con non un sistema classico di
batch machine
Il nostro schema di detection necessita un
sistema distribuito (quasi parallelo) di
calcolo tramite opportuna libreria di
message passing (MPI)
Lo stesso stream di dati subisce in parallelo
il medesimo algoritmo di detection con
parametri diversi
Leone B. Bosi, VIRGO Perugia Group
2
Schema di analisi dati..
PI
M
Flusso dati VIRGO
Master
Data scheduler
PI
M
MPI
MP
Comunication on MPI
I
M
PI
Leone B. Bosi, VIRGO Perugia Group
3
VIRGO­PG Beowulf
Un grosso (300GFlops) cluster è previsto in Virgo
Alcune farms di studio sono state sviluppate nelle diverse sezioni Cluster di Perugia
Obiettivi:






Configurazione
Performances
Scalabilità
Gestione
Software di detection e ricostruzione
Test per l’on­line di Virgo
Leone B. Bosi, VIRGO Perugia Group
4
VIRGO­PG Beowulf (II)
0.7 TB (RAID 0/5)
Leone B. Bosi, VIRGO Perugia Group
5
Specifiche Hardware
Nodi di calcolo(24 CPUs):
• 4 nodes with dual Pentium­III 866 MHz CPUs, 512 Mb RAM, 2 Fast­Ethernet NICs
• 8 nodes with dual Pentium­III 1 GHz CPUs, 1 Gb RAM, 2 Fast­Ethernet NICs
Master node:
• dual Athlon 1 GHz CPUs, 512 Mb RAM, 2 Fast­Ethernet NICs, Gigabit­
Ethernet NIC
Fileserver 1 (360 Gb):
• dual Pentium­III 1 GHz, 512 Mb RAM, Fast­Ethernet NIC, Gigabit­Ethernet NIC
• Promise RAID­0 IDE controller
• IDE ultra­DMA disks
Fileserver 2 (360 Gb):
• dual Pentium­III 1 GHz, 256 Mb RAM, Fast­Ethernet NIC, Gigabit­Ethernet NIC
• Adaptec RAID­5 SCSI controller
• SCSI ultra­160 disks
Leone B. Bosi, VIRGO Perugia Group
6
Software setup (I)
``Beowulf'' or ``MOSIX'' operation
Approccio Single System Image:
• punto di controllo singolo dell’immagine kernel e sequenza di boot per tutti i nodi
• punto di controllo singolo delle librerie di sistema
• punto di controllo singolo delle librerie delle applicazioni (/beowulf)
• punto di controllo singolo dell’user environment (/beowulf/env)
• i nodi condividono un’identico namespace
Principi Guida:
• Seguire una filosofia Open!
. GNU/Linux operating system, distribuzione Debian
. Tool e librerie Free Software e Open Source
• Mantenere il sistema semplice!
. Nessun daemon o servizio non necessario
. No NIS/NIS+
. Nessuna immagine di sistema replicata
. Debian advanced packaging system
Leone B. Bosi, VIRGO Perugia Group
7
Software setup (II)
Master node:
• login server (SSH), gateway verso la rete esterna, NAT, firewall
• macchina di sviluppo
• funzioni di controllo e monitoring
• NFS server (/beowulf filesystem, NFS root filesystem per operazioni diskless)
• DHCP e TFTP server
• NTP (time) server
• log server
Fileserver 1, fileserver 2:
• NFS server
Nodi di calcolo:
• COMPUTATION
• disk­based o operazioni disk­less
• Parallel Virtual Filesystem (PVFS)
• facilmente e dinamicamente riconfigurabili
Leone B. Bosi, VIRGO Perugia Group
8
Librerie e tools
Compilatori:
• GNU suite: GCC, G++, G77, GCJ
• Intel C/C++ compiler, Intel Fortran77/90 compiler
Librerie di Message­Passing:
• MPI/LAM
• MPI/MPICH
• PVM
Librerie Scientifiche:
• FFTW
• ATLAS
• BLAS
• LAPACK
• SCALAPACK
• Siglib
• VIRGO libraries (Framelib)
Leone B. Bosi, VIRGO Perugia Group
9
Principi di installazione
Motivazione di costi
OSCAR è troppo semplice!
Approccio alla clusterizzazione Single System Image (SSI)
• fornire agli utenti un’immagine del cluster unificata
• richiede un’integrazione a livelli multipli: kernel, filesystem, namespace, . . .
• . . . ma non esiste ancora!
Il root filesystem singolo è il primo passo verso l’SSI:
Maneggiabilità
Flessibilità
A volte, quando poi avete dischi, non volete toccarli
Leone B. Bosi, VIRGO Perugia Group
10
Installazione nodi diskless
• Dove eseguire il boot?
. Floppy
. Network (PXE, etherboot)
• Dove risiede il mio root filesystem?
. Network file system (NFS)
• Dove eseguire lo swap?
. Nessuno swap.
. Swap su rete
. Swap su disco
In più, se si desidera una filesystem root singolo per tutti i nodi:
• Dove risiede l’identità di ciascun nodo?
. Creata on the fly
. Memorizzata remotamente
Leone B. Bosi, VIRGO Perugia Group
11
Le nostre scelte
• Root filesystem su NFS, montato read­only
. root filesystem basato su distribuzione Debian
. root filesystem esportato verso i nodi è mantenuto utilizzando i
tool standard Debian(dpkg; apt­get)
• GRUB bootloader
. Integra un client BOOTP/DHCP
. Può scaricare ed eseguire script, specificando una sequenza di boot
. Il boot è eseguito tramite floppy
• Piccola ram­disk, per accessi in scrittura volatili
. /tmp deve essere scrivibile! (pensate ai file di lock . . . )
• Devfs virtual filesystem
. Nessun device inode lookups over the network
. Nessun file /dev è presente nel filesystem root esportato
• NFS­shared /beowulf filesystem . Contiene le librerie delle applicazioni (MPICH, LAM, FFTW, . . . )
. Contiene le home directory
Leone B. Bosi, VIRGO Perugia Group
12
Un’occhiata ad un nodo..
Leone B. Bosi, VIRGO Perugia Group
13
Configurazione del kernel (I)
Abilitare la configurazione automatica IP del kernel in fase di boot
Leone B. Bosi, VIRGO Perugia Group
14
Configurazione del kernel (II)
Abilitare NFS ed il supporto NFSboot Leone B. Bosi, VIRGO Perugia Group
15
Configurazione del kernel (III)
Abilitare il supporto RamDisk Leone B. Bosi, VIRGO Perugia Group
16
La sequenza di boot
1. Power on. GRUB viene caricato da dischetto (o ROM PXE)
2. GRUB identifica la periferica di rete NIC, ed invia una richiesta DHCP per configurare la rete
3. GRUB download (via TFTP) uno script di boot dal server DHCP
4. Lo script di boot preleva un’immagine kernel e l’avvia con gli opportuni parametri
5. Il kernel linux esegue il boot ed il codice di auto configurazione IP invia una richiesta DHCP per configurare la rete
6. Viene montato il filesystem root su NFS(read­only) dal dhcp server
7. Inizia la configurazione di sistema.
8. Devfs è montato
9. La ramdisk è creata, popolata e montata
10. Lo script di boot completa la configurazione locale( su ramdisk)
11. Il filesystem remoto /beowulf viene montato
12. Viene effettuata una configurazione specifica per nodo(se esiste)
13. Il sistema è pronto!
Leone B. Bosi, VIRGO Perugia Group
17
Uno sguardo al lato server..
• Al momento del boot, GRUB configura la rete tramite DHCP
• Successivamente, ogni nodo esegue il download ed esegue uno script di boot GRUB:
. Se esiste uno script specifico per il nodo, esegue quello
. altrimenti, utilizza il generico node.lst
• Lo script di boot preleva il kernel giusto e lo avvia
. La command line del kernel può essere manipolata da GRUB
• Il kernel e la sequenza di boot può essere controllata per ciascun nodo, cambiando
i file ed i link simbolici in /beowulf/boot – e solo questi.
Leone B. Bosi, VIRGO Perugia Group
18
Una giornata per montaggio e cablaggio…
Leone B. Bosi, VIRGO Perugia Group
19
5 minuti per inizializzare il sistema e renderlo operativo... •Uno sguardo al file di log.....
Prima richiesta
DHCP
=======================================================================
(POWER­ON DEI NUOVI NODI, PRIVI DI SISTEMA OPERATIVO)
Jan 30 16:42:20 virgo­bwulf dhcpd­2.2.x: DHCPDISCOVER from 00:20:ed:11:27:e8 via eth1
Jan 30 16:42:20 virgo­bwulf dhcpd­2.2.x: DHCPOFFER on 192.168.1.105 to 00:20:ed:11:27:e8 via eth1
Jan 30 16:42:22 virgo­bwulf dhcpd­2.2.x: DHCPDISCOVER from 00:20:ed:11:09:1a via eth1
Jan 30 16:42:22 virgo­bwulf dhcpd­2.2.x: DHCPOFFER on 192.168.1.107 to 00:20:ed:11:09:1a via eth1
.................
Jan 30 16:45:31 node11 kernel: IP­Config: Complete:
Jan 30 16:45:31 node11 kernel: device=eth1, addr=192.168.1.111, mask=255.255.255.0, gw=192.168.1.1,
Jan 30 16:45:31 node11 kernel: host=node11, domain=cluster, nis­domain=(none),
Jan 30 16:45:31 node11 kernel: Freeing unused kernel memory: 224k freed
(SISTEMA INSTALLATO E CONFIGURATO SU 8 NODI, 16 NUOVE CPU ONLINE)
Ultimo messaggio =======================================================================
di boot
Leone B. Bosi, VIRGO Perugia Group
20
Pro e contro
Pro:
• Maneggiabilità
• punto di controllo singolo dell’immagine kernel e sequenza di boot per tuttii nodi
• punto di controllo singolo delle librerie di sistema
• punto di controllo singolo delle librerie delle applicazioni (/beowulf)
• punto di controllo singolo dell’user environment (/beowulf/env)
• i nodi di calcolo condividono un’identico namespace
• operazioni chrooted sul filesystem dei nodi, utilizando
• Flessibilità

I nodi non necessitano di avere lo stesso set di daemon

I dischi locali, se presenti, possono essere partizionati e popolati automaticamente (utili per swap locale, PVFS, …)
• Nessuna perdita di performance dovuta ad istallazione locale
Contro:
• Scalabilità


Durante la fase di boot, tutti i nodi accedono alla stesso filesystem NFS (dove il sistema di caching VFS alleggerisce gli accessi)
In pratica: non è stato osservato nessun rallentamento nella sequenza di boot
Leone B. Bosi, VIRGO Perugia Group
21
Referenze
• GRUB
http://www.gnu.org/software/grub/
• Linux NFS­Root mini­HOWTO
http://www.linuxdoc.org/HOWTO/mini/NFS­Root.html
• Linux Diskless HOWTO
http://www.linuxdoc.org/HOWTO/Diskless­HOWTO.html
• Devfs FAQs
http://www.atnf.csiro.au/rgooch/linux/docs/devfs.html
• Debian
http://www.debian.org/
• Single System Image Clusters for Linux
http://ssic­linux.sourceforge.net/
• Scyld
http://www.scyld.com/
Leone B. Bosi, VIRGO Perugia Group
22
FastEthernet – MPI:
Test di comunicazione
Overhead di comunicazione MPI
Leone B. Bosi, VIRGO Perugia Group
23
Gigabit – MPI:
throughput in RETE

Throughput:



Aggiornamento driver Intel da ver 3.x a 4.x:



+5% throughput
Buffering ridotto
Collo di bottiglia


Massimo: 400Mbps
A regime: 370Mbps
Switch­ MTU
Soluzione

Jumbo Frame
Leone B. Bosi, VIRGO Perugia Group
24
MPI in shared memory:
throughput in RAM

Throughput:

Cache



Massimo: 3Gbps
Regime: 2Gbps
Out­cache

300­400 Mbps
Limitati in banda passante RAM
Leone B. Bosi, VIRGO Perugia Group
25
FFTw:
Operare in cache / ram
Operazioni in Cache
Operazioni in RAM
Leone B. Bosi, VIRGO Perugia Group
26
..sistemi dual...
Perdita di prestazioni

Calcoli con elevato IO­Ram:
Perdita del
30%
nei Sistemi Dual
PIII
Leone B. Bosi, VIRGO Perugia Group
27
..prima soluzione..
CPU dedicata: FFTW-GEL
Librerie dedicate al tipo di CPU utilizzata:

AMD: Athlon

Intel: PIII, PIV
Prestazioni:
+10­40%
Ref: http://www.fftw.org
Leone B. Bosi, VIRGO Perugia Group
28
...soluzione AMD...
DUAL Athlon
Sistemi DUAL testati
MB/s
PIII 1GHz
(lowcost MotherBoard)
331
PIII 1GHz
(no-so-lowcost MB - ECC Ram )
401
PIII 866MHz
(no-lowcost MB - ECC Ram)
Athlon 1.2MP
(..ma è un forno..)
Test eseguito con stream:
http://www.cs.virginia.edu/stream/
419
815.1
Leone B. Bosi, VIRGO Perugia Group
29
Ringraziamenti
VIRGO group
 Leone Bosi ([email protected])
 Ciro Cattuto ([email protected])

Leone B. Bosi, VIRGO Perugia Group
30