10.07.2015 Views

Scarica il pdf con la mia tesi - Parallel Programming Laboratory

Scarica il pdf con la mia tesi - Parallel Programming Laboratory

Scarica il pdf con la mia tesi - Parallel Programming Laboratory

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

34 Modifiche al codice Cap. 4P 0HeaderDati P0P 1Dati P1P 2Dati P2P 3Dati P3Figura 4.5: Procedura di salvataggio di un f<strong>il</strong>e di restart2. i dati re<strong>la</strong>tivi ad un processore sono scritti in posizioni <strong>con</strong>tigue del f<strong>il</strong>e dato cheè stato possib<strong>il</strong>e modificarne <strong>la</strong> struttura come già detto nel<strong>la</strong> Sez. 3.2.2 a pag.18.Tale metodo di procedere ha <strong>il</strong> vantaggio che non si ha <strong>il</strong> problema di dover far transitarei dati da un processore ad un altro come nel caso in cui uno solo scriva tutto.Inoltre nel passaggio dei dati si dovrebbe affrontare <strong>il</strong> problema di dati diversi tra d<strong>il</strong>oro, infatti ci sono interi, reali e booleani a diverse precisioni.In Figura 4.5 si può vedere graficamente come avviene <strong>la</strong> scrittura.Un in<strong>con</strong>veniente che è stato in<strong>con</strong>trato è che nel<strong>la</strong> versione 1.2 di MPI presentenel sistema non sono implementate le routine di gestione paralle<strong>la</strong> dei f<strong>il</strong>e per cui èstato necessario effettuar<strong>la</strong> manualmente serializzando le scritture effettuate dai diversiprocessori. In tale compito è stato ut<strong>il</strong>e poter ut<strong>il</strong>izzare una struttura già esistente nelcodice sequenziale per gestire i f<strong>il</strong>e in formato binario al<strong>la</strong> quale sono state apportatealcune modifiche per permettere l’interazione su uno stesso f<strong>il</strong>e di più processi diversi.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!