Design, Formal Modeling, and Validation of Cloud Storage Systems using Maude
Data stores for cloud infrastructures provide limited consistency guarantees, which restricts the applicability of the cloud for many applications with strong consistency requirements, such as financial and medical information systems. Megastore is a replicated data store used in Google’s cloud infrastructure. Data are partitioned into entity groups, and consistency is only guaranteed if each transaction only accesses data from a single entity group. This paper extends Megastore to also provide consistency for transactions accessing data from multiple entity groups, thereby increasing the applicability of such cloud data stores. Our extension, Megastore-CGC, achieves this extra consistency without introducing significant additional message exchanges.We used the formal specification language and analysis tool Real-TimeMaude throughout the development of Megastore-CGC. We introduce Megastore-CGC, its Real-Time Maude specification, and show how Real-Time Maude can estimate the performance of Megastore-CGC and model check Megastore-CGC.