Computer Organization Research Group led by Prof. Nathan Beckmann

Navigate to

Funded by

CMU Affiliates

Programming the Memory Hierarchy via Memory Services

This project is developing a new system architecture that lets applications re-program the memory hierarchy to specialize its operation. We are developing a new data-centric model called Memory Services and new hardware to give programmers unprecedented control over the memory hierarchy.

We have begun by developing several exemplar services to demonstrate the potential of Memory Services and learn their common design patterns. Thus far, we have built Memory Services that improve performance and energy-efficiency by 2X on challenging irregular computations (e.g., graph processing and linked data structures). We are now building a programmable memory hierarchy called Livia to support these services, as well as many others. Livia distributes reconfigurable Memory Service Engines (MSEs) throughout the memory hierarchy, which can perform computation or other actions within the memory hierarchy as demanded by each Memory Service.

The above diagram shows how Livia executes tasks within the memory hierarchy for applications written as a Memory Service. Livia hardware automatically migrates data to settle at its “natural” location in the memory hierarchy according to how its used, and then dynamically schedules task execution on the closest MSE to maximize efficiency.

CORGi Members


Tvarak: Software-Managed Hardware Offload for DAX NVM Storage Redundancy [pdf]

Rajat Kateja, Nathan Beckmann, Gregory R. Ganger. ISCA 2020.

Livia: Data-Centric Computing Throughout the Memory Hierarchy [pdf]

Elliot Lockerman, Axel Feldmann, Mohammad Bakhshalipour, Alexandru Stanescu, Shashwat Gupta, Daniel Sanchez, Nathan Beckmann. ASPLOS 2020.

PHI: Architectural Support for Synchronization- and Bandwidth-Efficient Commutative Scatter Updates [pdf]

Anurag Mukkara, Nathan Beckmann, Daniel Sanchez. MICRO 2019.

Improving the Locality of Graph Processing through Hardware-Accelerated Traversal Scheduling [pdf]

Anurag Mukkara, Nathan Beckmann, Maleen Abeydeera, Xiaosong Ma, Daniel Sanchez. MICRO 2018.

Cache-Guided Scheduling: Exploiting Caches to Maximize Locality in Graph Processing [pdf]

Anurag Mukkara, Nathan Beckmann, Daniel Sanchez. AGP at ISCA 2017.