Skip to main content

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

We’re sorry, something doesn't seem to be working properly.

Please try refreshing the page. If that doesn't work, please contact support so we can address the problem.

Abstract

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.

This is a preview of subscription content, access via your institution.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16

References

  1. 1.

    Absalyamov I, Moussalli R, Tsotras VJ, Najjar WA (2013) High-performance XML twig filtering using GPUs. In: Proceedings of the ADMS, pp 13–24

  2. 2.

    Aggarwal C, Agrawal D (2003) On nearest neighbor indexing of nonlinear trajectories. In: Proceedings of the ACM PODS, pp 252–259

  3. 3.

    Bakkum P, Skadron K (2010) Accelerating SQL database operations on a GPU with CUDA. In: Proceedings of the GPGPU, pp 94–103. ACM

  4. 4.

    Beier F, Kilias T, Sattler KU (2012) GiST scan acceleration using coprocessors. In: Proceedings of the DaMoN, pp 63–69

  5. 5.

    Cascarano N, Rolando P, Risso F, Sisto R. (2010) iNFAnt: NFA pattern matching on GPGPU devices. SIGCOMM Comput Commun Rev 40(5):20–26

    Article  Google Scholar 

  6. 6.

    Cazalas J, Guha RK (2012) Performance Modeling of Spatio-Temporal Algorithms Over GEDS Framework. IJGHPC 4(3):63–84

    Google Scholar 

  7. 7.

    (2013) Chorochronos: http://www.chorochronos.org

  8. 8.

    Erwig M, Schneider M (2002) Spatio-Temporal Predicates. IEEE Trans Knowl Data Eng 14(4):881–901

    Article  Google Scholar 

  9. 9.

    Fender J, Rose J (2003) A High-Speed Ray Tracing Engine Built on a Field-Programmable System. In: Proceedings of the IEEE FPT, pp 188–195

  10. 10.

    Hadjieleftheriou M, Kollios G, Bakalov P, Tsotras VJ (2005) Complex Spatio-temporal Pattern Queries. In: Proceedings of the VLDB, pp 877–888

  11. 11.

    Hadjieleftheriou M, Kollios G, Tsotras VJ, Gunopulos D (2006) Indexing Spatiotemporal Archives. VLDB J 15(2):143–164

    Article  Google Scholar 

  12. 12.

    He B, Yang K, Fang R, Lu M, Govindaraju N, Luo Q, Sander P (2008) Relational joins on graphics processors. In: Proceedings of the ACM SIGMOD, pp 511–524. ACM

  13. 13.

    Heckbert PS (1994) Graphics Gems IV, vol 4. Morgan Kaufmann

  14. 14.

    Kim C, et al. (2010) FAST: fast architecture sensitive tree search on modern CPUs and GPUs. In: Proceedings of the ACM SIGMOD, pp 339–350. ACM

  15. 15.

    Kim SS, Nam SW, Lee IH (2007) Fast Ray-Triangle Intersection Computation Using Reconfigurable Hardware. In: Computer Vision/Computer Graphics Collaboration Techniques, LNCS, vol 4418, pp 70–81. Springer

  16. 16.

    Knuth D, Morris J, Pratt V (1977) Fast Pattern Matching in Strings. SIAM. J Comput 6(2):323–350

    Google Scholar 

  17. 17.

    Kumar S, et al (2006) Algorithms to Accelerate Multiple Regular Expressions Matching for Deep Packet Inspection. In: Proceedings of the ACM SIGCOMM, pp 339–350

  18. 18.

    Mitra A, Najjar W, Bhuyan L (2007) Compiling PCRE to FPGA for Accelerating SNORT IDS. In: Proceedings of the ACM/IEEE ANCS, pp 127–136

  19. 19.

    Mokhtar H, Su J, Ibarra O (2002) On Moving Object Queries. In: Proceedings of the ACM PODS, pp 188–198

  20. 20.

    Moussalli R, Halstead R, Salloum M, Najjar W, Tsotras VJ (2011) Efficient XML path filtering using GPUs. In: Proceedings of the ADMS

  21. 21.

    Moussalli R, Najjar W, Luo X, Khan A (2013) A High Throughput No-Stall Golomb-Rice Hardware Decoder. In: Proceedings of the IEEE FCCM, pp 65–72

  22. 22.

    Moussalli R, Salloum M, Najjar W, Tsotras VJ (2010) Accelerating XML Query Matching Through Custom Stack Generation on FPGAs. In: HiPEAC, pp 141–155

  23. 23.

    Moussalli R, Salloum M, Najjar W, Tsotras VJ (2011) Massively Parallel XML Twig Filtering Using Dynamic Programming on FPGAs. In: Proceedings of the IEEE ICDE

  24. 24.

    Moussalli R, Vieira MR, Najjar WA, Tsotras VJ (2013) Stream-mode fpga acceleration of complex pattern trajectory querying. In: Proceedings of the SSTD, pp 201–222

  25. 25.

    Mouza C, Rigaux P (2005) Mobility Patterns. Geoinformatica 9(4):297–319

    Article  Google Scholar 

  26. 26.

    du Mouza C, Rigaux P, Scholl M (2005) Efficient evaluation of parameterized pattern queries. In: Proceedings of the ACM CIKM, pp 728–735

  27. 27.

    Nvidia (2014) Nvidia GPU Programming Guide. http://docs.nvidia.com/cuda/

  28. 28.

    Pfoser D, Jensen C, Theodoridis Y (2000) Novel Approaches in Query Processing for Moving Object Trajectories. In: Proceedings of the VLDB, pp 395–406

  29. 29.

    Pico Computing M-Series Modules (2012). http://picocomputing.com/m-series/m-501

  30. 30.

    Piorkowski M, Sarafijanovoc-Djukic N, Grossglauser M (2009) A Parsimonious Model of Mobile Partitioned Networks with Clustering. In: Proceedings of the COMSNETS

  31. 31.

    Sadoghi M, et al. (2010) Efficient Event Processing Through Reconfigurable Hardware for Algorithmic Trading. Proc. of the VLDB Endow 3(1–2):1525–1528

    Article  Google Scholar 

  32. 32.

    Sakr MA, Güting RH (2009) Spatiotemporal Pattern Queries in Secondo. In: Proceedings of the SSTD, pp 422–426

  33. 33.

    Schmittler J, Woop S, Wagner D, Paul WJ, Slusallek P (2004) Realtime Ray Tracing of Dynamic Scenes on an FPGA Chip. In: Proceedings of the ACM HWWS, pp 95–106

  34. 34.

    Sidhu R, Prasanna VK (2001) Fast Regular Expression Matching Using FPGAs. In: Proceedings of the IEEE FCCM, pp 227–238

  35. 35.

    Tao Y, Papadias D (2001) MV3R-Tree: A Spatio-Temporal Access Method for Timestamp and Interval Queries. In: Proceedings of the VLDB, pp 431–440

  36. 36.

    Tao Y, Papadias D, Shen Q (2002) Continuous Nearest Neighbor Search. In: Proceedings of the VLDB, pp 287–298

  37. 37.

    Teubner J, Müller R, Alonso G (2010) FPGA Acceleration for the Frequent Item Problem. In: Proceedings of the IEEE ICDE, pp 669–680

  38. 38.

    Vieira MR, Bakalov P, Tsotras VJ (2010) Querying Trajectories Using Flexible Patterns. In: Proceedings of the EDBT, pp 406–417

  39. 39.

    Vieira MR, Bakalov P, Tsotras VJ (2011) FlexTrack: a System for Querying Flexible Patterns in Trajectory Databases. In: Proceedings of the SSTD, pp 475–480

  40. 40.

    Woods L, Teubner J, Alonso G (2010) Complex Event Detection at Wire Speed with FPGAs. Proc. of the VLDB Endow 3(1–2):660–669

    Article  Google Scholar 

  41. 41.

    Zheng Y, Xie X, Ma WY (2010) GeoLife: A Collaborative Social Networking Service Among User, Location and Trajectory. IEEE Data Eng Bull 33(2):32–40

    Google Scholar 

Download references

Acknowledgments

This work has been partially supported by National Science Foundation awards: CCF-1219180, IIS-1161997 and IIS-1305253.

Author information

Affiliations

Authors

Corresponding author

Correspondence to Roger Moussalli.

Rights and permissions

Reprints and Permissions

About this article

Verify currency and authenticity via CrossMark

Cite this article

Moussalli, R., Absalyamov, I., Vieira, M.R. et al. High performance FPGA and GPU complex pattern matching over spatio-temporal streams. Geoinformatica 19, 405–434 (2015). https://doi.org/10.1007/s10707-014-0217-3

Download citation

Keywords

  • Spatio-temporal
  • Spatial
  • Temporal
  • Database
  • FPGA
  • GPU
  • Acceleration
  • Pattern
  • Matching