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.
- 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 Scholar
Digital Library
- 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 Scholar
Cross Ref
- Amazon. 2018. Amazon S3. Retrieved February 26, 2019 from https://aws.amazon.com/s3/.Google Scholar
- Apache. 2018. Lucene. Retrieved February 26, 2019 from https://lucene.apache.org/.Google Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Cross Ref
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- Russ Cox. 2009. Regular Expression Matching: The Virtual Machine Approach. Retrieved February 26, 2019 from https://swtch.com/∼rsc/regexp/regexp2.html.Google Scholar
- 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 Scholar
Cross Ref
- 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 Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- Google. 2019. RE2. Retrieved February 26, 2019 from https://github.com/google/re2.Google Scholar
- 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 Scholar
Digital Library
- Philip Hazel. 2019. PCRE—Perl Compatible Regular Expressions. Retrieved February 26, 2019 from https://www.pcre.org/.Google Scholar
- 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 Scholar
Digital Library
- Github. 2017. Performance Comparison of Regular Expression Engines. Retrieved February 26, 2019 from https://zherczeg.github.io/sljit/regex_perf.html.Google Scholar
- Titan IC. 2018. Hyperion F1 10G Regex File Scan. http://titan-ic.com/products/hyperion-f1-10g-regex-file-scanGoogle Scholar
- 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 Scholar
Digital Library
- 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 Scholar
- K. Kosako. 2019. PCRE—Perl Compatible Regular Expressions. Retrieved February 26, 2019 from https://github.com/kkos/oniguruma.Google Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- John Levine. 2009. Flex and Bison: Text Processing Tools. O’Reilly Media Inc.Google Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- Linux. 2019. Source to sys/ioctl.h. Retrieved February 26, 2019 from https://unix.superglobalmegacorp.com/Net2/newsrc/sys/ioctl.h.html.Google Scholar
- 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 Scholar
Digital Library
- Micron. 2018. MT29F8G16ADADAH4-IT. Retrieved February 26, 2019 from https://www.micron.com/products/nand-flash/slc-nand/part-catalog/mt29f8g16adadah4-it.Google Scholar
- Micron. 2018. MT29F2T08CUHBBM4-3R. Retrieved February 26, 2019 from https://www.datasheets.com/datasheet/mt29f2t08cuhbbm4-3r:b-micron-technology-75292692.Google Scholar
- Microsoft. 2018. BEE3 Established: February 26, 2008. https://www.microsoft.com/en-us/research/project/bee3/Google Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
- 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 Scholar
- 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 Scholar
Digital Library
- RegexLib. 2017. Regular Expression Library. Retrieved February 26, 2019 from http://regexlib.com/.Google Scholar
- 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 Scholar
Cross Ref
- 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 Scholar
Digital Library
- 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 Scholar
Cross Ref
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- Snort. 2017. Snort—Network Intrusion Detection and Prevention System. Retrieved February 26, 2019 from https://www.snort.org/.Google Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
- Ken Thompson. 1968. Programming techniques: Regular expression search algorithm. Communications of the ACM 11, 6 (1968), 419--422. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Cross Ref
- 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 Scholar
Cross Ref
- 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 Scholar
Digital Library
- 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 Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
Index Terms
REGISTOR: A Platform for Unstructured Data Processing Inside SSD Storage
Recommendations
REGISTOR: A Platform for Unstructured Data Processing Inside SSD Storage
SYSTOR '18: Proceedings of the 11th ACM International Systems and Storage ConferenceThis paper 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 ...
An Embedded FTL for SSD RAID
DSD '15: Proceedings of the 2015 Euromicro Conference on Digital System DesignSolid State Disk (SSD) storage systems are the storage medium of choice in modern embedded devices, and so the performance, lifespan, and reliability of these devices is an increasing issue in many application domains. Previous work has proposed ...
Summarizer: trading communication with computing near storage
MICRO-50 '17: Proceedings of the 50th Annual IEEE/ACM International Symposium on MicroarchitectureModern data center solid state drives (SSDs) integrate multiple general-purpose embedded cores to manage flash translation layer, garbage collection, wear-leveling, and etc., to improve the performance and the reliability of SSDs. As the performance of ...






Comments