skip to main content
10.1145/3538643.3539739acmconferencesArticle/Chapter ViewAbstractPublication PageshotstorageConference Proceedingsconference-collections
research-article
Public Access

Infusing pub-sub storage with transactions

Published:27 June 2022Publication History

ABSTRACT

The need to support new features in existing storage systems is an ongoing concern for storage developers. So is the desire to develop next generation storage systems that can adopt newly developed feature improvements with relative ease. Extending storage systems is challenging because of the inherent complexity of their codebases and the need to ensure that the storage state does not become corrupt or inconsistent when enabling new features. In this work, we examine a new storage architecture, FDMI, that uses the well-established publish-subscribe model for extending the feature set of a host storage system using plugins. A central mechanism in FDMI is transactional coupling. With transactional coupling, the subscribed plugin can either create new transactions that execute asynchronously following the successful completion of the precipitating event or can participate in the pending transaction and control whether the precipitating event itself will or will not be committed. We further create a classification of transactional mechanisms as well as possible desired plugin functionality and explore the matrix of these two classifications to create a new model for faster, safer distributed storage development.

References

  1. 2022. File Systems in the Linux kernel: FUSE. https://www.kernel.org/doc/html/latest/filesystems/fuse.html.Google ScholarGoogle Scholar
  2. Nitin Agrawal, Andrea C. Arpaci-Dusseau, and Remzi H. Arpaci-Dusseau. 2009. Generating Realistic Impressions for File-SystemBench-marking. In 7th USENIX Symposium on File and Storage Technologies.Google ScholarGoogle Scholar
  3. Marcos K. Aguilera, Kimberly Keeton, Arif Merchant, Kiran-Kumar Muniswamy-Reddy, and Mustafa Uysal. 2007. Improving Recoverability in Multi-tier Storage Systems. In 37th Annual IEEE/IFIP International Conference on Dependable Systems and Networks (DSN'07). 677--686.Google ScholarGoogle Scholar
  4. Samer Al-Kiswany, Abdullah Gharaibeh, and Matei Ripeanu. 2009. The Case for a Versatile Storage System. In USENIX Workshop on Hot Topics in Storage and File Systems (HotStorage'09).Google ScholarGoogle Scholar
  5. Amazon AWS. 2022. Amazon S3 Event Notifications. https://docs.aws.amazon.com/AmazonS3/latest/userguide/NotificationHowTo.html.Google ScholarGoogle Scholar
  6. Amazon AWS. 2022. AWS Lambda service. https://aws.amazon.com/lambda/.Google ScholarGoogle Scholar
  7. Amazon AWS. 2022. S3 Bucket Backup. https://docs.aws.amazon.com/aws-backup/latest/devguide/s3-backups.html.Google ScholarGoogle Scholar
  8. John Bent, Garth Gibson, Gary Grider, Ben McClelland, Paul Nowoczynski, James Nunez, Milo Polte, and Meghan Wingate. 2009. PLFS: a checkpoint filesystem for parallel applications. In Proceedings of the Conference on High Performance Computing Networking, Storage and Analysis. IEEE, 1--12.Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Medha Bhadkamkar, Jorge Guerra, Luis Useche, Sam Burnett, Jason Liptak, and Vagelis Hristidis. 2009. BORG: Block-reORGanization for Self-optimizing Storage Systems. In 7th USENIX Conference on File and Storage Technologies (FAST 09).Google ScholarGoogle Scholar
  10. K. Birman and T. Joseph. 1987. Exploiting Virtual Synchrony in Distributed Systems. In Proceedings of the Eleventh ACM Symposium on Operating Systems Principles (SOSP '87). 123âĂŞ138.Google ScholarGoogle Scholar
  11. Matt Blaze. 1993. A Cryptographic File System for UNIX. In Proceedings of the 1st ACM Conference on Computer and Communications Security (CCS '93). 9âĂŞ16.Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Giuseppe Cattaneo, Luigi Catuogno:Università di Salerno, Aniello Del Sorbo:Università di Salerno, and Pino Persiano:Università di Salerno. 2001. The Design and Implementation of a Transparent Cryptographic File System for UNIX. In 2001 USENIX Annual Technical Conference (USENIX ATC 01).Google ScholarGoogle Scholar
  13. Ceph. 2022. Bucket Notifications. https://docs.ceph.com/en/latest/radosgw/notifications/.Google ScholarGoogle Scholar
  14. Nikita Yurievich Danilov and Eric Barton. 2012. System and method for performing distributed transactions using global epochs. US Patent 8,103,643.Google ScholarGoogle Scholar
  15. Michail Flouris and Angelos Bilas. 2005. Violin: A Framework For Extensible Block-level Storage. In IEEE Conference on Mass Storage Systems and Technologies.Google ScholarGoogle Scholar
  16. Jorge Guerra, Himabindu Pucha, Joseph Glider, Wendy Belluomini, and Raju Rangaswami. 2011. Cost Effective Storage Using Extent Based Dynamic Tiering. In Proceedings of the 9th USENIX Conference on File and Stroage Technologies (FAST'11). 20.Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Jorge Guerra, Luis Useche, Medha Bhadkamkar, Ricardo Koller, and Raju Rangaswami. 2008. The case for active block layer extensions. ACM SIGOPS Operating Systems Review 42 (10 2008), 3--9.Google ScholarGoogle Scholar
  18. Haryadi S. Gunawi, Vijayan Prabhakaran, Swetha Krishnan, Andrea C. Arpaci-Dusseau, and Remzi H. Arpaci-Dusseau. 2007. Improving File System Reliability with I/O Shepherding. In Proceedings of Twenty-First ACM SIGOPS Symposium on Operating Systems Principles (SOSP '07). New York, NY, USA, 293âĂŞ306.Google ScholarGoogle Scholar
  19. Hadoop. 2022. Zookeeper Watches. https://zookeeper.apache.org/doc/r3.3.3/zookeeperProgrammers.html.Google ScholarGoogle Scholar
  20. Tyler Harter, Chris Dragga, Michael Vaughn, Andrea C. Arpaci-Dusseau, and Remzi H. Arpaci-Dusseau. 2012. A File Is Not a File: Understanding the I/O Behavior of Apple Desktop Applications. ACM Trans. Comput. Syst. (aug 2012), 39.Google ScholarGoogle Scholar
  21. Dave Hitz, Michael Malcolm, and James Lau. 1994. File System Design for an NFS File Server Appliance. In USENIX Winter 1994 Technical Conference (USENIX Winter 1994 Technical Conference).Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Windsor W. Hsu, Alan Jay Smith, and Honesty C. Young. 2005. The Automatic Improvement of Locality in Storage Systems. ACM Trans. Comput. Syst. (nov 2005), 424âĂŞ473.Google ScholarGoogle Scholar
  23. Tianyang Jiang, Guangyan Zhang, Zican Huang, Xiaosong Ma, Junyu Wei, Zhiyue Li, and Weimin Zheng. 2021. FusionRAID: Achieving Consistent Low Latency for Commodity SSD Arrays. In 19th USENIX Conference on File and Storage Technologies (FAST 21). 355--370.Google ScholarGoogle Scholar
  24. Kafka. 2022. Kafka Documentation. https://kafka.apache.org/documentation/.Google ScholarGoogle Scholar
  25. Kimberley Keeton, Cipriano Santos, Dirk Beyer, Jeffrey Chase, and John Wilkes. 2004. Designing for Disasters. In 3rd USENIX Conference on File and Storage Technologies (FAST 04).Google ScholarGoogle Scholar
  26. Gene H. Kim and Eugene H. Spafford. 1994. The Design and Implementation of Tripwire: A File System Integrity Checker. In Proceedings of the 2nd ACM Conference on Computer and Communications Security (CCS '94). 18âĂŞ29.Google ScholarGoogle Scholar
  27. Ricardo Koller and Raju Rangaswami. 2010. I/O Deduplication: Utilizing Content Similarity to Improve I/O Performance. In 8th USENIX Conference on File and Storage Technologies (FAST 10).Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Andrew W. Leung, Ethan L. Miller, and Stephanie Jones. 2007. Scalable security for petascale parallel file systems. In SC '07: Proceedings of the 2007 ACM/IEEE Conference on Supercomputing. 1--12.Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Mark Lillibridge, Kave Eshghi, Deepavali Bhagwat, Vinay Deolalikar, Greg Trezise, and Peter Camble. 2009. Sparse Indexing: Large Scale, Inline Deduplication Using Sampling and Locality. In 7th USENIX Conference on File and Storage Technologies (FAST 09).Google ScholarGoogle Scholar
  30. Linux. 2022. LessFS: deduplication filse system in Linux. https://sites.google.com/a/projectme.org/lessfs/lessfs-guide.Google ScholarGoogle Scholar
  31. MinIO. 2022. MinIO: Multi-Cloud Object Storage. https://min.io.Google ScholarGoogle Scholar
  32. Dushyanth Narayanan, Austin Donnelly, and Antony Rowstron. 2008. Write Off-Loading: Practical Power Management for Enterprise Storage. In 6th USENIX Conference on File and Storage Technologies (FAST 08).Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. James O'Toole, David Gifford, Pierre Jouvelot, and Mark Sheldon. 1997. Semantic File Systems. ACM SIGOPS Operating Systems Review 25 (11 1997).Google ScholarGoogle Scholar
  34. Swapnil Patil, Anand Kashyap, Gopalan Sivathanu, and Erez Zadok. 2004. FS: An In-Kernel Integrity Checker and Intrusion Detection File System. In Proceedings of the 18th USENIX Conference on System Administration (LISA '04). 67âĂŞ78.Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. David A. Patterson, Garth Gibson, and Randy H. Katz. 1988. A Case for Redundant Arrays of Inexpensive Disks (RAID). In Proceedings of the 1988 ACM SIGMOD International Conference on Management of Data. 109âĂŞ116.Google ScholarGoogle Scholar
  36. R. Hugo Patterson and Stephen Manley. 2002. SnapMirror: File-System-Based Asynchronous Mirroring for Disaster Recovery. In Conference on File and Storage Technologies (FAST 02).Google ScholarGoogle Scholar
  37. Vijayan Prabhakaran, Andrea C. Arpaci-Dusseau, and Remzi H. Arpaci-Dusseau. 2005. Analysis and Evolution of Journaling File Systems. In Proceedings of the Annual Conference on USENIX Annual Technical Conference (ATEC '05). 8.Google ScholarGoogle Scholar
  38. Tom Rhodes. 2007. FreeBSD Handbook - Chapter 19: GEOM: Modular Disk Transformation Framework. FreeBSD Handbook (2007).Google ScholarGoogle Scholar
  39. David Rosenthal. 1990. Evolving the Vnode Interface. In In USENIX Conference Proceedings. 107--118.Google ScholarGoogle Scholar
  40. Douglas S. Santry, Michael J. Feeley, Norman C. Hutchinson, Alistair C. Veitch, Ross W. Carton, and Jacob Ofir. 1999. Deciding When to Forget in the Elephant File System. SIGOPS Oper. Syst. Rev. (dec 1999), 110âĂŞ123.Google ScholarGoogle ScholarDigital LibraryDigital Library
  41. Mohit Saxena, Michael M. Swift, and Yiying Zhang. 2012. FlashTier: A Lightweight, Consistent and Durable Storage Cache. In Proceedings of the 7th ACM European Conference on Computer Systems (EuroSys '12). 267âĂŞ280.Google ScholarGoogle ScholarDigital LibraryDigital Library
  42. Seagate. 2022. CORTX Intelligent Object Storage Software. https://www.seagate.com/products/storage/object-storage-software/.Google ScholarGoogle Scholar
  43. Seagate. 2022. CORTX Motr. https://github.com/Seagate/cortx-motr.Google ScholarGoogle Scholar
  44. Muthian Sivathanu, Vijayan Prabhakaran, Florentina I. Popovici, Timothy E. Denehy, Andrea C. Arpaci-Dusseau, and Remzi H. Arpaci-Dusseau. 2003. Semantically-Smart Disk Systems. In 2nd USENIX Conference on File and Storage Technologies (FAST 03).Google ScholarGoogle Scholar
  45. Swift. 2022. Swift: OpenStack Object Storage. https://wiki.openstack.org/wiki/Swift.Google ScholarGoogle Scholar
  46. Akshat Verma, Ricardo Koller, Luis Useche, and Raju Rangaswami. 2010. SRCMap: Energy Proportional Storage Using Dynamic Consolidation. In 8th USENIX Conference on File and Storage Technologies (FAST 10).Google ScholarGoogle Scholar
  47. Sage Weil, Scott A. Brandt, Ethan L. Miller, Darrell D. E. Long, and Carlos Maltzahn. 2006. Ceph: A Scalable, High-Performance Distributed File System. Proc. USENIX OSDI (November 2006).Google ScholarGoogle Scholar
  48. Kan Wu, Zhihan Guo, Guanzhou Hu, Kaiwei Tu, Ramnatthan Alagappan, Rathijit Sen, Kwanghyun Park, Andrea C. Arpaci-Dusseau, and Remzi H. Arpaci-Dusseau. 2021. The Storage Hierarchy is Not a Hierarchy: Optimizing Caching on Modern Storage Devices with Orthus. In 19th USENIX Conference on File and Storage Technologies (FAST 21). 307--323.Google ScholarGoogle Scholar
  49. XiaoJian Wu and A. L. Narasimha Reddy. 2012. A Novel Approach to Manage A Hybrid Storage System. J. Commun. 7 (2012), 473--483.Google ScholarGoogle ScholarCross RefCross Ref
  50. Erez Zadok, Ion Badulescu, and Alex Shender. 1999. Extending File Systems Using Stackable Templates. In 1999 USENIX Annual Technical Conference (USENIX ATC 99). USENIX Association.Google ScholarGoogle Scholar
  51. Yucheng Zhang, Wen Xia, Dan Feng, Hong Jiang, Yu Hua, and Qiang Wang. 2019. Finesse: Fine-Grained Feature Locality based Fast Resemblance Detection for Post-Deduplication Delta Compression. In 17th USENIX Conference on File and Storage Technologies (FAST 19). 121--128.Google ScholarGoogle Scholar

Index Terms

  1. Infusing pub-sub storage with transactions
          Index terms have been assigned to the content through auto-classification.

          Recommendations

          Comments

          Login options

          Check if you have access through your login credentials or your institution to get full access on this article.

          Sign in
          • Published in

            cover image ACM Conferences
            HotStorage '22: Proceedings of the 14th ACM Workshop on Hot Topics in Storage and File Systems
            June 2022
            141 pages
            ISBN:9781450393997
            DOI:10.1145/3538643

            Copyright © 2022 ACM

            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 the author(s) 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].

            Publisher

            Association for Computing Machinery

            New York, NY, United States

            Publication History

            • Published: 27 June 2022

            Permissions

            Request permissions about this article.

            Request Permissions

            Check for updates

            Qualifiers

            • research-article

            Acceptance Rates

            HotStorage '22 Paper Acceptance Rate19of47submissions,40%Overall Acceptance Rate34of87submissions,39%

            Upcoming Conference

            HOTSTORAGE '24
          • Article Metrics

            • Downloads (Last 12 months)99
            • Downloads (Last 6 weeks)13

            Other Metrics

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader