UNIVERSITA DEGLI STUDI DI ROMA La Sapienza F ACOLTÀ DI S CIENZE M ATEMATICHE, F ISICHE E N ATURALI...

27
UNIVERSITA’ DEGLI STUDI DI ROMA “La Sapienza” FACOLTÀ DI SCIENZE MATEMATICHE, FISICHE E NATURALI CORSO DI LAUREA SPECIALISTICA IN INFORMATICA FORMAL VERIFICATION OF PARALLEL COMPUTING: ISP – IN-SITU MODEL CHECKER Anno Accademico 2008/2009 RELATORE Prof. Enrico Tronci Prof. Ganesh Gopalakrishnan CANDIDATO Simone Atzeni

Transcript of UNIVERSITA DEGLI STUDI DI ROMA La Sapienza F ACOLTÀ DI S CIENZE M ATEMATICHE, F ISICHE E N ATURALI...

Page 1: UNIVERSITA DEGLI STUDI DI ROMA La Sapienza F ACOLTÀ DI S CIENZE M ATEMATICHE, F ISICHE E N ATURALI C ORSO DI L AUREA S PECIALISTICA IN I NFORMATICA F ORMAL.

UNIVERSITA’ DEGLI STUDI DI ROMA “La Sapienza”FACOLTÀ DI SCIENZE MATEMATICHE, FISICHE E NATURALI

CORSO DI LAUREA SPECIALISTICA IN INFORMATICA

FORMAL VERIFICATION OF PARALLEL COMPUTING:

ISP – IN-SITU MODEL CHECKER

Anno Accademico 2008/2009

RELATOREProf. Enrico TronciProf. Ganesh Gopalakrishnan

CANDIDATOSimone Atzeni

Page 2: UNIVERSITA DEGLI STUDI DI ROMA La Sapienza F ACOLTÀ DI S CIENZE M ATEMATICHE, F ISICHE E N ATURALI C ORSO DI L AUREA S PECIALISTICA IN I NFORMATICA F ORMAL.

Introduzione

ISP – In-Situ Model Checker

Gestione delle MPI Collective Routine

Conclusioni

Page 3: UNIVERSITA DEGLI STUDI DI ROMA La Sapienza F ACOLTÀ DI S CIENZE M ATEMATICHE, F ISICHE E N ATURALI C ORSO DI L AUREA S PECIALISTICA IN I NFORMATICA F ORMAL.

I n t r o d u z i o n e

Introduzione

ISP – In-Situ Model Checker

Gestione delle MPI Collective Routine

Conclusioni

Page 4: UNIVERSITA DEGLI STUDI DI ROMA La Sapienza F ACOLTÀ DI S CIENZE M ATEMATICHE, F ISICHE E N ATURALI C ORSO DI L AUREA S PECIALISTICA IN I NFORMATICA F ORMAL.

I n t r o d u z i o n e

I n t r o d u z i o n e

MPI – Message Passing Interface• standard de-facto per programmi paralleli• impiego su cluster, supercomputer, etc.• API per C/C++/Fortran• semantica complessa delle funzioni

Model Checking• verifica di sistemi concorrenti a stati finiti• riduzione dello spazio degli stati• deadlock• assertion violation• resource leak

1/18

Page 5: UNIVERSITA DEGLI STUDI DI ROMA La Sapienza F ACOLTÀ DI S CIENZE M ATEMATICHE, F ISICHE E N ATURALI C ORSO DI L AUREA S PECIALISTICA IN I NFORMATICA F ORMAL.

[ I S P – I n - S i t u M o d e l C h e c k e r ]

Introduzione

ISP – In-Situ Model Checker

Gestione delle MPI Collective Routine

Conclusioni

Page 6: UNIVERSITA DEGLI STUDI DI ROMA La Sapienza F ACOLTÀ DI S CIENZE M ATEMATICHE, F ISICHE E N ATURALI C ORSO DI L AUREA S PECIALISTICA IN I NFORMATICA F ORMAL.

[ I S P – I n - S i t u M o d e l C h e c k e r ]

