Access pattern restructuring for memory energy

Improving memory energy consumption of programs that manipulate arrays is an important problem as these codes spend large amounts of energy in accessing off-chip memory. We propose a data-driven strategy to optimize the memory energy consumption in a banked memory system. Our compiler-based strategy...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:IEEE transactions on parallel and distributed systems 2004-04, Vol.15 (4), p.289-303
Hauptverfasser: De La Luz, V., Kadayif, I., Kandemir, M., Sezer, U.
Format: Artikel
Sprache:eng
Schlagworte:
Online-Zugang:Volltext bestellen
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
container_end_page 303
container_issue 4
container_start_page 289
container_title IEEE transactions on parallel and distributed systems
container_volume 15
creator De La Luz, V.
Kadayif, I.
Kandemir, M.
Sezer, U.
description Improving memory energy consumption of programs that manipulate arrays is an important problem as these codes spend large amounts of energy in accessing off-chip memory. We propose a data-driven strategy to optimize the memory energy consumption in a banked memory system. Our compiler-based strategy modifies the original execution order of loop iterations in array-dominated applications to increase the length of the time period(s) in which memory banks are idle (i.e., not accessed by any loop iteration). To achieve this, it first classifies loop iterations according to their bank accesses patterns and then, with the help of a polyhedral tool, tries to bring the iterations with similar bank access patterns close together. Increasing the idle periods of memory banks brings two major benefits: first, it allows us to place more memory banks into low-power operating modes and, second, it enables us to use a more aggressive (i.e., more energy saving) operating mode (hence, saving more energy) for a given bank (instead of a less aggressive mode). The proposed strategy can reduce memory energy consumption in both sequential and parallel applications. Our strategy has been implemented in an experimental compiler using a polyhedral tool and evaluated using nine array-dominated applications on both a cacheless system and a system with cache memory. Our experimental results indicate that the proposed strategy is very successful in reducing the memory system energy and improves the memory energy by as much as 36.8 percent over a strategy that uses low-power modes without optimizing data access pattern. Our results also show that optimizations that target reducing off-chip memory energy can generate very different results from those that target at improving only cache locality.
doi_str_mv 10.1109/TPDS.2004.1271179
format Article
fullrecord <record><control><sourceid>proquest_RIE</sourceid><recordid>TN_cdi_proquest_miscellaneous_28194395</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><ieee_id>1271179</ieee_id><sourcerecordid>28194395</sourcerecordid><originalsourceid>FETCH-LOGICAL-c353t-b0a3fb3c56fdcec7f036a78731e81ba7bd6eda8c01e66a257dc68b08509e95943</originalsourceid><addsrcrecordid>eNp9kE1LxDAQhoMouK7-APFSPOipNZM0TXJc1k9YUHA9hzSdLl227Zq0h_33ZtkFwYOnGZjnHWYeQq6BZgBUPyw_Hj8zRmmeAZMAUp-QCQihUgaKn8ae5iLVDPQ5uQhhTSnkguYTks2cwxCSrR0G9F3iMQx-dMPom26V1L1PWmx7v0uwQ7_aXZKz2m4CXh3rlHw9Py3nr-ni_eVtPlukjgs-pCW1vC65E0VdOXSyprywUkkOqKC0sqwKrKxyFLAoLBOycoUqqRJUoxY651Nyf9i79f33GG8ybRMcbja2w34MRlMoZM6FjuTdvyRTEPdpEcHbP-C6H30XvzDRC-MqKooQHCDn-xA81mbrm9b6nQFq9qLNXrTZizZH0TFzc8g0iPjLH6c_0ux4qg</addsrcrecordid><sourcetype>Aggregation Database</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype><pqid>921238104</pqid></control><display><type>article</type><title>Access pattern restructuring for memory energy</title><source>IEEE Electronic Library (IEL)</source><creator>De La Luz, V. ; Kadayif, I. ; Kandemir, M. ; Sezer, U.</creator><creatorcontrib>De La Luz, V. ; Kadayif, I. ; Kandemir, M. ; Sezer, U.</creatorcontrib><description>Improving memory energy consumption of programs that manipulate arrays is an important problem as these codes spend large amounts of energy in accessing off-chip memory. We propose a data-driven strategy to optimize the memory energy consumption in a banked memory system. Our compiler-based strategy modifies the original execution order of loop iterations in array-dominated applications to increase the length of the time period(s) in which memory banks are idle (i.e., not accessed by any loop iteration). To achieve this, it first classifies loop iterations according to their bank accesses patterns and then, with the help of a polyhedral tool, tries to bring the iterations with similar bank access patterns close together. Increasing the idle periods of memory banks brings two major benefits: first, it allows us to place more memory banks into low-power operating modes and, second, it enables us to use a more aggressive (i.e., more energy saving) operating mode (hence, saving more energy) for a given bank (instead of a less aggressive mode). The proposed strategy can reduce memory energy consumption in both sequential and parallel applications. Our strategy has been implemented in an experimental compiler using a polyhedral tool and evaluated using nine array-dominated applications on both a cacheless system and a system with cache memory. Our experimental results indicate that the proposed strategy is very successful in reducing the memory system energy and improves the memory energy by as much as 36.8 percent over a strategy that uses low-power modes without optimizing data access pattern. Our results also show that optimizations that target reducing off-chip memory energy can generate very different results from those that target at improving only cache locality.</description><identifier>ISSN: 1045-9219</identifier><identifier>EISSN: 1558-2183</identifier><identifier>DOI: 10.1109/TPDS.2004.1271179</identifier><identifier>CODEN: ITDSEO</identifier><language>eng</language><publisher>New York: IEEE</publisher><subject>Arrays ; Banks ; Batteries ; Cache memory ; Circuits ; Computer Society ; Embedded system ; Energy conservation ; Energy consumption ; Energy management ; Energy use ; Hardware ; Optimization ; Optimizing compilers ; Strategy ; Studies ; System-on-a-chip</subject><ispartof>IEEE transactions on parallel and distributed systems, 2004-04, Vol.15 (4), p.289-303</ispartof><rights>Copyright The Institute of Electrical and Electronics Engineers, Inc. (IEEE) 2004</rights><lds50>peer_reviewed</lds50><woscitedreferencessubscribed>false</woscitedreferencessubscribed><citedby>FETCH-LOGICAL-c353t-b0a3fb3c56fdcec7f036a78731e81ba7bd6eda8c01e66a257dc68b08509e95943</citedby><cites>FETCH-LOGICAL-c353t-b0a3fb3c56fdcec7f036a78731e81ba7bd6eda8c01e66a257dc68b08509e95943</cites></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><linktohtml>$$Uhttps://ieeexplore.ieee.org/document/1271179$$EHTML$$P50$$Gieee$$H</linktohtml><link.rule.ids>314,780,784,796,27923,27924,54757</link.rule.ids><linktorsrc>$$Uhttps://ieeexplore.ieee.org/document/1271179$$EView_record_in_IEEE$$FView_record_in_$$GIEEE</linktorsrc></links><search><creatorcontrib>De La Luz, V.</creatorcontrib><creatorcontrib>Kadayif, I.</creatorcontrib><creatorcontrib>Kandemir, M.</creatorcontrib><creatorcontrib>Sezer, U.</creatorcontrib><title>Access pattern restructuring for memory energy</title><title>IEEE transactions on parallel and distributed systems</title><addtitle>TPDS</addtitle><description>Improving memory energy consumption of programs that manipulate arrays is an important problem as these codes spend large amounts of energy in accessing off-chip memory. We propose a data-driven strategy to optimize the memory energy consumption in a banked memory system. Our compiler-based strategy modifies the original execution order of loop iterations in array-dominated applications to increase the length of the time period(s) in which memory banks are idle (i.e., not accessed by any loop iteration). To achieve this, it first classifies loop iterations according to their bank accesses patterns and then, with the help of a polyhedral tool, tries to bring the iterations with similar bank access patterns close together. Increasing the idle periods of memory banks brings two major benefits: first, it allows us to place more memory banks into low-power operating modes and, second, it enables us to use a more aggressive (i.e., more energy saving) operating mode (hence, saving more energy) for a given bank (instead of a less aggressive mode). The proposed strategy can reduce memory energy consumption in both sequential and parallel applications. Our strategy has been implemented in an experimental compiler using a polyhedral tool and evaluated using nine array-dominated applications on both a cacheless system and a system with cache memory. Our experimental results indicate that the proposed strategy is very successful in reducing the memory system energy and improves the memory energy by as much as 36.8 percent over a strategy that uses low-power modes without optimizing data access pattern. Our results also show that optimizations that target reducing off-chip memory energy can generate very different results from those that target at improving only cache locality.</description><subject>Arrays</subject><subject>Banks</subject><subject>Batteries</subject><subject>Cache memory</subject><subject>Circuits</subject><subject>Computer Society</subject><subject>Embedded system</subject><subject>Energy conservation</subject><subject>Energy consumption</subject><subject>Energy management</subject><subject>Energy use</subject><subject>Hardware</subject><subject>Optimization</subject><subject>Optimizing compilers</subject><subject>Strategy</subject><subject>Studies</subject><subject>System-on-a-chip</subject><issn>1045-9219</issn><issn>1558-2183</issn><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>2004</creationdate><recordtype>article</recordtype><sourceid>RIE</sourceid><recordid>eNp9kE1LxDAQhoMouK7-APFSPOipNZM0TXJc1k9YUHA9hzSdLl227Zq0h_33ZtkFwYOnGZjnHWYeQq6BZgBUPyw_Hj8zRmmeAZMAUp-QCQihUgaKn8ae5iLVDPQ5uQhhTSnkguYTks2cwxCSrR0G9F3iMQx-dMPom26V1L1PWmx7v0uwQ7_aXZKz2m4CXh3rlHw9Py3nr-ni_eVtPlukjgs-pCW1vC65E0VdOXSyprywUkkOqKC0sqwKrKxyFLAoLBOycoUqqRJUoxY651Nyf9i79f33GG8ybRMcbja2w34MRlMoZM6FjuTdvyRTEPdpEcHbP-C6H30XvzDRC-MqKooQHCDn-xA81mbrm9b6nQFq9qLNXrTZizZH0TFzc8g0iPjLH6c_0ux4qg</recordid><startdate>20040401</startdate><enddate>20040401</enddate><creator>De La Luz, V.</creator><creator>Kadayif, I.</creator><creator>Kandemir, M.</creator><creator>Sezer, U.</creator><general>IEEE</general><general>The Institute of Electrical and Electronics Engineers, Inc. (IEEE)</general><scope>RIA</scope><scope>RIE</scope><scope>AAYXX</scope><scope>CITATION</scope><scope>7SC</scope><scope>7SP</scope><scope>8FD</scope><scope>JQ2</scope><scope>L7M</scope><scope>L~C</scope><scope>L~D</scope><scope>F28</scope><scope>FR3</scope></search><sort><creationdate>20040401</creationdate><title>Access pattern restructuring for memory energy</title><author>De La Luz, V. ; Kadayif, I. ; Kandemir, M. ; Sezer, U.</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-c353t-b0a3fb3c56fdcec7f036a78731e81ba7bd6eda8c01e66a257dc68b08509e95943</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>2004</creationdate><topic>Arrays</topic><topic>Banks</topic><topic>Batteries</topic><topic>Cache memory</topic><topic>Circuits</topic><topic>Computer Society</topic><topic>Embedded system</topic><topic>Energy conservation</topic><topic>Energy consumption</topic><topic>Energy management</topic><topic>Energy use</topic><topic>Hardware</topic><topic>Optimization</topic><topic>Optimizing compilers</topic><topic>Strategy</topic><topic>Studies</topic><topic>System-on-a-chip</topic><toplevel>peer_reviewed</toplevel><toplevel>online_resources</toplevel><creatorcontrib>De La Luz, V.</creatorcontrib><creatorcontrib>Kadayif, I.</creatorcontrib><creatorcontrib>Kandemir, M.</creatorcontrib><creatorcontrib>Sezer, U.</creatorcontrib><collection>IEEE All-Society Periodicals Package (ASPP) 1998-Present</collection><collection>IEEE Electronic Library (IEL)</collection><collection>CrossRef</collection><collection>Computer and Information Systems Abstracts</collection><collection>Electronics &amp; Communications Abstracts</collection><collection>Technology Research Database</collection><collection>ProQuest Computer Science Collection</collection><collection>Advanced Technologies Database with Aerospace</collection><collection>Computer and Information Systems Abstracts – Academic</collection><collection>Computer and Information Systems Abstracts Professional</collection><collection>ANTE: Abstracts in New Technology &amp; Engineering</collection><collection>Engineering Research Database</collection><jtitle>IEEE transactions on parallel and distributed systems</jtitle></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext_linktorsrc</fulltext></delivery><addata><au>De La Luz, V.</au><au>Kadayif, I.</au><au>Kandemir, M.</au><au>Sezer, U.</au><format>journal</format><genre>article</genre><ristype>JOUR</ristype><atitle>Access pattern restructuring for memory energy</atitle><jtitle>IEEE transactions on parallel and distributed systems</jtitle><stitle>TPDS</stitle><date>2004-04-01</date><risdate>2004</risdate><volume>15</volume><issue>4</issue><spage>289</spage><epage>303</epage><pages>289-303</pages><issn>1045-9219</issn><eissn>1558-2183</eissn><coden>ITDSEO</coden><abstract>Improving memory energy consumption of programs that manipulate arrays is an important problem as these codes spend large amounts of energy in accessing off-chip memory. We propose a data-driven strategy to optimize the memory energy consumption in a banked memory system. Our compiler-based strategy modifies the original execution order of loop iterations in array-dominated applications to increase the length of the time period(s) in which memory banks are idle (i.e., not accessed by any loop iteration). To achieve this, it first classifies loop iterations according to their bank accesses patterns and then, with the help of a polyhedral tool, tries to bring the iterations with similar bank access patterns close together. Increasing the idle periods of memory banks brings two major benefits: first, it allows us to place more memory banks into low-power operating modes and, second, it enables us to use a more aggressive (i.e., more energy saving) operating mode (hence, saving more energy) for a given bank (instead of a less aggressive mode). The proposed strategy can reduce memory energy consumption in both sequential and parallel applications. Our strategy has been implemented in an experimental compiler using a polyhedral tool and evaluated using nine array-dominated applications on both a cacheless system and a system with cache memory. Our experimental results indicate that the proposed strategy is very successful in reducing the memory system energy and improves the memory energy by as much as 36.8 percent over a strategy that uses low-power modes without optimizing data access pattern. Our results also show that optimizations that target reducing off-chip memory energy can generate very different results from those that target at improving only cache locality.</abstract><cop>New York</cop><pub>IEEE</pub><doi>10.1109/TPDS.2004.1271179</doi><tpages>15</tpages></addata></record>
fulltext fulltext_linktorsrc
identifier ISSN: 1045-9219
ispartof IEEE transactions on parallel and distributed systems, 2004-04, Vol.15 (4), p.289-303
issn 1045-9219
1558-2183
language eng
recordid cdi_proquest_miscellaneous_28194395
source IEEE Electronic Library (IEL)
subjects Arrays
Banks
Batteries
Cache memory
Circuits
Computer Society
Embedded system
Energy conservation
Energy consumption
Energy management
Energy use
Hardware
Optimization
Optimizing compilers
Strategy
Studies
System-on-a-chip
title Access pattern restructuring for memory energy
url https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-01-12T09%3A52%3A01IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-proquest_RIE&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.genre=article&rft.atitle=Access%20pattern%20restructuring%20for%20memory%20energy&rft.jtitle=IEEE%20transactions%20on%20parallel%20and%20distributed%20systems&rft.au=De%20La%20Luz,%20V.&rft.date=2004-04-01&rft.volume=15&rft.issue=4&rft.spage=289&rft.epage=303&rft.pages=289-303&rft.issn=1045-9219&rft.eissn=1558-2183&rft.coden=ITDSEO&rft_id=info:doi/10.1109/TPDS.2004.1271179&rft_dat=%3Cproquest_RIE%3E28194395%3C/proquest_RIE%3E%3Curl%3E%3C/url%3E&disable_directlink=true&sfx.directlink=off&sfx.report_link=0&rft_id=info:oai/&rft_pqid=921238104&rft_id=info:pmid/&rft_ieee_id=1271179&rfr_iscdi=true