ACStor

An adaptive and collaborative VDI storage system (ACStor)

View project on GitHub

Introduction

In virtualized data centers, virtual disk images (VDIs) serve as the containers in virtual environment, so their access performance is critical for the overall system performance. Some distributed VDI chunk storage systems have been proposed in order to alleviate the I/O bottleneck for VM management. As the system scales up to a large number of running VMs, however, the overall network traffic would become unbalanced with hot spots on some VMs inevitably, leading to I/O performance degradation when accessing the VMs. In this paper, we propose an adaptive and collaborative VDI storage system (ACStor) to resolve the above performance issue. In comparison to the existing research, our solution is able to dynamically balance the traffic workloads in accessing VDI chunks, based on the run-time network state. Specifically, compute nodes with lightly loaded traffic will be adaptively assigned more chunk access requests from remote VMs and vice versa, which can effectively eliminate the above problem and thus improves the I/O performance of VMs.

Architecture

Design Overview

design_overview

  • Private cache

The first-level cache is a private cache which is deployed in the local disk of compute node.

Each private cache employs copy-on-write (CoW) to serve a VM.

  • Public cache

Public cache (a.k.a., collaborative cache), which serves the reads sent from any VMs, works upon the read missing in the private cache.

VDIs are cached in public caches in the form of data chunks.

  • Image repository

Back-end storage, which ensures that the chunks are available in target hosts.

Adaptive Addressing Mode

addressing_mode

Mapping and Remapping

mapping_remapping

Support or Contact

ACStor is developed in the HUST SCTS&CGCL Lab. If you are interested in trying out ACStor in your cloud storage system, please contact the authors. You are also welcomed to commit your modification for support in the project's page in github.