Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/2463676.2465326acmconferencesArticle/Chapter ViewAbstractPublication PagesmodConference Proceedingsconference-collections
research-article

X-FTL: transactional FTL for SQLite databases

Published: 22 June 2013 Publication History

Abstract

In the era of smartphones and mobile computing, many popular applications such as Facebook, twitter, Gmail, and even Angry birds game manage their data using SQLite. This is mainly due to the development productivity and solid transactional support. For transactional atomicity, however, SQLite relies on less sophisticated but costlier page-oriented journaling mechanisms. Hence, this is often cited as the main cause of tardy responses in mobile applications.
Flash memory does not allow data to be updated in place, and the copy-on-write strategy is adopted by most flash storage devices. In this paper, we propose X-FTL, a transactional flash translation layer(FTL) for SQLite databases. By offloading the burden of guaranteeing the transactional atomicity from a host system to flash storage and by taking advantage of the copy-on-write strategy used in modern FTLs, X-FTL drastically improves the transactional throughput almost for free without resorting to costly journaling schemes. We have implemented X-FTL on an SSD development board called OpenSSD, and modified SQLite and ext4 file system minimally to make them compatible with the extended abstractions provided by X-FTL. We demonstrate the effectiveness of X-FTL using real and synthetic SQLite workloads for smartphone applications, TPC-C benchmark for OLTP databases, and FIO benchmark for file systems.

References

