Sei sulla pagina 1di 5

10/1/2017 [Traccia inventata 09/01/2017] Esercizio 1 (somma) ­ .:: Corso di Laurea in Informatica ­ UniNa ::.

.:: Corso di Laurea in Informatica ‐ UniNa ::.


Collegamenti Rapidi FAQ Notifiche [0] Messaggi privati [0] •  sorrentix ▼

Indice ‹ Corso di Laurea Magistrale in Informatica ‹ Primo Anno ‹ Calcolo Parallelo e Distribuito (Mod. A)

[Traccia inventata 09/01/2017] Esercizio 1 (somma)


Rispondi Cerca qui... Primo messaggio non letto • 4 messaggi • Pagina 1 di 1

luigi_starace
Admin

[Traccia inventata 09/01/2017] Esercizio 1 (somma)


ieri, 8:57
M
LINK ALL'INDICE DELLE TRACCE
LINK ALLA TRACCIA (INVENTATA )
Questo esercizio è stato inventato per esercitarmi con alcuni colleghi e non è tratto da nessuna traccia in
particolare.

Si consideri il problema della somma di 450 numeri su architettura MIMD‐DM con 8 processi. Si calcoli, per
ciascuna strategia, speed‐up ed efficienza secondo la definizione classica (con anche tcomm ), la legge di Ware e la
legge di Ware generalizzata. Nello svolgimento secondo la definizione classica, si calcoli anche overhead totale e
overhead di comunicazione.

450
Distribuzione dei dati: dal momento che 8
= 56 con resto di 2 , i dati saranno distribuiti in modo che ogni
processo abbia 56 numeri tranne P0 , P1 che ne avranno 57 .

PRIMA STRATEGIA
DEFINIZIONE CLASSICA
Innanzitutto si avrà che la somma di 450 numeri in sequenziale richiederà 449 operazioni e quindi che
T (1) = 449t calc .

Calcoliamo T (8). Il primo passo, in cui vengono svolte le somme in parallelo, impiegherà 56tcalc . A questo
seguiranno 7 passi di comunicazione, ciascuno dei quali impiegherà tcomm + tcalc (tempo per inviare una
somma parziale a P0 + tempo necessario ad aggiornare la somma parziale di P0 ), per un totale di
7t comm + 7t calc . Allora T (8) = 56t calc + 7t calc + 7t comm = 63t calc + 7t comm . Assumendo t comm = 2t calc

si ha T (8) = 63tcalc + 14tcalc = 77tcalc . Possiamo allora calcolare

T (1) 449t calc S (8) 5.831


S (8) = = = 5.831 E(8) = = = 0.729
T (8) 77t calc 8 8

Possiamo inoltre calcolare l'overhead totale e l'overhead di comunicazione:

t comm (8) 7t comm 14t calc


Oh = 8T (8) − T (1) = 8 × 77t calc − 449t calc = 167t calc OC (8) = = = =
t calc (8) 63t calc 63t calc

LEGGE DI WARE GENERALIZZATA


Al passo 0 dell'algoritmo parallelo sono attivi tutti i processi e ciascuno calcola il proprio risultato parziale dagli
addendi ricevuti. In totale quindi vengono effettuate 56 × 2 + 55 × 6 operazioni da 8 processi. Nei 7 passi
http://informatica­unina.com/forum/viewtopic.php?f=145&t=1436 7 1/5
10/1/2017 [Traccia inventata 09/01/2017] Esercizio 1 (somma) ­ .:: Corso di Laurea in Informatica ­ UniNa ::.

successivi è attivo soltanto il processo P0 che effettuerà in totale 7 operazioni. Si avrà quindi
56×2+55×6
e . Dunque possiamo applicare la legge di Ware
442 7
alpha8 = = = 0.984 α1 = = 0.016
449 449 449

generalizzata:

