Improving the performance of message parsers for embedded systems

Supporting standard text-based protocols in embedded systems is challenging because of the often limited computational resources that embedded systems provide. To overcome this issue, a promising approach is to build parsers directly in hardware. Unfortunately, developing such parsers is a daunting task for most developers as it is at the cross-roads of several areas of expertise, such as low-level network programming, or hardware design. In this paper, we propose Zebra, a generative approach to drastically ease the development of hardware parsers and their use in network applications. To validate our approach, we have used Zebra to generate hardware parsers for widely used protocols, namely HTTP, SMTP, SIP, and RTSP. Our experiments show that Zebra-based parsers systematically outperform software-based parsers.

[1]  Ieee Standards Board IEEE Standard hardware Description language : based on the Verilog hardware description language , 1996 .

[2]  Johnny Öberg,et al.  Grammar-based hardware synthesis from port-size independent specifications , 2000, IEEE Trans. Very Large Scale Integr. Syst..

[3]  Anil Madhavapeddy,et al.  Creating high-performance statically type-safe network applications , 2010 .

[4]  Helen J. Wang,et al.  Generic Application-Level Protocol Analyzer and its Language , 2007, NDSS.

[5]  I. Skuliber,et al.  Grammar-based SIP parser implementation with performance optimizations , 2011, Proceedings of the 11th International Conference on Telecommunications.

[6]  Michael Scharf,et al.  Measurement of the SIP Parsing Performance in the SIP Express Router , 2007, EUNICE.

[7]  Jukka Manner,et al.  Session Initiation Protocol Deployment in Ad-Hoc Networks: a Decentralized Approach , 2005 .

[8]  Gary Smith,et al.  High-Level Synthesis: Past, Present, and Future , 2009, IEEE Design & Test of Computers.

[9]  Julia L. Lawall,et al.  A Language-Based Approach for Improving the Robustness of Network Application Protocol Implementations , 2007, 2007 26th IEEE International Symposium on Reliable Distributed Systems (SRDS 2007).

[10]  Gustavo Alonso,et al.  SIPHoc: Efficient SIP Middleware for Ad Hoc Networks , 2007, Middleware.

[11]  Mauricio Cortes,et al.  Narnia: a virtual machine for multimedia communication services , 2002, Fourth International Symposium on Multimedia Software Engineering, 2002. Proceedings..

[12]  Michael Fingeroff,et al.  High-Level Synthesis Blue Book , 2010 .

[13]  John W. Lockwood,et al.  Reconfigurable content-based router using hardware-accelerated language parser , 2008, TODE.

[14]  Julia L. Lawall,et al.  Zebu: A Language-Based Approach for Network Protocol Message Processing , 2011, IEEE Transactions on Software Engineering.

[15]  R. C. Cofer,et al.  Rapid System Prototyping with FPGAs: Accelerating the Design Process , 2005 .

[16]  Sudha Krishnamurthy,et al.  TinySIP: Providing Seamless Access to Sensor-based Services , 2006, 2006 Third Annual International Conference on Mobile and Ubiquitous Systems: Networking & Services.

[17]  Petko Bakalov,et al.  Boosting XML Filtering with a Scalable FPGA-based Architecture , 2009, CIDR 2009.

[18]  Mauricio Cortes,et al.  On SIP performance , 2004, Bell Labs Technical Journal.

[19]  Jason Helge Anderson,et al.  LegUp: high-level synthesis for FPGA-based processor/accelerator systems , 2011, FPGA '11.

[20]  Adrian D. Thurston Parsing Computer Languages with an Automaton Compiled from a Single Regular Expression , 2006, CIAA.

[21]  Philip Koopman,et al.  Communication Protocols for Embedded Systems , 1994 .

[22]  Yérom-David Bromberg,et al.  Zebra: Building Efficient Network Message Parsers for Embedded Systems , 2012, IEEE Embedded Systems Letters.