Energy-Efficient I/O Thread Schedulers for NVMe SSDs on NUMA

Non-volatile memory express (NVMe) based SSDs and the NUMA platform are widely adopted in servers to achieve faster storage speed and more powerful processing capability. As of now, very little research has been conducted to investigate the performance and energy efficiency of the state-of-the-art NUMA architecture integrated with NVMe SSDs, an emerging technology used to host parallel I/O threads. As this technology continues to be widely developed and adopted, we need to understand the runtime behaviors of such systems in order to design software runtime systems that deliver optimal performance while consuming only the necessary amount of energy. This paper characterizes the runtime behaviors of a Linux-based NUMA system employing multiple NVMe SSDs. Our comprehensive performance and energy-efficiency study using massive numbers of parallel I/O threads shows that the penalty due to CPU contention is much smaller than that due to remote access of NVMe SSDs. Based on this insight, we develop a dynamic "lesser evil" algorithm called ESN, to minimize the impact of these two types of penalties. ESN is an energy-efficient profiling-based I/O thread scheduler for managing I/O threads accessing NVMe SSDs on NUMA systems. Our empirical evaluation shows that ESN can achieve optimal I/O throughput and latency while consuming up to 50% less energy and using fewer CPUs.

[1]  Amber Huffman,et al.  The Nonvolatile Memory Transformation of Client Storage , 2013, Computer.

[2]  Haoqiang Zheng,et al.  Power Aware NUMA Scheduler in VMware's ESXi Hypervisor , 2015, 2015 IEEE International Symposium on Workload Characterization.

[3]  Chao Sun,et al.  Design guidelines of storage class memory based solid-state drives to balance performance, power, endurance, and cost , 2015 .

[4]  Kwanghyun La,et al.  Cgroup++: Enhancing I/O Resource Management of Linux Cgroup on NUMA Systems with NVMe SSDs , 2015, Middleware Posters and Demos.

[5]  Jeffrey S. Vetter,et al.  Quantifying NUMA and contention effects in multi-GPU systems , 2011, GPGPU-4.

[6]  Corey Gough,et al.  Memory and I/O Power Management , 2015 .

[7]  Steve Goddard,et al.  Online energy-aware I/O device scheduling for hard real-time systems , 2006, Proceedings of the Design Automation & Test in Europe Conference.

[8]  Krishna Kant,et al.  SmartCon: SmartCon: Smart Context Switching for Fast Storage Devices , 2015, ACM Trans. Storage.

[9]  Philippe Bonnet,et al.  Linux block IO: introducing multi-queue SSD access on multi-core systems , 2013, SYSTOR '13.

[10]  Heon Young Yeom,et al.  Optimizing file systems for fast storage devices , 2015, SYSTOR.

[11]  Jun Li,et al.  Quartz: A Lightweight Performance Emulator for Persistent Memory Software , 2015, Middleware.

[12]  Mrinmoy Ghosh,et al.  Performance analysis of NVMe SSDs and their implication on real world databases , 2015, SYSTOR.

[13]  Steven Swanson,et al.  A study of application performance with non-volatile main memory , 2015, 2015 31st Symposium on Mass Storage Systems and Technologies (MSST).

[14]  Yan Solihin,et al.  Non-volatile memory host controller interface performance analysis in high-performance I/O systems , 2015, 2015 IEEE International Symposium on Performance Analysis of Systems and Software (ISPASS).

[15]  Steven Swanson,et al.  DC express: shortest latency protocol for reading phase change memory over PCI express , 2014, FAST.

[16]  Yuanyuan Zhou,et al.  Managing energy-performance tradeoffs for multithreaded applications on multiprocessor architectures , 2007, SIGMETRICS '07.

[17]  Heon Y. Yeom,et al.  Energy-Aware I/O Scheduler for Flash Drives , 2014, 2014 International Conference on Information Science & Applications (ICISA).

[18]  Ravi Iyer,et al.  Cache QoS: From concept to reality in the Intel® Xeon® processor E5-2600 v3 product family , 2016, 2016 IEEE International Symposium on High Performance Computer Architecture (HPCA).

[19]  Padma Raghavan,et al.  NUMA-aware graph mining techniques for performance and energy efficiency , 2012, 2012 International Conference for High Performance Computing, Networking, Storage and Analysis.

[20]  Rong Ge,et al.  SERA-IO: Integrating Energy Consciousness into Parallel I/O Middleware , 2012, 2012 12th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing (ccgrid 2012).

[21]  Daniel Andresen,et al.  Jade: Reducing Energy Consumption of Android App , 2015, Int. J. Networked Distributed Comput..

[22]  Angelos Bilas,et al.  NUMA Implications for Storage I / O Throughput in Modern Servers , 2012 .

[23]  Vivien Quéma,et al.  Thread and Memory Placement on NUMA Systems: Asymmetry Matters , 2015, USENIX Annual Technical Conference.

[24]  Daniel Andresen,et al.  An energy-saving task scheduler for mobile devices , 2015, 2015 IEEE/ACIS 14th International Conference on Computer and Information Science (ICIS).

[25]  Thomas R. Gross,et al.  Memory management in NUMA multicore systems: trapped between cache contention and interconnect overhead , 2011, ISMM '11.

[26]  Thomas Ilsche,et al.  An Energy Efficiency Feature Survey of the Intel Haswell Processor , 2015, 2015 IEEE International Parallel and Distributed Processing Symposium Workshop.

[27]  Kaladhar Voruganti,et al.  An empirical study of file systems on NVM , 2015, 2015 31st Symposium on Mass Storage Systems and Technologies (MSST).

[28]  Dutch T. Meyer,et al.  Strata: scalable high-performance storage on virtualized non-volatile memory , 2014, FAST.

[29]  Sanjay Kumar,et al.  System software for persistent memory , 2014, EuroSys '14.