Development of a File System based on Phase Change Memory to Support more than 200,000 IOPS for Peta-scale Computing (2011 - 2012)

May 1, 2011 · 1 min read
Research Grant, Ministry of Knowledge Economy (MKE) of Republic of Korea, Seoul National University, South Korea
Research Assistant, May 2011 ~ August 2012

Overview

Research on optimizing the Linux 2.6.32 file I/O path to better support high performance storage devices, projected to be using new memory technologies. Performed profiling and optimization activities with the Linux 2.6.32 page cache & block layer code using a high-performance PCI-e 2.0 SSD backed with a large DRAM array. Fixed performance degradation when read-ahead was enabled (20%~30%) by patching the read-ahead code in the page cache which deals with multiple sequential streams. Results reported in HotStorage’12 and TOCS. Found unnecessary memory copies with DMA pages residing above the 32 bit limit (non DMA32 pages). In response, developed a new type of page cache code which places the page cache under the 32 bit limit to eliminate the additional memory copies. Total 3.6k LoC patched for additional functionality.

Technology

  • Linux Kernel 2.6.32
  • Custom Linux Kernel Device Drivers for PCI-e SSDs
  • DRAM based SSDs (engineering samples)

Publications