Document Type
Dissertation
Degree
Doctor of Philosophy (PhD)
Major/Program
Computer Science
First Advisor's Name
Raju Rangaswami
First Advisor's Committee Title
Committee Chair
Second Advisor's Name
Leonardo Babadilla
Second Advisor's Committee Title
Committee Member
Third Advisor's Name
Guang Quan
Third Advisor's Committee Title
Committee Member
Fourth Advisor's Name
Jason Liu
Fourth Advisor's Committee Title
Committee Member
Fifth Advisor's Name
Ning Xie
Fifth Advisor's Committee Title
Committee Member
Keywords
Computer Science
Date of Defense
3-31-2017
Abstract
In the past decade, we have seen two major evolutions on storage technologies: flash storage and non-volatile memory. These storage technologies are both vastly different in their properties and implementations than the disk-based storage devices that current soft- ware stacks and applications have been built for and optimized over several decades. The second major trend that the industry has been witnessing is new classes of applications that are moving away from the conventional ACID (SQL) database access to storage. The resulting new class of NoSQL and in-memory storage applications consume storage using entirely new application programmer interfaces than their predecessors. The most significant outcome given these trends is that there is a great mismatch in terms of both application access interfaces and implementations of storage stacks when consuming these new technologies.
In this work, we study the unique, intrinsic properties of current and next-generation storage technologies and propose new interfaces that allow application developers to get the most out of these storage technologies without having to become storage experts them- selves. We first build a new type of NoSQL key-value (KV) store that is FTL-aware rather than flash optimized. Our novel FTL cooperative design for KV store proofed to simplify development and outperformed state of the art KV stores, while reducing write amplification. Next, to address the growing relevance of byte-addressable persistent memory, we build a new type of KV store that is customized and optimized for persistent memory. The resulting KV store illustrates how to program persistent effectively while exposing a simpler interface and performing better than more general solutions. As the final component of the thesis, we build a generic, native storage solution for byte-addressable persistent memory. This new solution provides the most generic interface to applications, allow- ing applications to store and manipulate arbitrarily structured data with strong durability and consistency properties. With this new solution, existing applications as well as new “green field” applications will get to experience native performance and interfaces that are customized for the next storage technology evolution.
Identifier
FIDC001816
Creative Commons License
This work is licensed under a Creative Commons Attribution 4.0 License.
Recommended Citation
Marmol, Leonardo, "Customized Interfaces for Modern Storage Devices" (2017). FIU Electronic Theses and Dissertations. 3165.
https://digitalcommons.fiu.edu/etd/3165
Rights Statement
In Copyright. URI: http://rightsstatements.org/vocab/InC/1.0/
This Item is protected by copyright and/or related rights. You are free to use this Item in any way that is permitted by the copyright and related rights legislation that applies to your use. For other uses you need to obtain permission from the rights-holder(s).