• Non ci sono risultati.

4.4 Risultati: consumo di energia

4.4.3 Analisi bipartita

Analizzare i risultati dierenziando i casi di eccesso e difetto di parallelismo è interessante anche nel caso del consumo di energia. Infatti, pur non essendoci nessun modello dei costi presente in letteratura con cui confrontarsi, la valuta- zione delle performance è utile per farsi un'idea di quanto l'eccesso di paralleli- smo inuenza l'energia consumata da un programma. Si pensi per esempio, al numero di cambi di contesto aggiuntivi (e potenzialmente inutili) che vengono eettuati in presenza di un numero di thread maggiore rispetto al numero di core.

In Tabella 4.23 vengono mostrati i risultati sul test set, dividendo le istanze

MAE MANE

Dataset - rappr. miste Difetto Eccesso Difetto Eccesso

Originale 243.08 210.84 0.059275 0.058665

Originale norm. 388.00 324.83 0.081876 0.078221

Replicato 222.17 149.80 0.064966 0.067381

Replicato norm. 292.38 277.20 0.058759 0.061104 Basato sui core 239.54 222.04 0.049571 0.054846 Basato sui core norm. 337.64 277.97 0.071489 0.064255 Modello dei costi 241.94 182.49 0.051644 0.042215 Modello dei costi norm. 258.41 236.46 0.053297 0.056556

Sinergico 260.05 224.99 0.055883 0.056488

Sinergico norm. 235.90 195.86 0.049405 0.046600 Tabella 4.23: Energia: errore per il consumo di energia in fase di test, con bi- partizione tra i due casi in esame, considerando tutti i dataset (rappresentazioni miste) a disposizione (root state mapping).

in eccesso da quelle in difetto di parallelismo. Il caso migliore, confermando i risultati ottenuti in media (Tabella 4.20), è quello sinergico normalizzato. In generale, come avviene per il tempo di completamento, la TreeESN riesce a dividere l'errore in maniera bilanciata sui due casi, mostrando una perfor- mance equilibrata. Questa è un indicazione importante, perchè mette in luce come il modello TreeESN non risenta della presenza di eccesso di parallelismo e quindi non faccia assunzioni restrittive sull'architettura sottostante. Quindi la TreeESN è potenzialmente un sistema robusto nella stima dell'energia consu- mata, e nonostante non sia presente un modello dei costi con cui confrontarne le performance, dimostra di essere sicuramente un buon approccio per risolvere il problema (MANE ≈ 4% in entrambi i casi).

Capitolo 5

Conclusioni

In questa tesi è stato analizzato l'uso di un modello predittivo come strumen- to per guidare la programmazione parallela strutturata secondo il modello a pattern. Partendo dalla tesi [1] come baseline (in cui veniva stimato il tem- po di completamento di applicazioni parallele con un approccio simile al no- stro, servendosi di un dataset di programmi), sono stati resi eettivi i seguenti sviluppi:

• Rappresentazioni dei dati modicate in modo da avere arietà degli alberi arbitraria, che riduce l'inuenza del fattore anti-markoviano, avendo una dipendenza più diretta tra i nodi dell'albero.

• Sviluppo di un nuovo readout che ottimizza direttamente la metrica inte- ressante per i nostri scopi (MANE).

• Esplorazione di un nuovo task, relativo al consumo di energia. • Esplorazione di nuovi modelli e congurazioni della TreeESN.

Quindi assumendo di avere a che fare con skeleton trees (che ammettono com- posizionalità, quindi sono uno strumento potente per descrivere un applicazione parallela), è stato costruito un task di apprendimento automatico. In una pri- ma fase è stato eettuato un ciclo di design con lo scopo di generare i dataset. E' seguita l'applicazione del modello TreeESN a questi ultimi, ottenendo ri- sultati interessanti nella predizione del tempo di completamento e dell'energy consumption. Sono state introdotte varianti architetturali (reservoir con matri- ce ortogonale) e modellistiche (rectier come funzione di attivazione dei neuroni del reservoir), con risultati che, sebbene non abbiano apportato decisivi miglio- ramenti rispetto al caso TreeESN standard, si sono allineate con i buoni risultati conseguiti al caso base, gettando le basi per indagini e ranamenti futuri. I risultati per il tempo di completamento tengono conto anche dei contesti in cui il modello analitico, che abbiamo usato come baseline, fallisce nella predizione (eccesso di parallelismo).

La TreeESN mostra risultati migliori del modello dei costi in condizione di ec- cesso di parallelismo, dimostrando di riuscire a generalizzare anche nel caso in cui il modello dei costi non può essere utilizzato (MANE ≈ 7.6% della TreeE- SN, contro il 43% del modello dei costi), mentre è di poco inferiore nel caso di difetto di parallelismo (MANE ≈ 7.5% contro 3.9%), rimanendo comunque

migliore in media (MANE ≈ 7.6% contro 16%).

Per quanto riguarda la predizione del consumo di energia (Joules), che è la principale novità introdotta nella tesi, vanno fatte le seguenti considerazioni:

• Non è presente in letteratura un modello dei costi con cui confrontarsi. • Non sono stati trovati in letteratura approcci simili al nostro, in grado di

predire le performance senza esecuzioni (nemmeno parziali) dei programmi in questione.

• La TreeESN migliore anche su questo secondo task mostra un errore mol- to basso (4% in media), e si dimostra capace di bilanciare l'errore tra applicazioni in difetto ed in eccesso di parallelismo.

Il tallone d'achille della metodologia utilizzata per costruire ed analizzare il problema in esame, è dato dal fatto che le predizioni eettuate sono speci- che rispetto ad una singola architettura. Nel caso in cui si volessero ottenere predizioni su una macchina specica, andrebbe rigenerato il dataset, e allena- to nuovamente il modello sui dati ottenuti. Tuttavia il sistema, grazie all'uso dell'approccio TreeESN è essibile e si può adattare e specializzare alla nuova macchina in maniera eciente, tramite una nuova fase di addestramento. Il processo di generazione dei dati può essere fortemente automatizzato, come de- scritto nella tesi, grazie all'applicazione delle regole di riscrittura che generano le istanze del dataset.

Il modello ottenuto può essere utilizzato come strumento interno per un fra- mework basato sulla costruzione di applicazioni parallele. In particolare, si può eettuare un confronto tra diverse congurazioni dell'applicazione parallela, in modo da scegliere quella con le prestazioni migliori. In ottica di sviluppi futuri, pertanto, le predizioni possono essere valutate all'interno di uno scenario reale, inserendo il modello all'interno di un framework.

Appendice A

Dataset - Consumo di energia

Di seguito vengono riportati a titolo esemplicativo 10 istanze di ciascun data- set generato per il consumo di energia. Tutte le istanze contenute in ciascun dataset fanno riferimento ai medesimi skeleton trees, ma con diverse rappre- sentazioni. Tutti gli skeletons sono etichettati con il loro consumo di energia calcolato in Joules, su due processori Intel Xeon E5-2630 (2.30GHz, 2x6 co- re, two way hyper-threading), basati su un architettura Intel Sandy Bridge. Una descrizione dettagliata del ciclo di generazione dei dati è proposta nella Sezione 3.2.

A.1 Rappresentazioni semplici

Documenti correlati