Progettazione ed implementazione di un sistema di calcolo distribuito ibrido...

17
gettazione ed implementazione di un sistema olo distribuito ibrido multithread/multiproc per HPC: applicazione all’imaging medico Presentata da: Omar Schiaratura [email protected] http://wwwfn.csr.unibo.it/ Relatore: Chiar.mo Prof. Renato Campanini Correlatore: Dott. Matteo Roffilli Omar Schiaratura [email protected] 19/06/2003 1

Transcript of Progettazione ed implementazione di un sistema di calcolo distribuito ibrido...

Page 1: Progettazione ed implementazione di un sistema di calcolo distribuito ibrido multithread/multiprocesso per HPC: applicazione allimaging medico Presentata.

Progettazione ed implementazione di un sistema di calcolo distribuito ibrido multithread/multiprocesso

per HPC:applicazione all’imaging medico

Presentata da:Omar [email protected]://wwwfn.csr.unibo.it/

Relatore:Chiar.mo Prof. Renato Campanini

Correlatore:Dott. Matteo Roffilli

Omar Schiaratura [email protected]/06/2003 1

Page 2: Progettazione ed implementazione di un sistema di calcolo distribuito ibrido multithread/multiprocesso per HPC: applicazione allimaging medico Presentata.

Omar Schiaratura [email protected]/06/2003 2

OBBIETTIVI

Gli obbiettivi del lavoro svolto sono stati:

Implementazione HW di un sistema per il calcolo ad alte prestazioni con componentistica comune

Implementazione e studio di metodologie per l’ottimizzazione di programmi

Applicazione delle metodologie studiate ad un sistema computerizzato di diagnosi del tumore al seno (CAD)

1-

2-

3-

Page 3: Progettazione ed implementazione di un sistema di calcolo distribuito ibrido multithread/multiprocesso per HPC: applicazione allimaging medico Presentata.

Omar Schiaratura [email protected]/06/2003 3

PROBLEMATICHE

Sistemi reali come il CAD a cui sono state applicate le metodologieStudiate presentano caratteristiche quali:

- Dimensioni delle immagini da elaborare elevate

- Preprocessing dell’immagine computazionalmente oneroso

Questo comporta:

-Tempo di elaborazione non idoneo all’utilizzo tipico dell’applicazione

Page 4: Progettazione ed implementazione di un sistema di calcolo distribuito ibrido multithread/multiprocesso per HPC: applicazione allimaging medico Presentata.

CLUSTER : Progettazione 1 - HW

Il cluster è stato implementato sul seguente HW:

- Nodi slave biprocessore

- Doppia rete 100 baseTX

- Nodo master biprocessore

- Nodi slave diskless

Fault-tolerance, responsività elevata

Comunicazioni veloci tra processori affiniOttimizzazioni SMP del codiceLibrerie di MP ottimizzate per SMP

Diminuzione dei guastiAmministrazione semplificata

Minor conflitto di pacchettiAmministrazione separata dai dati in transito

Omar Schiaratura [email protected]/06/2003 4

Page 5: Progettazione ed implementazione di un sistema di calcolo distribuito ibrido multithread/multiprocesso per HPC: applicazione allimaging medico Presentata.

CLUSTER : Progettazione 2 - SW

I servizi di rete, tutti configurati sul nodo master comprendono:

- TFTP

- DHCP

- ClusterNFS server

Fornisce gli indirizzi IP delle 2 reti E servizio di risoluzione dei nomi

Fornisce il kernel per il sistema operativo degli slave

Fornisce il FS dei client

Il software di sviluppo e per il clustering comprende:

- Suite GCC

- MPICH

- openMosix

- Mosixtools

Tool di sviluppo e di debugging

Schedulazione statica e MP

SSI, migrazione dei processi e fault-tolerance

Gestione centralizzata e monitoring del cluster

Omar Schiaratura [email protected]/06/2003 5

Page 6: Progettazione ed implementazione di un sistema di calcolo distribuito ibrido multithread/multiprocesso per HPC: applicazione allimaging medico Presentata.

CLUSTER : Progettazione 3 - schema

Page 7: Progettazione ed implementazione di un sistema di calcolo distribuito ibrido multithread/multiprocesso per HPC: applicazione allimaging medico Presentata.

Caratteristica BEOWULF OpenMOSIX

FS distribuito NO SI

Migrazione processi in esecuzione

Solo con software aggiuntivo

SI

Esecuzione BATCH su più nodi

Solo con software aggiuntivo

Limitatamente alle risorse di rete

Fault tollerance Solo con software aggiuntivo

SI

Assegnazione statica delle risorse

SI, ogni porzione di programma viene eseguita su un processore diverso

NO

Overhead Nelle trasmissioni Trasmissioni, system-call e migrazione

Controllo selettivo dei nodi SI In parte

Beowulf Vs openMosix

Omar Schiaratura [email protected]/06/2003 7

ClusterMPI

MPI(8 CPU)

43 4.94

Cluster + openMosix

IPC(8 CPU)

49 3.33

