26-29 октября 2010 года, Красноярск

Перепелкин В.А.  

Разработка подсистемы запуска фрагментированных подпрограмм из прикладных MPI-программ

В системе фрагментированного программирования LuNA алгоритм представляется в параллельном виде на языке LuNA (фрагментированная программа, ФП) [1], а исполнение ФП осуществляет run-time система.
Была поставлена задача обеспечить возможность использования ФП в прикладных программах в качестве подпрограмм. Работа проводилась в ИВМ и МГ СО РАН в рамках проекта по созданию
библиотеки фрагментированных подпрограмм численного моделирования.

Схема вызова ФП следующая. Пользователь в некотором месте прикладной MPI-программы регистрирует свои распределённые по узлам мультикомпьютера данные как фрагменты данных и осуществляет синхронный запуск ФП над ними.
Run-time система исполняет ФП, после чего управление возвращается в прикладную программу, которая имеет возможность обработать полученные результаты и продолжить работу.
Работа состояла в разработке и реализации интерфейса для управления фрагментированными данными и запуском ФП.

Поставленная задача была выполнена, результатом стала оболочка пользовательского интерфейса в виде класса Си++, содержащего необходимые методы и поля, реализующие требуемую функциональность.

Особенностью реализации является то, что пользователь имеет возможность писать, по сути, последовательный код, не вдаваясь в сложности параллельного программирования, а для запуска ресурсоёмких вычислений
запускать ФП (как библиотечные, так и собственные, представленные в языке LuNA). При этом инициализация и обработка данных пользователем происходит только на том узле, где данные
реально размещены, то есть какой-то один узел не загружается чрезмерно.

В дальнейшем планируется реализовать поддержку асинхронных вызовов ФП, что уберёт лишние синхронизации между запусками ФП, а также позволит run-time системе проводить глобальные оптимизации исполнения нескольких ФП.

Научный руководитель - д.т.н., проф., Малышкин В.Э.

Список литературы

  1. Malyshkin, V., Perepelkin, V. Optimization of Parallel Execution of Numerical Programs in LuNA Fragmented Programming System. - Methods and Tools of Parallel Programming Multicomputers, LNCS, vol. 6083 - Heidelberg, 2010 - pp. 1-10.


К списку докладов