1 1 S (8) 7.194
S (8) = = = 7.194 E(8) = = = 0.899
p αi
0.984
∑ 8 8
i=1
0.016 +
i 8

LEGGE DI WARE SEMPLICE


Svolgendo l'esercizio con la legge di Ware semplice il risultato è analogo al caso generalizzato, con α = α1 e
1 − α = α8 .

SECONDA STRATEGIA
DEFINIZIONE CLASSICA
Innanzitutto si avrà che la somma di 450 numeri in sequenziale richiederà 449 operazioni e quindi che
T (1) = 449t calc .

Calcoliamo T (8). Il primo passo, in cui vengono svolte le somme in parallelo, impiegherà 56tcalc . A questo
seguiranno 3 passi di comunicazione, ciascuno dei quali impiegherà tcomm + tcalc (tempo per inviare una
somma parziale + tempo necessario ad aggiornare la somma parziale), per un totale di 3tcomm + 3tcalc . Allora
T (8) = 56t calc + 3t calc + 3t comm = 59t calc + 3t comm . Assumendo t comm = 2t calc si ha

T (8) = 59t calc + 6t calc = 65t calc . Possiamo allora calcolare

T (1) 449t calc S (8) 6.908


S (8) = = = 6.908 E(8) = = = 0.863
T (8) 65t calc 8 8

Possiamo inoltre calcolare l'overhead totale e l'overhead di comunicazione:

t comm (8) 3t comm 6t calc


Oh = 8T (8) − T (1) = 8 × 65t calc − 449t calc = 71t calc OC (8) = = = =
t calc (8) 59t calc 59t calc

LEGGE DI WARE GENERALIZZATA


Al passo 0 dell'algoritmo parallelo sono attivi tutti i processi e ciascuno calcola il proprio risultato parziale dagli
addendi ricevuti. In totale quindi vengono effettuate 56 × 2 + 55 × 6 operazioni da 8 processi. Nel primo
passo di comunicazione saranno attivi 4 processi, ciascuno dei quali effettuerà una somma. Nel secondo passo di
comunicazione saranno attivi 2 processi, ciascuno dei quali effettuerà una somma. Nel terzo e ultimo passo,
56×2+55×6 442
soltanto P0 sarà attivo ed effettuerà una somma. Si avrà quindi alpha8 =
449
=
449
= 0.984 ,
4 2 1
α4 =
449
= 0.009 , α2 =
449
= 0.004 eα1 =
449
= 0.002 , con tutti gli altri αi = 0 . Dunque possiamo
applicare la legge di Ware generalizzata:

1 1 S (8) 7.737
S (8) = = = 7.737 E(8) = = = 0.967
p αi
0.004 0.009 0.984
∑ 8 8
i=1
0.002 + + +
i 2 4 8

LEGGE DI WARE SEMPLICE


1
Svolgendo l'esercizio con la legge di Ware semplice si ha α =
449
= 0.002 e 1 − α = 0.998 . Applicando la
legge di Ware:

1 1 S (8) 7.889
S (8) = = = 7.889 E(8) = = = 0.986
1−α 0.998
0.002 + 8 8
α+
8 4

TERZA STRATEGIA
http://informatica­unina.com/forum/viewtopic.php?f=145&t=1436 2/5
10/1/2017 [Traccia inventata 09/01/2017] Esercizio 1 (somma) ­ .:: Corso di Laurea in Informatica ­ UniNa ::.

DEFINIZIONE CLASSICA
Lo svolgimento è analogo a quello già mostrato per la seconda strategia.
LEGGE DI WARE GENERALIZZATA
Dal momento che tutte le operazioni sono svolte da tutti i processi, si avrà che α8 = 1 e di conseguenza che
S (8) = 8 e E(8) = 1 .

LEGGE DI WARE
Per le considerazioni al punto precedente, si avrà α = 0 e 1 − α = 1. Di conseguenza S (8) = 8 e E(8) = 1 .

~ Luigi Starace

