Show simple item record

dc.identifier.urihttp://hdl.handle.net/1951/59870
dc.identifier.urihttp://hdl.handle.net/11401/71419
dc.description.sponsorshipThis work is sponsored by the Stony Brook University Graduate School in compliance with the requirements for completion of degree.en_US
dc.formatMonograph
dc.format.mediumElectronic Resourceen_US
dc.language.isoen_US
dc.publisherThe Graduate School, Stony Brook University: Stony Brook, NY.
dc.typeDissertation
dcterms.abstractA good storage system provides efficient, flexible, and expressive abstractions that allow for more concise and non-specific code to be written at the application layer. However, because I/O operations can differ dramatically in performance, a variety of storage system designs have evolved differently to handle specific kinds of workloads and provide different sets of abstractions. For ex- ample, to overcome the gap between random and sequential I/O, databases, file systems, NoSQL database engines, and transaction managers have all come to rely on different on-storage data struc- tures. Therefore, they exhibit different transaction manager designs, offer different or incompatible abstractions, and perform well only for a subset of the universe of important workloads. Researchers have worked to coordinate and unify the various and different storage system de- signs used in operating systems. They have done so by porting useful abstractions from one system to another, such as by adding transactions to file systems. They have also done so by increasing the access and efficiency of important interfaces, such as by adding a write-ordering system call. These approaches are useful and valid, but rarely result in major changes to the canonical storage stack because the need for various storage systems to have different data structures for specific workloads ultimately remains. In this thesis, we find that the discrepancy and resulting complexity between various storage systems can be reduced by reducing the difference in their underlying data structures and transac- tional designs. This thesis explores two different designs of a consolidated storage system: one that extends file systems with transactions, and one that extends a widely used database data struc- ture with better support for scaling out to multiple devices, and transactions. Both efforts result in contributions to file systems and database design. Based in part on lessons learned from these experiences, we determined that to significantly reduce system complexity and unnecessary over- head, we must create transactional data structures with support for a wider range of workloads. We have designed a generalization of the log-structured merge-tree (LSM-tree) and coupled it with two novel extensions aimed to improve performance. Our system can perform sequential or file sys- tem workloads 2-5? faster than existing LSM-trees because of algorithmic differences and works at 1-2? the speed of unmodified LSM-trees for random workloads because of transactional log- ging differences. Our system has comparable performance to a pass-through FUSE file system and superior performance and flexibility compared to the storage engine layers of the widely used Cas- sandra and HBase systems; moreover, like log-structured file systems and databases, it eliminates unnecessary I/O writes, writing only once when performing I/O-bound asynchronous transactional workloads. It is our thesis that by extending the LSM-tree, we can create a viable and new alternative to the traditional read-optimized file system design that efficiently performs both random database and sequential file system workloads. A more flexible storage system can decrease demand for a plethora of specialized storage designs and consequently improve overall system design simplic- ity while supporting more powerful abstractions such as efficient file and key-value storage and transactions.
dcterms.available2013-05-22T17:35:37Z
dcterms.available2015-04-24T14:47:29Z
dcterms.contributorJohnson, Roberten_US
dcterms.contributorZadok, Erezen_US
dcterms.contributorPorter, Donalden_US
dcterms.contributorSeltzer, Margo I.en_US
dcterms.creatorSpillane, Richard Paul
dcterms.dateAccepted2013-05-22T17:35:37Z
dcterms.dateAccepted2015-04-24T14:47:29Z
dcterms.dateSubmitted2013-05-22T17:35:37Z
dcterms.dateSubmitted2015-04-24T14:47:29Z
dcterms.descriptionDepartment of Computer Scienceen_US
dcterms.extent167 pg.en_US
dcterms.formatApplication/PDFen_US
dcterms.formatMonograph
dcterms.identifierhttp://hdl.handle.net/1951/59870
dcterms.identifierSpillane_grad.sunysb_0771E_10857en_US
dcterms.identifierhttp://hdl.handle.net/11401/71419
dcterms.issued2012-05-01
dcterms.languageen_US
dcterms.provenanceMade available in DSpace on 2013-05-22T17:35:37Z (GMT). No. of bitstreams: 1 Spillane_grad.sunysb_0771E_10857.pdf: 2208302 bytes, checksum: 453951c75e949719fa18fb1ea3680fa8 (MD5) Previous issue date: 1en
dcterms.provenanceMade available in DSpace on 2015-04-24T14:47:29Z (GMT). No. of bitstreams: 3 Spillane_grad.sunysb_0771E_10857.pdf.jpg: 1894 bytes, checksum: a6009c46e6ec8251b348085684cba80d (MD5) Spillane_grad.sunysb_0771E_10857.pdf.txt: 471696 bytes, checksum: e8c38b14db6684f5ca8b5f8c5270ab48 (MD5) Spillane_grad.sunysb_0771E_10857.pdf: 2208302 bytes, checksum: 453951c75e949719fa18fb1ea3680fa8 (MD5) Previous issue date: 1en
dcterms.publisherThe Graduate School, Stony Brook University: Stony Brook, NY.
dcterms.subjectComputer science--Mathematics--Computer engineering
dcterms.subjectdatabase, key-value, LSM-tree, sequential optimization, snapshot isolation, transactional file system
dcterms.titleEfficient, Scalable, and Versatile Application and System Transaction Management for Direct Storage Layers
dcterms.typeDissertation


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record