Опыт применения механизма областей для поэтапного распараллеливания программных комплексов с помощью системы SAPFOR
Автор
А.С. Колганов
Аннотация
Одна из основных сложностей разработки параллельной программы для кластера — необходимость принятия глобальных решений по распределению данных и вычислений с учетом свойств всей программы, а затем выполнения кропотливой работы по модификации программы и ее отладки. Большой объем программного кода, а также многомодульность, многовариантность и многоязыковость, затрудняют принятие решений по согласованному распределению данных и вычислений. Опыт использования предыдущей системы САПФОР показал, что при распараллеливании на кластер больших программ и программных комплексов необходимо уметь распараллеливать их постепенно, начиная с наиболее времяемких фрагментов и постепенно добавляя новые фрагменты, пока не достигнем желаемого уровня эффективности параллель-ной программы. С этой целью предыдущая система была полностью переработана, и на ее основе была создана новая система SAPFOR (System FOR Automated Parallelization). В данной статье будет рассмотрен опыт применения метода частичного распараллеливания, идея которого заключается в том, что распараллеливанию подвергается не вся программа целиком, а ее части (области распараллеливания) — в них заводятся дополнительные экземпляры требуемых данных, производится распределение этих данных и соответствующих им вычислений.
Ключевые слова
SAPFOR (System FOR Automated Parallelization), автоматизация распараллеливания, параллельные вычисления, DVM (Distributed Virtual Memory), инкрементальное распараллеливание для кластера.
Язык
Русский
Библиографическая ссылка
А.С. Колганов. Опыт применения механизма областей для поэтапного распараллеливания программных комплексов с помощью системы SAPFOR // Вычислительные методы и программирование, М.: Научно-исследовательский вычислительный центр МГУ им. М.В. Ломоносова, 2020, Том 21, № 4, C. 388-404