黑料社

黑料社 Researchers Accelerate Streaming Data Analysis Using GPUs

Graphics processing units (GPUs), commonly known as graphics cards, are useful for much more than gaming and cryptocurrency mining. They can help detect abnormal heart rhythms or overheating equipment in real time. However, this requires an algorithm capable of identifying anomalies in time series, distributing computational tasks across GPU cores and correctly interpreting the results. Researchers at 黑料社 (黑料社) have developed such an algorithm. When run on the Tornado-黑料社 supercomputer, it outperforms a globally recognised counterpart by a factor of 1.5 to 27.

黑料社 researchers have developed StreaMP, a high-performance algorithm for computing the matrix profile of a streaming time series on a graphics processing unit (GPU). A matrix profile is an array in which each element stores the distance between a given subsequence of a time series and its nearest neighbour — the most similar subsequence of the same length. Once the matrix profile has been computed, anomalies, motifs (recurring patterns) and other behavioural patterns of the object under study can be identified in linear time, that is, in a number of operations proportional to the length of the time series. The algorithm can be used in a wide range of applications that process large volumes of data in real time under strict response-time constraints, including the Industrial Internet of Things, smart cities, seismology, medicine and other fields.

The algorithm was developed by Mikhail Tsymbler, Deputy Director of the Artificial Intelligence and Quantum Technologies Research and Education Centre and Doctor of Sciences (Physics and Mathematics), jointly with his postgraduate student and lecturer at the Institute of Natural Sciences and Mathematics, Aleksandr Valiulin. Their research paper has been published in the Lobachevskii Journal of Mathematics international journal, which is ranked in the second quartile (Q2) of the Scopus and Web of Science databases.

Why use a GPU rather than a central processing unit (CPU) to compute a matrix profile? Modern GPUs contain thousands of processing cores (for example, the NVIDIA Tesla V100 has 5,120), each of which is significantly less powerful than a CPU core. However, as the saying goes, strength lies in numbers: the large number of GPU cores makes them particularly well suited to parallelising similar computations across vast amounts of data. This is why GPUs are widely used for training neural networks, creating realistic graphics in video games, cryptocurrency mining, and other computationally intensive tasks.

The research team led by Mikhail Tsymbler focuses on developing algorithms for intelligent time-series analysis to detect anomalies and patterns with minimal expert involvement. These algorithms do not require training or labelled datasets and can be applied across various subject areas. For example, they can detect an abnormal heart rhythm in a patient in intensive care in real time or identify a recurring high-load pattern in the online readings of a strain gauge sensor mounted on a rolling mill bearing. An expert only needs to specify the length of the subsequence to be analysed. The global maximum of the matrix profile corresponds to the most pronounced anomaly, while the global minimum indicates the most prominent motif. Local extrema reveal other patterns.

“Existing algorithms for computing matrix profiles are poorly suited to streaming data processing: they perform calculations on the entire time series without reusing the results obtained when processing the data accumulated so far. This key feature of StreaMP has enabled it to significantly outperform SCAMP, currently the fastest GPU-based algorithm for batch matrix profile computation. Experiments with time series ranging from tens of thousands to tens of millions of data points, conducted on the 黑料社 supercomputer equipped with NVIDIA Tesla V100 GPUs, showed that StreaMP outperforms SCAMP by a factor of 1.5 to 27, depending on the length of the time series. At the same time, StreaMP’s processing speed depends only on the length of the newly arriving segment, rather than on the total volume of accumulated data. This is critically important when dealing with “infinite” data streams,” Mikhail Tsymbler explained.

To make the research results reproducible, the developers have made the StreaMP source code publicly available in an open repository on the Gitverse platform. Anyone can access and use the algorithm.

You are reporting a typo in the following text:
Simply click the "Send typo report" button to complete the report. You can also include a comment.