I S P- I n - S i t u M o d e l C h e c k e r -

Verifica di programmi MPI

Two-Sided Communication

Cattura 45 chiamate MPI

differenti

Individua deadlock,

resource leak, assertion violation

Esplora tutti e solo gli

interleavings rilevanti

2/18

Page 7: UNIVERSITA DEGLI STUDI DI ROMA La Sapienza F ACOLTÀ DI S CIENZE M ATEMATICHE, F ISICHE E N ATURALI C ORSO DI L AUREA S PECIALISTICA IN I NFORMATICA F ORMAL.

[ I S P – I n - S i t u M o d e l C h e c k e r ]

I S P- I n - S i t u M o d e l C h e c k e r -

Verifica di programmi MPI

Two-Sided Communication

Cattura 45 chiamate MPI

differenti

Individua deadlock,

resource leak, assertion violation

Esplora tutti e solo gli

interleavings rilevanti

2/18

Page 8: UNIVERSITA DEGLI STUDI DI ROMA La Sapienza F ACOLTÀ DI S CIENZE M ATEMATICHE, F ISICHE E N ATURALI C ORSO DI L AUREA S PECIALISTICA IN I NFORMATICA F ORMAL.

[ I S P – I n - S i t u M o d e l C h e c k e r ]

I S P- I n - S i t u M o d e l C h e c k e r -

Verifica di programmi MPI

Two-Sided Communication

Cattura 45 chiamate MPI

differenti

Individua deadlock,

resource leak, assertion violation

Esplora tutti e solo gli

interleavings rilevanti

2/18

Page 9: UNIVERSITA DEGLI STUDI DI ROMA La Sapienza F ACOLTÀ DI S CIENZE M ATEMATICHE, F ISICHE E N ATURALI C ORSO DI L AUREA S PECIALISTICA IN I NFORMATICA F ORMAL.

[ I S P – I n - S i t u M o d e l C h e c k e r ]

Una fence è una funzione MPI bloccante, deve essere quindi completata prima che lo stesso processo effettui una qualsiasi altra chiamata MPI.Esempi di fence sono MPI_Barrier, MPI_Wait, MPI_Recv, ecc..

Fence

3/18

1° Passo - Profiler• intercetta le MPI_f fino al raggiungimento di una FENCE per ogni processo

2° Passo - Scheduler• esegue l’algoritmo POE

- se trova un match-set per ogni MPI_f intercettata riprende dal passo 1

P O E- Partial Order reduction avoiding Elusive interleavings -

- altrimenti termina l’esecuzione e segnala il DEADLOCK

Due passi di verifica

Page 10: UNIVERSITA DEGLI STUDI DI ROMA La Sapienza F ACOLTÀ DI S CIENZE M ATEMATICHE, F ISICHE E N ATURALI C ORSO DI L AUREA S PECIALISTICA IN I NFORMATICA F ORMAL.

[ I S P – I n - S i t u M o d e l C h e c k e r ]

P O E a t w o r k

Process 0 Scheduler

Isend(1,req)

Process 1 Process 2

Barrier

Wait(req)

Irecv(*,req)

Barrier

Recv(2)

Wait(req)

Barrier

Isend(1,req)

Wait(req)

MPI Runtime

Isend(1,req)

sendNext

Barrier

NOFENCEFENCE

4/18

Page 11: UNIVERSITA DEGLI STUDI DI ROMA La Sapienza F ACOLTÀ DI S CIENZE M ATEMATICHE, F ISICHE E N ATURALI C ORSO DI L AUREA S PECIALISTICA IN I NFORMATICA F ORMAL.

[ I S P – I n - S i t u M o d e l C h e c k e r ]

P O E a t w o r k

Process 0 Scheduler

Isend(1,req)

Process 1 Process 2

Barrier

Wait(req)

Irecv(*,req)

Barrier

Recv(2)

Wait(req)

Barrier

Isend(1,req)

Wait(req)

MPI Runtime

Irecv(*,req)

sendNext

NOFENCEFENCEBarrier

Isend(1,req)Barrier

5/18

Page 12: UNIVERSITA DEGLI STUDI DI ROMA La Sapienza F ACOLTÀ DI S CIENZE M ATEMATICHE, F ISICHE E N ATURALI C ORSO DI L AUREA S PECIALISTICA IN I NFORMATICA F ORMAL.

[ I S P – I n - S i t u M o d e l C h e c k e r ]

P O E a t w o r k

Process 0 Scheduler

Isend(1,req)

Process 1 Process 2

Barrier

Wait(req)

Irecv(*,req)

Barrier

Recv(2)

Wait(req)

Barrier

Isend(1,req)

Wait(req)

MPI Runtime

Barrier FENCE

Irecv(*,req)Barrier

Isend(1,req)Barrier

6/18

Page 13: UNIVERSITA DEGLI STUDI DI ROMA La Sapienza F ACOLTÀ DI S CIENZE M ATEMATICHE, F ISICHE E N ATURALI C ORSO DI L AUREA S PECIALISTICA IN I NFORMATICA F ORMAL.

[ I S P – I n - S i t u M o d e l C h e c k e r ]

P O E a t w o r k

Process 0 Scheduler

Isend(1,req)

Process 1 Process 2

Barrier

Wait(req)

Irecv(*,req)

Barrier

Recv(2)

Wait(req)

Barrier

Isend(1,req)

Wait(req)

MPI Runtime

Barrier

Isend(1,req)Barrier

Irecv(*,req)Barrier

MATCH-SET

7/18

Page 14: UNIVERSITA DEGLI STUDI DI ROMA La Sapienza F ACOLTÀ DI S CIENZE M ATEMATICHE, F ISICHE E N ATURALI C ORSO DI L AUREA S PECIALISTICA IN I NFORMATICA F ORMAL.

[ I S P – I n - S i t u M o d e l C h e c k e r ]

P O E a t w o r k

Process 0 Scheduler

Isend(1,req)

Process 1 Process 2

Barrier

Wait(req)

Irecv(*,req)

Barrier

Recv(2)

Wait(req)

Barrier

Isend(1,req)

Wait(req)

MPI Runtime

sendNext

Barrier

Isend(1,req)Barrier

Irecv(*,req)Barrier

Wait(req)

Recv(2)

Isend(1,req)Wait(req)

FENCE

FENCE

NOFENCEFENCE

8/18

Page 15: UNIVERSITA DEGLI STUDI DI ROMA La Sapienza F ACOLTÀ DI S CIENZE M ATEMATICHE, F ISICHE E N ATURALI C ORSO DI L AUREA S PECIALISTICA IN I NFORMATICA F ORMAL.

[ I S P – I n - S i t u M o d e l C h e c k e r ]

P O E a t w o r k

Process 0 Scheduler

Isend(1,req)

Process 1 Process 2

Barrier

Wait(req)

Irecv(*,req)

Barrier

Recv(2)

Wait(req)

Barrier

Isend(1,req)

Wait(req)

MPI Runtime

Barrier

Isend(1,req)Barrier

Irecv(*,req)Barrier

Wait(req)

Recv(2)

MATCH-SET

NOMATCH-

SETDEADLOCK

Isend(1,req)Wait(req)

9/18

Page 16: UNIVERSITA DEGLI STUDI DI ROMA La Sapienza F ACOLTÀ DI S CIENZE M ATEMATICHE, F ISICHE E N ATURALI C ORSO DI L AUREA S PECIALISTICA IN I NFORMATICA F ORMAL.

G e s ti o n e d e l l e M P I C o l l e c ti v e R o u ti n e

Introduzione

ISP – In-Situ Model Checker

Gestione delle MPI Collective Routine

Conclusioni

Page 17: UNIVERSITA DEGLI STUDI DI ROMA La Sapienza F ACOLTÀ DI S CIENZE M ATEMATICHE, F ISICHE E N ATURALI C ORSO DI L AUREA S PECIALISTICA IN I NFORMATICA F ORMAL.

G e s ti o n e d e l l e M P I C o l l e c ti v e R o u ti n e

C o l l e c ti v e R o u ti n e s B e h a v i o rUna Collective Communication è una comunicazione

che coinvolge tutti i processi in un comunicatore.

MPI Bcast MPI Reduce

MPI Scatter MPI Gather

MPI Barrier

L’MPI Standard definisce le Collective Routine come funzioni bloccanti.

10/18

MPI Bcast e MPI Reduce, sono bloccanti solo per il processo root.

• Risultati sperimentali

• MPI Forum

Page 18: UNIVERSITA DEGLI STUDI DI ROMA La Sapienza F ACOLTÀ DI S CIENZE M ATEMATICHE, F ISICHE E N ATURALI C ORSO DI L AUREA S PECIALISTICA IN I NFORMATICA F ORMAL.

C o l l e c ti v e R o u ti n e s B e h a v i o r

ISP gestisce ogni Collective Routine come se fosse

bloccante per ogni processo

Modifica dell’algoritmo POE

• process ID == root

11/18

G e s ti o n e d e l l e M P I C o l l e c ti v e R o u ti n e

Problema

int MPI_Bcast(void* message, … , int root, …);

int MPI_Reduce(void* message, … , int root, …, MPI_Op operator, …);

MPI_f è bloccante

MPI_f è non-bloccante• process ID <> root

Non rileva alcuni DEADLOCK nei programmi che utilizzano

MPI Bcast e MPI Reduce

Page 19: UNIVERSITA DEGLI STUDI DI ROMA La Sapienza F ACOLTÀ DI S CIENZE M ATEMATICHE, F ISICHE E N ATURALI C ORSO DI L AUREA S PECIALISTICA IN I NFORMATICA F ORMAL.

E s e m p i oP0: MPI_Recv(DATA1, from *, ...);

MPI_Reduce(..., ROOT = 0, ...); MPI_Recv(DATA2, from *, ...);printf(..., DATA1, DATA2);

P1: MPI_Send(DATA1 = 10, ..., to P0, ...);MPI_Reduce(..., ROOT = 0, ...);

P2: MPI_Reduce(..., ROOT = 0, ...);MPI_Send(DATA2 = 20, ..., to

P0, ...);

Librerie MPI

• Il programma termina correttamente stampando10 – 20

• Il programma termina correttamente stampando20 - 10

• Il programma non termina a causa di unDEADLOCK

Tre possibili INTERLEAVING

12/18

G e s ti o n e d e l l e M P I C o l l e c ti v e R o u ti n e

Page 20: UNIVERSITA DEGLI STUDI DI ROMA La Sapienza F ACOLTÀ DI S CIENZE M ATEMATICHE, F ISICHE E N ATURALI C ORSO DI L AUREA S PECIALISTICA IN I NFORMATICA F ORMAL.

P r i m a d e l l a M o d i fi c a- ISP gestisce la Reduce come chiamata BLOCCANTE -

• Fence 1: match tra la prima Receive del Processo 0 e la Send del Processo 1.• Fence 2: match tra le Reduce dei tre processi.• Fence 3: match tra la seconda Receive del Processo 0 e la Send del Processo 2.

Il programma termina correttamente e stampa 10 - 20

13/18

G e s ti o n e d e l l e M P I C o l l e c ti v e R o u ti n e

ISP genera un solo INTERLEAVING

Page 21: UNIVERSITA DEGLI STUDI DI ROMA La Sapienza F ACOLTÀ DI S CIENZE M ATEMATICHE, F ISICHE E N ATURALI C ORSO DI L AUREA S PECIALISTICA IN I NFORMATICA F ORMAL.

• Fence 1: match tra la prima Receive del Processo 0 e la Send del Processo 1.• Fence 2: match tra le Reduce dei tre processi.• Fence 3: match tra la seconda Receive del Processo 0 e la Send del Processo 2.

ROOT

14/18

G e s ti o n e d e l l e M P I C o l l e c ti v e R o u ti n e

D o p o l a M o d i fi c a- ISP gestisce la Reduce come chiamata non BLOCCANTE -

1° INTERLEAVING

Il programma termina correttamente e stampa 10 - 20

