Extending the Scope of Compile-time Optimizations Across Synchronization Operations
With the rise of multiprocessor computers, parallel computing has become a necessity in order to achieve high performance. Modern compilers are conservative in applying classical compiler optimizations to parallel programs, as the compiler might require expensive whole-code analysis in order to pres...
Main Author: | |
---|---|
Format: | Others |
Language: | English |
Published: |
Uppsala universitet, Institutionen för informationsteknologi
2017
|
Subjects: | |
Online Access: | http://urn.kb.se/resolve?urn=urn:nbn:se:uu:diva-333028 |
id |
ndltd-UPSALLA1-oai-DiVA.org-uu-333028 |
---|---|
record_format |
oai_dc |
spelling |
ndltd-UPSALLA1-oai-DiVA.org-uu-3330282017-11-09T05:29:10ZExtending the Scope of Compile-time Optimizations Across Synchronization OperationsengScherman, AndreasUppsala universitet, Institutionen för informationsteknologi2017Engineering and TechnologyTeknik och teknologierWith the rise of multiprocessor computers, parallel computing has become a necessity in order to achieve high performance. Modern compilers are conservative in applying classical compiler optimizations to parallel programs, as the compiler might require expensive whole-code analysis in order to preserve the semantics and correctness of the code, to ensure no data races are introduced through optimizations. Extended data-race-free regions (xDRF) is a compile-time analysis that gives the guarantee that variables accessed within the xDRF region cannot be modified by other threads. This guarantee enables safe traditional compiler optimizations on larger regions of code. The extended data-race free regions are used to make stronger alias analysis statements, which allows the traditional compiler optimizations to use the information gained from the extended data-race-free analysis directly without any other changes of the optimization step. Results show a varied utilization of the extended data-race-free, with two out of seventeen benchmarks being unable to find any extended data race-free region, and one benchmark having as many as 23 regions. Usingthe xDRF analysis, the compiler was able to increase by up to 2% the number of load instructions hoisted or deleted. No benchmark show a consistent run-time improvement from the additional transformations. Future work will focus on expanding the usage of the xDRF analysis, forexample for improving Capture Tracking and Escape Analysis, which we expect will lead to a run-time improvement. Student thesisinfo:eu-repo/semantics/bachelorThesistexthttp://urn.kb.se/resolve?urn=urn:nbn:se:uu:diva-333028IT ; 17057application/pdfinfo:eu-repo/semantics/openAccess |
collection |
NDLTD |
language |
English |
format |
Others
|
sources |
NDLTD |
topic |
Engineering and Technology Teknik och teknologier |
spellingShingle |
Engineering and Technology Teknik och teknologier Scherman, Andreas Extending the Scope of Compile-time Optimizations Across Synchronization Operations |
description |
With the rise of multiprocessor computers, parallel computing has become a necessity in order to achieve high performance. Modern compilers are conservative in applying classical compiler optimizations to parallel programs, as the compiler might require expensive whole-code analysis in order to preserve the semantics and correctness of the code, to ensure no data races are introduced through optimizations. Extended data-race-free regions (xDRF) is a compile-time analysis that gives the guarantee that variables accessed within the xDRF region cannot be modified by other threads. This guarantee enables safe traditional compiler optimizations on larger regions of code. The extended data-race free regions are used to make stronger alias analysis statements, which allows the traditional compiler optimizations to use the information gained from the extended data-race-free analysis directly without any other changes of the optimization step. Results show a varied utilization of the extended data-race-free, with two out of seventeen benchmarks being unable to find any extended data race-free region, and one benchmark having as many as 23 regions. Usingthe xDRF analysis, the compiler was able to increase by up to 2% the number of load instructions hoisted or deleted. No benchmark show a consistent run-time improvement from the additional transformations. Future work will focus on expanding the usage of the xDRF analysis, forexample for improving Capture Tracking and Escape Analysis, which we expect will lead to a run-time improvement. |
author |
Scherman, Andreas |
author_facet |
Scherman, Andreas |
author_sort |
Scherman, Andreas |
title |
Extending the Scope of Compile-time Optimizations Across Synchronization Operations |
title_short |
Extending the Scope of Compile-time Optimizations Across Synchronization Operations |
title_full |
Extending the Scope of Compile-time Optimizations Across Synchronization Operations |
title_fullStr |
Extending the Scope of Compile-time Optimizations Across Synchronization Operations |
title_full_unstemmed |
Extending the Scope of Compile-time Optimizations Across Synchronization Operations |
title_sort |
extending the scope of compile-time optimizations across synchronization operations |
publisher |
Uppsala universitet, Institutionen för informationsteknologi |
publishDate |
2017 |
url |
http://urn.kb.se/resolve?urn=urn:nbn:se:uu:diva-333028 |
work_keys_str_mv |
AT schermanandreas extendingthescopeofcompiletimeoptimizationsacrosssynchronizationoperations |
_version_ |
1718560850530271232 |