Cloud computing is an elastic computing model where users can lease computing and storage resources on demand from a remote infrastructure. It is gaining popularity due to its low cost, high reliability, and wide availability. With the emergence of public cloud storage platforms like Amazon, Microsoft, and Google, individual applications and enterprise storage are being deployed on Clouds. However, a serious impediment to its wider deployment is the relative lack of effective data management services. Our experiments, as well as industry reports, have shown that the performance and service-level agreement (SLA) cannot be guaranteed when the data is served over public Clouds. The relatively slow access to persistent data and large variability in cloud storage I/O performance can significantly degrade the performance of data-intensive applications. This paper addresses the issue of I/O performance fluctuation over public cloud platforms and we propose a middleware called CloudMW between the Cloud storage and clients to provide the storage services with better performance and SLA satisfaction. Some technologies, including data virtualization, data chunking, caching, and replication, are integrated into CloudMW to achieve a more stable and predictable performance, and permit flexible sharing of storage among the virtual machines (VMs). Experimental results based on Amazon Web Services (AWS) show that CloudMW is able to improve the stability and help provide better SLAs and data sharing for cloud storage.
X-Code is one of the most important redundant array of independent disk (RAID)-6 codes which are capable of tolerating double disk failures. However, the code length of X-Code is restricted to be a prime number, and such code length restriction of X-Code limits its usage in the real storage systems. Moreover, as a vertical RAID-6 code, X-Code can not be extended easily to an arbitrary code length like horizontal RAID-6 codes. In this paper, a novel and efficient code shortening algorithm for X-Code is proposed to extend X-Code to an arbitrary length. It can be further proved that the code shortening algorithm maintains the maximum-distance-separable (MDS) property of X-Code, and namely, the shortened X-Code is still MDS code with the optimal space efficiency. In the context of the shortening algorithm for X-Code, an in-depth performance analysis on X-Code at consecutive code lengths is conducted, and the impacts of the code shortening algorithm on the performance of X-Code in various performance metrics are revealed.