Blog

Minimally Ordered Durable Data Structures for Persistent Memory

MOD borrows the idea of functional programming to make atomic one or more updates. It’s C++ prototype performs better than software transaction memory (STM).

RFLUSH Rethink the Flush

RFLUSH implements a fine-grained flush command in a storage device using an open-source flash development platform to transfers a range of LBAs that need to be flushed and thus enables the storage device to force only a subset of data in its buffer.

Secure and Efficient Multitasking Inside a Single Enclave of Intel SGX

Occlum a system that enables secure and efficient multitasking on Intel Software Guard Extensions (SGX).

Learning-based Memory Allocation for C++ Server Workloads

Learning-based Memory Allocator combines modern machine learning techniques with a novel memory manager, Learned Lifetime-Aware Memory Allocator (LLAMA), that manages the heap based on object lifetimes and huge pages (divided into blocks and lines).

Classifying Memory Access Patterns for Prefetching

This work proposes a novel methodology to classify the memory access patterns of applications, enabling well-informed reasoning about the applicability of a certain prefetcher.

Rethinking Virtual Memory Translation for Parallelism

Elastic Cuckoo Page Table is a novel page table design that transforms the sequential pointer-chasing operation used by conventional multi-level radix page tables into fully-parallel look-ups.

Preparing System Software for a World with Terabyte-scale Memories

0sim simulates the behavior of system software (e.g. kernels) on huge-memory systems (e.g. terabytes of RAM).

Efficient Log-Structured Key-Value Storage Engine for Persistent Memory

FlatStore uses a log to save data into Persistent Memory. It can be applied to either a B-Tree index or Hash index.

Design and Implementation of a Fast Persistent Key-Value Store

KVell [pdf] avoids to save indexes on disk to maximize the performance of the KV store.

Buffer-Controlled Writes to HDDs for SSD-HDD Hybrid Storage Server

BCW is based on the finding that HDDs are usually underutilized in an SSD-HDD hybrid storage server while SSDs are suffering from high write pressure.

Efficient Fine-grained OS Support for Huge Pages

HawkEye demonstrates fine-grained OS support for huge pages, not fine-grained huge pages. The focus of this paper relies on when, where, and how to promote huge pages.

Paper Discussion 04/04/2019

Liangding Li