Leonardo Marmol Amador
School of Computing And Information Sciences
Leonardo Marmol is a Ph.D. candidate in the School of Computer and Information Sciences at FIU under the supervision of Dr. Raju Rangaswami. He received his B.Sc. in Computer Science in August 2011 also from FIU. His research interests include Operating Systems, Storage Systems, and Caching. His current research focuses on optimized interfaces for modern storage systems based on NAND flash and Non-Volatile Memory technologies.
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 ap- plication 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 amplifica- tion. 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 sim- pler interface and performing better than more general solutions. As the final component of the thesis, we propose to build a generic, native storage solution for byte-addressable persistent memory. This new solution provides the most generic interface to applications, allowing applications to store and manipulate arbitrarily structured data with strong dura- bility 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.