ВВЕДЕНИЕ 5
1. СОВРЕМЕННЫЕ МЕТОДЫ ПОИСКА ПОХОЖИХ
ПОДПОСЛЕДОВАТЕЛЬНОСТЕЙ ВО ВРЕМЕННЫХ РЯДАХ 8
1.1. Формальные определения и постановка задачи 8
1.2. Подходы к поиску похожих подпоследовательностей 9
1.3. Тенденции развития аппаратного обеспечения 13
1.4. Обзор работ по тематике исследования 15
1.5. Выводы по главе 1 17
2. ПРОЕКТИРОВАНИЕ 19
2.1. Базовые принципы 19
2.2. Алгоритмы поиска самой похожей подпоследовательности
временного ряда 23
2.3. Алгоритмы поиска локально похожих подпоследовательностей
временного ряда 28
2.4. Выводы по главе 2 34
3. РЕАЛИЗАЦИЯ 35
3.1. Модульная структура программного комплекса 35
3.2. Аспекты реализации 37
3.3. Выводы по главе 3 39
4. ВЫЧИСЛИТЕЛЬНЫЕ ЭКСПЕРИМЕНТЫ 40
4.1. Аппаратная платформа 40
4.2. План экспериментов 41
4.3. Влияние параметров алгоритма на производительность 41
4.4. Векторизация DTW 44
4.5. Утилизация сопроцессора 44
4.6. Исследование ускорения 45
4.7. Исследование расширяемости 48
4.8. Сравнение с аналогами 50
4.9. Выводы по главе 4 54
ЗАКЛЮЧЕНИЕ 56
ЛИТЕРАТУРА 59
Поиск похожих подпоследовательностей временного ряда представляет собой одну из основных задач интеллектуального анализа временных рядов, возникающую в широком спектре предметных областей: мониторинг показателей функциональной диагностики организма человека [3], моделирование климата [1], финансовое прогнозирование [2] и др.
В поиске похожих подпоследовательностей можно выделить две следующие задачи: задачу поиска самой похожей подпоследовательности и задачу поиска локально похожих подпоследовательностей.
Задача поиска самой похожей подпоследовательности (best-match search) предполагает нахождение подпоследовательности в исходном временном ряде, максимально похожей на заданный ряд меньшей длины (поисковый запрос) в смысле некоторой меры схожести.
Поиск локально похожих подпоследовательностей предполагает (local-best-match search), что имеется временной ряд, в котором необходимо осуществить поиск заданного ряда меньшей длины (поискового запроса), и задано пороговое значение расстояния (меры схожести подпоследовательностей). Решением задачи является множество подпоследовательностей исходного ряда, каждая из которых удовлетворяет следующему условию: расстояние от подпоследовательности до запроса минимально среди соседних с ней подпоследовательностей, отстоящих от запроса не более чем на пороговое значение.
На сегодня динамическая трансформация времени (Dynamic Time Warping, DTW) [8] является одной из наиболее популярных мер во многих приложениях интеллектуального анализа временных рядов [11]. Однако по сравнению с евклидовым расстоянием DTW вычислительно более сложна. На сегодня предложено большое количество подходов для решения данной задачи: отбрасывание заведомо непохожих подпоследовательностей на основе оценки нижней границы расстояния [11], повторное использование вычислений [35], индексирование [23], раннее прекращение заведомо нерезультативных вычислений [32] и др. Тем не менее, вычисление DTW по-прежнему занимает существенную часть времени работы алгоритмов. В силу этого актуальными являются исследования, посвященные использованию параллельных вычислений для решения данной задачи на кластерных системах [36,39], многоядерных процессорах [38], FPGA и GPU [35,44, 45].
В настоящее время вычислительные системы с кластерной архитектурой занимают 85 % списка TOP500 самых мощных суперкомпьютеров мира. Около 20 % систем первой сотни данного списка оснащены многоядерными ускорителями. Вычислительный кластер Tianhe-2, занимающий первую строку списка, оснащен ускорителями на базе архитектуры Intel MIC [12]. На сегодня наиболее часто используемым представителем семейства Intel MIC (Intel Many Integrated Core) является ускоритель (сопроцессор) Intel Xeon Phi.
В этой связи представляется недооцененным потенциал многоядерных ускорителей на базе архитектуры Intel Many Integrated Core [12] для решения задач поиска похожих подпоследовательностей временных рядов.
В соответствии с этим актуальной является задача разработки новых эффективных алгоритмов параллельного поиска похожих подпоследовательностей на кластерных вычислительных системах, оснащенных многоядерными ускорителями.
Цель и задачи исследования
Цель данной работы состояла в разработке и исследовании эффек-алгоритмов поиска похожих подпоследовательностей временных рядов, ориентированных на кластерные вычислительные системы, оснащенные многоядерными ускорителями архитектуры Intel MIC. Для достижения этой цели необходимо было решить следующие задачи:
1) провести обзор последовательных и параллельных алгоритмов поиска похожих подпоследовательностей временных рядов;
2) разработать параллельные алгоритмы поиска похожих подпоследовательностей временного ряда для кластерных вычислительных систем на базе многоядерных ускорителей архитектуры Intel MIC;
3) реализовать разработанные алгоритмы в виде программного комплекса;
4) провести вычислительные эксперименты по исследованию производительности разработанных алгоритмов.
Структура и объем работы
Работа состоит из введения, 4 глав, заключения и библиографии.
Объем работы составляет 64 страницы, объем библиографии - 45 наименований.
Содержание работы
Первая глава, «Современные методы поиска похожих подпоследовательностей во временных рядах», посвящена формальному описанию задач поиска похожих подпоследовательностей. Также в данной главе рассматриваются тенденции развития аппаратного обеспечения и дается обзор научных исследований в области поиска похожих подпоследовательностей. Особое внимание уделяется параллельным алгоритмам поиска похожих подпоследовательностей для вычислительных систем с общей па-мятью, вычислительных систем с многоядерными ускорителями, а также кластерных вычислительных систем.
Вторая глава, «Проектирование», содержит описание базовых принципов проектирования алгоритмов поиска похожих подпоследовательностей и описание данных алгоритмов для различных вычислительных платформ.
Третья глава, «Реализация», содержит описание модульной структуры программного комплекса поиска похожих подпоследовательностей, интерфейсов классов. Также в данной главе рассмотрены основные аспекты, использованные в реализации.
В четвертой главе, «Вычислительные эксперименты», приведены результаты вычислительных экспериментов по исследованию производительности разработанных алгоритмов.
В заключении в краткой форме излагаются итоги выполненного исследования и рассматриваются перспективы дальнейшего развития темы.
Цель данной работы состояла в разработке и исследовании эффективных алгоритмов поиска похожих подпоследовательностей временных рядов, ориентированных на кластерные вычислительные системы, оснащенные многоядерными ускорителями архитектуры Intel MIC.
В данной работе были рассмотрены тенденции развития аппаратного обеспечения и научные исследования в области поиска похожих подпоследовательностей. Особое внимание уделялось параллельным алгоритмам поиска похожих подпоследовательностей для вычислительных систем с общей памятью, вычислительных систем с многоядерными ускорителями, а также кластерных вычислительных систем.
Предложены новые принципы проектирования алгоритмов поиска похожих подпоследовательностей для вычислительных систем с многоядерными ускорителями архитектуры Intel MIC и для кластерных вычислительных систем: трехуровневое распараллеливание, динамическое распределение сегментов, обмен оценками схожести между узлами. Основываясь на данных принципах, были спроектированы параллельные алгоритмы для задач поиска самой похожей подпоследовательности и поиска локально похожих подпоследовательностей. Все разработанные алгоритмы, а также вспомогательные утилиты были реализованы в программном комплексе. Репозиторий с исходными текстами программного комплекса опубликован в сети Интернет по адресу:https://bitbucket.org/movchan74/susu-dtw (общий объем исходных кодов составляет 8800 строк).
Проведены вычислительные эксперименты по исследованию производительности разработанных алгоритмов. В экспериментах использовалось до 128 вычислительных узлов суперкомпьютера «Торнадо ЮУрГУ». В экспериментах использовались 3 набора данных: 2 синтетических и 1 реальный. Эксперименты по исследованию влияния длины запроса показали, что разработанные параллельные алгоритмы имеют значительно большую производительность, чем последовательные. Однако алгоритмы для сопроцессора превосходят алгоритмы, использующие процессор, только на больших длинах запроса. Эксперименты по исследованию влияния раз-личных параметров алгоритмов позволили выявить параметры, при которых достигается наибольшая производительность. Исследование ускорения показало, что разработанные параллельные алгоритмы для кластерной вычислительной системы имеют нелинейное ускорение. На наборе данных Random Walk параллельные алгоритмы поиска локально похожих подпоследовательностей показали в два раза большее ускорение, чем алгоритмы поиска самой похожей подпоследовательности. В экспериментах по исследованию ускорения на наборе данных Pure Random было получено большее ускорение, чем на наборе данных Random Walk. Исследование расширяемости кластерных алгоритмов показало, что разработанные алгоритмы имеют расширяемость, близкую к единице. Сравнительные эксперименты показали превосходство разработанных алгоритмов как над аналогичными алгоритмами поиска самой похожей подпоследовательности для GPU и FPGA, так и над аналогичным алгоритмом для кластерной вычислительной системы.
Получены следующие новые научные результаты.
1. Предложены новые принципы проектирования алгоритмов поиска похожих подпоследовательностей для вычислительных систем с много-ядерными ускорителями архитектуры Intel MIC и для кластерных вычислительных систем.
2. Разработаны параллельные алгоритмы поиска похожих подпоследовательностей временного ряда для кластерных вычислительных систем на базе многоядерных ускорителей архитектуры Intel MIC.
3. Выполнена реализация предложенных алгоритмов в виде программного комплекса.
4. Проведены вычислительные эксперименты по исследованию производительности, показавшие эффективность разработанных алгоритмов.
Апробация результатов исследования
Основные положения выпускной квалификационной работы, разработанные методы, алгоритмы и результаты вычислительных экспериментов докладывались автором на следующих международных научных конференциях:
1) 38-я международная научная конференция по информационно-коммуникационным технологиям, электронике и микроэлектронике MIPRO’2015, 25-29 мая 2015 г, Хорватия, г Опатия;
2) 8-я международная конференция Similarity Search and Applications SISAP’2015, 12-14 октября 2015 г, Шотландия, г Глазго;
3) Международная научная конференция «Суперкомпьютерные дни в России», 28-29 сентября 2015 г., г Москва.
Публикации по теме исследования
Основные результаты опубликованы в 6 научных статьях: в статье [5], опубликованной в журнале из перечня ВАК, статьях [24, 27, 28], опубликованных в изданиях, индексируемых в SCOPUS, и статьях [6, 7], опубликованных в изданиях, индексируемых в РИНЦ.
Направления дальнейших исследований
В качестве возможного направления дальнейших исследований интересными представляются следующие задачи:
• модернизировать разработанные алгоритмы с помощью частичной репликации для обеспечения лучшей балансировки нагрузки между узлами кластерной вычислительной системы;
• создание фреймворка для поиска похожих подпоследовательностей, который позволит использовать разработанные алгоритмы для мер схожести, отличных от динамической трансформации шкалы времени.
1. Абдуллаев С.М. Алгоритмы краткосрочного прогноза с использованием радиолокационных данных: оценка трансляции и композиционный дисплей жизненного цикла / С.М. Абдуллаев, О.Ю. Ленская, А. Гаязова, О. Иванова, А. Носков и др. // Вестник Южно-Уральского государственного университета. Серия: Вычислительная математика и информатика, 2014. - Т 3. - № 1. -С.17-32.
2. Дышаев М.М., Соколинская И.М. Представление торговых сигналов на основе адаптивной скользящей средней Кауфмана в виде системы линейных неравенств // Вестник ЮУрГУ. Серия: Вычислительная математика и информатика, 2013. - Т 2. - № 4. - С. 103-108.
3. Епишев В.В. Система интеллектуального анализа данных физиологических исследований в спорте высших достижений /
В.В. Епишев, А. Исаев, Р.М. Миниахметов, А.В. Мовчан, А.С. Смирнов и др. // Вестник ЮУрГУ. Серия: Вычислительная математика и информатика, 2013. - Т. 2. - № 1. - С. 44-54.
4. Костенецкий П.С., Сафонов А.Ю. Суперкомпьютерный комплекс ЮУрГУ // Параллельные вычислительные технологии (ПаВТ’2016): труды международной научной конференции (28 марта - 1 апреля 2016 г, г. Архангельск), 2016. - С. 561-573.
5. Мовчан А.В., Цымблер М.Л. Обнаружение подпоследовательностей во временных рядах // Открытые системы. СУБД, 2015. - №2. - С. 42-43.
6. Мовчан А.В., Цымблер М.Л. Параллельный алгоритм поиска локально похожих подпоследовательностей временного ряда для ускорителей на базе архитектуры Intel MIC // Суперкомпьютерные дни в России: Труды международной конференции (Москва, 28-29 сентября 2015 г). - М.: Изд-во МГУ, 2015. - С. 332-343.
7. Мовчан А.В., Цымблер М.Л. Параллельная реализация поиска самой похожей подпоследовательности временного ряда для систем с распределенной памятью // Параллельные вычислительные технологии (ПаВТ’2016): труды международной научной конференции (28 марта - 1 апреля 2016 г, г. Архангельск), 2016. - С. 615-628.
8. Berndt D.J., Clifford J. Using Dynamic Time Warping to Find
Patterns in Time Series // KDD Workshop. - AAAI Press, 1994. - P 359-370.
9. CUDA 7.5 Downloads. [Электронный ресурс] URL: https://developer.nvidia.com/cuda-downloads(дата обращения: 13.05.2016).
10. CUDA Parallel Computing Platform. [Электронный ресурс] URL: http://www.nvidia.com/object/cuda_home_new.html(дата обращения: 13.05.2016).
11. Ding H. Querying and mining of time series data: experimental comparison of representations and distance measures / H. Ding, G. Trajcevski, P Scheuermann, X. Wang, E.J. Keogh//PVLDB, 2008. - Vol. 1. - No. 2. - P 1542-1552.
12. Duran A., Klemm M. The Intel® Many Integrated Core Architecture//HPCS. - IEEE, 2012. - P 365-366.
13. Faloutsos C., Ranganathan M., Manolopoulos Y Fast Subsequence Matching in Time-Series Databases // SIGMOD Conference. - ACM Press, 1994. - p 419-429.
14. Fu A.W. Scaling and Time Warping in Time Series Querying /
A. W. Fu, E.J. Keogh, L.Y.H. Lau, C.A. Ratanamahatana // Proceedings of the 31st International Conference on Very Large Data Bases, Trondheim, Norway, August 30 - September 2, 2005. - ACM, 2005. - P 649-660.
15. Fu T. A review on time series data mining // Eng. Appl. of AI, 2011. -Vol. 24. - No. 1. -P 164-181.
16. Goldin D.Q., Kanellakis PC. On Similarity Queries for Time-Series Data: Constraint Specification and Implementation // CP. - Vol. 976 of Lecture Notes in Computer Science. - Springer, 1995. - P. 137-153.
17. Huang S. DTW-Based Subsequence Similarity Search on AMDHeterogeneous Computing Platform/ S. Huang, G. Dai, Y. Sun, Z. Wang, Y. Wang et al. // 10th IEEE International Conference on High Performance Computing and Communications & 2013 IEEE International Conference on Embedded and Ubiquitous Computing, HPCC/EUC 2013, Zhangjiajie, China, November 13-15, 2013. - P. 1054-1063.
18. IEEE Standard for Verilog Hardware Description Language // IEEEStd 1364-2005 (Revision of IEEE Std 1364-2001). - 2006. - P 1-560.
19. Impulse Accelerated Technologies. [Электронный ресурс] URL: http://www.impulsec.com/(дата обращения: 13.05.2016).
20. James W. Cooley J.W.T. An Algorithm for the Machine Calculation of Complex Fourier Series//Mathematics of Computation, 1965. - Vol. 19. - No. 90. -P. 297-301.
21. Keogh E.J. Supporting exact indexing of arbitrarily rotated shapes and periodic time series under Euclidean and warping distance measures / E.J. Keogh, L. Wei, X. Xi, M. Vlachos, S. Lee et al. // VLDB J., 2009. - Vol. 18. - No. 3. -P 611-630.
22. Kim S., Park S., Chu W.W. An Index-Based Approach for SimilaritySearch Supporting Time Warping in Large Sequence Databases // Proceedings of the 17th International Conference on Data Engineering, April 2-6, 2001, Heidelberg, Germany, 2001. - P 607-614.
23. Lim S., Park H., Kim S. Using Multiple Indexes for EfficientSubsequence Matching in Time-Series Databases // Database Systems for Advanced Applications, 11th International Conference, DASFAA 2006, Singapore, April 12-15, 2006, Proceedings. - Vol. 3882 of Lecture Notes in Computer Science. - Springer, 2006. - P 65-79.
24. Miniakhmetov R., Movchan A., Zymbler M. Accelerating Time Series Subsequence Matching on the Intel Xeon Phi Many-core Coprocessor // 38th International Convention on Information and Communication Technology, Electronics and Microelectronics, MIPRO 2015, Opatija, Croatia, May 25-29, 2015. - IEEE, 2015. - P 1675-1680.
25. Mohl S. Innovative technologies I - Using FPGAs insupercomputers: breaking with reconfigurable computing// Proceedings of the ACM/IEEE SC2006 Conference on High Performance Networking and Computing, November 11-17, 2006, Tampa, FL, USA, 2006. - P 251.
26. Moon Y.S., Whang K.Y., Loh W.K. Duality-Based Subsequence Matching in Time-Series Databases // ICDE, 2001. - P. 263-272.
27. Movchan A.V, Zymbler M.L. Parallel Algorithm for Local-best-match Time Series Subsequence Similarity Search on the Intel MIC Architecture//Procedia Computer Science, 2015. - Vol. 66. - P 63-72.
28. Movchan A.V, Zymbler M.L. Time Series Subsequence SimilaritySearch Under Dynamic Time Warping Distance on the Intel Many-coreAccelerators // Similarity Search and Applications - 8th International Conference, SISAP 2015, Glasgow, UK, October 12-14, 2015, Proceedings, 2015. - P 295-306.
29. Nath H., Baruah U. Evaluation of Lower Bounding Methods of Dynamic Time Warping (DTW) // International Journal of Computer Applications, 2014. - Vol. 94. - No. 20. - P. 12-17.
30. Park S. Efficient searches for similar subsequences of differentlengths in sequence databases / S. Park, W.W. Chu, J. Yoon, C. Hsu // Data Engineering, 2000. Proceedings. 16th International Conference on, 2000. - P. 23-32.
31. Pearson K. The Problem of the Random Walk // Nature, 1905. - Vol. 72. - No. 1865. -P 294.
32. Rakthanmanon T. Searching and mining trillions of time series subsequences under dynamic time warping / T. Rakthanmanon,
B. J.L. Campana, A. Mueen, G.E.A.P.A. Batista, M.B. Westover et al. // KDD. - ACM, 2012. - P 262-270.
33. Sakoe H., Chiba S. Dynamic programming algorithm optimization for spoken word recognition // IEEE Transactions on Acoustics, Speech, andSignal Processing, 1978. - Vol. 26. - No. 1. - P 43-49.
34. Sakurai Y., Faloutsos C., Yamamuro M. Stream Monitoring under theTime Warping Distance // Proceedings of the 23rd International Conference on Data Engineering, ICDE 2007, Istanbul, Turkey, April 15-20, 2007. - IEEE, 2007. - P 1046-1055.
35. Sart D. Accelerating Dynamic Time Warping Subsequence Search with GPUs and FPGAs / D. Sart, A. Mueen, W.A. Najjar, E.J. Keogh,
V Niennattrakul // ICDM / Ed. by G.I. Webb, B. Liu, C. Zhang et al. - IEEE Computer Society, 2010. - P 1001-1006.
36. Shabib A. Parallelization of searching and mining time series datausing Dynamic Time Warping/ A. Shabib, A. Narang, C.P. Niddodi, M. Das, R. Pradeep et al. // 2015 International Conference on Advances in Computing, Communications and Informatics, ICACCI 2015, Kochi, India, August 10-13, 2015. - P 343-348.
37. Shanahan J.G., Dai L. Large Scale Distributed Data Science usingApache Spark// Proceedings of the 21th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, Sydney, NSW, Australia, August 10-13, 2015. - P 2323-2324.
38. Sharanyan S., Arvind K., Rajeev G. Implementing the dynamic time warping algorithm in multithreaded environments for real time and unsupervised pattern discovery // ICCCT. - IEEE, 2011. - P. 394-398.
39. Takahashi N. A Parallelized Data Stream Processing System UsingDynamic Time Warping Distance / N. Takahashi, T. Yoshihisa, Y Sakurai, M. Kanazawa // 2009 International Conference on Complex, Intelligent and Software Intensive Systems, CISIS 2009, Fukuoka, Japan, March 16-19, 2009. - IEEE Computer Society, 2009. - P 1100-1105.
40. Tarango J., Keogh E.J., Brisk P Instruction set extensions forDynamic Time Warping // Proceedings of the International Conference on Hardware/Software Codesign and System Synthesis, CODES+ISSS 2013, Montreal, QC, Canada, September 29 - October 4, 2013. - P 18:1-18:10.
41. Tarditi D., Puri S., Oglesby J. Accelerator: using data parallelism toprogram GPUs for general-purpose uses // Proceedings of the 12th International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS 2006, San Jose, CA, USA, October 21-25, 2006. - P 325-335.
42. Threadpool Library for C++ver. 0.2.5. [Электронный ресурс] URL: http://threadpool.sourceforge.net(дата обращения: 15.11.2015).
43. VHDL Official Site. [Электронный ресурс] URL: http://www.vhdl.org/(дата обращения: 13.05.2016).
44. Wang Z. Accelerating subsequence similarity search based ondynamic time warping distance with FPGA/ Z. Wang, S. Huang, L. Wang, H. Li, Y. Wang et al. // The 2013 ACM/SIGDA International Symposium on Field Programmable Gate Arrays, FPGA ’13, Monterey, CA, USA, February 11-13,2013. - ACM, 2013. -P 53-62.
45. Zhang Y., Adl K., Glass J.R. Fast spoken query detection using lower-bound Dynamic Time Warping on Graphical Processing Units // International Conference on Acoustics, Speech and Signal Processing, ICASSP 2012, Kyoto, Japan, March 25-30, 2012. - IEEE, 2012. - P 5173-5176.