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...
Gespeichert in:
Veröffentlicht in: | IEEE transactions on parallel and distributed systems 2004-04, Vol.15 (4), p.289-303 |
---|---|
Hauptverfasser: | , , , |
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 & 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 & 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 |