RUS  ENG
Полная версия
ЖУРНАЛЫ // Вычислительные методы и программирование // Архив

Выч. мет. программирование, 2020, том 21, выпуск 4, страницы 388–404 (Mi vmp1018)

Опыт применения механизма областей для поэтапного распараллеливания программных комплексов с помощью системы SAPFOR

А. С. Колганов

Институт прикладной математики им. М.В. Келдыша Российской академии наук, г. Москва

Аннотация: Одна из основных сложностей разработки параллельной программы для кластера - необходимость принятия глобальных решений по распределению данных и вычислений с учетом свойств всей программы, а затем выполнения кропотливой работы по модификации программы и ее отладки. Большой объем программного кода, а также многомодульность, многовариантность и многоязыковость, затрудняют принятие решений по согласованному распределению данных и вычислений. Опыт использования предыдущей системы САПФОР показал, что при распараллеливании на кластер больших программ и программных комплексов необходимо уметь распараллеливать их постепенно, начиная с наиболее времяемких фрагментов и постепенно добавляя новые фрагменты, пока не достигнем желаемого уровня эффективности параллельной программы. С этой целью предыдущая система была полностью переработана, и на ее основе была создана новая система SAPFOR (System FOR Automated Parallelization). В данной статье будет рассмотрен опыт применения метода частичного распараллеливания, идея которого заключается в том, что распараллеливанию подвергается не вся программа целиком, а ее части (области распараллеливания) - в них заводятся дополнительные экземпляры требуемых данных, производится распределение этих данных и соответствующих им вычислений.

Ключевые слова: SAPFOR (System FOR Automated Parallelization); автоматизация распараллеливания; параллельные вычисления; DVM (Distributed Virtual Memory); инкрементальное распараллеливание для кластера.

УДК: 004.272

Поступила в редакцию: 26.06.2020

DOI: 10.26089/NumMet.v21r432



© МИАН, 2024