High performance FPGA and GPU complex pattern matching over spatio-temporal streams

The wide and increasing availability of collected data in the form of trajectories has led to research advances in behavioral aspects of the monitored subjects (e.g., wild animals, people, and vehicles). Using trajectory data harvested by devices, such as GPS, RFID and mobile devices, complex pattern queries can be posed to select trajectories based on specific events of interest. In this paper, we present a study on FPGA- and GPU-based architectures processing complex patterns on streams of spatio-temporal data. Complex patterns are described as regular expressions over a spatial alphabet that can be implicitly or explicitly anchored to the time domain. More importantly, variables can be used to substantially enhance the flexibility and expressive power of pattern queries. Here we explore the challenges in handling several constructs of the assumed pattern query language, with a study on the trade-offs between expressiveness, scalability and matching accuracy. We show an extensive performance evaluation where FPGA and GPU setups outperform the current state-of-the-art (single-threaded) CPU-based approaches, by over three orders of magnitude for FPGAs (for expressive queries) and up to two orders of magnitude for certain datasets on GPUs (and in some cases slowdown). Unlike software-based approaches, the performance of the proposed FPGA and GPU solutions is only minimally affected by the increased pattern complexity.

[1]  Dieter Pfoser,et al.  Novel Approaches in Query Processing for Moving Object Trajectories , 2000, VLDB 2000.

[2]  Laxmi N. Bhuyan,et al.  Compiling PCRE to FPGA for accelerating SNORT IDS , 2007, ANCS '07.

[3]  Charu C. Aggarwal,et al.  On nearest neighbor indexing of nonlinear trajectories , 2003, PODS '03.

[4]  Kai-Uwe Sattler,et al.  GiST scan acceleration using coprocessors , 2012, DaMoN '12.

[5]  Philipp Slusallek,et al.  Realtime ray tracing of dynamic scenes on an FPGA chip , 2004, Graphics Hardware.

[6]  Cédric du Mouza,et al.  Efficient evaluation of parameterized pattern queries , 2005, CIKM '05.

[7]  Viktor K. Prasanna,et al.  Fast Regular Expression Matching Using FPGAs , 2001, The 9th Annual IEEE Symposium on Field-Programmable Custom Computing Machines (FCCM'01).

[8]  Gustavo Alonso,et al.  Complex event detection at wire speed with FPGAs , 2010, Proc. VLDB Endow..

[9]  Ralf Hartmut Güting,et al.  Spatiotemporal Pattern Queries in Secondo , 2009, SSTD.

[10]  Gustavo Alonso,et al.  FPGA acceleration for the frequent item problem , 2010, 2010 IEEE 26th International Conference on Data Engineering (ICDE 2010).

[11]  Xing Xie,et al.  GeoLife: A Collaborative Social Networking Service among User, Location and Trajectory , 2010, IEEE Data Eng. Bull..

[12]  Paul S. Heckbert,et al.  Graphics gems IV , 1994 .

[13]  Sung-Soo Kim,et al.  Fast Ray-Triangle Intersection Computation Using Reconfigurable Hardware , 2007, MIRAGE.

[14]  Petko Bakalov,et al.  FlexTrack: A System for Querying Flexible Patterns in Trajectory Databases , 2011, SSTD.

[15]  Dimitrios Gunopulos,et al.  Indexing spatiotemporal archives , 2006, The VLDB Journal.

[16]  Donald E. Knuth,et al.  Fast Pattern Matching in Strings , 1977, SIAM J. Comput..

[17]  Matthias Grossglauser,et al.  A parsimonious model of mobile partitioned networks with clustering , 2009, 2009 First International Communication Systems and Networks and Workshops.

[18]  Niccolo Cascarano,et al.  iNFAnt: NFA pattern matching on GPGPU devices , 2010, CCRV.

[19]  Patrick Crowley,et al.  Algorithms to accelerate multiple regular expressions matching for deep packet inspection , 2006, SIGCOMM.

[20]  Pradeep Dubey,et al.  FAST: fast architecture sensitive tree search on modern CPUs and GPUs , 2010, SIGMOD Conference.

[21]  Bingsheng He,et al.  Relational joins on graphics processors , 2008, SIGMOD Conference.

[22]  Petko Bakalov,et al.  Querying trajectories using flexible patterns , 2010, EDBT '10.

[23]  Yufei Tao,et al.  Continuous Nearest Neighbor Search , 2002, VLDB.

[24]  Vassilis J. Tsotras,et al.  High-Performance XML Twig Filtering using GPUs , 2013, ADMS@VLDB.

[25]  Vassilis J. Tsotras,et al.  Efficient XML Path Filtering Using GPUs , 2011, ADMS@VLDB.

[26]  Vassilis J. Tsotras,et al.  Accelerating XML Query Matching through Custom Stack Generation on FPGAs , 2010, HiPEAC.

[27]  Marcos R. Vieira,et al.  Stream-Mode FPGA Acceleration of Complex Pattern Trajectory Querying , 2013, SSTD.

[28]  Jianwen Su,et al.  On moving object queries: (extended abstract) , 2002, PODS '02.

[29]  Ratan K. Guha,et al.  Performance Modeling of Spatio-Temporal Algorithms Over GEDS Framework , 2012, Int. J. Grid High Perform. Comput..

[30]  Kevin Skadron,et al.  Accelerating SQL database operations on a GPU with CUDA , 2010, GPGPU-3.

[31]  Amna Khan,et al.  A High Throughput No-Stall Golomb-Rice Hardware Decoder , 2013, 2013 IEEE 21st Annual International Symposium on Field-Programmable Custom Computing Machines.

[32]  Hamid Jafarkhani,et al.  in Electrical and Computer Engineering , 2005 .

[33]  Oscar H. Ibarra,et al.  On Moving Object Queries , 2002, PODS.

[34]  Cédric du Mouza,et al.  Mobility Patterns , 2005, STDBM.

[35]  Vassilis J. Tsotras,et al.  Massively parallel XML twig filtering using dynamic programming on FPGAs , 2011, 2011 IEEE 27th International Conference on Data Engineering.

[36]  Yufei Tao,et al.  MV3R-Tree: A Spatio-Temporal Access Method for Timestamp and Interval Queries , 2001, VLDB.

[37]  Jonathan Rose,et al.  A high-speed ray tracing engine built on a field-programmable system , 2003, Proceedings. 2003 IEEE International Conference on Field-Programmable Technology (FPT) (IEEE Cat. No.03EX798).

[38]  Hans-Arno Jacobsen,et al.  Efficient event processing through reconfigurable hardware for algorithmic trading , 2010, Proc. VLDB Endow..

[39]  George Kollios,et al.  Complex Spatio-Temporal Pattern Queries , 2005, VLDB.

[40]  Markus Schneider,et al.  Spatio-Temporal Predicates , 2002, IEEE Trans. Knowl. Data Eng..