TY - GEN
T1 - Morphable cache architectures
T2 - 2001 ACM SIGPLAN Workshop on Languages, Compilers and Tools for Embedded Systems, LCTES 2001
AU - Kadayif, I.
AU - Kandemir, M.
AU - Vijaykrishnan, N.
AU - Irwin, M. J.
AU - Ramanujamy, J.
N1 - Funding Information:
This work was funded in part by the Pittsburgh Digital Greenhouse through a gran t from the Commonw ealth of P ennsylvania, Department of Community and Economic Development and grants from NSF, CCR-0082064 and CCR-0073419.
PY - 2001/8/1
Y1 - 2001/8/1
N2 - Computer architects ha ve tried to mitigate the consequences of high memory latencies using a variety techniques. An example of these techniques is m ulti-lev elcaches to counteract the latency that results from having a memory that is slower than the processor. Recent research has demonstrated that compiler optimizations that modify data layouts and restructure computation can be successful in improving memory system performance. However, in many cases, working with a fixed cache configuration prevents the application/compiler from obtaining the maximum performance. In addition, prompted by demands in portabilit y, long battery life, and low-cost packaging, the computer industry has started viewing energy and power as decisive design factors, along with performance and cost. This makes the job of the compiler/user even more dificult as one needs to strik e a balance between low power/energy consumption and high performance. Consequently, adapting the code to the underlying cache/memory hierarchy is becoming more and more dificult. In this paper, we tak e an alternate approach and attempt to adapt the cache arc hitecture to the software needs. We focus on array-dominated applications and measure the potential benefits that could be gained from a morphable (reconfigurable) cache architecture. Our results show that not only different applications work best with different cache configurations, but also that different loop nests in a given application demand different configurations. Our results also indicate that the most suitable cache configuration for a giv en application or a single nest depends strongly on the ob-jectiv e function being optimized. For example, minimizing cache memory energy requires a different cache configuration for each nest than an objective which tries to minimize the overall memory system energy. Based on our experiments, we conclude that fine-grain (loop nest-level) cache configuration management is an important step for a solution to the challenging architecture/software tradeoffs awaiting system designers in the future.
AB - Computer architects ha ve tried to mitigate the consequences of high memory latencies using a variety techniques. An example of these techniques is m ulti-lev elcaches to counteract the latency that results from having a memory that is slower than the processor. Recent research has demonstrated that compiler optimizations that modify data layouts and restructure computation can be successful in improving memory system performance. However, in many cases, working with a fixed cache configuration prevents the application/compiler from obtaining the maximum performance. In addition, prompted by demands in portabilit y, long battery life, and low-cost packaging, the computer industry has started viewing energy and power as decisive design factors, along with performance and cost. This makes the job of the compiler/user even more dificult as one needs to strik e a balance between low power/energy consumption and high performance. Consequently, adapting the code to the underlying cache/memory hierarchy is becoming more and more dificult. In this paper, we tak e an alternate approach and attempt to adapt the cache arc hitecture to the software needs. We focus on array-dominated applications and measure the potential benefits that could be gained from a morphable (reconfigurable) cache architecture. Our results show that not only different applications work best with different cache configurations, but also that different loop nests in a given application demand different configurations. Our results also indicate that the most suitable cache configuration for a giv en application or a single nest depends strongly on the ob-jectiv e function being optimized. For example, minimizing cache memory energy requires a different cache configuration for each nest than an objective which tries to minimize the overall memory system energy. Based on our experiments, we conclude that fine-grain (loop nest-level) cache configuration management is an important step for a solution to the challenging architecture/software tradeoffs awaiting system designers in the future.
UR - http://www.scopus.com/inward/record.url?scp=84882905083&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=84882905083&partnerID=8YFLogxK
U2 - 10.1145/384197.384215
DO - 10.1145/384197.384215
M3 - Conference contribution
AN - SCOPUS:84882905083
T3 - LCTES 2001 - Proceedings of the ACM SIGPLAN Workshop on Languages, Compilers and Tools for Embedded Systems
SP - 128
EP - 137
BT - LCTES 2001 - Proceedings of the ACM SIGPLAN Workshop on Languages, Compilers and Tools for Embedded Systems
PB - Association for Computing Machinery, Inc
Y2 - 22 June 2001 through 23 June 2001
ER -