L’obiettivo di questa tesi è quello individurare e studiare metodi e strumenti per la valutazione di software, a partire dalla valutazione di architetture che sfruttano il parallelismo, alle tecniche per il profiling e valutazione di software eseguiti su architetture ad alte prestazioni (HPC); ciò viene fatto analizzando le prestazioni del codice sorgente evidenziando i colli di bottiglia che ne limitano l'efficienza e individuando i kernel computazionalmente più onerosi. Un aspetto necessario per la valutazione è il confronto tra la prestazione ’standard’ della macchina (di picco e sostenuta), confrontandola con quella ottenuta dall'applicazione di interesse. Queste analisi possono suggerire come il software può essere eseguito in maniera efficiente e ’prestante’ su le architetture analizzate. Ci si pone le seguenti domande: Il sistema di calcolo a disposizione è adeguato all'esecuzione di questo software? Tale software raggiunge le prestazioni attese? Si pone l'attenzione su due macro-aree: una relativa al calcolo delle prestazioni di una architettura, l'altra allo studio delle prestazioni di un software. Occorre dare una risposta da un lato sui limiti del sistema di calcolo dall'altro sulle cause che portano un software a non utilizzare efficacemente l'architettura utilizzata, e quindi alle azioni da intraprendere per migliorarle. Si analizzeranno gli strumenti per valutare un sistema di calcolo chiamati benchmark, e gli strumenti ed i modelli che rivolgono l'attenzione alla valutazione delle prestazioni ottenute dall'applicazione di interesse. Ogni sistema di calcolo è costituito da elementi che vanno analizzati singolarmente. Sarà necessario porre l'attenzione su diversi aspetti: Calcolo, Comunicazione, I/O, Memoria.
Metodi e strumenti per la valutazione delle prestazioni del software parallelo attraverso un caso di studio: il software ROMS
2018
Abstract
L’obiettivo di questa tesi è quello individurare e studiare metodi e strumenti per la valutazione di software, a partire dalla valutazione di architetture che sfruttano il parallelismo, alle tecniche per il profiling e valutazione di software eseguiti su architetture ad alte prestazioni (HPC); ciò viene fatto analizzando le prestazioni del codice sorgente evidenziando i colli di bottiglia che ne limitano l'efficienza e individuando i kernel computazionalmente più onerosi. Un aspetto necessario per la valutazione è il confronto tra la prestazione ’standard’ della macchina (di picco e sostenuta), confrontandola con quella ottenuta dall'applicazione di interesse. Queste analisi possono suggerire come il software può essere eseguito in maniera efficiente e ’prestante’ su le architetture analizzate. Ci si pone le seguenti domande: Il sistema di calcolo a disposizione è adeguato all'esecuzione di questo software? Tale software raggiunge le prestazioni attese? Si pone l'attenzione su due macro-aree: una relativa al calcolo delle prestazioni di una architettura, l'altra allo studio delle prestazioni di un software. Occorre dare una risposta da un lato sui limiti del sistema di calcolo dall'altro sulle cause che portano un software a non utilizzare efficacemente l'architettura utilizzata, e quindi alle azioni da intraprendere per migliorarle. Si analizzeranno gli strumenti per valutare un sistema di calcolo chiamati benchmark, e gli strumenti ed i modelli che rivolgono l'attenzione alla valutazione delle prestazioni ottenute dall'applicazione di interesse. Ogni sistema di calcolo è costituito da elementi che vanno analizzati singolarmente. Sarà necessario porre l'attenzione su diversi aspetti: Calcolo, Comunicazione, I/O, Memoria.File | Dimensione | Formato | |
---|---|---|---|
celestino_simone_30.pdf
accesso solo da BNCF e BNCR
Tipologia:
Altro materiale allegato
Dimensione
3.6 MB
Formato
Adobe PDF
|
3.6 MB | Adobe PDF |
I documenti in UNITESI sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.
https://hdl.handle.net/20.500.14242/138253
URN:NBN:IT:UNINA-138253