GeoInformatica

, Volume 19, Issue 2, pp 405–434 | Cite as

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

  • Roger Moussalli
  • Ildar Absalyamov
  • Marcos R. Vieira
  • Walid Najjar
  • Vassilis J. Tsotras
Article

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.

Keywords

Spatio-temporal Spatial Temporal Database FPGA GPU Acceleration Pattern Matching 

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–24Google Scholar
  2. 2.
    Aggarwal C, Agrawal D (2003) On nearest neighbor indexing of nonlinear trajectories. In: Proceedings of the ACM PODS, pp 252–259Google Scholar
  3. 3.
    Bakkum P, Skadron K (2010) Accelerating SQL database operations on a GPU with CUDA. In: Proceedings of the GPGPU, pp 94–103. ACMGoogle Scholar
  4. 4.
    Beier F, Kilias T, Sattler KU (2012) GiST scan acceleration using coprocessors. In: Proceedings of the DaMoN, pp 63–69Google Scholar
  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–26CrossRefGoogle Scholar
  6. 6.
    Cazalas J, Guha RK (2012) Performance Modeling of Spatio-Temporal Algorithms Over GEDS Framework. IJGHPC 4(3):63–84Google 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–901CrossRefGoogle 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–195Google Scholar
  10. 10.
    Hadjieleftheriou M, Kollios G, Bakalov P, Tsotras VJ (2005) Complex Spatio-temporal Pattern Queries. In: Proceedings of the VLDB, pp 877–888Google Scholar
  11. 11.
    Hadjieleftheriou M, Kollios G, Tsotras VJ, Gunopulos D (2006) Indexing Spatiotemporal Archives. VLDB J 15(2):143–164CrossRefGoogle 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. ACMGoogle Scholar
  13. 13.
    Heckbert PS (1994) Graphics Gems IV, vol 4. Morgan KaufmannGoogle Scholar
  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. ACMGoogle Scholar
  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. SpringerGoogle Scholar
  16. 16.
    Knuth D, Morris J, Pratt V (1977) Fast Pattern Matching in Strings. SIAM. J Comput 6(2):323–350Google 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–350Google Scholar
  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–136Google Scholar
  19. 19.
    Mokhtar H, Su J, Ibarra O (2002) On Moving Object Queries. In: Proceedings of the ACM PODS, pp 188–198Google Scholar
  20. 20.
    Moussalli R, Halstead R, Salloum M, Najjar W, Tsotras VJ (2011) Efficient XML path filtering using GPUs. In: Proceedings of the ADMSGoogle Scholar
  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–72Google Scholar
  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–155Google Scholar
  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 ICDEGoogle Scholar
  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–222Google Scholar
  25. 25.
    Mouza C, Rigaux P (2005) Mobility Patterns. Geoinformatica 9(4):297–319CrossRefGoogle 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–735Google Scholar
  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–406Google Scholar
  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 COMSNETSGoogle Scholar
  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–1528CrossRefGoogle Scholar
  32. 32.
    Sakr MA, Güting RH (2009) Spatiotemporal Pattern Queries in Secondo. In: Proceedings of the SSTD, pp 422–426Google Scholar
  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–106Google Scholar
  34. 34.
    Sidhu R, Prasanna VK (2001) Fast Regular Expression Matching Using FPGAs. In: Proceedings of the IEEE FCCM, pp 227–238Google Scholar
  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–440Google Scholar
  36. 36.
    Tao Y, Papadias D, Shen Q (2002) Continuous Nearest Neighbor Search. In: Proceedings of the VLDB, pp 287–298Google Scholar
  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–680Google Scholar
  38. 38.
    Vieira MR, Bakalov P, Tsotras VJ (2010) Querying Trajectories Using Flexible Patterns. In: Proceedings of the EDBT, pp 406–417Google Scholar
  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–480Google Scholar
  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–669CrossRefGoogle 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–40Google Scholar

Copyright information

© Springer Science+Business Media New York 2014

Authors and Affiliations

  • Roger Moussalli
    • 1
  • Ildar Absalyamov
    • 2
  • Marcos R. Vieira
    • 3
  • Walid Najjar
    • 2
  • Vassilis J. Tsotras
    • 2
  1. 1.IBM T.J. Watson Research CenterYorktown HeightsUSA
  2. 2.Department of Computer Science and EngineeringUniversity of California, RiversideRiversideUSA
  3. 3.IBM Research - BrazilRio de JaneiroBrazil

Personalised recommendations