EN FR
EN FR


Section: New Results

Storage architecture and adaptive consistency for clouds

Participants : Houssem-Eddine Chihoub, Gabriel Antoniu.

As more and more applications are becoming data-intensive, the design of a scalable storage architecture providing a huge file sharing and fine grain access with high throughput under heavy concurrency is a timely and relevant challenge.

In [24] , we introduce a storage architecture for Cloud computing. This architecture proposes efficient and scalable storage support for both VM images and application data. Our architecture relies on BlobSeer  [12] , a data sharing platform optimized for concurrent accesses, as a basic storage backend enhanced in term of quality of service and efficiency by GloBeM tool  [61] that rely on behavior modeling and monitoring to avoid bad case scenarios. The architecture uses this approach to have a better and efficient storage VM images, that allow a faster image deployment and efficient versioning and snapshotting. Furthermore, the architecture provides a platform to store, manage, and share cloud application data allowing several key features to clouds such as storage elasticity.

The main aim is to provide high availability and good scalable performance at low cost. This is justified by the growing need of data-intensive applications for managing huge sets of data replicated over several data centers. In order to provide good performance and high availability, data replication is mandatory. But this generates the issue of replicas consistency as shown by the CAP theorem  [52] . To achieve the aforementioned goals, relaxing consistency rules is unavoidable. On the other hand, opting for weaker consistency, all the time, can be too costly.

In current work we leverage the trade-off between consistency and availability and performance. We are investigating an approach that changes the consistency level at runtime considering system and application needs. In order to choose the most suitable consistency level, our approach monitor the storage system and collect useful information, such as network load and applications access patterns, that enable the system to estimate the amount of expected stale reads.