skip to main content
10.1145/1755913.1755915acmconferencesArticle/Chapter ViewAbstractPublication PageseurosysConference Proceedingsconference-collections
research-article

Using transparent compression to improve SSD-based I/O caches

Published: 13 April 2010 Publication History

Abstract

Flash-based solid state drives (SSDs) offer superior performance over hard disks for many workloads. A prominent use of SSDs in modern storage systems is to use these devices as a cache in the I/O path. In this work, we examine how transparent, online I/O compression can be used to increase the capacity of SSD-based caches, thus increasing the costeffectiveness of the system. We present FlaZ, an I/O system that operates at the block-level and is transparent to existing file-systems. To achieve transparent, online compression in the I/O path and maintain high performance, FlaZ, provides support for variable-size blocks, mapping of logical to physical blocks, block allocation, and cleanup. FlaZ, mitigates compression and decompression overheads that can have a significant impact on performance by leveraging modern multicore CPUs. We implement FlaZ, in the Linux kernel and evaluate it on a commodity server with multicore CPUs, using TPC-H, PostMark, and SPECsfs. Our results show that compressed caching trades off CPU cycles for I/O performance and enhances SSD efficiency as a cache by up to 99%, 25%, and 11% for each workload, respectively.

References

[1]
FuseCompress, a Linux file-system that transparently compresses its contents. http://miio.net/wordpress/projects/fusecompress.
[2]
Fusion-io's Solid State Storage -- A New Standard for Enterprise-Class Reliability. http://www.dpie.com/manuals/storage/fusionio/Whitepaper Solidstatestorage2.pdf.
[3]
SPECsfs2008: SPEC's benchmark designed to evaluate the speed and request-handling capabilities of file servers utilizinga the NFSv3 and CIFS protocols. http://www.spec.org/sfs2008/.
[4]
ADAPTEC, INC. Adaptec MaxIQ SSD Cache Performance Kit. www.adaptec.com/en-US/products/CloudComputing/-MaxIQ/SSD-Cache-Performance/index.htm.
[5]
AGRAWAL, N., PRABHAKARAN, V., WOBBER, T., DAVIS, J. D., MANASSE, M., AND PANIGRAHY, R. Design tradeoffs for SSD performance. In ATC'08: USENIX 2008 Annual Technical Conference on Annual Technical Conference (2008), pp. 57--70.
[6]
ALEPH ONE LTD, EMBEDDED DEBIAN. Yaffs: A NANDFlash Filesystem. www.yaffs.net, 2002.
[7]
APPEL, A. W., AND LI, K. Virtual memory primitives for user programs. SIGPLAN Not. 26, 4 (1991), 96--107.
[8]
AYERS, L. E2compr: Transparent File Compression for Linux . http://e2compr.sourceforge.net/, June 1997.
[9]
BOBBARJUNG, D. R., JAGANNATHAN, S., AND DUBNICKI, C. Improving duplicate elimination in storage systems. Trans. Storage 2, 4 (2006), 424--448.
[10]
BONWICK, J., AND MOORE, B. ZFS: The Last Word in File Systems. http://opensolaris.org/os/community/zfs/.
[11]
BURROWS, M., JERIAN, C., LAMPSON, B., AND MANN, T. On-line data compression in a log-structured file system. In Proc. of ASPLOS--V (1992), ACM, pp. 2--9.
[12]
CATE, V., AND GROSS, T. Combining the concepts of compression and caching for a two--level filesystem. In Proc. of ASPLOS-IV (1991), ACM, pp. 200--211.
[13]
COFFING, C., AND BROWN, J. H. A survey of modern file compression techniques, Oct. 1997.
[14]
CORMACK, G. V. Data compression on a database system. Commun. ACM 28, 12 (1985), 1336---1342.
[15]
DEUTSCH, L. P., AND GAILLY, J. ZLIB Compressed Data Format Specification version 3.3. Internet RFC 1950, May 1996.
[16]
DIRIK, C., AND JACOB, B. The performance of PC solidstate disks (SSDs) as a function of bandwidth, concurrency, device architecture, and system organization. In Proc. of ISCA '09 (2009), ACM, pp. 279---289.
[17]
DOUGLIS, F. On the role of compression in distributed systems. In Proc. of ACM SIGOPS, EW 5 (1992), pp. 1--6.
[18]
DOUGLIS, F. The Compression Cache: Using On-line Compression to Extend Physical Memory. In Proc. of 1993 Winter USENIX Conference (1993), pp. 519--529.
[19]
ENGEL, J., AND MERTENS, R. LogFS -- finally a scalable flash file system. http://logfs.org/logfs/.
[20]
GUPTA, N. Compcache: Compressed in-memory swap device for Linux. http://code.google.com/p/compcache.
[21]
KATCHER, J. PostMark: A New File System Benchmark. NetAPP TR3022 (1997). http://www.netapp.com/tech library/3022.html.
[22]
KGIL, T., AND TREVOR, M. FlashCache: A NAND Flash Memory File Cache for Low Power Web Servers. In Proc. of CASES '06 (2006), ACM, pp. 103--112.
[23]
KIM, H., AND AHN, S. BPLRU: a buffer management scheme for improving random writes in flash storage. In Proc. of FAST'08 (2008), USENIX Association, pp. 1--14.
[24]
LEE, S., MOON, B., PARK, C., KIM, J., AND KIM, S. A Case for Flash Memory SSD in Enterprise Database Applications. In Proc. of SIGMOD '08 (2008), ACM, pp. 1075--1086.
[25]
LELEWER, D. A., AND HIRSCHBERG, D. S. Data compression. ACM Comput. Surv. 19, 3 (1987), 261---296.
[26]
LEVENTHAL, A. Flash storage memory. Commun. ACM 51, 7 (2008), 47--51.
[27]
LOUGHER, P., AND LOUGHER, R. SquashFS: a compressed, read-only file-system for Linux. squashfs.sourceforge.net.
[28]
MANBER, U. Finding similar files in a large file system. In WTEC'94: Proc. of the USENIX Winter 1994 Technical Conference (1994), USENIX Association, pp. 2--2.
[29]
MICROSOFT CORP. Best practices for NTFS compression inWindows. support.microsoft.com/default.aspx?scid=kb;enus;Q251186, September 2009.
[30]
MICROSOFT CORPORATION. Explore the features: Windows ReadyBoost. www.microsoft.com/windows/windowsvista/features/readyboost.aspx.
[31]
NARAYANAN, D., THERESKA, E., DONNELLY, A., ELNIKETY, S., AND ROWSTRON, A. Migrating server storage to SSDs: analysis of tradeoffs. In Proc. of EuroSys '09 (2009), ACM, pp. 145--158.
[32]
NG, W. K., AND RAVISHANKAR, C. V. Block-Oriented Compression Techniques for Large Statistical Databases. IEEE Trans. on Knowl. and Data Eng. 9, 2 (1997), 314---328.
[33]
NORTH AMERICAN SYSTEMS INTERNATIONAL, INC. FalconStor HotZone -- Maximize the performance of your SAN. http://www.nasi.com/hotZone.php.
[34]
OBERHUMER, M. F. X. J. LZO -- a real-time data compression library. http://www.oberhumer.com/opensource/lzo/.
[35]
POESS, M., AND POTAPOV, D. Data Compression in Oracle. In Proc. 29th VLDB Conference (2003).
[36]
RAJIMWALE, A., PRABHAKARAN, V., AND DAVIS, J. D. Block management in solid-state devices. Proceedings of the USENIX Annual Technical Conference (USENIX'09) (June 2009).
[37]
RIZZO, L. A very fast algorithm for RAM compression. SIGOPS Oper. Syst. Rev. 31, 2 (1997), 36--45.
[38]
ROSENBLUM, M., AND OUSTERHOUT, J. K. The Design and Implementation of a Log-Structured File System. ACM TOCS 10, 1 (Feb. 1992), 26--52.
[39]
RUSSEL, P. Cloop: the compressed loopback block device. http://www.knoppix.net/wiki/Cloop.
[40]
SAVAGE, S. CBD Compressed Block Device, New embedded block device. http://lwn.net/Articles/168725, January 2006.
[41]
SMITH, M. E. G., AND STORER, J. A. Parallel algorithms for data compression. Journal of ACM 32, 2 (1985), 344--373.
[42]
TORVALDS, L., AND QUINLAN, D. CramFS Tools. http://sourceforge.net/projects/cramfs.
[43]
TRANSACTION PROCESSING PERFORMANCE COUNCIL. TPC-H: an ad-hoc, decision support benchmark. http://www.tpc.org/tpch/.
[44]
WELCH, T. A. A technique for high-performance data compression. IEEE Computer Society Press 17, 6 (1984), 8--19.
[45]
WILSON, P. R., KAPLAN, S. F., AND SMARAGDAKIS, Y. The case for compressed caching in virtual memory systems. In ATEC '99: Proceedings of the annual conference on USENIX Annual Technical Conference (1999), USENIX Association, pp. 8--8.
[46]
WOODHOUSE, D. JFFS: The Journalling Flash File System. http://sourceware.org/jffs2/jffs2--html, 2001.
[47]
ZHU, B., LI, K., AND PATTERSON, H. Avoiding the disk bottleneck in the data domain deduplication file system. In Proc. of FAST'08 (1998), USENIX Association, pp. 1--14.
[48]
ZIV, J., AND LEMPEL, A. A universal algorithm for sequential data compression. IEEE Transactions on Information Theory 23 (1977), 337--343.

Cited By

View all
  • (2024)SymbiosisProceedings of the 22nd USENIX Conference on File and Storage Technologies10.5555/3650697.3650701(51-70)Online publication date: 27-Feb-2024
  • (2024)Extremely-Compressed SSDs with I/O Behavior PredictionACM Transactions on Storage10.1145/367704420:4(1-38)Online publication date: 16-Jul-2024
  • (2024)HA-CSD: Host and SSD Coordinated Compression for Capacity and Performance2024 IEEE International Parallel and Distributed Processing Symposium (IPDPS)10.1109/IPDPS57955.2024.00078(825-838)Online publication date: 27-May-2024
  • Show More Cited By

Index Terms

  1. Using transparent compression to improve SSD-based I/O caches

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    EuroSys '10: Proceedings of the 5th European conference on Computer systems
    April 2010
    388 pages
    ISBN:9781605585772
    DOI:10.1145/1755913
    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: 13 April 2010

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. I/O performance
    2. evaluation
    3. online block-level compression
    4. solid state disk caches

    Qualifiers

    • Research-article

    Conference

    EuroSys '10
    Sponsor:
    EuroSys '10: Fifth EuroSys Conference 2010
    April 13 - 16, 2010
    Paris, France

    Acceptance Rates

    Overall Acceptance Rate 241 of 1,308 submissions, 18%

    Upcoming Conference

    EuroSys '25
    Twentieth European Conference on Computer Systems
    March 30 - April 3, 2025
    Rotterdam , Netherlands

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)50
    • Downloads (Last 6 weeks)5
    Reflects downloads up to 13 Jan 2025

    Other Metrics

    Citations

    Cited By

    View all
    • (2024)SymbiosisProceedings of the 22nd USENIX Conference on File and Storage Technologies10.5555/3650697.3650701(51-70)Online publication date: 27-Feb-2024
    • (2024)Extremely-Compressed SSDs with I/O Behavior PredictionACM Transactions on Storage10.1145/367704420:4(1-38)Online publication date: 16-Jul-2024
    • (2024)HA-CSD: Host and SSD Coordinated Compression for Capacity and Performance2024 IEEE International Parallel and Distributed Processing Symposium (IPDPS)10.1109/IPDPS57955.2024.00078(825-838)Online publication date: 27-May-2024
    • (2024)CDCache: Space-Efficient Flash Caching via Compression-before-DeduplicationIEEE INFOCOM 2024 - IEEE Conference on Computer Communications10.1109/INFOCOM52122.2024.10621089(861-870)Online publication date: 20-May-2024
    • (2022)Data Representation Aware of Damage to Extend the Lifetime of MLC NAND Flash MemoryIEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems10.1109/TCAD.2021.313984741:11(5005-5015)Online publication date: Nov-2022
    • (2022)Extracting and characterizing I/O behavior of HPC workloads2022 IEEE International Conference on Cluster Computing (CLUSTER)10.1109/CLUSTER51413.2022.00037(243-255)Online publication date: Sep-2022
    • (2021)Improving the Performance of Deduplication-Based Storage Cache via Content-Driven Cache Management MethodsIEEE Transactions on Parallel and Distributed Systems10.1109/TPDS.2020.301270432:1(214-228)Online publication date: 1-Jan-2021
    • (2020)Austere flash caching with deduplication and compressionProceedings of the 2020 USENIX Conference on Usenix Annual Technical Conference10.5555/3489146.3489195(713-726)Online publication date: 15-Jul-2020
    • (2020)Re-think data management software design upon the arrival of storage hardware with built-in transparent compressionProceedings of the 12th USENIX Conference on Hot Topics in Storage and File Systems10.5555/3488733.3488753(20-20)Online publication date: 13-Jul-2020
    • (2020)SlimCacheACM Transactions on Storage10.1145/338312416:2(1-34)Online publication date: 10-Jun-2020
    • 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