Esplora i 3 possibili interleaving del programma

Page 22: UNIVERSITA DEGLI STUDI DI ROMA La Sapienza F ACOLTÀ DI S CIENZE M ATEMATICHE, F ISICHE E N ATURALI C ORSO DI L AUREA S PECIALISTICA IN I NFORMATICA F ORMAL.

• Fence 1: match tra la prima Receive del Processo 0 e la Send del Processo 2.• Fence 2: match tra le Reduce dei tre processi.• Fence 3: match tra la seconda Receive del Processo 0 e la Send del Processo 1.

15/18

G e s ti o n e d e l l e M P I C o l l e c ti v e R o u ti n e

Il programma termina correttamente e stampa 20 - 10

D o p o l a M o d i fi c a- ISP gestisce la Reduce come chiamata non BLOCCANTE -

ROOT

2° INTERLEAVING

Page 23: UNIVERSITA DEGLI STUDI DI ROMA La Sapienza F ACOLTÀ DI S CIENZE M ATEMATICHE, F ISICHE E N ATURALI C ORSO DI L AUREA S PECIALISTICA IN I NFORMATICA F ORMAL.

• Fence 1: match tra la prima Receive del Processo 0 e la Send del Processo 2.• Fence 2: il Processo 2 termina, il Processo 0 è bloccato in attesa di un match con gli altri processi per la Reduce, il Processo 1 è bloccato in attesa di un match per la sua Send.

16/18

G e s ti o n e d e l l e M P I C o l l e c ti v e R o u ti n e

D o p o l a M o d i fi c a- ISP gestisce la Reduce come chiamata non BLOCCANTE -

Il programma non termina e ISP segnala il DEADLOCK

ROOT

3° INTERLEAVING

Page 24: UNIVERSITA DEGLI STUDI DI ROMA La Sapienza F ACOLTÀ DI S CIENZE M ATEMATICHE, F ISICHE E N ATURALI C ORSO DI L AUREA S PECIALISTICA IN I NFORMATICA F ORMAL.

Introduzione

ISP – In-Situ Model Checker

Gestione delle MPI Collective Routine

Conclusioni

Page 25: UNIVERSITA DEGLI STUDI DI ROMA La Sapienza F ACOLTÀ DI S CIENZE M ATEMATICHE, F ISICHE E N ATURALI C ORSO DI L AUREA S PECIALISTICA IN I NFORMATICA F ORMAL.

S v i l u p p i F u t u r i

C o n c l u s i o n i

Estendere il numero di chiamate MPI gestite

Sviluppo di ISP Plug-in (Visual Studio e Eclipse)

17/18

Verifica di programmi caratterizzati da un paradigma di comunicazione One-Sided

Page 26: UNIVERSITA DEGLI STUDI DI ROMA La Sapienza F ACOLTÀ DI S CIENZE M ATEMATICHE, F ISICHE E N ATURALI C ORSO DI L AUREA S PECIALISTICA IN I NFORMATICA F ORMAL.

C o n c l u s i o n i

ISP rappresenta una realizzazione pratica dell’obiettivo dellaVerifica Formale nel contesto del calcolo parallelo

Garantisce Portabilità (Mac OS, Linux,

Windows)

Garantisce Correttezza (no falsi positivi)

Garantisce Completezza (non tralascia

interleaving rilevanti)

18/18

C o n c l u s i o n i

Page 27: UNIVERSITA DEGLI STUDI DI ROMA La Sapienza F ACOLTÀ DI S CIENZE M ATEMATICHE, F ISICHE E N ATURALI C ORSO DI L AUREA S PECIALISTICA IN I NFORMATICA F ORMAL.

UNIVERSITA’ DEGLI STUDI DI ROMA “La Sapienza”FACOLTÀ DI SCIENZE MATEMATICHE, FISICHE E NATURALI

CORSO DI LAUREA SPECIALISTICA IN INFORMATICA

FORMAL VERIFICATION OF PARALLEL COMPUTING:

ISP – IN-SITU MODEL CHECKER

Anno Accademico 2008/2009

GRAZIE