Penumbra: Persistence across the Memory Bus

Research project exploring potential effects of emerging byte-addressable persistent memory technologies on software and systems design.

Project Details

Penumbra: Persistence across the Memory Bus

Penumbra: Persistence across the Memory Bus

Research project exploring potential effects of emerging byte-addressable persistent memory technologies on software and systems design.

Project Overview

The last decade has seen many breakthroughs in byte-addressable persistent memory (PM) technologies such as phase change memory (PCM), magnetoresistive RAMs (MRAMs), memristors, and various forms of persistent hybrid memories such as NV-DIMMs. The consensus is that these technologies will provide the byte-addressability of DRAM with performance close to that of DRAM, while providing high-capacity, non-volatile storage. These technologies are poised to make their way into storage systems in a few years. Some, such as NV-DIMMs, already have begun market penetration.

The question is: how can software systems, enterprise systems in particular, leverage these technologies to drastically improve application performance? The Penumbra (Persistence across the Memory Bus) project is centered around answering this question. We are interested in building new system infrastructures, and rearchitecting existing ones, with the perspective of exploiting PMs for next generation enterprise systems.

Principal Investigator

Virendra Marathe

Consulting Member Technical Staff

I am a researcher in the Machine Learning Research Group at Oracle Labs.  These days I am studying Privacy Preserving Machine Learning, with emphasis on Federated Learning and Differential Privacy.  In the past I headed the Distributed Systems Group and the Penumbra project at Oracle Labs, where we studied distributed computing problems relevant to Oracle's Cloud infrastructure, and implications of emerging persistent memory technologies on enterprise software stacks respectively.  Before that, I was a member of the Scalable Synchronization Research Group, where we studied various aspects of concurrent programming, including concurrent algorithms, programming models, synchronization primitives, run time systems, languages, compiler and architectural support.

Education:

* Ph.D. Computer Science 2008, University of Rochester

Publications