AutoReplica: Automatic data replica manager in distributed caching and data processing systems

Nowadays, replication technique is widely used in data center storage systems for large scale Cyber-physical Systems (CPS) to prevent data loss. However, side-effect of replication is mainly the overhead of extra network and I/O traffics, which inevitably downgrades the overall I/O performance of the cluster. To effectively balance the trade-off between I/O performance and fault tolerance, in this paper, we propose a complete solution called “AutoReplica” — a replica manager in distributed caching and data processing systems with SSD-HDD tier storages. In detail, AutoReplica utilizes the remote SSDs (connected by high speed fibers) to replicate local SSD caches to protect data. In order to conduct load balancing among nodes and reduce the network overhead, we propose three approaches (i.e., ring, network, and multiple-SLA network) to automatically setup the cross-node replica structure with the consideration of network traffic, I/O speed and SLAs. To improve the performance during migrations triggered by load balance and failure recovery, we propose the a migrate-on-write technique called “fusion cache” to seamlessly migrate and prefetch among local and remote replicas without pausing the subsystem. Moreover, AutoReplica can also recover from different failure scenarios, while limits the performance downgrading degree. Lastly, AutoReplica supports parallel prefetching from multiple nodes with a new dynamic optimizing streaming technique to improve I/O performance. We are currently in the process of implementing AutoReplica to be easily plugged into commonly used distributed caching systems, and solidifying our design and implementation details.

[1]  Andrea C. Arpaci-Dusseau,et al.  Analysis of HDFS under HBase: a facebook messages case study , 2014, FAST.

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

[3]  Yi Jin,et al.  Research on the improvement of MongoDB Auto-Sharding in cloud environment , 2012, 2012 7th International Conference on Computer Science & Education (ICCSE).

[4]  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).

[5]  Jay Lee,et al.  A Cyber-Physical Systems architecture for Industry 4.0-based manufacturing systems , 2015 .

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

[7]  Yi Yao,et al.  SLA-aware data migration in a shared hybrid storage cluster , 2015, Cluster Computing.

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

[9]  Xiaoyun Zhu,et al.  VFRM: Flash Resource Manager in VMware ESX Server , 2014, 2014 IEEE Network Operations and Management Symposium (NOMS).

[10]  Dharmendra S. Modha,et al.  CAR: Clock with Adaptive Replacement , 2004, FAST.

[11]  Hatanaka Teruyoshi,et al.  Ferroelectric(Fe)-NAND Flash Memory with Non-volatile Page Buffer for Data Center Application Enterprise Solid-State Drives (SSD) , 2009 .

[12]  Xindong Wu,et al.  A Distributed Cache for Hadoop Distributed File System in Real-Time Cloud Services , 2012, 2012 ACM/IEEE 13th International Conference on Grid Computing.

[13]  Ningfang Mi,et al.  GREM: Dynamic SSD Resource Allocation In Virtualized Storage Systems With Heterogeneous VMs , 2015 .

[14]  Kristina Chodorow,et al.  MongoDB: The Definitive Guide , 2010 .

[15]  Nimrod Megiddo,et al.  ARC: A Self-Tuning, Low Overhead Replacement Cache , 2003, FAST.

[16]  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).

[17]  Qunying Huang,et al.  A replication strategy for a distributed high-speed caching system based on spatiotemporal access patterns of geospatial data , 2017, Comput. Environ. Urban Syst..

[18]  Dhabaleswar K. Panda,et al.  Triple-H: A Hybrid Approach to Accelerate HDFS on HPC Clusters with Heterogeneous Storage Architecture , 2015, 2015 15th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing.

[19]  Ken Takeuchi,et al.  Ferroelectric(Fe)-NAND flash memory with non-volatile page buffer for data center application enterprise Solid-State Drives (SSD) , 2009, 2009 Symposium on VLSI Circuits.

[20]  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).

[21]  Sachin Katti,et al.  Copysets: Reducing the Frequency of Data Loss in Cloud Storage , 2013, USENIX Annual Technical Conference.

[22]  Bruno Sinopoli,et al.  A Cyber–Physical Systems Approach to Data Center Modeling and Control for Energy Efficiency , 2012, Proceedings of the IEEE.