Подход к оценке локальности зернистых вычислительных процессов, логически организованных в двумерную структуру

Бесплатный доступ

При реализации алгоритмов на многопроцессорных вычислительных устройствах важнейшую роль для достижения высокой производительности играет локальность — вычислительное свойство алгоритма, отражаюшее степень использования памяти с быстрым доступом. Для суперкомпьютеров с распределенной памятью быстрой считается локальная память вычислительного узла. Параллельные алгоритмы с меньшим объемом и лучшей структурой коммуникационных операций обладают лучшей локальностью. В работе на основе схемы расщепления с весами построен новый параллельный алгоритм численного решения трехмерного линейного уравнения теплопроводности. Алгоритм ориентирован на компьютеры с распределенной памятью, сочетает конвейерный и естественный параллелизм, использует 2D структуру процессов. Схема расщепления обладает естественным параллелизмом. Ранее для случая 1D структуры процессов было показано, что использование конвейерного параллелизма вместо части естественного параллелизма приводит к меньшим объемам и лучшей структуре коммуникационных операций. Построенный 2D алгоритм обобщает известный 1D алгоритм. Использование двумерных структур позволяет уменьшить объем и улучшить структуру коммуникационных операций, уменьшить время разгона и торможения вычислений. Поэтому 2D алгоритм обладает лучшей локальностью по сравнению с использованием 1D структуры процессов. Вычислительные эксперименты на суперкомпьютере показали преимущество нового параллельного алгоритма. По аналогии с представленным алгоритмом можно получить и исследовать параллельные алгоритмы для других схем метода дробных шагов. На примере алгоритма, реализующего схему расщепления, представлен подход к получению асимптотических оценок объема коммуникационных операций зернистых (т.е. уровня макроопераций) параллельных вычислительных процессов, логически организованных в двумерную структуру. Оценки могут быть использованы для сравнения коммуникационных затрат при получении альтернативных вариантов параллельных алгоритмов

Еще

Параллельные вычисления, многопроцессорная вычислительная система с распределенной памятью, уменьшение обменов данными, метод дробных шагов

Короткий адрес: https://sciup.org/147234531

IDR: 147234531   |   DOI: 10.14529/cmse210303

