Homepage  Il progetto dsy.it è l'unofficial support site dei corsi di laurea del Dipartimento di Scienze dell'Informazione e del Dipartimento di Informatica e Comunicazione della Statale di Milano. E' un servizio degli studenti per gli studenti, curato in modo no-profit da un gruppo di essi. I nostri servizi comprendono aree di discussione per ogni Corso di Laurea, un'area download per lo scambio file, una raccolta di link e un motore di ricerca, il supporto agli studenti lavoratori, il forum hosting per Professori e studenti, i blog, e molto altro...
In questa sezione è indicizzato in textonly il contenuto del nostro forum


.dsy:it. .dsy:it. Archive > Didattica > Corsi A - F > Architettura degli elaboratori e delle reti
 
Roof model e intensità aritmetica
Clicca QUI per vedere il messaggio nel forum
Vagabond
Come si fanno gli esercizi sull'intensità aritmetica che Borghese mette nei temi d'esame? Questo ad'esempio:
Data una CPU quad-core, a 64 bit (dati float su 64 bit) con 8 cammini di calcolo per ciascun core, in ciascuno dei quali vengono elaborati dati a 256 bit. Detta CPU ha un clock di 4GHz. A questa CPU è associato un sistema di memoria che è in grado di sostenere l’elaborazione con un flusso dati dalla memoria alla CPU pari a 2Gbyte /s. Determinare la massima velocità di elaborazione della CPU per 6 diversi programmi benchmark che hanno intensità aritmetica rispettivamente di: ¼, ½, 1, 4, 8, 32 e determinare se le prestazioni sono limitate dalla memoria o dal calcolo.
Vorrei capire quali sono i passaggi da fare per risolverlo.

Seoman
Quoto Vagabond. Ho l'esame giovedì, ho preparato tutti gli argomenti molto bene, compreso l'esercizio sulla pipe line, ma non trovo da nessuna parte una corretta spiegazione di questo esercizio, nemmeno sul libro ...

panzone
Non è particolarmente complicata. La prima cosa è ricavare la ( teorica ) potenza di calcolo. Questo è facile poichè:

4 ( numero core ) * 8 ( numero unità di calcolo per core ) * 4 ( numero di float nel bus ) * 4 ( frequenza CPU ) = 128 GFLOPS.

Ora, sapendo che il bus dati fornisce 2 Gb al secondo, si determina che il punto di "rottura" delle prestazioni si ha a 128 / 2 = 64.

Questo significa che tutti e 6 i programmi di benchmark son limitati dalla memoria.

Ora, l' intensità aritmetica è un indice della quantità di "richieste" che una CPU necessita di fare alla memoria durante l' esecuzione di quel programma. Questo significa che, essendo limitati dalla memoria:

Tempo di calcolo = Flops / Banda * Intensità

( N.B. Io posso permettermi di ignorare le varie potenze di 10 perchè sia banda che Flops son 10^9, ma solo nel mio caso )

(N.B.2 Teoricamente il Flops nella formula non è quello della CPU ma quello del programma ( ovvero una stima del numero di operazioni che il programma eseguirà ). Visto che però son benchmark, possiamo assumere che cerchino di spremere il massimo della CPU ).

Ergo, il primo programma ha una velocità di esecuzione teorica di:

128 / (1/4) * 2 = 256 ( P.S. Sembra un numero immenso, ed effettivamente lo è, tuttavia 1/4 signfica che il programma esegue 4 accessi alla memoria per ogni operazione aritmetica in media. E abbiamo visto prima che il problema della nostra CPU è la banda molto limitante ).

Notiamo che più saliamo, più il valore di tempo si riduce perchè si riduce il bottleneck dato dalla memoria lenta. Difatti, ad esempio

128 / 32 * 2 = 2 secondi. Questo perchè il programma esegue una media di 32 operazioni per ogni accesso alla memoria, e nel nostro caso è una manna che ci avvicina al caso "ideale".

Il consiglio maggiore che posso darvi è semplicemente ricordarvi com' è strutturato il grafico del rooftline. Una volta che si ha in testa quello è facile far tornare tutto.

Seoman
GRazie Mille ! Ora che l'hai spiegato capisco anche meglio il senso della teoria ...

Seoman
4*4*4*8*10^9=128 GFlops ?????
Non dovrebbero essere 512 GFlops ?

Powered by: vbHome (lite) v4.1 and vBulletin v2.3.1 - Copyright ©2000 - 2002, Jelsoft Enterprises Limited
Mantained by dsy crew (email) | Collabora con noi | Segnalaci un bug | Archive | Regolamento |Licenze | Thanks | Syndacate