skip to main content
research-article
Public Access

REGISTOR: A Platform for Unstructured Data Processing Inside SSD Storage

Authors Info & Claims
Published:26 March 2019Publication History
Skip Abstract Section

Abstract

This article presents REGISTOR, a platform for regular expression grabbing inside storage. The main idea of Registor is accelerating regular expression (regex) search inside storage where large data set is stored, eliminating the I/O bottleneck problem. A special hardware engine for regex search is designed and augmented inside a flash SSD that processes data on-the-fly during data transmission from NAND flash to host. To make the speed of regex search match the internal bus speed of a modern SSD, a deep pipeline structure is designed in Registor hardware consisting of a file semantics extractor, matching candidates finder, regex matching units (REMUs), and results organizer. Furthermore, each stage of the pipeline makes the use of maximal parallelism possible. To make Registor readily usable by high-level applications, we have developed a set of APIs and libraries in Linux allowing Registor to process files in the SSD by recombining separate data blocks into files efficiently. A working prototype of Registor has been built in our newly designed NVMe-SSD. Extensive experiments and analyses have been carried out to show that Registor achieves high throughput, reduces the I/O bandwidth requirement by up to 97%, and reduces CPU utilization by as much as 82% for regex search in large datasets.

References

  1. Junwhan Ahn, Sungpack Hong, Sungjoo Yoo, Onur Mutlu, and Kiyoung Choi. 2015. A scalable processing-in-memory accelerator for parallel graph processing. In Proceedings of the ACM/IEEE 42nd Annual International Symposium on Computer Architecture (ISCA’15). IEEE, Los Alamitos, CA, 105--117. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Shahriar Akter and Samuel Fosso Wamba. 2016. Big data analytics in E-commerce: A systematic review and agenda for future research. Electronic Markets 26, 2 (2016), 173--194.Google ScholarGoogle ScholarCross RefCross Ref
  3. Amazon. 2018. Amazon S3. Retrieved February 26, 2019 from https://aws.amazon.com/s3/.Google ScholarGoogle Scholar
  4. Apache. 2018. Lucene. Retrieved February 26, 2019 from https://lucene.apache.org/.Google ScholarGoogle Scholar
  5. Antonio Barbalace, Anthony Iliopoulos, Holm Rauchfuss, and Goetz Brasche. 2017. It’s time to think about an operating system for near data processing architectures. In Proceedings of the 16th Workshop on Hot Topics in Operating Systems. ACM, New York, NY, 56--61. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Michela Becchi, Mark Franklin, and Patrick Crowley. 2008. A workload for evaluating deep packet inspection architectures. In Proceedings of the IEEE International Symposium on Workload Characterization (IISWC’08). IEEE, Los Alamitos, CA, 79--89.Google ScholarGoogle ScholarCross RefCross Ref
  7. Benjamin C. Brodie, David E. Taylor, and Ron K. Cytron. 2006. A scalable architecture for high-throughput regular-expression pattern matching. ACM SIGARCH Computer Architecture News 34, 2 (2006), 191--202. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Robert D. Cameron, Thomas C. Shermer, Arrvindh Shriraman, Kenneth S. Herdy, Dan Lin, Benjamin R. Hull, and Meng Lin. 2014. Bitwise data parallelism in regular expression matching. In Proceedings of the 23rd International Conference on Parallel Architectures and Compilation. ACM, New York, NY, 139--150. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Russ Cox. 2009. Regular Expression Matching: The Virtual Machine Approach. Retrieved February 26, 2019 from https://swtch.com/∼rsc/regexp/regexp2.html.Google ScholarGoogle Scholar
  10. Paul Dlugosch, Dave Brown, Paul Glendenning, Michael Leventhal, and Harold Noyes. 2014. An efficient and scalable semiconductor architecture for parallel automata processing. IEEE Transactions on Parallel and Distributed Systems 25, 12 (2014), 3088--3098.Google ScholarGoogle ScholarCross RefCross Ref
  11. NVM Express. 2018. NVM Express Revision 1.3a October 24, 2017. Retrieved February 26, 2019 from http://nvmexpress.org/wp-content/uploads/NVM-Express-1_3a-20171024_ratified.pdf.Google ScholarGoogle Scholar
  12. Yuanwei Fang, Tung T. Hoang, Michela Becchi, and Andrew A. Chien. 2015. Fast support for unstructured data processing: The unified automata processor. In Proceedings of the 2015 48th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO’15). IEEE, Los Alamitos, CA, 533--545. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Yuanwei Fang, Chen Zou, Aaron J. Elmore, and Andrew A. Chien. 2017. UDP: A programmable accelerator for extract-transform-load workloads and more. In Proceedings of the 50th Annual IEEE/ACM International Symposium on Microarchitecture. ACM, New York, NY, 55--68. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Domenico Ficara, Stefano Giordano, Gregorio Procissi, Fabio Vitucci, Gianni Antichi, and Andrea Di Pietro. 2008. An improved DFA for fast regular expression matching. ACM SIGCOMM Computer Communication Review 38, 5 (2008), 29--40. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Amir Gandomi and Murtaza Haider. 2015. Beyond the hype: Big data concepts, methods, and analytics. International Journal of Information Management 35, 2 (2015), 137--144. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Mingyu Gao, Grant Ayers, and Christos Kozyrakis. 2015. Practical near-data processing for in-memory analytics frameworks. In Proceedings of the International Conference on Parallel Architecture and Compilation (PACT’15). IEEE, Los Alamitos, CA, 113--124. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Vaibhav Gogte, Aasheesh Kolli, Michael J. Cafarella, Loris D’Antoni, and Thomas F. Wenisch. 2016. HARE: Hardware accelerator for regular expressions. In Proceedings of the 49th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO’16). IEEE, Los Alamitos, CA, 1--12. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Google. 2019. RE2. Retrieved February 26, 2019 from https://github.com/google/re2.Google ScholarGoogle Scholar
  19. Boncheol Gu, Andre S. Yoon, Duck-Ho Bae, Insoon Jo, Jinyoung Lee, Jonghyun Yoon, Jeong-Uk Kang, et al. 2016. Biscuit: A framework for near-data processing of big data workloads. In Proceedings of the ACM/IEEE 43rd Annual International Symposium on Computer Architecture (ISCA’16). IEEE, Los Alamitos, CA, 153--165. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Philip Hazel. 2019. PCRE—Perl Compatible Regular Expressions. Retrieved February 26, 2019 from https://www.pcre.org/.Google ScholarGoogle Scholar
  21. John E. Hopcroft, Rajeev Motwani, and Jeffrey D. Ullman. 2001. Introduction to automata theory, languages, and computation. ACM SIGACT News 32, 1 (2001), 60--65. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Github. 2017. Performance Comparison of Regular Expression Engines. Retrieved February 26, 2019 from https://zherczeg.github.io/sljit/regex_perf.html.Google ScholarGoogle Scholar
  23. Titan IC. 2018. Hyperion F1 10G Regex File Scan. http://titan-ic.com/products/hyperion-f1-10g-regex-file-scanGoogle ScholarGoogle Scholar
  24. Sang-Woo Jun, Ming Liu, Sungjin Lee, Jamey Hicks, John Ankcorn, Myron King, Shuotao Xu, et al. 2015. Bluedbm: An appliance for big data analytics. In Proceedings of the ACM/IEEE 42nd Annual International Symposium on Computer Architecture (ISCA’15). IEEE, Los Alamitos, CA, 1--13. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. A. Katal, M. Wazid, and R. H. Goudar. 2013. Big data: Issues, challenges, tools and good practices. In Proceedings of the 6th International Conference on Contemporary Computing (IC3’13). IEEE, Los Alamitos, CA, 404--409.Google ScholarGoogle Scholar
  26. K. Kosako. 2019. PCRE—Perl Compatible Regular Expressions. Retrieved February 26, 2019 from https://github.com/kkos/oniguruma.Google ScholarGoogle Scholar
  27. Sailesh Kumar, Sarang Dharmapurikar, Fang Yu, Patrick Crowley, and Jonathan Turner. 2006. Algorithms to accelerate multiple regular expressions matching for deep packet inspection. ACM SIGCOMM Computer Communication Review 36, 4 (Oct. 2006), 339--350. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Snehasish Kumar, Arrvindh Shriraman, Vijayalakshmi Srinivasan, Dan Lin, and Jordon Phillips. 2014. SQRL: Hardware accelerator for collecting software data structures. In Proceedings of the 23rd International Conference on Parallel Architectures and Compilation. ACM, New York, NY, 475--476. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. John Levine. 2009. Flex and Bison: Text Processing Tools. O’Reilly Media Inc.Google ScholarGoogle Scholar
  30. Cheng-Hung Lin, Chen-Hsiung Liu, Lung-Sheng Chien, and Shih-Chieh Chang. 2013. Accelerating pattern matching using a novel parallel algorithm on GPUs. IEEE Transactions on Computers 62, 10 (2013), 1906--1916. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Dan Lin, Nigel Medforth, Kenneth S. Herdy, Arrvindh Shriraman, and Rob Cameron. 2012. Parabix: Boosting the efficiency of text processing on commodity processors. In Proceedings of the IEEE 18th International Symposium on High Performance Computer Architecture (HPCA’12). IEEE, Los Alamitos, CA, 1--12. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. Linux. 2019. Source to sys/ioctl.h. Retrieved February 26, 2019 from https://unix.superglobalmegacorp.com/Net2/newsrc/sys/ioctl.h.html.Google ScholarGoogle Scholar
  33. Jan Van Lunteren, Christoph Hagleitner, Timothy Heil, Giora Biran, Uzi Shvadron, and Kubilay Atasu. 2012. Designing a programmable wire-speed regular-expression matching accelerator. In Proceedings of the 2012 45th Annual IEEE/ACM International Symposium on Microarchitecture. IEEE, Los Alamitos, CA, 461--472. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. Micron. 2018. MT29F8G16ADADAH4-IT. Retrieved February 26, 2019 from https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f8g16adadah4-it.Google ScholarGoogle Scholar
  35. Micron. 2018. MT29F2T08CUHBBM4-3R. Retrieved February 26, 2019 from https://www.datasheets.com/datasheet/mt29f2t08cuhbbm4-3r:b-micron-technology-75292692.Google ScholarGoogle Scholar
  36. Microsoft. 2018. BEE3 Established: February 26, 2008. https://www.microsoft.com/en-us/research/project/bee3/Google ScholarGoogle Scholar
  37. D. E. Knuth, J. H. Morris Jr., and V. R. Pratt. 1977. Fast pattern matching in strings. SIAM Journal on Computing 6, 2 (1977), 323–350.Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. Todd Mytkowicz, Madanlal Musuvathi, and Wolfram Schulte. 2014. Data-parallel finite-state machines. ACM SIGARCH Computer Architecture News 42, 1 (March 2014), 529--542. Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. PCI-SIG. 2018. Frequently Asked Questions: PCI Express - 3.0. Retrieved February 26, 2019 from https://pcisig.com/faq?field_category_value%5B%5D=pci_express_3.0&keys===.Google ScholarGoogle Scholar
  40. PCI-SIG. 2018. Frequently Asked Questions: PCI Express - 4.0. Retrieved February 26, 2019 from https://pcisig.com/faq?field_category_value%5B%5D=pci_express_4.0&keys===.Google ScholarGoogle Scholar
  41. Shuyi Pei, Jing Yang, and Qing Yang. 2018. REGISTOR: A platform for unstructured data processing inside SSD storage. In Proceedings of the 11th ACM International Systems and Storage Conference. ACM, New York, NY, 13--25. Google ScholarGoogle ScholarDigital LibraryDigital Library
  42. RegexLib. 2017. Regular Expression Library. Retrieved February 26, 2019 from http://regexlib.com/.Google ScholarGoogle Scholar
  43. Indranil Roy, Ankit Srivastava, Marziyeh Nourian, Michela Becchi, and Srinivas Aluru. 2016. High performance pattern matching using the automata processor. In Proceedings of the 2016 IEEE International Parallel and Distributed Processing Symposium. IEEE, Los Alamitos, CA, 1123--1132.Google ScholarGoogle ScholarCross RefCross Ref
  44. Valentina Salapura, Tejas Karkhanis, Priya Nagpurkar, and Jose Moreira. 2012. Accelerating business analytics applications. In Proceedings of the IEEE 18th International Symposium on High Performance Computer Architecture (HPCA’12). IEEE, Los Alamitos, CA, 1--10. Google ScholarGoogle ScholarDigital LibraryDigital Library
  45. Eric E. Schadt, Michael D. Linderman, Jon Sorenson, Lawrence Lee, and Garry P. Nolan. 2010. Computational solutions to large-scale data management and analysis. Nature Reviews Genetics 11, 9 (2010), 647.Google ScholarGoogle ScholarCross RefCross Ref
  46. Sudharsan Seshadri, Mark Gahagan, Meenakshi Sundaram Bhaskaran, Trevor Bunker, Arup De, Yanqin Jin, Yang Liu, et al. 2014. Willow: A user-programmable SSD. In Proceedings of the 11th USENIX Conference on Operating Systems Design and Implementation (OSDI’14). 67--80. Google ScholarGoogle ScholarDigital LibraryDigital Library
  47. Reetinder Sidhu and Viktor K. Prasanna. 2001. Fast regular expression matching using FPGAs. In Proceedings of the 9th Annual IEEE Symposium on Field-Programmable Custom Computing Machines (FCCM’01). IEEE, Los Alamitos, CA, 227--238. Google ScholarGoogle ScholarDigital LibraryDigital Library
  48. David Sidler, Zsolt István, Muhsen Owaida, and Gustavo Alonso. 2017. Accelerating pattern matching queries in hybrid CPU-FPGA architectures. In Proceedings of the 2017 ACM International Conference on Management of Data. ACM, New York, NY, 403--415. Google ScholarGoogle ScholarDigital LibraryDigital Library
  49. Snort. 2017. Snort—Network Intrusion Detection and Prevention System. Retrieved February 26, 2019 from https://www.snort.org/.Google ScholarGoogle Scholar
  50. Arun Subramaniyan and Reetuparna Das. 2017. Parallel automata processor. In Proceedings of the 44th Annual International Symposium on Computer Architecture. ACM, New York, NY, 600--612. Google ScholarGoogle ScholarDigital LibraryDigital Library
  51. Lin Tan and Timothy Sherwood. 2005. A high throughput string matching architecture for intrusion detection and prevention. In Proceedings of the 32nd International Symposium on Computer Architecture (ISCA’05). IEEE, Los Alamitos, CA, 112--122. Google ScholarGoogle ScholarDigital LibraryDigital Library
  52. Prateek Tandon, Faissal M. Sleiman, Michael J. Cafarella, and Thomas F. Wenisch. 2016. Hawk: Hardware support for unstructured log processing. In Proceedings of the IEEE 32nd International Conference on Data Engineering (ICDE’16). IEEE, Los Alamitos, CA, 469--480.Google ScholarGoogle Scholar
  53. Ken Thompson. 1968. Programming techniques: Regular expression search algorithm. Communications of the ACM 11, 6 (1968), 419--422. Google ScholarGoogle ScholarDigital LibraryDigital Library
  54. Devesh Tiwari, Simona Boboila, Sudharshan S. Vazhkudai, Youngjae Kim, Xiaosong Ma, Peter Desnoyers, and Yan Solihin. 2013. Active flash: Towards energy-efficient, in-situ data analytics on extreme-scale machines. In Proceedings of the 11th USENIX Conference on File and Storage Technologies (FAST’13). 119--132. Google ScholarGoogle ScholarDigital LibraryDigital Library
  55. Hung-Wei Tseng, Qianchen Zhao, Yuxiao Zhou, Mark Gahagan, and Steven Swanson. 2016. Morpheus: Creating application objects efficiently for heterogeneous computing. In Proceedings of the ACM/IEEE 43rd Annual International Symposium on Computer Architecture (ISCA’16). IEEE, Los Alamitos, CA, 53--65. Google ScholarGoogle ScholarDigital LibraryDigital Library
  56. Jan van Lunteren and Alexis Guanella. 2012. Hardware-accelerated regular expression matching at multiple tens of Gb/s. In Proceedings of the 2012 IEEE INFOCOM Conference. IEEE, Los Alamitos, CA, 1737--1745.Google ScholarGoogle ScholarCross RefCross Ref
  57. Jack Wadden, Vinh Dang, Nathan Brunelle, Tommy Tracy II, Deyuan Guo, Elaheh Sadredini, Ke Wang, et al. 2016. ANMLzoo: A benchmark suite for exploring bottlenecks in automata processing engines and architectures. In Proceedings of the IEEE International Symposium on Workload Characterization (IISWC’16). IEEE, Los Alamitos, CA, 1--12.Google ScholarGoogle ScholarCross RefCross Ref
  58. Fei-Yue Wang, Kathleen M. Carley, Daniel Zeng, and Wenji Mao. 2007. Social computing: From social informatics to social intelligence. IEEE Intelligent Systems 22, 2 (2007), 79--83. Google ScholarGoogle ScholarDigital LibraryDigital Library
  59. Project Gutenberg. 2018. The Entire Project Gutenberg Works of Mark Twain by Mark Twain. Retrieved February 26, 2019 from http://www.gutenberg.org/ebooks/3200?msg=welcome_stranger.Google ScholarGoogle Scholar
  60. Sam Likun Xi, Oreoluwa Babarinsa, Manos Athanassoulis, and Stratos Idreos. 2015. Beyond the wall: Near-data processing for databases. In Proceedings of the 11th International Workshop on Data Management on New Hardware. ACM, New York, NY, 2. Google ScholarGoogle ScholarDigital LibraryDigital Library
  61. Yi-Hua E. Yang, Weirong Jiang, and Viktor K. Prasanna. 2008. Compact architecture for high-throughput regular expression matching on FPGA. In Proceedings of the 4th ACM/IEEE Symposium on Architectures for Networking and Communications Systems. ACM, New York, NY, 30--39. Google ScholarGoogle ScholarDigital LibraryDigital Library
  62. Xiaodong Yu and Michela Becchi. 2013. GPU acceleration of regular expression matching for large datasets: Exploring the implementation space. In Proceedings of the ACM International Conference on Computing Frontiers. ACM, New York, NY, 18. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. REGISTOR: A Platform for Unstructured Data Processing Inside SSD Storage

      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

      Full Access

      • Published in

        cover image ACM Transactions on Storage
        ACM Transactions on Storage  Volume 15, Issue 1
        Special Issue on ACM International Systems and Storage Conference (SYSTOR) 2018
        February 2019
        194 pages
        ISSN:1553-3077
        EISSN:1553-3093
        DOI:10.1145/3311821
        • Editor:
        • Sam H. Noh
        Issue’s Table of Contents

        Copyright © 2019 ACM

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 26 March 2019
        • Revised: 1 January 2019
        • Accepted: 1 January 2019
        • Received: 1 October 2018
        Published in tos Volume 15, Issue 1

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article
        • Research
        • Refereed

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader

      HTML Format

      View this article in HTML Format .

      View HTML Format
      About Cookies On This Site

      We use cookies to ensure that we give you the best experience on our website.

      Learn more

      Got it!