Passa ai contenuti principali

dicecca.net - Computer Science - Calcolo Parallelo e Distribuito - Matrice per vettore III Strategia

  <- Torna a Bibliografia Universitaria



 


Il software che si analizzerà di seguito ha lo scopo di effettuare il prodotto Matrice per Vettore usando un’architettura di tipo MIMD distribuendo il calcolo a p x q processi disposto secondo una griglia a topologia bidimensionale.

Una volta stabilito il numero di righe e di colonne che deve avere la nostra matrice, il programma genera dei numeri casuali che riempiono la matrice ed il vettore.

A seconda del numero di processori impiegato è possibile spezzare la matrice e redistribuire i blocchi di calcolo ai vari processori che effettuano i calcoli parziali ed infine totali.

Il programma contiene al suo interno le routines per calcolare lo speedup e l’efficienza dell’algoritmo

Per risolvere il problema, è stata usata l’infrastruttura del Message Passing Interface.

La strategia usata per risolvere il calcolo del prodotto Matrice Vettore è quella di distribuire una matrice A∈Rnxm scorporandola in p x q processi su di una topologia

di griglia bidimensionale.

Vediamo ora nel dettaglio le varie parti in gioco dell’algoritmo.

Per meglio gestire il problema il programma è stato scisso in due file: uno che contiene le routines del calcolo in senso stretto, ed un altro di funzioni ausiliarie

- decomposizione della matrice di input in blocchi di dimensione prefissata

- decomposizione del vettore di input

- assegnazione delle sottomatrici e dei sottovettori a ciascun processore situato lungo la griglia bidimensionale

- ciascun processore della griglia calcola parte del risultato

- scambio dei risultati parziali tra i processori che, dopo aver eseguito le opportune operazioni, ottengono il risultato finale


Descrizione dell’Algoritmo

L’algoritmo può essere suddiviso in cinque parti principali:

- Inizializzazione dell’ambiente di calcolo

- Inserimento dei dati

- Distribuzione dei dati

- Calcolo del prodotto mat vet parziale e totale

- Calcolo dei tempi


Post popolari in questo blog

Work in progress

Non è ancora completato il processo di migrazione da old.dicecca.net , ma potete trovare una migliore suddivisione della bibliografia . Mi scuso con il pubblico, ma le cose da fare sono molte e riprogettarsi la vetrina non è semplice

Nuovo E-Book pubblicato su Rakuten Kobo: dicecca.net - Blog - Commodore 64 - I suoi primi 40 anni

Dopo La Canefora di Via San Gregorio Armeno , è stato pubblicato un altro volume estratto da un articolo molto lungo: Commodore 64 - I suoi primi 40 anni. Questo volumetto racconta la genesi e la storia del Computer più venduto  della Storia ( circa 12,5 milioni di pezzi, dati Guinness dei Primati ), ma si sofferma soprattutto sulle periferiche e sui programmi più che sui giochi. Un racconto da leggere tutto d'un fiato Clicca qui per accedere alla pagina del volume dedicata

Il nuovo sito è pronto

Il nuovo sito personale è pronto ed è attivo. In questo lungo periodo tra pandemia e guerre, ci sono anche altri progetti a cui ho dovuto dedicare molta attenzione. Perché scegliere un prodotto come Blogger? I siti si dividono in due macro catergorie, quelli che sono vetrine e quelle che sono strumentali (una terza macro categoria comprende tutte e due). La progettazione di un sito è un'opera molto semplice oggi con alcuni strumenti, ma maledettamente complessa, quando poi si deve considerare l'opera sviluppata nel tempo. Tempo fatto di aggiornamenti, di modifiche strutturali, di passaggi di dati, insomma, di fare il System Admin. Nel corso ormai di 20 e passa anni, di "mestiere", guardando sia il lato contenutistico che infrastrutturale, mi sono reso conto che spesso diventa complesso rimanere aggiornati su tutti i fronti  e mantenere le infrastrutture in piedi in modo efficace senza che l'obsolescenza prenda piede. Me ne sono reso conto usand...