Advancement: Logging in Persistent Memory

Speaker Name: 
Mengjie Li
Speaker Title: 
Ph.D. Student
Start Time: 
Thursday, December 5, 2019 - 3:00pm
Location: 
Baskin Engineering Building, Room 330

Abstract:
Persistent memory has the benefits of both memory and storage devices. It
is as fast as main memory and supports data persistence as a secondary
storage device. However, data persistence cannot be achieved by simply
placing data into a non-volatile memory device. A data persistence
mechanism is required to correctly order persistent memory writes. Logging
is a commonly used mechanism to support data persistence. It first commits
the log in persistent memory and then updates the original data in place.
Recent studies suggest that the log should not be cached due to its poor
temporal locality. Unfortunately, current hardware components, such as
write combining buffers, are unable to support cache bypassing efficiently.
Our experiment results show there are three major reasons. First, partial
writes in write combining buffers (WCBs) underutilize the data bus. Second,
uncacheable write instructions can only serve limited types of data. Last,
excessive workloads cause memory controller congestion problems.

The first two problems can be resolved by choosing proper cache bypassing interface
and the uncacheable writes workload respectively. To address the third issue, we
propose different methods to monitor and analyze the programs based on their
performance requirements and the measurement overhead. Then we calculate the
optimal amount of uncacheable writes that can improve the performance without causing
memory controller congestion.

Event Type: 
Adancement/Defense
Advisor: 
Professors Jishen Zhao (UCSD) & Ethan Miller
Graduate Program: 
Computer Engineering Ph.D.