Extending the Scope of Compile-time Optimizations Across Synchronization Operations

University essay from Uppsala universitet/Institutionen för informationsteknologi

Author: Andreas Scherman; [2017]

Keywords: ;

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

  AT THIS PAGE YOU CAN DOWNLOAD THE WHOLE ESSAY. (follow the link to the next page)