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...

Full description

Bibliographic Details
Main Author: Scherman, Andreas
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