Increasing energy efficiency and instruction scheduling by software prefetching

With the increasing problems related to semiconductor process node shrinkage and the expansion of the mobile devices market, the requirements for energy efficiency are continuously constrained. Alternative methods such as Decoupled Access/Execute adapts software to better fit dynamic voltage and fre...

Full description

Bibliographic Details
Main Author: Fougner, Alexander
Format: Others
Language:English
Published: Uppsala universitet, Institutionen för informationsteknologi 2016
Online Access:http://urn.kb.se/resolve?urn=urn:nbn:se:uu:diva-292714
id ndltd-UPSALLA1-oai-DiVA.org-uu-292714
record_format oai_dc
spelling ndltd-UPSALLA1-oai-DiVA.org-uu-2927142016-05-09T05:15:14ZIncreasing energy efficiency and instruction scheduling by software prefetchingengFougner, AlexanderUppsala universitet, Institutionen för informationsteknologi2016With the increasing problems related to semiconductor process node shrinkage and the expansion of the mobile devices market, the requirements for energy efficiency are continuously constrained. Alternative methods such as Decoupled Access/Execute adapts software to better fit dynamic voltage and frequency scaling. Targeting the energy inefficient Out-of-Order execution logic new methods propose to increase energy efficiency by moving the Out-of-Order logic from hardware level to software level by enabling reordering of loop iterations. One way to enable reordering of iterations is to transform a loop to backwards recursion. The aim of this thesis is to investigate transformations of loops into recursions and to evaluate the resulting performance impact. This thesis presents a source language independent implementation of a LLVM compiler pass transforming loops into forward and backward recursions. The performance impact is evaluated by choosing parallel loops from the Rodinia benchmark, measuring the recursion overhead for different recursion depths. In certain cases, tight loops showed a variation in overhead ranging between 22% to 78% for the backwards recursion case depending on recursion depth, whereas for loose loops the observed overhead for some loops were as low as 1% regardless of the recursion depth. Student thesisinfo:eu-repo/semantics/bachelorThesistexthttp://urn.kb.se/resolve?urn=urn:nbn:se:uu:diva-292714UPTEC IT, 1401-5749 ; 16002application/pdfinfo:eu-repo/semantics/openAccess
collection NDLTD
language English
format Others
sources NDLTD
description With the increasing problems related to semiconductor process node shrinkage and the expansion of the mobile devices market, the requirements for energy efficiency are continuously constrained. Alternative methods such as Decoupled Access/Execute adapts software to better fit dynamic voltage and frequency scaling. Targeting the energy inefficient Out-of-Order execution logic new methods propose to increase energy efficiency by moving the Out-of-Order logic from hardware level to software level by enabling reordering of loop iterations. One way to enable reordering of iterations is to transform a loop to backwards recursion. The aim of this thesis is to investigate transformations of loops into recursions and to evaluate the resulting performance impact. This thesis presents a source language independent implementation of a LLVM compiler pass transforming loops into forward and backward recursions. The performance impact is evaluated by choosing parallel loops from the Rodinia benchmark, measuring the recursion overhead for different recursion depths. In certain cases, tight loops showed a variation in overhead ranging between 22% to 78% for the backwards recursion case depending on recursion depth, whereas for loose loops the observed overhead for some loops were as low as 1% regardless of the recursion depth.
author Fougner, Alexander
spellingShingle Fougner, Alexander
Increasing energy efficiency and instruction scheduling by software prefetching
author_facet Fougner, Alexander
author_sort Fougner, Alexander
title Increasing energy efficiency and instruction scheduling by software prefetching
title_short Increasing energy efficiency and instruction scheduling by software prefetching
title_full Increasing energy efficiency and instruction scheduling by software prefetching
title_fullStr Increasing energy efficiency and instruction scheduling by software prefetching
title_full_unstemmed Increasing energy efficiency and instruction scheduling by software prefetching
title_sort increasing energy efficiency and instruction scheduling by software prefetching
publisher Uppsala universitet, Institutionen för informationsteknologi
publishDate 2016
url http://urn.kb.se/resolve?urn=urn:nbn:se:uu:diva-292714
work_keys_str_mv AT fougneralexander increasingenergyefficiencyandinstructionschedulingbysoftwareprefetching
_version_ 1718264423286571008