Статья

Название статьи РАЗРАБОТКА МЕТОДОВ АВТОМАТИЗАЦИИ РАСПАРАЛЛЕЛИВАНИЯ ПРОГРАММ ДЛЯ СИСТЕМ С ОБЩЕЙ ПАМЯТЬЮ
Автор О.В. Шаповалов, А.Е. Андреев, С.А. Фоменков
Рубрика РАЗДЕЛ I. АРХИТЕКТУРЫ, МОДЕЛИ И СРЕДСТВА ИНФОРМАЦИОННЫХ СИСТЕМ
Месяц, год 03, 2015
Индекс УДК 519.688
DOI
Аннотация Рассматривается вопрос автоматизации разработки параллельных программ для систем с общей памятью. Целью данной работы является разработка программного обеспечения, которое предоставит возможность программисту сравнить скорость работы и максимально эффективно использовать различные технологии параллельного программирования применительно к конкретной решаемой задаче. Для сокращения времени разработки предлагается единый интерфейс для работы с технологиями OpenMP, CilkPlus, Intel TBB, PPL, BoostThreads, данный интерфейс используется для автоматического распараллеливания последовательного кода для указанных технологий. Для повышения эффективности распараллеливания предлагается метод, когда для параллельного выполнения одного и того же участка программы могут использоваться несколько технологий параллельного программирования, выбор между которыми происходит на этапе выполнения по разработанному алгоритму классификации. Разработанный алгоритм для выбора параллельной технологии относится к алгоритмам многоклассовой классификации и является модификацией метода ближайших соседей для работы в условиях ограниченного количества информации. Алгоритм также берет за основу некоторые положения алгоритма множественной логит-регрессии. Для получения необходимой статистики для работы алгоритма классификации был разработан алгоритм обучения, который управляет порядком выбора расчета новых статистических данных, и полученные результаты классификации для текущего объекта используются при классификации следующих. Алгоритм обучения имеет линейную сходимость, параметры сходимости подтверждаются теоретическими и практическими исследованиями. Разработана библиотека параллельных шаблонов, облегчающая разработку эффективных параллельных программ для систем с общей памятью и ускорителями. Помимо технологий OpenMP, CilkPlus, Intel TBB, PPL, BoostThreads, для которых распараллеливание выполняется автоматически, пользователь библиотеки может добавлять свои реализации распараллеливания. Эффективность предлагаемых подходов показана на примере программы, вызывающей умножение матриц, сокращение времени работы составило 43% по сравнению со стандартным подходом к распараллеливанию с использованием одной параллельной технологии.

Скачать в PDF