[1]
OSDL Database Test 2(DBT-2). http://osdldbt.sourceforge.net.
[2]
RL Benchmark:SQLite. http://redlicense.com/.
[3]
OpenSSD Project. http://goo.gl/J0Ts5, 2011.
[4]
Atomic Commit In SQLite. http://www.sqlite.org/atomicommit.html, 2012.
[5]
Embedded Multi-Media Card (eMMC), Electrical Standard (4.5.1). http://www.jedec.org, Jun 2012.
[6]
Write-Ahead Logging. http://www.sqlite.org/wal.html, 2012.
[7]
YAFFS: A NAND-Flash Filesystem. http://www.yaffs.net/, 2012.
[8]
J. Axboe. FIO (Flexible IO Tester). http://git.kernel.dk/?p=fio.git;a=summary.
[9]
A. Ban. Flash file system, Apr 1995. US Patent 5,404,485.
[10]
V. Chidambaram, T. Sharma, A. C. Arpaci-Dusseau, and R. H. Arpaci-Dusseau. Consistency Without Ordering. In Proceedings of USENIX conference on File and Storage Technologies (FAST '12), pages 101--116, 2012.
[11]
H. Kim, N. Agrawal, and C. Ungureanu. Revisiting storage for smartphones. In Proceedings of USENIX conference on File and Storage Technologies (FAST'12), 2012.
[12]
K. Lee and Y. Won. Smart Layers and Dumb Result: IO Characterization of an Android-Based Smartphone. In Proceedings of ACM EMSOFT, pages 23--32, 2012.
[13]
S.-W. Lee, D.-J. Park, T.-S. Chung, D.-H. Lee, S. Park, and H.-J. Song. A Log Buffer-based Flash Translation Layer using Fully-associative Sector Translation. ACM Transactions on Embedded Computing Systems, 6(3):18, 2007.
[14]
S. T. Leutenegger and D. Dias. A Modeling Study of the TPC-C Benchmark. In Proceedings of ACM SIGMOD, pages 22--31, 1993.
[15]
R. A. Lorie. Physical Integrity in a Large Segmented Database. ACM Transactions on Database Systems, 2(1):91--104, Mar 1977.
[16]
C. Mohan. Disk Read-Write Optimizations and Data Integrity in Transaction Systems Using Write-Ahead Logging. In Proceedings of ICDE, pages 324--331, 1995.
[17]
X. Ouyang, D. W. Nellans, R. Wipfel, D. Flynn, and D. K. Panda. Beyond Block I/O: Rethinking Traditional Storage Primitives. In Proceedings of International Conference on High-Performance Computer Architecture (HPCA '11), pages 301--311, 2011.
[18]
S. Park, J. H. Yu, and S. Y. Ohm. Atomic Write FTL for Robust Flash File System. In Proceedings of the Ninth International Symposium on Consumer Electronics (ISCE 2005), pages 155 -- 160, Jun 2005.
[19]
V. Prabhakaran, A. C. Arpaci-Dusseau, and R. H. Arpaci-Dusseau. Analysis and Evolution of Journaling File Systems. In Proceedings of USENIX Annual Technical Conference, pages 105--120, 2005.
[20]
V. Prabhakaran, T. L. Rodeheffer, and L. Zhou. Transactional Flash. In Proceedings of Symposium on Operating Systems Design and Implementation (OSDI), pages 147--160, 2008.
[21]
M. Rosenblum and J. K. Ousterhout. The Design and Implementation of a Log-Structured File System. ACM Transactions on Computer Systems, 10(1):26--52, Feb 1992.
[22]
M. Steigerwald. Working with Write Barriers and Journaling File Systems. Imposing Order. Linux Journal, May 2007.
[23]
A. Sweeney, D. Doucette, W. Hu, C. Anderson, M. Nishimoto, and G. Peck. Scalability in the XFS File System. In Proceedings of USENIX Annual Technical Conference, pages 1--14, 1996.
[24]
S. C. Tweedie. Journaling the Linux ext2fs File System. In Proceedings of Annual Linux Expo (LinuxExpo '98), 1998.
[25]
D. Woodhouse. JFFS: The Journaling Flash File System. In Proceedings of the Ottawa Linux Symposium, 2001.

Cited By

View all
  • (2024)LazyBarrier: Reconstructing Android IO Stack for Barrier-Enabled Flash StorageProceedings of the 29th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Volume 210.1145/3620665.3640370(601-615)Online publication date: 27-Apr-2024
  • (2024)Eliminating Storage Management Overhead of Deduplication over SSD Arrays Through a Hardware/Software Co-DesignProceedings of the 29th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Volume 210.1145/3620665.3640368(320-335)Online publication date: 27-Apr-2024
  • (2024)CaitiJournal of Systems Architecture: the EUROMICRO Journal10.1016/j.sysarc.2024.103109150:COnline publication date: 1-May-2024
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
SIGMOD '13: Proceedings of the 2013 ACM SIGMOD International Conference on Management of Data
June 2013
1322 pages
ISBN:9781450320375
DOI:10.1145/2463676
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 22 June 2013

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. copy-on-write
  2. flash storage devices
  3. flash translation layer
  4. sqlite
  5. transactional atomicity

Qualifiers

  • Research-article

Conference

SIGMOD/PODS'13
Sponsor:

Acceptance Rates

SIGMOD '13 Paper Acceptance Rate 76 of 372 submissions, 20%;
Overall Acceptance Rate 785 of 4,003 submissions, 20%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)48
  • Downloads (Last 6 weeks)3
Reflects downloads up to 11 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2024)LazyBarrier: Reconstructing Android IO Stack for Barrier-Enabled Flash StorageProceedings of the 29th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Volume 210.1145/3620665.3640370(601-615)Online publication date: 27-Apr-2024
  • (2024)Eliminating Storage Management Overhead of Deduplication over SSD Arrays Through a Hardware/Software Co-DesignProceedings of the 29th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Volume 210.1145/3620665.3640368(320-335)Online publication date: 27-Apr-2024
  • (2024)CaitiJournal of Systems Architecture: the EUROMICRO Journal10.1016/j.sysarc.2024.103109150:COnline publication date: 1-May-2024
  • (2023)LUNAR: A Native Table Engine for Embedded DevicesProceedings of the 24th ACM SIGPLAN/SIGBED International Conference on Languages, Compilers, and Tools for Embedded Systems10.1145/3589610.3596276(122-133)Online publication date: 13-Jun-2023
  • (2023)Efficient Crash Consistency for NVMe over PCIe and RDMAACM Transactions on Storage10.1145/356842819:1(1-35)Online publication date: 11-Jan-2023
  • (2023)Transparent File Deduplication with Reduced Update Cost on Encryption Enabled Mobile Devices2023 IEEE 29th International Conference on Parallel and Distributed Systems (ICPADS)10.1109/ICPADS60453.2023.00276(2025-2032)Online publication date: 17-Dec-2023
  • (2023)Asynchronous and Adaptive Checkpoint for WAL-based Data Storage Systems2023 IEEE 29th International Conference on Parallel and Distributed Systems (ICPADS)10.1109/ICPADS60453.2023.00179(1238-1245)Online publication date: 17-Dec-2023
  • (2022)In-page shadowing and two-version timestamp ordering for mobile DBMSsProceedings of the VLDB Endowment10.14778/3551793.355180215:11(2402-2414)Online publication date: 1-Jul-2022
  • (2022)Embedded Transaction Support Inside SSD With Small-Capacity Non-Volatile Disk CacheIEEE Transactions on Knowledge and Data Engineering10.1109/TKDE.2020.300451834:5(2148-2163)Online publication date: 1-May-2022
  • (2022)Understanding and Exploiting the Full Potential of SSD Address RemappingIEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems10.1109/TCAD.2022.314461741:11(5112-5125)Online publication date: Nov-2022
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media