skip to main content
research-article
Public Access

RAPID Programming of Pattern-Recognition Processors

Published:25 March 2016Publication History
Skip Abstract Section

Abstract

We present RAPID, a high-level programming language and combined imperative and declarative model for programming pattern-recognition processors, such as Micron's Automata Processor (AP). The AP is a novel, non-Von Neumann architecture for direct execution of non-deterministic finite automata (NFAs), and has been demonstrated to provide substantial speedup for a variety of data-processing applications. RAPID is clear, maintainable, concise, and efficient both at compile and run time. Language features, such as code abstraction and parallel control structures, map well to pattern-matching problems, providing clarity and maintainability. For generation of efficient runtime code, we present algorithms to convert RAPID programs into finite automata. Further, we introduce a tessellation technique for configuring the AP, which significantly reduces compile time, increases programmer productivity, and improves maintainability. We evaluate five RAPID programs against custom, baseline implementations previously demonstrated to be significantly accelerated by the AP. We find that RAPID programs are much shorter in length, are expressible at a higher level of abstraction than their handcrafted counterparts, and yield generated code that is often more compact. In addition, our tessellation technique for configuring the AP has comparable device utilization to, and results in compilation that is up to four orders of magnitude faster than, current solutions.

References

  1. R. Alur, P. Cerný, P. Madhusudan, and W. Nam. Synthesis of interface specifications for Java classes. In Proceedings of the 32nd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pages 98--109, 2005.Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. G. Ammons, D. Mandelin, R. Bodık, and J. R. Larus. Debugging temporal specifications with concept analysis. In Proceedings of the 2003 ACM SIGPLAN Conference on Programming Language Design and Implementation, pages 182--195, 2003.Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. K. R. Apt, J. Brunekreef, V. Partington, and A. Schaerf. Alma-0: An imperative language that supports declarative programming. Technical report, 1997.Google ScholarGoogle Scholar
  4. C. Bo, K. Wang, Y. Qi, and K. Skadron. String kernel testing acceleration using the Micron Automata Processor. In Workshop on Computer Architecture for Machine Learning, 2015.Google ScholarGoogle Scholar
  5. Capgemini. Big & fast data : The rise of insight-driven business. http://www.capgemini.com/resource-file-access/resource/pdf/big_fast_data_the_rise_of_insight-driven_business-report.pdf, 2015.Google ScholarGoogle Scholar
  6. P. Caron and D. Ziadi. Characterization of Glushkov automata. Theoretical Computer Science, 233(1):75--90, 2000.Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. H. D. Cheng and K. S. Fu. VLSI architectures for string matching and pattern matching. Pattern Recognition, 20(1):125--144, 1987.Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Computer Sciences Corporation. Big data universe beginning to explode. http://www.csc.com/insights/flxwd/78931-big_data_universe_beginning_to_explode, 2012.Google ScholarGoogle Scholar
  9. E. W. Dijkstra. Guarded commands, nondeterminacy and formal derivation of programs. Communications of the ACM, 18(8):453--457, 1975.Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. P. Dlugosch, D. Brown, P. Glendenning, M. Leventhal, and H. Noyes. An efficient and scalable semiconductor architecture for parallel automata processing. IEEE Transactions on Parallel and Distributed Systems, 25(12):3088--3098, 2014.Google ScholarGoogle ScholarCross RefCross Ref
  11. A. Halaas. A systolic VLSI matrix for a family of fundamental searching problems. Integration VLSI Journal, 1(4):269--282, 1983.Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. A. Halaas, B. Svingen, M. Nedland, P. Sætrom, O. Snøve, Jr., and O. R. Birkeland. A recursive MISD architecture for pattern matching. IEEE Transactions on Very Large Scale Integrated Systems, 12(7):727--734, 2004.Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. A. Krishna, T. Heil, N. Lindberg, F. Toussi, and S. VanderWiel. Hardware acceleration in the IBM PowerEN processor: Architecture and performance. In Proceedings of the 21st International Conference on Parallel Architectures and Compilation Techniques, pages 389--400, 2012.Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. M. E. Lesk and E. Schmidt. Lex: A lexical analyzer generator. Technical Report 39, AT&T Bell Laboratories Computing Science, 1975.Google ScholarGoogle Scholar
  15. H. Lu, K. Zheng, B. Liu, X. Zhang, and Y. Liu. A memory-efficient parallel string matching architecture for high-speed intrusion detection. IEEE Journal on Selected Areas in Communications, 24(10):1793--1804, 2006.Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. S. McCanne and V. Jacobson. The BSD packet filter: A new architecture for user-level packet capture. In Proceedings of the 1993 USENIX Winter Conference, USENIX'93, pages 295--270, 1993.Google ScholarGoogle Scholar
  17. Micron Technoloy. Calculating Hamming distance. http://www.micronautomata.com/documentation/cookbook/c_hamming_distance.html.Google ScholarGoogle Scholar
  18. I. Roy and S. Aluru. Finding motifs in biological sequences using the Micron Automata Processor. In Proceedings of the 28th IEEE International Parallel and Distributed Processing Symposium, pages 415--424, 2014.Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. W. Thies, M. Karczmarek, and S. P. Amarasinghe. StreamIt: A language for streaming applications. In Proceedings of the 11th International Conference on Compiler Construction, pages 179--196. Springer-Verlag, 2002.Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Titan IC Systems. RXP regular eXpression processor soft IP. http://titanicsystems.com/Products/Regular-eXpression-Processor-(RXP).Google ScholarGoogle Scholar
  21. K. Wang, M. Stan, and K. Skadron. Association rule mining with the Micron Automata Processor. In Proceedings of the 29th IEEE International Parallel & Distributed Processing Symposium, 2015.Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. H. Yamada, M. Hirata, H. Nagai, and K. Takahashi. A high-speed string-search engine. IEEE Journal of Solid-State Circuits, 22(5):829--834, 1987.Google ScholarGoogle ScholarCross RefCross Ref
  23. K. Zhou, J. J. Fox, K. Wang, D. E. Brown, and K. Skadron. Brill tagging on the Micron Automata Processor. In Proceedings of the 9th IEEE International Conference on Semantic Computing, pages 236--239, 2015.Google ScholarGoogle ScholarCross RefCross Ref

Index Terms

  1. RAPID Programming of Pattern-Recognition Processors

            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 SIGPLAN Notices
              ACM SIGPLAN Notices  Volume 51, Issue 4
              ASPLOS '16
              April 2016
              774 pages
              ISSN:0362-1340
              EISSN:1558-1160
              DOI:10.1145/2954679
              • Editor:
              • Andy Gill
              Issue’s Table of Contents
              • cover image ACM Conferences
                ASPLOS '16: Proceedings of the Twenty-First International Conference on Architectural Support for Programming Languages and Operating Systems
                March 2016
                824 pages
                ISBN:9781450340915
                DOI:10.1145/2872362
                • General Chair:
                • Tom Conte,
                • Program Chair:
                • Yuanyuan Zhou

              Copyright © 2016 ACM

              Publisher

              Association for Computing Machinery

              New York, NY, United States

              Publication History

              • Published: 25 March 2016

              Check for updates

              Qualifiers

              • research-article

            PDF Format

            View or Download as a PDF file.

            PDF

            eReader

            View online with eReader.

            eReader
            About Cookies On This Site

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

            Learn more

            Got it!