Talks and presentations

Bridging the New Memory Technologies with Computer Systems

May 20, 2020

Talk, Nanjing University, Department of Computer Science, Nanjing, China

Nowadays, the memory and storage systems have experienced significant technology shifts. Such technology promotions have motivated researchers to re-think and re-design the existing system organization and hardware architecture. This talk mainly shares our research experience of building up the connection between the existing computer hardware/software and the new memory/storage technologies, including the emerging non-volatile memory and the new types of NAND flash media. For example, the emerging Z-NAND flash exhibits a high memory density, retains a long lifetime and reduces the flash access latency from hundreds of microseconds to only a few microseconds, which becomes a promising candidate to replace the traditional DRAM. I will firstly introduce the research with the system-level characterization of the Z-NAND flash. I will explain our research efforts to make the existing server storage stack (from kernel to firmware) adaptive to the new flash technology. In addition, I will further shows how the new flash technology can change the current computer architecture to satisfy various demands.

FlashShare: Punching Through Server Storage Stack from Kernel to Firmware for Ultra-Low Latency SSDs

October 10, 2018

Talk, 13th USENIX Symposium on Operating Systems Design and Implementation, Carlsbad CA, USA

A modern datacenter server aims to achieve high energy efficiency by co-running multiple applications. Some of such applications (e.g., web search) are latency sensitive. Therefore, they require low-latency I/O services to fast respond to requests from clients. However, we observe that simply replacing the storage devices of servers with Ultra-Low-Latency (ULL) SSDs does not notably reduce the latency of I/O services, especially when co-running multiple applications. In this paper, we propose FlashShare to assist ULL SSDs to satisfy different levels of I/O service latency requirements for different co-running applications. Specifically, FlashShare is a holistic cross-stack approach, which can significantly reduce I/O interferences among co-running applications at a server without any change in applications. At the kernel-level, we extend the data structures of the storage stack to pass attributes of (co-running) applications through all the layers of the underlying storage stack spanning from the OS kernel to the SSD firmware. For given attributes, the block layer and NVMe driver of FlashShare differently manage the I/O scheduler and interrupt handler of NVMe. We also enhance the NVMe controller and cache layer at the SSD firmware-level, by dynamically partitioning DRAM in the ULL SSD and adjusting its caching strategies to meet diverse user requirements. The evaluation results demonstrate that FlashShare can shorten the average and 99th-percentile turnaround response times of co-running applications by 22% and 31%, respectively.