Dit doctoraat beschrijft vier significante bijdragen in het modelleren van de prestatie van computerprogrammas op een micro-architectuuronafhankelijke manier. In het eerste deel van het doctoraat wordt het spronggedrag van programmas gemodelleerd door gebruik te maken van een nieuw metriek genaamd lineaire sprongentropie. Deze metriek is gebaseerd op Shannons entropietheorie, maar is eenvoudiger waardoor het gemakkelijker is inzicht te verwerven en een nauwkeurig model te bekomen.
Een eerste toepassing van lineaire sprongentropie betreft het modelleren van de impact die sprongvoorspellers hebben op de uitvoeringstijd van computerprogrammas. Het voordeel van dit micro-architectuuronafhankelijk model is dat het schatten van deze impact voor verschillende sprongvoorspellers in één keer kan gebeuren. Een tweede toepassing betreft codegeneratie: lineaire sprongentropie kan eveneens gebruikt worden om de prestatie van if-conversie te verbeteren.
Het tweede deel van het doctoraat focust op het modelleren van de uitvoering van meerdradige computerprogrammas. Eerder werk was beperkt tot enkeldradige programmas, maar gezien het toenemend belang van parallelle computerprogrammas, was de nood voor een gelijkaardig model voor meerdradige programmas hoog. De RPPM tool, voorgesteld in deze thesis, schat de invloed van het delen van het geheugen en van synchronisatie tussen deze verschillende draden om zo een nauwkeurige schatting van de uitvoeringstijd te bekomen.
| |