Livia: Data-Centric Computing Throughout the Memory Hierarchy
Session: Exotic architectures--Keep architecture weird!
Authors: Elliot Lockerman (Carnegie Mellon University); Axel Feldmann (Massachusetts Institute of Technology); Mohammad Bakhshalipour (Carnegie Mellon University); Alexandru Stanescu (Carnegie Mellon University); Shashwat Gupta (Carnegie Mellon University); Daniel Sanchez (Massachusetts Institute of Technology); Nathan Beckmann (Carnegie Mellon University)
In order to scale, future systems will need to dramatically reduce data movement. Data movement is expensive in current designs because (i) traditional memory hierarchies force computation to happen unnecessarily far away from data and (ii) processing-in-memory approaches fail to exploit locality. We propose Memory Services, a flexible programming model that enables data-centric computing throughout the memory hierarchy. In Memory Services, applications express functionality as graphs of simple tasks, each task indicating the data it operates on. We design and evaluate Livia, a new system architecture for Memory Services that dynamically schedules tasks and data at the location in the memory hierarchy that minimizes overall data movement. Livia adds less than 3% area overhead to a tiled multicore and accelerates challenging irregular workloads by 1.3 × to 2.4 × while reducing dynamic energy by 1.2× to 4.7×.