Skip to main content
Log in

ScrimpCo: scalable matrix profile on commodity heterogeneous processors

  • Published:
The Journal of Supercomputing Aims and scope Submit manuscript

Abstract

The discovery of time series motifs and discords is considered a paramount and challenging problem regarding time series analysis. In this work, we present ScrimpCo, a heterogeneous implementation of a previous algorithm called SCRIMP that excels at finding relevant subsequences in time series. We propose and evaluate several static, dynamic and adaptive partition strategies targeting commodity processors, on both homogeneous (CPU multicore) and heterogeneous (CPU + GPU) architectures. For the CPU + GPU implementation, we explore a heterogeneous parallel_reduce pattern that computes part of the computation onto an OpenCL capable GPU, whereas the CPU cores take care of the other part. Our heterogeneous scheduler, built on top of TBB, pays special attention to appropriately balance the computational load among the GPU and CPU cores. The experimental results show that our homogeneous implementation scales linearly and that our heterogeneous implementation allows us to reach near-ideal performance on commodity processors that feature an on-chip GPU.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

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

Similar content being viewed by others

References

  1. Yoon CE, O’Reilly O, Bergen KJ, Beroza GC (2015) Earthquake detection through computationally efficient similarity search. Sci Adv 1(11):e1501057

    Article  Google Scholar 

  2. Rhodes J, Cole W, Upshaw C, Edgar T, Webber M (2014) Clustering analysis of residential electricity demand profiles. Appl Energy 135:461–471

    Article  Google Scholar 

  3. Kolb I, Talei Franzesi G, Wang M, Kodandaramaiah SB, Forest CR, Boyden ES, Singer AC (2018) Evidence for long-timescale patterns of synaptic inputs in ca1 of awake behaving mice. J Neurosci 38(7):1821–1834

    Article  Google Scholar 

  4. Balázs S, Ajinkya D, Barbara W (2015) Searching for motifs in the behaviour of larval Drosophila melanogaster and Caenorhabditis elegans reveals continuity between behavioural states. J R Soc Interface 12(113):20150899

    Article  Google Scholar 

  5. Yeh CCM, Zhu Y, Ulanova L, Begum N, Ding Y, Dau HA, Silva DF, Mueen A, Keogh E (2016) Matrix profile i: all pairs similarity joins for time series: a unifying view that includes motifs, discords and shapelets. In: 2016 IEEE 16th International Conference on Data Mining (ICDM), IEEE 1317–1322

  6. Zhu Y, Zimmerman Z, Senobari NS, Yeh CM, Funning G, Mueen A, Brisk P, Keogh E (2016) Matrix profile ii: Exploiting a novel algorithm and GPUs to break the one hundred million barrier for time series motifs and joins. In: 2016 IEEE 16th International Conference on Data Mining (ICDM), pp 739–748

  7. Zhu Y, Yeh CCM, Zimmerman ZF, Kamgar K, Keogh E (2018) Matrix Profile XI: SCRIMP++: time series motif discovery at interactive speeds. In: 2018 IEEE International Conference on Data Mining (ICDM), pp 837–846

  8. Pfeilschifter G (2019) Time series analysis with matrix profile on HPC systems. Master’s thesis, Department of Informatics, Technical University of Munich, Germany

  9. Zhu Y, Zimmerman Z, Shakibay Senobari N, Yeh CCM, Funning G, Mueen A, Brisk P, Keogh E (2018) Exploiting a novel algorithm and GPUs to break the ten quadrillion pairwise comparisons barrier for time series motifs and joins. Knowl Inf Syst 54(1):203–236

    Article  Google Scholar 

  10. Fernandez I, Villegas A, Gutierrez E, Plata O (2019) Accelerating time series motif discovery in the Intel Xeon Phi KNL processor. J Supercomput 75(11):7053–7075

    Article  Google Scholar 

  11. Voss M, Asenjo R, Reinders J (2019) Pro TBB: C++ parallel programming with threading building blocks. Apress, New York

    Book  Google Scholar 

  12. Navarro A, Corbera F, Rodriguez A, Vilches A, Asenjo R (2019) Heterogeneous parallel_for template for CPU-GPU chips. Int J Parallel Program 47(2):213–233

    Article  Google Scholar 

  13. Paparrizos J, Gravano L (2016) k-shape: Efficient and accurate clustering of time series. SIGMOD Rec 45(1):69–76

    Article  Google Scholar 

  14. Echihabi K, Zoumpatianos K, Palpanas T, Benbrahim H (2018) The lernaean hydra of data series similarity search: An experimental evaluation of the state of the art. PVLDB 12(2):112–127

    Google Scholar 

  15. Makridakis S, Spiliotis E, Assimakopoulos V (2019) The m4 competition: 100,000 time series and 61 forecasting methods. Int J Forecast 36(1):54–74

    Article  Google Scholar 

  16. Ahmed NK, Atiya AF, Gayar NE, El-Shishiny H (2010) An empirical comparison of machine learning models for time series forecasting. Econom Rev 29(5–6):594–621

    Article  MathSciNet  Google Scholar 

  17. McGovern A, Rosendahl DH, Brown RA, Droegemeier KK (2011) Identifying predictive multi-dimensional time series motifs: an application to severe weather prediction. Data Min Knowl Discov 22(1):232–258

    Article  Google Scholar 

  18. Torkamani S, Lohweg V (2017) Survey on time series motif discovery. Data Min Knowl Discov 7(2):1199

    Article  Google Scholar 

  19. Keogh E (2019) MASS algorithm: Mueen’s algorithm for similarity search. https://www.cs.unm.edu/~mueen/FastestSimilaritySearch.html. Accessed 23 April 2019

  20. Zymbler M, Polyakov A, Kipnis M (2019) Time series discord discovery on intel many-core systems. In: Sokolinsky L, Zymbler M (eds) Parallel computational technologies. Springer, Cham, pp 168–182

    Chapter  Google Scholar 

  21. Przymus P, Kaczmarski K (2014) Time series queries processing with GPU support. New trends in databases and information systems. Springer, Cham, pp 53–60

    Chapter  Google Scholar 

  22. Bueno J, Planas J, Duran A, Badia RM, Martorell X, Ayguadé E, Labarta J (2012) Productive programming of GPU clusters with OmpSs. In: International Parallel and Distributed Processing Symposium, pp 557–568

  23. Belviranli M, Bhuyan L, Gupta R (2013) A dynamic self-scheduling scheme for heterogeneous multiprocessor architectures. ACM Trans Archit Code Optim (TACO) 9(4):1–20

    Article  Google Scholar 

  24. Pandit P, Govindarajan R (2014) Fluidic kernels: cooperative execution of OpenCL programs on multiple heterogeneous devices. In: International Symposium on Code Generation and Optimization, CGO ’14

  25. Kaleem R, Barik R, Shpeisman T, Hu C, Lewis BT, Pingali K (Aug 2014) Adaptive heterogeneous scheduling for integrated GPUs. In: International Conference on Parallel Architecture and Compilation Techniques (PACT), pp 151–162

  26. Pérez B, Bosque JL, Beivide R (2016) Simplifying programming and load balancing of data parallel applications on Heterogeneous Systems. In: Proceedings of the 9th Annual Workshop on General Purpose Processing GPU. GPGPU ’16, pp 42–51

  27. Blumofe RD, Leiserson CE (1999) Scheduling multithreaded computations by work stealing. J ACM 46(5):720–748

    Article  MathSciNet  Google Scholar 

  28. Junkins S (2015) The compute architecture of Intel Processor Graphics Gen9. https://software.intel.com/en-us/file/the-compute-architecture-of-intel-processor-graphics-gen9-v1d0pdf. Accessed Sept 2019

  29. Khronos OpenCL Atomic functions (2019) https://www.khronos.org/registry/OpenCL/sdk/1.2/docs/man/xhtml/atom_cmpxchg.html. Accessed 1 May 2019

  30. Nelson CR, Plosser CR (1982) Trends and random walks in macroeconomic time series: some evidence and implications. J Monet Econ 10(2):139–162

    Article  Google Scholar 

  31. Keogh E (2016) The UCR matrix profile page. https://www.cs.ucr.edu/~eamonn/MatrixProfile.html. Accessed 13 Sept 2019

Download references

Acknowledgements

This work has been supported by the Spanish project TIN2016-80920-R, by Junta de Andalucia under research projects UMA18-FEDERJA-108, and by the Universidad de Málaga (Andalucia Tech Intl. Campus of Excellence).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Rafael Asenjo.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Romero, J.C., Vilches, A., Rodríguez, A. et al. ScrimpCo: scalable matrix profile on commodity heterogeneous processors. J Supercomput 76, 9189–9210 (2020). https://doi.org/10.1007/s11227-020-03199-w

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11227-020-03199-w

Keywords

Navigation