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...

Full description

Bibliographic Details
Main Authors: Beckmann, Nathan, Tsai, Po-An, Sanchez, Daniel
Other Authors: Daniel Sanchez
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