Ключевые слова Автоматическое распараллеливание; адаптивный классификатор; OpenMP; CilkPlus; IntelTBB; PPL; BoostThreads.
Библиографический список 1. Шаповалов О.В., Андреев А.Е., Фоменков С.А. Применение библиотеки параллельных шаблонов в разработке геометрического ядра // Вестник компьютерных и информационных технологий. – 2014. – № 11. – С. 8-12.
2. ParallelPatternsLibrary (PPL) [Электронный ресурс]. – Режим доступа: https://msdn. microsoft.com/en-us/library/dd492418.aspx (дата обращения: 03.05.2015).
3. Айвазян С.А., Бухштабер В.М., Енюков И.С., Мешалкин Л.Д. Прикладная статистика: классификация и снижение размерности. – М.: Финансы и статистика, 1989.
4. Клевцов С.И. Прогнозирование изменений физической величины в реальном времени с использованием линейного адаптивного фильтра // Известия ЮФУ. Технические науки. – 2013. – № 5 (142). – С. 180-185.
5. Shakhnarovish G., Darrel T., Indyk P. Nearest-Neighbor Methods in Learning and Vision // Pattern Analysis and Applications. – 2008. – Vol. 11, Issue 2. – P. 221-222.
6. Freedman, D. Statistical Models: Theory and Practice // Cambridge University Press. – 2009. – p. 128.
7. Ромм Я.Е., Стаховская И.И. Временная сложность параллельного кусочно-интерполяционного вычисления функций // Известия ЮФУ. Технические науки. – 2013. – № 5 (142). – С. 160-165.
8. Центр разработки NVIDIA CUDA [Электронный ресурс]. – Режим доступа: https://developer.nvidia.com/cuda-zone (дата обращения: 03.05.2015).
9. Jackson Q., Landgrebe D.A. An adaptive classifier design forhigh-dimensional data analysis with a limited training data set // IEEETrans. Geosci. Remote Sens. – 2001. – Vol. 39. – P. 2664-2679.
10. Антонов А.С. Параллельное программирование с использованием технологии OpenMP: Учеб. пособие. – М.: Изд-во МГУ, 2009. – 77 с.
11. Бочаров Н.В. Технологии и техника параллельного программирования [Электронный ресурс]. – Режим доступа: http://dks.invitation.ru (дата обращения: 03.05.2015).
12. Карпов А.Н. Тестирование параллельных программ [Электронный ресурс]. – Режим доступа: http://www.viva64.com/ru/a/0031 (дата обращения: 03.05.2015).
13. Жариков Д.Н., Лукьянов В.С., Шамов Е.А., Шаповалов О.В., Попов Д.С. Моделирование динамики электронного потока в скрещенных полях на кластере из центральных и графических процессорных устройств / // Современные наукоёмкие технологии. – 2010. – № 4. – C. 58-60.
14. Немнюгин С.А., Стесик О.Л. Параллельное программирование для многопроцессорных вычислительных систем. – СПб.: БХВ-Петербург, 2002. – 400 с.
15. Кузьмина К.С., Марчевский И.К. Об ускорении вычислений при решении двумерных сопряженных задач гидроупругости вихревыми методами // Вестник Пермского Национального исследовательского политехнического университета. Аэрокосмическая техника. – 2014. – № 39. – С. 145-163.
16. Yokota R., Barba L.A. Hierarchical N-body simulations with auto-tuning for heterogeneous systems // Computing in Science and Engineering. – 2012. – Vol. 14. – P. 30-39.
17. Ортега Дж. Введение в параллельные и векторные методы решения линейных систем: Пер с англ. Дж. Ортега. – М.: Мир, 1991. – 367 с.
18. Сообщество разработчиков программного обеспечения [Электронный ресурс]. – Режим доступа: http://software.intel.com/ru-ru/?iid=gg_work-RU+home_software (дата обращения: 03.05.2015).
19. Шамов Е.А., Шаповалов О.В., Стуров Д.А., Горобцов А.С. Анализ эффективности применения технологии Nvidia CUDA для задач физической электроники // Известия Волгоградского государственного технического университета: Межвуз. сб. науч. ст. – Волгоград: ВолгГТУ, 2009. – № 12 (60). – 128 с. – (Сер. Актуальные проблемы управления,
вычислительной техники и информатики в технических системах. Вып. 7).
20. Шаповалов О.В. Параллельные методы численного решения жестких СОДУ // XV Региональная конференция молодых исследователей Волгоградской области. – Волгоград: ВолгГТУ, 2010.
21. Шаповалов О.В., Юдкин А.А., Андреев А.Е. Разработка параллельных решателей для систем многотельного моделирования // Информационные технологии в образовании, технике и медицине: Материалы Междунар. конф. – Волгоград: ВолгГТУ, 2009.
22. Эндрюс Г.Р. Основы многопоточного, параллельного и распределенного программирования: Пер. с англ. Г.Р. Эндрюс. – М.: Издательский дом «Вильямс», 2003. – 505 с.
23. Prasad S., Bruce L. M. A robust multi-classifier decision fusion framework for hyperspectral, multi-temporal classification // Proc. IEEE IGARSS. – 2008. – Vol. 2. – P. 273-276.
24. Ranawana R. Intelligent multi-classifier design methods for the classification of imbalanced data sets: Ph.D. dissertation. – Univ. of Oxford, Oxford, U.K., 2007. – P. 33-39.
25. Changhong F., Fernandez S., Antonio R., Miguel A., Pascual C. Real-Time Adaptive Multi-Classifier Multi-Resolution Visual Tracking Framework for Unmanned Aerial Vehicles // Research, Education and Development of Unmanned Aerial Systems. – 2010. – Vol. 2, Part 1. – P. 99-106.
26. The OpenMP® API specification for parallel programming [Электронный ресурс].–Режим доступа: https://openmp.org (дата обращения: 03.05.2015).
27. ThreadingBuildingBlocks [Электронный ресурс]. – Режим доступа: https://www.threadingbuildingblocks.org (дата обращения: 03.05.2015).

Comments are closed.