mnrl and mncart - web.eecs.umich.eduangstadt/posters/mnrl-gomactech-2018-poster.pdf · mnrl and...

1
MNRL and MNCaRT An Open-Source, Multi-Architecture State Machine Research and Execution Ecosystem Kevin Angstadt Jack Wadden Vinh Dang Ted Xie Dan Kramp Westley Weimer Mircea Stan Kevin Skadron University of Michigan University of Virginia {angstadt, weimerw} @ umich.edu {wadden, vqd8a, ted.xie, dankramp, mircea, skadron} @ virginia.edu What is Automata Processing? I Finite automata are state machines that match patterns of data within an input data stream I Theoretical model used to model and process regular expressions I Able to accelerate a broad range of applications: natural language processing, network security, graph analytics, high-energy physics, bioinformatics, pseudo-random number generation and simulation, data-mining, and machine learning. The MNCaRT Philosophy I Previous research and tools were fractured by different file formats and restrictive licenses I The MNRL Network Computation and Research Testbed aims to open-source the end-to-end toolchain I All tools operate on common file format I Languages, Compilers, and Runtimes I Support for all major architectures MNRL: A Unified Representation I MNRL Network Representation Language I Flexible, JSON-based language for representing state machines I MNRL file defines a collection of state machines (network) consisting of one or more nodes I Direct support for validation of files I APIs for both C++ and Python I Easy to extend for experimental automata node types MNCaRT Ecosystem PCRE RAPID High-Level Languages ANMLZoo Benchmarks MNRL ANML State Machine Representations hscompile Automata Lab VASim ATR REAPR apcompile Analysis Compilation Transformation Hyperscan CPU Engine VASim CPU Engine DFAGE iNFAnt2 GPU Engines FPGA Engine Micron D480 AP Execution Engines CPU Engines I Hyperscan: state-of-the-art regular expression processing engine, extended to support MNRL networks I VASim: supports execution of custom automata designs with experimental node types and collection of runtime statistics and profiles GPU Engines I Support for both DFA (DFAGE) and NFA (iNFAnt2) execution on Cuda-enabled graphics cards I Supports the study of trade-offs between the two execution models REAPR FPGA Engine I MNRL networks are compiled to a custom module for execution on FPGAs (logic-based fabrics of LUTs and memory) I Input/Output handled by Xilinx’s SDAccel Framework Micron D480 AP I Prototype architecture for execution of automata I Memory arrays used as computational medium I Supported by converting MNRL to ANML representation Automata Lab Languages and Benchmarks I Perl Compatible Regular Expressions I RAPID: High-level language for defining inexact pattern matches I ANMLZoo: Benchmark suite of diverse automata and regular expressions with associated input workloads VASim & Automata-to-Routing I Supports transformation, optimization, and execution of finite automata I Prototype and test new automata designs and computational styles I Experiment with place and route algorithms for custom spatial-reconfigurable architectures Acknowledgements This work was supported in part by grants from the NSF (CCF-1116673, CCF-1629450, CCF-1619123, CNS-1619098), AFRL (FA8750-15-2-0075), Jefferson Scholars Foundation, Achievement Rewards for College Scientists (ARCS) Foundation, a grant from Xilinx, and support from C-FAR, one of six centers of STARnet, a Semiconductor Research Corporation program sponsored by MARCO and DARPA. Any opinions, findings and conclusions or recommendations expressed in this material are those of the authors and do not necessarily reflect the views of AFRL. https://bit.ly/CAP-MNCaRT

Upload: nguyenque

Post on 04-Jul-2019

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: MNRL and MNCaRT - web.eecs.umich.eduangstadt/posters/mnrl-gomactech-2018-poster.pdf · MNRL and MNCaRT An Open-Source, Multi-Architecture State Machine Research and Execution Ecosystem

MNRL and MNCaRTAn Open-Source, Multi-Architecture State Machine Research and Execution Ecosystem

Kevin Angstadt† Jack Wadden‡ Vinh Dang‡ Ted Xie‡ Dan Kramp‡

Westley Weimer† Mircea Stan‡ Kevin Skadron‡

†University of Michigan ‡University of Virginia{angstadt, weimerw}@ umich.edu {wadden, vqd8a, ted.xie, dankramp, mircea, skadron}@ virginia.edu

What is Automata Processing?

I Finite automata are state machines thatmatch patterns of data within an inputdata stream

I Theoretical model used to model andprocess regular expressions

I Able to accelerate a broad range ofapplications: natural languageprocessing, network security, graphanalytics, high-energy physics,bioinformatics, pseudo-random numbergeneration and simulation, data-mining,and machine learning.

The MNCaRT Philosophy

I Previous research and tools werefractured by different file formats andrestrictive licenses

I The MNRL Network Computation andResearch Testbed aims to open-sourcethe end-to-end toolchain

I All tools operate on common file formatI Languages, Compilers, and RuntimesI Support for all major architectures

MNRL: A Unified Representation

I MNRL Network Representation LanguageI Flexible, JSON-based language for

representing state machinesI MNRL file defines a collection of state

machines (network) consisting of one ormore nodes

I Direct support for validation of filesI APIs for both C++ and PythonI Easy to extend for experimental

automata node types

MNCaRT Ecosystem

PCRE RAPIDHigh-Level

Languages ANMLZoo

Benchmarks

MNRL ANMLState Machine

Representations

hscompile AutomataLab VASim ATR REAPR apcompile

AnalysisCompilation

Transformation

HyperscanCPU

Engine

VASimCPU

EngineDFAGE iNFAnt2

GPU Engines

FPGAEngine

MicronD480 AP

Execution

Engines

CPU Engines

I Hyperscan: state-of-the-art regularexpression processing engine, extendedto support MNRL networks

I VASim: supports execution of customautomata designs with experimentalnode types and collection of runtimestatistics and profiles

GPU Engines

I Support for both DFA(DFAGE) and NFA(iNFAnt2) executionon Cuda-enabled graphics cards

I Supports the study of trade-offs betweenthe two execution models

REAPR FPGA Engine

I MNRL networks arecompiled to a custommodule for execution onFPGAs (logic-basedfabrics of LUTs and memory)

I Input/Output handled by Xilinx’s SDAccelFramework

Micron D480 AP

I Prototype architecturefor execution ofautomata

I Memory arrays used as computationalmedium

I Supported by converting MNRL to ANMLrepresentation

Automata Lab

Languages and Benchmarks

I Perl Compatible Regular ExpressionsI RAPID: High-level language for defining

inexact pattern matchesI ANMLZoo: Benchmark suite of diverse

automata and regular expressions withassociated input workloads

VASim & Automata-to-Routing

I Supports transformation, optimization,and execution of finite automata

I Prototype and test new automatadesigns and computational styles

I Experiment with place and routealgorithms for customspatial-reconfigurable architectures

Acknowledgements

This work was supported in part by grants from the NSF (CCF-1116673,CCF-1629450, CCF-1619123, CNS-1619098), AFRL (FA8750-15-2-0075),Jefferson Scholars Foundation, Achievement Rewards for College Scientists(ARCS) Foundation, a grant from Xilinx, and support from C-FAR, one of sixcenters of STARnet, a Semiconductor Research Corporation programsponsored by MARCO and DARPA. Any opinions, findings and conclusions orrecommendations expressed in this material are those of the authors and donot necessarily reflect the views of AFRL.

https://bit.ly/CAP-MNCaRT