AutoTiering: Automatic data placement manager in multi-tier all-flash datacenter

In the year of 2017, the capital expenditure of Flash-based Solid State Drivers (SSDs) keeps declining and the storage capacity of SSDs keeps increasing. As a result, the “selling point” of traditional spinning Hard Disk Drives (HDDs) as a backend storage — low cost and large capacity — is no longer unique, and eventually they will be replaced by low-end SSDs which have large capacity but perform orders of magnitude better than HDDs. Thus, it is widely believed that all-flash multi-tier storage systems will be adopted in the enterprise datacenters in the near future. However, existing caching or tiering solutions for SSD-HDD hybrid storage systems are not suitable for all-flash storage systems. This is because that all-flash storage systems do not have a large speed difference (e.g., 10x) among each tier. Instead, different specialties (such as high performance, high capacity, etc.) of each tier should be taken into consideration. Motivated by this, we develop an automatic data placement manager called “AutoTiering” to handle virtual machine disk files (VMDK) allocation and migration in an all-flash multitier datacenter to best utilize the storage resource, optimize the performance, and reduce the migration overhead. AutoTiering is based on an optimization framework, whose core technique is to predict VM's performance change on different tiers with different specialties without conducting real migration. As far as we know, AutoTiering is the first optimization solution designed for all-flash multi-tier datacenters. We implement AutoTiering on VMware ESXi [1], and experimental results show that it can significantly improve the I/O performance compared to existing solutions.

[1]  Bo Li,et al.  iAware: Making Live Migration of Virtual Machines Interference-Aware in the Cloud , 2014, IEEE Transactions on Computers.

[2]  Michel Dubois,et al.  Self-correcting LRU replacement policies , 2004, CF '04.

[3]  Bo Sheng,et al.  GReM: Dynamic SSD resource allocation in virtualized storage systems with heterogeneous IO workloads , 2016, 2016 IEEE 35th International Performance Computing and Communications Conference (IPCCC).

[4]  Andreas Wolke,et al.  Virtual machine re-assignment considering migration overhead , 2012, 2012 IEEE Network Operations and Management Symposium.

[5]  Himabindu Pucha,et al.  Cost Effective Storage using Extent Based Dynamic Tiering , 2011, FAST.

[6]  Ali Raza Butt,et al.  hatS: A Heterogeneity-Aware Tiered Storage for Hadoop , 2014, 2014 14th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing.

[7]  Miriam Leeser,et al.  Accelerating big data applications using lightweight virtualization framework on enterprise cloud , 2017, 2017 IEEE High Performance Extreme Computing Conference (HPEC).

[8]  Siyuan Ma,et al.  S-CAVE: Effective SSD caching to improve virtual machine storage performance , 2013, Proceedings of the 22nd International Conference on Parallel Architectures and Compilation Techniques.

[9]  Jerome A. Rolia,et al.  Resource pool management: Reactive versus proactive or let's be friends , 2009, Comput. Networks.

[10]  Fei Meng,et al.  vCacheShare: Automated Server Flash Cache Space Management in a Virtualization Environment , 2014, USENIX Annual Technical Conference.

[11]  Miriam Leeser,et al.  FIM: Performance Prediction for Parallel Computation in Iterative Data Processing Applications , 2017, 2017 IEEE 10th International Conference on Cloud Computing (CLOUD).

[12]  Xiaoyun Zhu,et al.  Improving Flash Resource Utilization at Minimal Management Cost in Virtualized Flash-Based Storage Systems , 2017, IEEE Transactions on Cloud Computing.

[13]  Yuanyuan Zhou,et al.  The Multi-Queue Replacement Algorithm for Second Level Buffer Caches , 2001, USENIX Annual Technical Conference, General Track.

[14]  Gerhard Weikum,et al.  The LRU-K page replacement algorithm for database disk buffering , 1993, SIGMOD Conference.

[15]  Mohammad Arjomand,et al.  Reducing access latency of MLC PCMs through line striping , 2014, 2014 ACM/IEEE 41st International Symposium on Computer Architecture (ISCA).

[16]  Laszlo A. Belady,et al.  A Study of Replacement Algorithms for Virtual-Storage Computer , 1966, IBM Syst. J..

[17]  Sang Lyul Min,et al.  LRFU: A Spectrum of Policies that Subsumes the Least Recently Used and Least Frequently Used Policies , 2001, IEEE Trans. Computers.

[18]  Teng Wang,et al.  EA2S2: An Efficient Application-Aware Storage System for Big Data Processing in Heterogeneous Clusters , 2017, 2017 26th International Conference on Computer Communication and Networks (ICCCN).

[19]  Jiayin Wang,et al.  AutoReplica: Automatic data replica manager in distributed caching and data processing systems , 2016, 2016 IEEE 35th International Performance Computing and Communications Conference (IPCCC).

[20]  Yufeng Wang,et al.  Improving Virtual Machine Migration via Deduplication , 2014, 2014 IEEE 11th International Conference on Mobile Ad Hoc and Sensor Systems.

[21]  Thomas N. Theis,et al.  The End of Moore's Law: A New Beginning for Information Technology , 2017, Computing in Science & Engineering.

[22]  Ningfang Mi,et al.  H-NVMe: A hybrid framework of NVMe-based storage system in cloud computing environment , 2017, 2017 IEEE 36th International Performance Computing and Communications Conference (IPCCC).

[23]  Dennis Shasha,et al.  2Q: A Low Overhead High Performance Buffer Management Replacement Algorithm , 1994, VLDB.

[24]  Mrinmoy Ghosh,et al.  A Fresh Perspective on Total Cost of Ownership Models for Flash Storage in Datacenters , 2016, 2016 IEEE International Conference on Cloud Computing Technology and Science (CloudCom).

[25]  Ningfang Mi,et al.  Understanding performance of I/O intensive containerized applications for NVMe SSDs , 2016, 2016 IEEE 35th International Performance Computing and Communications Conference (IPCCC).

[26]  Ziqi Fan,et al.  H-ARC: A non-volatile memory based cache policy for solid state drives , 2014, 2014 30th Symposium on Mass Storage Systems and Technologies (MSST).

[27]  Steven Swanson,et al.  Rethinking Flash in the Data Center , 2010, IEEE Micro.

[28]  Mithuna Thottethodi,et al.  SieveStore: a highly-selective, ensemble-level disk cache for cost-performance , 2010, ISCA '10.