Jenga: Harnessing Heterogeneous Memories through Reconfigurable Cache Hierarchies
Conventional memory systems are organized as a rigid hierarchy, with multiple levels of progressively larger and slower memories. Hierarchy allows a simple, fixed design to benefit a wide range of applications, because working sets settle at the smallest (and fastest) level they fit in. However, rig...
Main Authors: | , , |
---|---|
Other Authors: | |
Published: |
2015
|
Online Access: | http://hdl.handle.net/1721.1/100466 |
_version_ | 1826209325129924608 |
---|---|
author | Beckmann, Nathan Tsai, Po-An Sanchez, Daniel |
author2 | Daniel Sanchez |
author_facet | Daniel Sanchez Beckmann, Nathan Tsai, Po-An Sanchez, Daniel |
author_sort | Beckmann, Nathan |
collection | MIT |
description | Conventional memory systems are organized as a rigid hierarchy, with multiple levels of progressively larger and slower memories. Hierarchy allows a simple, fixed design to benefit a wide range of applications, because working sets settle at the smallest (and fastest) level they fit in. However, rigid hierarchies also cause significant overheads, because each level adds latency and energy even when it does not capture the working set. In emerging systems with heterogeneous memory technologies such as stacked DRAM, these overheads often limit performance and efficiency. We propose Jenga, a reconfigurable cache hierarchy that avoids these pathologies and approaches the performance of a hierarchy optimized for each application. Jenga monitors application behavior and dynamically builds virtual cache hierarchies out of heterogeneous, distributed cache banks. Jenga uses simple hardware support and a novel software runtime to configure virtual cache hierarchies. On a 36-core CMP with a 1 GB stacked-DRAM cache, Jenga outperforms a combination of state-of-the-art techniques by 10% on average and by up to 36%, and does so while saving energy, improving system-wide energy-delay product by 29% on average and by up to 96%. |
first_indexed | 2024-09-23T14:20:44Z |
id | mit-1721.1/100466 |
institution | Massachusetts Institute of Technology |
last_indexed | 2024-09-23T14:20:44Z |
publishDate | 2015 |
record_format | dspace |
spelling | mit-1721.1/1004662019-09-27T03:05:17Z Jenga: Harnessing Heterogeneous Memories through Reconfigurable Cache Hierarchies Beckmann, Nathan Tsai, Po-An Sanchez, Daniel Daniel Sanchez Computer Architecture Conventional memory systems are organized as a rigid hierarchy, with multiple levels of progressively larger and slower memories. Hierarchy allows a simple, fixed design to benefit a wide range of applications, because working sets settle at the smallest (and fastest) level they fit in. However, rigid hierarchies also cause significant overheads, because each level adds latency and energy even when it does not capture the working set. In emerging systems with heterogeneous memory technologies such as stacked DRAM, these overheads often limit performance and efficiency. We propose Jenga, a reconfigurable cache hierarchy that avoids these pathologies and approaches the performance of a hierarchy optimized for each application. Jenga monitors application behavior and dynamically builds virtual cache hierarchies out of heterogeneous, distributed cache banks. Jenga uses simple hardware support and a novel software runtime to configure virtual cache hierarchies. On a 36-core CMP with a 1 GB stacked-DRAM cache, Jenga outperforms a combination of state-of-the-art techniques by 10% on average and by up to 36%, and does so while saving energy, improving system-wide energy-delay product by 29% on average and by up to 96%. 2015-12-21T19:00:18Z 2015-12-21T19:00:18Z 2015-12-19 2015-12-21T19:00:18Z http://hdl.handle.net/1721.1/100466 MIT-CSAIL-TR-2015-035 Creative Commons Attribution 4.0 International http://creativecommons.org/licenses/by/4.0/ 12 p. application/pdf |
spellingShingle | Beckmann, Nathan Tsai, Po-An Sanchez, Daniel Jenga: Harnessing Heterogeneous Memories through Reconfigurable Cache Hierarchies |
title | Jenga: Harnessing Heterogeneous Memories through Reconfigurable Cache Hierarchies |
title_full | Jenga: Harnessing Heterogeneous Memories through Reconfigurable Cache Hierarchies |
title_fullStr | Jenga: Harnessing Heterogeneous Memories through Reconfigurable Cache Hierarchies |
title_full_unstemmed | Jenga: Harnessing Heterogeneous Memories through Reconfigurable Cache Hierarchies |
title_short | Jenga: Harnessing Heterogeneous Memories through Reconfigurable Cache Hierarchies |
title_sort | jenga harnessing heterogeneous memories through reconfigurable cache hierarchies |
url | http://hdl.handle.net/1721.1/100466 |
work_keys_str_mv | AT beckmannnathan jengaharnessingheterogeneousmemoriesthroughreconfigurablecachehierarchies AT tsaipoan jengaharnessingheterogeneousmemoriesthroughreconfigurablecachehierarchies AT sanchezdaniel jengaharnessingheterogeneousmemoriesthroughreconfigurablecachehierarchies |