Isolation in Cloud Storage
Shin, Ji Yong
Due to the presence of large and heterogeneous user workloads and concurrent I/O requests, it is important to guarantee isolation in cloud storage systems. This dissertation explores isolation in cloud storage systems and makes fundamental contributions that advance the state of the art in supporting such isolation. Specifically, this dissertation focuses on three key areas necessary for isolation in cloud storage systems: performance isolation, transactional isolation, and fine-grained consistency control. Regarding the first, performance isolation, resource contention in storage systems is often unavoidable under concurrent users and the contention allows a user to affect the performance experienced by other users. In particular, a single user can easily degrade the performance for all other users in a disk-based system because the disk performance is inherently susceptible to random I/O requests. Second, to maintain consistent data states under concurrent I/O requests, systems have implemented transactional isolation in high layers of the storage stack. However, different implementations in high layers of the storage stack make the support for transactional isolation redundant and transactions executed by different applications incompatible with each other. Thus, portable and compatible transactional isolation is required, as well as reconsideration of the layers of the storage stack in which transactional isolation should be placed. Finally, distributed systems often provide per-client views of the system by using client-centric consistency semantics to trade off consistency and performance. While cloud storage servers have tens of parallel storage devices and CPU cores, which make the server comparable to a distributed system, the potential trade-off between consistency and performance within a server has never been explored. We subsequently make three contributions embodied in approaches to addressing various isolation challenges. First, we present an approach that achieves performance isolation by resolving I/O contention using a chained-logging design. The chained-logging design retains at least one disk for sequentially logging without I/O contention even under garbage collection and systematically separates read and write operations to different disks. We implemented an instance of the approach in a system called Gecko. Second, we investigate an approach for block-level transactions that support portable and compatible transactional isolation. The block-level transaction facilitates transactional application designs in any layer of the storage stack and enables cross-application transactions. We implemented an instance of the approach in a system called Isotope. Finally, we define a new class of systems called StaleStore, which can trade off consistency and performance within a server using stale data, and we study the necessary functionality and interface to take advantage of this trade-off. Yogurt, an instance of StaleStore, explores different versions of data and estimates the access cost for each version under client-centric consistency semantics to trade off consistency and performance within a server. Together, these three approaches are important steps towards isolation in cloud storage systems.
Computer science; Cloud; Consistency Control; Isolation; Performance Isolation; Storage System; Transactional Isolation
Suh, Gookwon Edward; Myers, Andrew C.
PHD of Computer Science
Doctor of Philosophy
dissertation or thesis