Аннотация:
В настоящее время обнаружение аномалий в длинных временных рядах возникает в широком спектре предметных областей: цифровая индустрия, здравоохранение, моделирование климата, финансовая аналитика и др. Диссонанс формализует понятие аномалии и определяется как подпоследовательность ряда, которая имеет расстояние до своего ближайшего соседа, не превышающее наперед заданного аналитиком порога. Ближайшим соседом подпоследовательности является та подпоследовательность ряда, которая не пересекается с данной и имеет минимальное расстояние до нее. В статье представлен новый алгоритм поиска диссонансов временн´ого ряда на вычислительном кластере, каждый узел которого оснащен графическим процессором. Алгоритм применяет параллелизм по данным: временн´ой ряд разбивается на непересекающиеся фрагменты, обрабатываемые графическими процессорами узлов вычислительного кластера. С помощью ранее разработанного авторами параллельного алгоритма на каждом узле выполняется отбор локальных кандидатов в диссонансы. Далее с помощью обменов на каждом узле формируется множество глобальных кандидатов как объединение всех локальных кандидатов. Затем каждый узел выполняет глобальную очистку, удаляя из множества глобальных кандидатов ложноположительные диссонансы. Глобальная очистка распараллеливается на основе блочного умножения матрицы кандидатов и матрицы подпоследовательностей фрагмента. Результирующее множество диссонансов формируется как пересечение множеств, полученных узлами по итогу глобальной очистки. Вычислительные эксперименты с синтетическими и реальными временными рядами, проведенные на платформе суперкомпьютеров Ломоносов-2 и Лобачевский, оснащенных 48–64 графическими процессорами, показывают высокую масштабируемость разработанного алгоритма.