Speed-upTempo(sec.)OttimizzazioneArchitettura

Page 8: Progettazione ed implementazione di un sistema di calcolo distribuito ibrido multithread/multiprocesso per HPC: applicazione allimaging medico Presentata.

Valutazioni latenza trasmissioni all’aumentare dei dati

Omar Schiaratura [email protected]/06/2003 8

0

2

4

6

8

10

12

14

0 200 400 600 800 1.000 1.200

MB trasmessi

MB

/sec

.

2

6.10

9.812

Page 9: Progettazione ed implementazione di un sistema di calcolo distribuito ibrido multithread/multiprocesso per HPC: applicazione allimaging medico Presentata.

OTTIMIZZAZIONI

Disponendo di un cluster di nodi SMP con processori a tecnologia SSEsi hanno a disposizione le seguenti ottimizzazioni:

- SWAR

- SMP

- MP

Tipiche dei DSPUtilizzo di istruzioni SSE su processori x86

Processori con memoria condivisaUtilizzo di thread

Supportata da tutte le architetture HPCUtilizzo di librerie MPI

Omar Schiaratura [email protected]/06/2003 9

Page 10: Progettazione ed implementazione di un sistema di calcolo distribuito ibrido multithread/multiprocesso per HPC: applicazione allimaging medico Presentata.

OTTIMIZZAZIONI : SSE 1

SRC

DST

DST

OPCODE DST,SRC

Omar Schiaratura [email protected]/06/2003 10

Page 11: Progettazione ed implementazione di un sistema di calcolo distribuito ibrido multithread/multiprocesso per HPC: applicazione allimaging medico Presentata.

OTTIMIZZAZIONI : Processi Vs Thread

clone() clone()

THREAD

Omar Schiaratura [email protected]/06/2003 11

PROCESSI THREAD

Page 12: Progettazione ed implementazione di un sistema di calcolo distribuito ibrido multithread/multiprocesso per HPC: applicazione allimaging medico Presentata.

Ottimizzazioni : Schema algoritmo

Omar Schiaratura [email protected]/06/2003 12

THREAD

SSE

MPI

Page 13: Progettazione ed implementazione di un sistema di calcolo distribuito ibrido multithread/multiprocesso per HPC: applicazione allimaging medico Presentata.

INPUT

OUTPUT

CPU2CPU1

Ottimizzazioni – schema flusso dati

Omar Schiaratura [email protected]/06/2003 13

nodo3

NODO3

Page 14: Progettazione ed implementazione di un sistema di calcolo distribuito ibrido multithread/multiprocesso per HPC: applicazione allimaging medico Presentata.

Test e valutazioni finali – applicazione CAD

Omar Schiaratura [email protected]/06/2003 14

Architettura SSE SMP (Thread)

MPI (4+1 nodi)

#CPU Tempo (sec.)

Speed-up

Speed-up SSE

AMD Athlon       1 6509 1  

AMD Athlon X     1 4905 1.33 1

AMD Athlon   X   2 3540 1.84  

AMD Athlon X X   2 2740 2.37 1.79

Cluster A     X 4+1 2256 2.88  

Cluster A X   X 4+1 1850 3.52 2.65

Cluster B   X X 8+1 1582 4.11  

Cluster B X X X 8+1 1379 4.72 3.564.72

Page 15: Progettazione ed implementazione di un sistema di calcolo distribuito ibrido multithread/multiprocesso per HPC: applicazione allimaging medico Presentata.

CONCLUSIONI E SVILUPPI FUTURI

In definitiva è stato realizzato:

- Un sistema HW a basso costo (€5000,00)

- Uno studio sull’ottimizzazione a più livelli dell’architettura implementata

Omar Schiaratura [email protected]/06/2003 15

Le tecnologie studiate durante il lavoro di tesi trovano la loro naturale evoluzione sia HW che SW:

- Embedded - DSP

- Porting su SSE di tutti i calcoli FP

- altre tecnologie SWAR

- Porting su SSE2

- Kernel

Page 16: Progettazione ed implementazione di un sistema di calcolo distribuito ibrido multithread/multiprocesso per HPC: applicazione allimaging medico Presentata.

“A multi-level optimization architecture for a fast SVM classifier”

Omar Schiaratura [email protected]/06/2003 16

12-th Euromicro Conference on Parallel, Distributed and Network based Processing

sottomesso a:

A Coruña - Spain   PDP2004   February, 11-13, 2004

Da questo lavoro di tesi ne è stato tratto il seguente articolo:

Page 17: Progettazione ed implementazione di un sistema di calcolo distribuito ibrido multithread/multiprocesso per HPC: applicazione allimaging medico Presentata.

Progettazione ed implementazione di un sistema di calcolo distribuito ibrido multithread/multiprocesso

per HPC:applicazione all’imaging medico

Presentata da:Omar [email protected]://wwwfn.csr.unibo.it/

Relatore:Chiar.mo Prof. Renato Campanini

Correlatore:Dott. Matteo Roffilli

Omar Schiaratura [email protected]/06/2003 17