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.
Similar content being viewed by others
References
Yoon CE, O’Reilly O, Bergen KJ, Beroza GC (2015) Earthquake detection through computationally efficient similarity search. Sci Adv 1(11):e1501057
Rhodes J, Cole W, Upshaw C, Edgar T, Webber M (2014) Clustering analysis of residential electricity demand profiles. Appl Energy 135:461–471
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
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
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
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
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
Pfeilschifter G (2019) Time series analysis with matrix profile on HPC systems. Master’s thesis, Department of Informatics, Technical University of Munich, Germany
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
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
Voss M, Asenjo R, Reinders J (2019) Pro TBB: C++ parallel programming with threading building blocks. Apress, New York
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
Paparrizos J, Gravano L (2016) k-shape: Efficient and accurate clustering of time series. SIGMOD Rec 45(1):69–76
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
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
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
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
Torkamani S, Lohweg V (2017) Survey on time series motif discovery. Data Min Knowl Discov 7(2):1199
Keogh E (2019) MASS algorithm: Mueen’s algorithm for similarity search. https://www.cs.unm.edu/~mueen/FastestSimilaritySearch.html. Accessed 23 April 2019
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
Przymus P, Kaczmarski K (2014) Time series queries processing with GPU support. New trends in databases and information systems. Springer, Cham, pp 53–60
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
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
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
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
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
Blumofe RD, Leiserson CE (1999) Scheduling multithreaded computations by work stealing. J ACM 46(5):720–748
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
Khronos OpenCL Atomic functions (2019) https://www.khronos.org/registry/OpenCL/sdk/1.2/docs/man/xhtml/atom_cmpxchg.html. Accessed 1 May 2019
Nelson CR, Plosser CR (1982) Trends and random walks in macroeconomic time series: some evidence and implications. J Monet Econ 10(2):139–162
Keogh E (2016) The UCR matrix profile page. https://www.cs.ucr.edu/~eamonn/MatrixProfile.html. Accessed 13 Sept 2019
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
Corresponding author
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
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
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11227-020-03199-w