Skip to Main Content
SQL-based languages are widely used for Software-based Complex Event Processing (CEP) systems. This paper proposes a FPGA acceleration framework to compile a SQL-based event processing language, which is based on the ANSI standard proposal to support event processing, into a high-performance CEP engine on FPGAs. Besides the SQL's primitives such as partitioning, windowing, aggregation and pattern matching, the proposed framework allows C/C++ functions to implement complex algorithms required by real-world applications. The CEP engine also scales very efficiently processing multiple streams in parallel by making use of inexpensive block memories. Experimental results show that our proposed CEP engine, which is compiled for a financial analysis application calculating a popular trading benchmark to capture meaningful market trends, achieves 150M events/sec (20Gbps) processing performance for over 16,000 streams.