the bunker cache for spatio value approximation
play

The Bunker Cache for Spatio-Value Approximation Joshua San Miguel - PowerPoint PPT Presentation

The Bunker Cache for Spatio-Value Approximation Joshua San Miguel Jorge Albericio Natalie Enright Jerger Aamer Jaleel Data Movement and Storage off-chip memory shared last-level cache private caches processor core 2 Data Movement and


  1. The Bunker Cache for Spatio-Value Approximation Joshua San Miguel Jorge Albericio Natalie Enright Jerger Aamer Jaleel

  2. Data Movement and Storage off-chip memory shared last-level cache private caches processor core 2

  3. Data Movement and Storage off-chip memory high cost of moving data shared last-level cache Accessing memory is 10x – 100x greater latency and private caches energy than accessing private cache! processor core 3

  4. Data Movement and Storage off-chip memory high cost of moving data high cost of storing data shared last-level cache Last-level cache consumes substantial energy and private caches takes up 30%-50% of chip area! processor core 4

  5. Data Movement and Storage off-chip memory optimize via data addresses e.g., cache prefetching shared last-level cache private caches processor core 5

  6. Data Movement and Storage off-chip memory optimize via data addresses e.g., cache prefetching optimize via data values e.g., cache compression shared last-level cache private caches processor core 6

  7. Data Movement and Storage off-chip memory optimize via data addresses e.g., cache prefetching optimize via data values complexity of tracking address correlations e.g., cache compression shared last-level cache private caches processor core 7

  8. Data Movement and Storage off-chip memory optimize via data addresses e.g., cache prefetching optimize via data values complexity of tracking address correlations e.g., cache compression shared last-level cache complexity of manipulating data values private caches processor core 8

  9. Data Movement and Storage off-chip memory optimize via data addresses e.g., cache prefetching optimize via data values complexity of tracking address correlations e.g., cache compression shared last-level cache complexity of manipulating data values Can we improve data movement and storage private caches simultaneously without the added complexities? processor core (where data is located?  what value is encoded in data?) 9

  10. Our Work We explore Spatio-Value Similarity :  there is regularity to where approximately similar values are located in memory We propose the Bunker Cache :  many-to-one similarity mapping based on memory address  savings in runtime (1.58x), dynamic energy (1.72x), leakage power (1.65x) at acceptable quality levels 10

  11. Spatio-Value Similarity where data is located?  what value is encoded in data? The goal of a processor is to process real-world information, not bits. 11

  12. Spatio-Value Similarity where data is located?  what value is encoded in data? The goal of a processor is to process real-world information, not bits. data values can often be approximate and continuous (i.e., smooth) 12

  13. Spatio-Value Similarity where data is located?  what value is encoded in data? The goal of a processor is to process real-world information, not bits. data values can often be approximate data addresses represent a and continuous (i.e., smooth) one-dimensional memory space 13

  14. Spatio-Value Similarity where data is located?  what value is encoded in data? The goal of a processor is to process real-world information, not bits.  Spatio-Value Similarity : there is regularity to where approximately similar values are located in memory. 14

  15. Spatio-Value Similarity where data is located?  what value is encoded in data? The goal of a processor is to process real-world information, not bits.  Spatio-Value Similarity : there is regularity to where approximately similar values are located in memory. z x y memory space: 15

  16. Spatio-Value Similarity where data is located?  what value is encoded in data? The goal of a processor is to process real-world information, not bits.  Spatio-Value Similarity : there is regularity to where approximately similar values are located in memory. z x y memory space: 16

  17. Spatio-Value Similarity where data is located?  what value is encoded in data? The goal of a processor is to process real-world information, not bits.  Spatio-Value Similarity : there is regularity to where approximately similar values are located in memory. z x y memory space: 17

  18. Spatio-Value Similarity where data is located?  what value is encoded in data? The goal of a processor is to process real-world information, not bits.  Spatio-Value Similarity : there is regularity to where approximately similar values are located in memory. z approximately similar and contiguous x y memory space: 18

  19. Spatio-Value Similarity where data is located?  what value is encoded in data? The goal of a processor is to process real-world information, not bits.  Spatio-Value Similarity : there is regularity to where approximately similar values are located in memory. z x y memory space: 19

  20. Spatio-Value Similarity where data is located?  what value is encoded in data? The goal of a processor is to process real-world information, not bits.  Spatio-Value Similarity : there is regularity to where approximately similar values are located in memory. z x y memory space: 20

  21. Spatio-Value Similarity where data is located?  what value is encoded in data? The goal of a processor is to process real-world information, not bits.  Spatio-Value Similarity : there is regularity to where approximately similar values are located in memory. z x y memory space: 21

  22. Spatio-Value Similarity where data is located?  what value is encoded in data? The goal of a processor is to process real-world information, not bits.  Spatio-Value Similarity : there is regularity to where approximately similar values are located in memory. z x y memory space: 22

  23. Spatio-Value Similarity where data is located?  what value is encoded in data? The goal of a processor is to process real-world information, not bits.  Spatio-Value Similarity : there is regularity to where approximately similar values are located in memory. similar but not contiguous z x y memory space: 23

  24. Spatio-Value Similarity where data is located?  what value is encoded in data? The goal of a processor is to process real-world information, not bits.  Spatio-Value Similarity : there is regularity to where approximately similar values are located in memory. similar but not contiguous z x y STRIDE memory space: 24

  25. Spatio-Value Similarity where data is located?  what value is encoded in data? The goal of a processor is to process real-world information, not bits.  Spatio-Value Similarity : there is regularity to where approximately similar values are located in memory. e.g., image processing 25

  26. Spatio-Value Similarity where data is located?  what value is encoded in data? The goal of a processor is to process real-world information, not bits.  Spatio-Value Similarity : there is regularity to where approximately similar values are located in memory. e.g., image processing similar but not contiguous STRIDE = image row size 26

  27. Spatio-Value Similarity where data is located?  what value is encoded in data? The goal of a processor is to process real-world information, not bits.  Spatio-Value Similarity : there is regularity to where approximately similar values are located in memory. e.g., image processing e.g., signal processing STRIDE = image row size STRIDE = signal period 27

  28. Spatio-Value Similarity Given any data block, how similar is it to the block that is distance X away from it? 28

  29. Spatio-Value Similarity Given any data block, how similar is it to the block that is distance X away from it? similarity distance away debayer 29

  30. Spatio-Value Similarity Given any data block, how similar is it to the block that is distance X away from it? similarity contiguous data are similar in value distance away debayer 30

  31. Spatio-Value Similarity Given any data block, how similar is it to the block that is distance X away from it? similarity contiguous data similar data are stored are similar in value at regular intervals distance away debayer dwt53 31

  32. Spatio-Value Similarity Given any data block, how similar is it to the block that is distance X away from it? similarity contiguous data similar data are stored are similar in value at regular intervals distance away change-detection 2dconv debayer dwt53 histeq jpeg kmeans lucas-kanade 32

  33. The Bunker Cache off-chip memory shared last-level cache private caches processor core 33

  34. The Bunker Cache off-chip memory Bunker Cache private caches processor core 34

  35. The Bunker Cache off-chip memory Treat address X and address X+STRIDE as if they are one and the same Bunker Cache private caches processor core 35

  36. Conventional Cache physical address way 0 way N way 0 way N tag tag data data ● ● ● ● ● ● 36

  37. Conventional Cache physical address way 0 way N way 0 way N tag tag data data ● ● ● ● ● ● index set function 37

  38. Conventional Cache physical address way 0 way N way 0 way N tag tag data data ● ● ● ● ● ● index set function tag hit? = = hit? 38

  39. Conventional Cache physical address way 0 way N way 0 way N tag tag data data ● ● ● ● ● ● index set function tag hit? = = hit? data 39

Recommend


More recommend