Image

Parallel Processing Tools Arrive For Automata Processor

Oct. 20, 2014
Micron’s Automata Processor performs regular expression matching using a parallel array of state transition elements. The ANML compiler and development tools are now available.

Tools for developing applications for Micron’s Automata Processor (see “Automata Processor Piques Parallel Processing”) are now available and there is hardware to match. The Automata Processor, or AP, is a parallel processing engine that has characteristics in common with content-addressable memory, FPGAs, and parallel processors but the AP actually much different than all three of these.

In the simplest case, AP can process multiple regular expressions simultaneously. Regular expressions are commonly used in applications for pattern matching. Regular expressions are sometimes used for deep packet inspection.

The AP consists of a set of state transitional elements (STE), counters and other control logic. The current incarnation consists of 49,152 STEs on a 15.4 mm by 12 mm FPBGA. It has a DDR3-style interface but this is not a memory device. All active STEs are used to match an 8-bit input symbol. The system can process at 128 Msymbols/s.

Of course, not all STEs will be active at one time. Only one entry in a regular expression is active at one time. A match normally disables the STE and enables one or more additional STEs. The STEs are linked by a fabric similar to an FPGA. The new graphical development tool (Fig. 1) shows the logical linkage.

Figure 1.State Transition Elements (STE) trigger additional items such as counters or another STE when a symbol match occurs.

Like FPGAs, the AP tools (Fig. 2) take a logical program and convert it into hardware-based linkages. The place-and-route is needed to determine the interconnections between STEs and other logic devices like counters.

Figure 2. Micron’s AP development process is similar to FPGAs where a logical configuration is compiled, optimized and a place-and-route process is used to generate the system configuration.

AP Workbench tools actually use a programming language called ANML (pronounced animal) for Automata Network Markup Language. It is XML-based. It is possible to use ANML directly but many will likely use the IDE to develop with a graphical interface. Regular expressions can be used but ANML provide full access to the AP functionality that is a superset of what regular expressions can describe.

The AP requires a host processor to set up the system, feed the data stream and process the results. The AP does not really perform other types of computation. It can handle 512 different data streams though. The advantage of the architecture is that if more streams must be processed then add more APs. Each AP would have the same configuration and they use less than 4 W/chip.

The tools are available now including a simulator and debugger. The AP ANML compiler performs optimizations like dead-code removal. It can also spread designs across multiple APs.

The PCI Express-based development board will be available in 2015. The board contains up to 32 APs. They are mounted on DIMMs. An FPGA links the APs.

About the Author

William G. Wong | Senior Content Director - Electronic Design and Microwaves & RF

I am Editor of Electronic Design focusing on embedded, software, and systems. As Senior Content Director, I also manage Microwaves & RF and I work with a great team of editors to provide engineers, programmers, developers and technical managers with interesting and useful articles and videos on a regular basis. Check out our free newsletters to see the latest content.

You can send press releases for new products for possible coverage on the website. I am also interested in receiving contributed articles for publishing on our website. Use our template and send to me along with a signed release form. 

Check out my blog, AltEmbedded on Electronic Design, as well as his latest articles on this site that are listed below. 

You can visit my social media via these links:

I earned a Bachelor of Electrical Engineering at the Georgia Institute of Technology and a Masters in Computer Science from Rutgers University. I still do a bit of programming using everything from C and C++ to Rust and Ada/SPARK. I do a bit of PHP programming for Drupal websites. I have posted a few Drupal modules.  

I still get a hand on software and electronic hardware. Some of this can be found on our Kit Close-Up video series. You can also see me on many of our TechXchange Talk videos. I am interested in a range of projects from robotics to artificial intelligence. 

Sponsored Recommendations

Comments

To join the conversation, and become an exclusive member of Electronic Design, create an account today!