He's making a database ~ 
and sortin' it twice ~ 
SELECT * FROM Contacts WHERE behaviour = 'nice'; ~ 
SQL Clause is coming to town!
T
o
raffo000
Livello 1

Re: [Traccia inventata 09/01/2017] Esercizio 1 (somma)


ieri, 17:27
M
Stesso problema qui, prendiamo ad esempio la strategia 1 con ware generalizzata. Io dire che:
a8=55*8/449 (prime 55 somme in cui sono attivi tutti i processori)
a2=1*2/449 (restanti somme relative ai valori in più posseduti dal processore 0 e 1, penso che i restanti
processori siano inattivi)
a1=7/449

Per come lo intendo io dopo la sezione parallela che comprende tutti i processori ed effettua le prime somme deve
esserci un altra sezione parallela che compre solo i processori con id minore di n mod ncpu in modo da poter
effettuare le somme dei numeri che questi processori hanno in più rispetto agli altri.
T
o
luigi_starace
Admin

Re: [Traccia inventata 09/01/2017] Esercizio 1 (somma)


ieri, 18:25
M
Ho provato a rispondere qui: viewtopic.php?f=145&t=1419&p=6033#p6033 !

~ Luigi Starace

He's making a database ~ 
and sortin' it twice ~ 
SELECT * FROM Contacts WHERE behaviour = 'nice'; ~ 
SQL Clause is coming to town!
T
o
youcantseeme
Livello 1

Re: [Traccia inventata 09/01/2017] Esercizio 1 (somma)


15 minuti fa
M

raffo000 ha scritto:
Stesso problema qui, prendiamo ad esempio la strategia 1 con ware generalizzata. Io dire che:

http://informatica­unina.com/forum/viewtopic.php?f=145&t=1436 3/5
10/1/2017 [Traccia inventata 09/01/2017] Esercizio 1 (somma) ­ .:: Corso di Laurea in Informatica ­ UniNa ::.

a8=55*8/449 (prime 55 somme in cui sono attivi tutti i processori)


a2=1*2/449 (restanti somme relative ai valori in più posseduti dal processore 0 e 1, penso che i restanti
processori siano inattivi)
a1=7/449

Per come lo intendo io dopo la sezione parallela che comprende tutti i processori ed effettua le prime somme
deve esserci un altra sezione parallela che compre solo i processori con id minore di n mod ncpu in modo da poter
effettuare le somme dei numeri che questi processori hanno in più rispetto agli altri.

Anche io quando ho iniziato ad avere a che fare con la legge di Ware ho pensato le stesse cose, salvo poi giungere
all'idea che quella somma in più che avanza, in questo caso a P0 e P1, possa essere temporalmente trascurabile, ed
essere inclusa nelle operazioni effettuate dallo stesso numero di processori.

In ogni caso, non credo sia sbagliato procedere come dici ed inserire le due somme in α2, anche perchè il risultato è
chiaramente simile, non credo si possa discostare di molto in ogni caso.
T
o
Visualizza ultimi messaggi:  Tutti i messaggi

Ordina per  Ora di invio

Crescente

Vai

Rispondi 4 messaggi • Pagina 1 di 1

Torna a “Calcolo Parallelo e Distribuito (Mod. A)”

Vai a

CHI C’È IN LINEA
Visitano il forum: sorrentix e 0 ospiti

Indice Staff Iscritti Cancella cookie • Tutti gli orari sono UTC+01:00

Powered by phpBB® Forum Software © phpBB Limited 
Traduzione Italiana phpBBItalia.net

http://informatica­unina.com/forum/viewtopic.php?f=145&t=1436 4/5
10/1/2017 [Traccia inventata 09/01/2017] Esercizio 1 (somma) ­ .:: Corso di Laurea in Informatica ­ UniNa ::.

http://informatica­unina.com/forum/viewtopic.php?f=145&t=1436 5/5