Например, Бобцов

ДИНАМИЧЕСКОЕ УПРАВЛЕНИЕ РАСПРЕДЕЛЕННЫМИ ВЫЧИСЛИТЕЛЬНЫМИ РЕСУРСАМИ В СОСТАВЕ КОМПОЗИТНОГО ПРИЛОЖЕНИЯ

КРАТКИЕ СООБЩЕНИЯ

УДК 004.021 ДИНАМИЧЕСКОЕ УПРАВЛЕНИЕ РАСПРЕДЕЛЕННЫМИ ВЫЧИСЛИТЕЛЬНЫМИ РЕСУРСАМИ В СОСТАВЕ КОМПОЗИТНОГО ПРИЛОЖЕНИЯ С.В. Марьин, С.В. Ковальчук, Г.М. Рыбаков, А.В. Бухановский
Рассматриваются особенности построения подсистем управления вычислительными ресурсами в составе высокопроизводительных программных комплексов. Ключевые слова: распределенные вычисления, композитное приложение, производительность параллельных программ.
Сервисно-ориентированный подход [1], хорошо зарекомендовавший себя в среде разработчиков бизнес-приложения, находит все большее применение в области наукоемких высокопроизводительных вычислений. Одним из главных преимуществ становится возможность использования существующей алгоритмической базы за счет интеграции стороннего ПО. Тем не менее, при построении высокопроизводительных программных комплексов на базе этого подхода возникает ряд задач, связанных с необходимостью обеспечения эффективной (с точки зрения производительности) совместной работы отдельных вычислительных компонентов. Одним из вариантов указанного подхода является организация посредством вычислительных сервисов унифицированного доступа к набору вычислительных ресурсов (кластеров), предоставляющих возможность запуска установленных программных модулей. В программных комплексах с высокой изоляцией компонентов важную роль исполняет управляющая подсистема, координирующая работу вычислительных модулей в процессе решения поставленной задачи. В процессе управления эта подсистема должна принимать решения об оптимальном способе запуска совокупности вычислительных модулей на основании знаний о специфике работы конкретных программных реализаций, доступных посредством вычислительных сервисов, с учетом статических и динамических характеристик программно-аппаратной распределенной вычислительной среды, а также параметров входных данных, соответствующих решаемой задаче. Решение должно приниматься на основании знаний предметной области, позволяющих составить суждение о процессе решения задачи, представленном совокупностью альтернативных решений, определяемых логическими, алгоритмическими и технологическими особенностями доступных компонентов системы.
Примером реализации данного подхода может служить подсистема управления параллельными вычислениями в составе высокопроизводительного программного комплекса для квантово-механических расчетов и моделирования наноразмерных атомно-молекулярных систем и комплексов [2]. Разработанная система обеспечивает процесс решения задач предметной области с использованием знаний об особенностях режима использования доступных вычислительных модулей (способах их запуска, организации потоков ввода-вывода, используемых форматах данных). Кроме того, в построения схемы запуска вычислительных модулей используются знания о производительности вычислительных модулей, что позволяет обеспечить минимизацию времени поиска решения с использованием данной схемы.
Подсистема управления реализована на базе платформы .NET Framework в виде отдельного webсервиса в составе ядра высокопроизводительного программного комплекса, что обеспечивает ее интеграцию и переносимость. Для описания специфики режимов доступа к отдельным вычислительным сервисам в составе подсистемы реализована иерархия адаптеров, обеспечивающая легкую расширяемость системы за счет добавления новых программных модулей. Знания о производительности вычислительных сервисов реализованы в форме совокупности параметрических моделей, описывающих различные аспекты работы программных модулей. Параметризация моделей и выявление их структуры производится с использованием экспертных знаний и результатов профилировки вычислительных модулей.
Важным дополнительным аспектом работы управляющей подсистемы является мониторинг процесса вычислений в ходе решения поставленной задачи. Процедура мониторинга обеспечивает возможность корректировки знаний, доступных вычислительной системе за счет оценки эффективности решения, принятого интеллектуальными механизмами в процессе выбора схемы оптимального выполнения программных модулей. Таким образом, реализуется обратная связь между совокупностью распределенных вычислительных ресурсов, представленных предметно-ориентированными сервисами, и подсистемой управления высокопроизводительным программным комплексом.
1. Lublinsky B. Defining SOA as an architectural style. 9 January 2007. – Режим доступа: http://www.ibm.com/developerworks/architecture/library/ar–soastyle/, свободный.
2. Высокопроизводительный программный комплекс моделирования наноразмерных атомномолекулярных систем / В.Н. Васильев [и др.] // Научно-технический вестник СПбГУ ИТМО. – 2008. – № 54.– С. 3–12.
Марьин Сергей Владимирович – НИИ НКТ СПбГУ ИТМО, аспирант, sergey.maryin@gmail.com; Ковальчук Сергей Валерьевич – НИИ НКТ СПбГУ ИТМО, к.т.н., ст.н.с., kovalchuk@mail.ifmo.ru; Рыбаков Глеб Михайлович – СПбГУ ИТМО, студент, gleb.rybakov@gmail.com; Бухановский Александр Валерьевич – СПбГУ ИТМО, д.т.н., профессор, avb_mail@mail.ru

126

Научно-технический вестник Санкт-Петербургского государственного университета информационных технологий, механики и оптики, 2010, № 3(67)