ПОСТРОЕНИЯ СИСТЕМЫ ПРОГРАММИРОВАНИЯ ДЛЯ МВС НА ОСНОВЕ ПОНЯТИЙ «ПРОСТРАНСТВО-ВРЕМЯ». Научный руководитель: Илюшин А.И. Рецензент: Меньшов И.С. Оленин Михаил
Джон Хэннеси президент Стэндфордского университета: … когда мы начинаем говорить о параллелизме и легкости использования действительно параллельных компьютеров, мы говорим о проблеме, которая труднее любой проблемы, с которой встречалась наука о компьютерах … Я бы запаниковал, если бы я работал в промышленности. Введение
Цель работы Реализовать систему программирования, сводящую трудоемкость реализации параллельных моделей к трудоемкости создания последовательных моделей Система для создания вычислительных и программных моделей и счета их на МВС. OST (Object-Space-Time)
Что планировалось сделать Реализация системы OST на МВС Исправление структуры OST на основе полученного опыта Реализация прикладной задачи и вычисления на МВС Реализация мониторинговой системы для наблюдения и управления ходом вычислений.
Основные алгоритмические проблемы реализации параллельных вычислений 1.Создание связей между программными объектами и управления ими во время счета. 2.Синхронизация действий в объектах, распределенных по МВС.
Наше решение: композиция программных и вычислительных объектов на основе понятий«пространство-время» 1.Традиционное описание частей модели (на одном процессоре) в виде вычислительных и программных объектов. 2.Композиция из частей: Локальное определение связей конкретного объекта: - Задание координат в пространстве некой топологии - Определение координат соседей объекта. Локальное время объекта для синхронизация действий: Вызов операции в соседнем объекте разрешен только при равенстве их локальных времен.
Основные понятия в OST Вычислительный объект Представление физической области (набор матриц, векторов и скаляров + алгоритм счета) Программный объект Представление вычислительного объекта в МВС (множество несмежных областей оперативной памяти, в которых хранятся данные и программы) Формальные «соседи» Набор формальных параметров, задающих «окружение» для объекта (локальность) Фактические «соседи» Набор ссылок на «соседние» прикладные объекты для программного объекта (подставляются монитором OST вместо формальных параметров) Пространство В нём множество вычислительных объектов. Связи пары объектов определяются «соседством», то есть «близостью» в пространстве.
Основные понятия в OST Время Целочисленный параметр программного объекта, используемый для упорядочения действий Синхронизация Пара программных объектов может взаимодействовать друг с другом только при равенстве времен. Продвижение по времени Программный объект увеличивает параметр времени, таким образом продвигаясь по времени. Монитор OST Следит за продвижениями по времени программного объекта. Обеспечивает взаимодействие с фактическими соседями программного объекта при равенстве времен. Программная модель – множество программных объектов, взаимодействующих путем вызова операций друг в друге.
Объединение объектов в модель. Пространство-Время в OST Прикладной объект Object Объекты, для которых Object сосед Объекты для которых Object сосед 2, 3, 4, 6 Объекты, для которых Object сосед Объекты соседи Object 1, 2, 4, 5 Для прикладного объекта описываются координаты соседей Вызов разрешается только при равенстве времени
Создание прикладного объекта Прикладной объект Координаты и время прикладного объекта в топологии +координаты соседей Данные для конкретного прикладного объекта Файл объектов
Схема счета задачи Управления счетом OST_Main OST_Local Файл объектов OST_Local OST_Control Прикладной объект OST_Control Прикладной объект OST_Control Прикладной объект
Сделано на данный момент Система OST реализована на основе разработанной архитектуры Произведен запуск системы OST на МВС (rsc4.kiam.ru) Переработана структура системы OST Реализована прикладная задача M2DGD и запущена на МВС (Павлухин П.В.) Разрабатывается мониторинговая система для наблюдения и управления ходом вычислений (Чугунов А.В.)
Система OST на rsc4.kiam.ru Умножение матриц размера 1024х1024 Задача M2DGD Последовательный комплекс программ для решения 2D нестационарных задач газовой динамики в областях сложной формы. (подробнее в докладе Павлухина П.В.) узловвремя эффективность ,28 c 100 % 2 689,39 c 99 % 4 344,81 c 99 % 8 172,62 c 99 % 16 87,48 c 98 % 32 50,72 с 84 % 64 31,86 с 68 %
Сравнение системы OST c другими средами параллельного программирования Система OST обеспечивает задание связей и организацию синхронизации счета просто и прозрачно В системе OST предусмотрены удобные средства отладки: Отладку можно производить на обычном ПК, и только потом запускать на МВС. Можно использовать средства отладочного вывода и мониторинга, предназначенные для наблюдения за ходом счета В реализации задачи M2DGD система OST продемонстрировала удовлетворительные результаты по сравнению с реализацией с помощью MPI
Выводы Реализована программная среда OST на основе понятий «Пространство-время» Макетный пример умножения матриц показал эффективность параллельных вычислений Реализация прикладной задачи M2DGD показала эффективность использования программной среды OST Сравнение результатов счета задачи M2DGD с помощью системы OST и MPI показали удовлетворительные результаты
Общая цель – создать систему управления вычислительными моделями для МВС. Желаемый результат: локальность программирования для прикладного программиста прикладной программист получает средства для создания и хранения вычислительных моделей в виде множества программных объектов на дисках; система управления автоматически распределяет объекты по процессорам, входящим в состав МВС; система управления обеспечивает синхронизацию взаимодействия объектов по их локальным временам; система управления определяет связи между объектами по их локальным координатам; система управления обеспечивает сохранение состояния модели в процессе счета с возможностью прерывания и возобновления счета, в том числе и на другой МВС