Оценка изменений потоковых данных во времени для технического объекта является актуальной задачей. Одним из распространённых методов обработки сигналов эндогенных процессов, которые направлены на выявление внутренних закономерностей или особенностей функционирования объекта, является анализ на основе фрактальных показателей. Основу такого анализа составляет свойство масштабной инвариантности, описываемого показательной аппроксимацией
F(X(τ)) ~ τD . (1)
Данное соотношение показывает инвариантность исследуемого статистического показателя D при изменении масштаба τ измерения свойства F построенного на ряде наблюдений X(τ).
В качестве F обычно используются различные варианты функций, построенные по данным наблюдений X(τ) временного ряда, а в качестве τ для потоковых данных используют либо время, либо порядковый номер наблюдений. Классический примером является показатель Хёрста [1], где в качестве F рассматривается отношение стандартного отклонения к размаху временного ряда на текущем промежутке [τо; τ] — R/S метод.
Достаточно подробный обзор различных методов оценивания потоковых данных для различных функций представлен в [2]. Большая часть алгоритмов расчета статистического показателя D использует накопленные характеристики ряда наблюдений, что требует проведения порядка N2 арифметических операций при вычислении показателя для выборки размером N. В ситуации обработки потоковых данных в режиме реального времени это требование приводит к необходимости использования современных многоядерных компьютеров, а также оптимизации и распараллеливания вычислительных процессов. Для современных контроллеров время обработки сигнала составляет порядка 10-6 с., что соответствует выборке около 105-106 наблюдений и более. Вследствие этого актуальной является задача ускорения вычисления стохастических показателей с использованием современных технологий распараллеливания вычислений.
Для тестовых расчетов использовали модельную выборку данных стандартного броуновского процесса объемом от 213 до 218 наблюдений. Планирование вычислительных экспериментов и оптимизация выполнены согласно полному факторному эксперименту, описанному в работах [3, 4]. В качестве методов расчета используются R/S метод Херста и три модификации: R/R-метод, K-метод, Z-метод [2]. Различие методов состоит в выборе вида функции F(τ). При этом значения показателя D и его «качество» для различных функций различаются.
Для ускорения вычисления показателя Хёрста была разработана последовательная программа на языке С++, реализующая вычисление элементов распределения показателей с использованием R/S, R/R, K, Z методов.
Наиболее затратной частью методов является вычисление накопленных отклонений, на основе которых рассчитывается размах накопленного отклонения, что требует проведения порядка N2 арифметических операций при вычислении показателя Хёрста для выборки размером N. В целях уменьшения времени обработки выборок большой размерности, было предложено задействовать в качестве ускорителей вычислений графические процессоры (GPU), обладающие за счет массивно-параллельной архитектуры более высокой производительностью по сравнению со стандартными центральными процессорами (CPU). Для этого была использована технология OpenACC, позволяющая перенести выполнение вычислительных циклов на графические процессоры и другие массивно-параллельные ускорители путем добавления в исходный код программы специальных директив. Средствами технологии OpenACC, разработанная ранее последовательная программа была адаптирована к выполнению на системах с графическими процессорами: реализовано параллельное выполнение основного вычислительного цикла программы, в котором производится расчет размаха накопленного отклонения.
Сравнительный анализ производительности разработанных программ был проведен на сервере, оснащенном CPU Intel Xeon E5-2670 (8 ядер, работающих на базовой частоте 2,6 ГГц) и GPU NVIDIA Tesla K20x (2 688 ядер, работающих на базовой частоте 0,732 ГГц). Компиляция последовательной программы проводилась компилятором Intel версии 15.0.0, параллельной – PGI 13.10.
В таблице 1 приводится время, затраченное на вычисление элементов распределения показателя Херста R/S методом с лагом τо=100 и шагом по τ равным 1, в зависимости от размера выборки случайных чисел, распределенных по нормальному закону распределения с параметрами N(0,6;0,2). Аналогичные результаты получены и для R/R, K и Z методов.
Таблица 1.
Время работы R/S метода (в сек.) в различных программах в зависимости от размера выборки.
размер выборки/
программа |
8192 | 16384 | 32768 | 65536 | 131072 | 262144 |
Последовательная | 0,01 | 0,07 | 0,23 | 0,81 | 3,16 | 12,6 |
Параллельная | 0,03 | 0,03 | 0,04 | 0,06 | 0,15 | 0,49 |
Как видно из таблицы 1 при N=8192 параллельный расчет размаха накопленного отклонения на GPU не приводит к снижению времени вычислений. Однако с увеличением размера выборки наблюдается существенное ускорение параллельной реализации R/S метода, задействующей GPU, относительно времени последовательного расчета. Так, при N=262144 параллельная версия R/S метода выполняется быстрее в 25,71 раз, чем последовательная. Это связано как с уменьшением доли последовательных вычислений и обменов данными между CPU и GPU, так и с повышением загрузки массивно-параллельного GPU.
Поскольку точность вычисления показателя Хёрста зависит от размера исходного массива значений [2], использование технологий параллельной обработки, в том числе стандарта OpenACC и графических процессоров NVIDIA, на наш взгляд, является эффективным инструментом при решении рассмотренной задачи.
Список литературы:
- Hurst H. E. Long-term storage capacity of reservoirs // Trans. Amer. Soc. Civ. Engrs. 1951. 116. P. 770-808.
- Мухаметзянов И.З., Майский Р.А., Янтудин М.Н. Методические особенности применения стохастических показателей при анализе потоковых данных природных или технических процессов и объектов // Нефтегазовое дело: электрон. науч. журн. 2015. №5. С. 446–492. [Электронный ресурс]. Режим доступа:
- Мухаметзянов И.З. Планирование эксперимента при поиске оптимальных условий: консп. лекций /И.З. Мухаметзянов. – Уфа: Изд-во УГНТУ, 1996. — 80 с.
- Мухаметзянов И.З. Методы оптимальных решений: учеб. пособие /И.З. Мухаметзянов. – Уфа: Изд-во УГНТУ, 2015 — 271 с.[schema type=»book» name=»ПАРАЛЛЕЛЬНЫЕ ВЫЧИСЛЕНИЯ В ЗАДАЧЕ РАСЧЕТА ИНДИКАТОРОВ СТОХАСТИЧЕСКИХ ПРОЦЕССОВ ПОТОКОВЫХ ДАННЫХ» description=»Разработана последовательная программа на языке C++ для вычисления индикаторов стохастических процессов. Реализовано параллельное выполнение основного вычислительного цикла программы, что приводит к существенному ускорению вычислений.» author=»Янтудин Марат Нуруллович, Юлдашев Артур Владимирович, Розов Антон Дмитриевич» publisher=»БАСАРАНОВИЧ ЕКАТЕРИНА» pubdate=»2016-12-21″ edition=»euroasian-science.ru_25-26.03.2016_3(24)» ebook=»yes» ]