Список литературы Подход к оценке локальности зернистых вычислительных процессов, логически организованных в двумерную структуру

  • Адуцкевич Е.В., Лиходед Н.А. Согласованное получение конвейерного параллелизма и распределения операций и данных между процессорами // Программирование. 2006. Т. 32, № 3. С. 54–65.
  • Баханович С.В., Лиходед Н.А., Мандрик П.А. Улучшение локальности параллельных алгоритмов численного решения двумерных квазилинейных параболических уравнений // Вестник Российского университета дружбы народов. Серия: Математика, информатика, физика. 2014. № 2. С. 211–215.
  • Воеводин В.В., Воеводин Вл.В. Параллельные вычисления. Санкт-Петербург: БХВ-Петербург, 2002. 608 с.
  • Воеводин Вл.В., Воеводин Вад.В. Спасительная локальность суперкомпьютеров // Открытые системы. 2013. № 9. С. 12–15.
  • Гергель В.П., Стронгин Р.Г. Основы параллельных вычислений для многопроцессорных вычислительных систем. Нижний Новгород: ННГУ им. Н.И. Лобачевского, 2003. 184 с.
  • Колешко C.Б., Попов Ф.Д. Механика жидкости и газа. Разностные схемы. Учеб. пособие. СПб.: Изд-во СПбГТУ, 2001. 72 с.
  • Корнеев Б.А., Левченко В. Д. Эффективное решение трехмерных задач газовой динамики Рунге—Кутты разрывным методом Галеркина// Журнал вычислительной математики и математической физики. 2016. № 3. С. 465–475. DOI: 10.7868/S0044466916030121.
  • Лиходед Н.А. Достаточные условия определения и использования данных в одном параллельном зернистом вычислительном процессе // Журнал вычислительной математики и математической физики. 2014. № 8. С. 122–133. DOI: 10.7868/s0044466914080092.
  • Лиходед Н.А., Баханович С.В., Жерело А.В. Получение аффинных преобразований для улучшения локальности гнезд циклов // Программирование. 2005. № 5. С. 52– 65. DOI: 10.1007/s11086-005-0036-2.
  • Лиходед Н.А., Полещук М.А. Построение двумерных зернистых параллельных вычислительных процессов // Известия НАН Беларуси. Сер. физ.-мат. наук 2018. Т. 54, № 4. С. 417–426. DOI: 10.29235/1561-2430-2018-54-4-417-426.
  • Лиходед Н.А., Толстиков А.А. Метод оценки локальности параллельных алгоритмов, ориентированных на компьютеры с распределенной памятью // Доклады НАН Беларуси. 2020. Т. 64, № 6. С. 647–656. DOI: 10.29235/1561-8323-2020-64-6-647-656.
  • Лиходед Н.А., Толстиков А.А. Параллельные последовательности зернистых вычислений // Доклады НАН Беларуси. 2010. Т. 54, № 4. С. 36–41.
  • Толстиков А.А., Лиходед Н.А. Корректность разбиений алгоритмов при организации зернистых параллельных вычислительных процессов // Международный конгресс по информатике: информационные системы и технологии (CSIST'2011) (Минск, 31 октября – 3 ноября 2011 г.). Минск: Белорусский государственный университет, 2011. Т. 2. С. 122–126.
  • Толстиков А.А., Лиходед Н.А. Параллельный алгоритм метода расщепления для реализации на суперкомпьютерах с распределенной памятью // Международная научная конференция «Параллельные вычислительные технологии» (ПаВТ’2020) (Пермь, 31 марта – 2 апреля 2020 г.). Короткие статьи и описания плакатов. Челябинск: Издательский центр ЮУрГУ, 2020. С. 287–297.
  • Яненко Н.Н. Метод дробных шагов решения многомерных задач математической физики. Новосибирск: Изд-во «Наука». Сибирское отделение, 1967. 197 с.
  • Bondhugula U., Baskaran M., Krishnamoorthy S., Ramanujam J., Rountev A., Sadayappan P. Automatic transformations for communication-minimized parallelization and locality optimization in the polyhedral model // Lecture Notes in Computer Science. Vol. 4959. Springer, 2008. P. 132–146. DOI: 10.1007/978-3-540-78791-4_9.
  • Buluc A., Gilberta J.R., Budak C. Solving path problems on the GPU // Parallel Computing. 2010. Vol. 36, no. 5–6. P. 241–253. DOI: 10.1016/j.parco.2009.12.002.
  • Dathathri R., Mullapudi R.T., Bondhugula U. Compiling affine loop nests for a dynamic scheduling runtime on shared and distributed memory // ACM Transactions on Parallel Computing (TOPC). 2016. Vol. 3, no. 2. DOI: 10.1145/2948975.
  • Lim A.W., Lam M.S. Maximizing parallelism and minimizing synchronization with affine partitions // Parallel Computing. 1998. Vol. 24, no. 3–4. P. 445–475. DOI: 10.1016/S0167-8191(98)00021-0.
  • Xue J. Loop tiling for parallelism. Springer Science & Business Media, 2000. 256 p. DOI: 10.1007/978-1-4615-4337-4.
  • Zhao J, Cohen A. Flextended tiles: a flexible extension of overlapped tiles for polyhedral compilation // ACM Transactions on Architecture and Code Optimization. 2019. Vol. 16, no. 4, article 47. DOI: 10.1145/3369382.
  • Zhao J, Di P. Optimizing the Memory Hierarchy by Compositing Automatic Transformations on Computations and Data. 53rd IEEE/ACM International Symposium on Microarchitecture (MICRO 2020) (Athens, Greece, October 17–21, 2020). IEEE, 2020. P. 427–441. DOI: 10.1109/micro50266.2020.00044.
Еще
Статья научная