Параллельное системное программирование и вычислительные технологии. Рубрика в журнале - Проблемы информатики

Публикации в рубрике (22): Параллельное системное программирование и вычислительные технологии
все рубрики
Goophi: новый код для моделирования астрофизических течений на суперЭВМ, оснащенных ускорителями Intel Xeon PHI

Goophi: новый код для моделирования астрофизических течений на суперЭВМ, оснащенных ускорителями Intel Xeon PHI

Куликов Игорь Михайлович, Черных Игорь Геннадьевич

Статья научная

В статье изложен новый гидроднамический код gooPhi для моделирования астрофизических течений с использованием новейших ускорителей Intel Xeon Phi с архитектурой KNL. В рамках статьи мы рассмотрим астрофизическое явление: галактику типа медуза. Известно, что основные сценарии образования таких объектов основаны на механизме набегающего давления межгалактического газа или галактического ветра, создаваемого активным ядром галактики. Однако, механизм набегающего давления может быть получен в результате столкновения галактик различной массы. Такой сценарий и был исследован в настоящей работе с помощью разработанного кода. Подробно описан новый векторный численный метод, реализованный в виде программного кода для массивно-параллельных архитектур. Для решения гидродинамических уравнений используется модификация оригинального численного метода, основанного на комбинации метода разделения операторов, метода Годунова и HLL схемы. Такой метод объединяет все достоинства перечисленных методов и обладает высокой степенью параллели-зации...

Бесплатно

Автоматизация конструирования численных параллельных программ с заданными нефункциональными свойствами на базе вычислительных моделей

Автоматизация конструирования численных параллельных программ с заданными нефункциональными свойствами на базе вычислительных моделей

Перепелкин Владислав Александрович, Софронов Иван Викторович, Ткачева Анастасия Александровна

Статья научная

В работе рассматривается проблема автоматизации конструирования параллельных программ численного моделирования с заданными нефункциональными свойствами. Задача конструирования программы рассматривается как задача выбора для каждой функции, входящей в исходное описание алгоритма решения задачи, реализующий ее модуль из числа заранее за¬данных, каждый из которых обладает разными (известными) нефункциональными свойства¬ми. В качестве математического аппарата для формального описания связи между свойствами отдельных модулей и свойствами результирующей программы предлагается использовать вы¬числительные модели, описанные в теории структурного синтеза параллельных программ и систем на вычислительных моделях. На базе системы фрагментированного программирования LuNA, ориентированной на автоматическое конструирование параллельных программ численного моделирования, проведен эксперимент по конструированию параллельной программы с заданными нефункциональными свойствами.

Бесплатно

Автоматизация отладки и балансировки нагрузки во фрагментированных программах

Автоматизация отладки и балансировки нагрузки во фрагментированных программах

Власенко Андрей Юрьевич, Мичуров Михаил Антонович, Мустафин Дамир Эркинович

Статья научная

Описываются основные принципы, на которых базируется система фрагментированного программирования LuNA и одноименный язык. Даются значения основных терминов, принятых в системе. Приводятся наиболее типичные для фрагментированных программ логические ошибки. Обосновывается важность решения проблемы динамической балансировки нагрузки между процессами, разделяющими работу по исполнению фрагментов вычислений, совокупность которых и составляет фрагментированную программу на этапе исполнения. Поскольку LuNA относится к высокоуровневым средствам создания параллельных программ, то решение проблем отладки и динамической балансировки нагрузки очень затруднительно для пользователя. В связи с этим для системы разрабатываются модуль автоматизированной отладки на основе метода анализа по трассе и модуль автоматической централизованной динамической балансировки нагрузки. Модуль автоматизированной отладки по ходу исполнения фрагментированной программы на каждом процессе собирает файлы трассы в JSON-форматс, куда вносится информация об обрабатываемых фрагментах вычислений, а также об их входных и выходных фрагментах данных. После нормального или аварийного завершения работы программы пользователь может вызвать специальное программное средство, анализирующее собранные трассы и выводящее подробную информацию об обнаруженных ошибках. При подключении модуля централизованной динамической балансировки нагрузки порождается служебный процесс, который собирает с рабочих процессов информацию о готовых к исполнению и выполнившихся фрагментах вычислений с целью их перераспределения и минимизации дисбаланса. Изложены результаты тестирования модулей на вычислительном кластере НГУ на задаче блочного умножения матриц, продемонстрировавшие эффективность модуля централизованной балансировки нагрузки и приемлемые накладные расходы модуля автоматизированной отладки.

Бесплатно

Автоматизация разработки и применения распределенных пакетов прикладных программ

Автоматизация разработки и применения распределенных пакетов прикладных программ

Феоктистов Александр Геннадьевич, Сидоров Иван Александрович, Горский Сергей Алексеевич

Статья научная

Рассматриваются проблемы построения предметно-ориентированных систем модульного программирования (пакетов прикладных программ) для решения крупномасштабных задач в гетерогенной распределенной вычислительной среде. Развитие технологий распределенных вычислений актуализирует разработку новых методов и средств, обеспечивающих повышение степени эффективности управления вычислительными процессами в таких пакетах. В этой связи в статье представлены два инструментальных комплекса для автоматизации создания и применения распределенных пакетов прикладных программ с мультиагентным управлением их заданиями, базирующимся на комплексном использовании знаний о предметных областях задач и среде, в которой они решаются. Сформулирована постановка задачи и предложен алгоритм мультиагентного управления заданиями. Эффективность управления достигается путем распределения ресурсов среды на основе тендера вычислительных работ. Примеры решения практических задач иллюстрируют результаты исследований.

Бесплатно

Автоматическое конструирование высокопроизводительных параллельных программ для задач разреженной линейной алгебры в системе LUNA

Автоматическое конструирование высокопроизводительных параллельных программ для задач разреженной линейной алгебры в системе LUNA

Беляев Н.А.

Статья научная

В статье описываются разработанные специализированные системные алгоритмы автоматического конструирования параллельной программы по описанию численного алгоритма для задач разреженной линейной алгебры. Разработанные специализированные системные алгоритмы позволяют применять при автоматическом конструировании параллельных программ техники параллельного программирования, которые широко применяются при ручной разработке параллельных программ в данной предметной области. Разработанные системные алгоритмы автоматического конструирования параллельной программы были реализованы в виде модулей, которые были интегрированы в систему параллельного программирования общего назначения LuNA, разрабатываемую в ИВМиМГ СО РАН. Производительность тестовых параллельных программ, автоматически сконструированных системой LuNA, оказалась сравнима с производительностью популярных широко используемых библиотечных реализаций этих алгоритмов разреженной линейной алгебры.

Бесплатно

Гибридная модель мелкой воды с использованием технологий MPI-OpenMP

Гибридная модель мелкой воды с использованием технологий MPI-OpenMP

Чаплыгин А.В., Гусев А.В.

Статья научная

Гибридные модели, сочетающие в себе технологии MPI для архитектур с распределенной памятью и OpenMP для архитектур с общей памятью, становятся все более популярными, поскольку современные высокопроизводительные вычислительные системы представляют собой набор многопроцессорных систем с общей памятью, объединенных в единую коммуникационную сеть. Создание моделей, использующих эффективно ресурсы таких вычислительных систем, является актуальной задачей на сегодняшний день. В работе представлена гибридная модель мелкой воды, являющаяся одним из основных блоков сигма-модели общей циркуляции океана INMОM. Программная архитектура модели мелкой воды построена по принципу разделения обязанностей, что позволяет выделить параллельные методы и подходы в обособленную часть программы с целью их адаптации для вычислительных систем различного типа и гибкой настройки программного комплекса на целевую вычислительную систему. В модели мелкой воды был реализован гибридный подход, при котором расчетная область разбивается на блоки малого размера, которые затем распределяются по всем доступным процессам и потокам. Распределение блоков основано на методе балансировки нагрузки с использованием кривых Гильберта, что обеспечивает равномерную вычислительную нагрузку на процессы и потоки. В работе показано преимущество этого похода в сравнении с широко распространенным векторным подходом, в котором OpenMP используется только для распараллеливания двумерных циклов по подоблостям. Тестирование гибридной модели проводилось на кластере ИВМ РАН и суперкомпьютере МСЦ РАН. Была показана эффективность разбиения на блоки малого размера, показана эффективность гибридного подхода в сравнении с чистым MPI режимом и также продемонстрирована эффективность метода балансировки нагрузки вычислений.

Бесплатно

Метод преобразования императивного кода для платформ параллельной обработки данных

Метод преобразования императивного кода для платформ параллельной обработки данных

Симонов В.С., Хайретдинов М.С.

Статья научная

Существует множество платформ для обработки данных, которые позволяют последовательным программам получать доступ к возможностям параллельной обработки. Чтобы извлечь выгоду из преимуществ таких платформ, существующий код приходится переписывать на языки, специфичные для конкретной предметной области, которые поддерживает каждая платформа. Данное преобразование - утомительный и подверженный ошибкам процесс - также требует от разработчиков выбора нужной платформы, которая оптимизирует производительность с учетом конкретной рабочей нагрузки. В данной статье описывается формальный метод, результатом применения которого на императивном коде являются эквивалентные инструкции, пригодные для исполнения в системе параллельной обработки данных, например, Hadoop, реализующей парадигму MapReduce. Метод применяется для вывода высокоуровневой сводки, выраженной на нашем языке спецификации программы, которая затем компилируется для выполнения в Apache Spark [1]. Было показано, что метод позволяет преобразовать императивный код в пригодный для исполнения на платформе Apache Spark. Приведенные результаты выполняются в среднем в 3,3 раза быстрее, чем последовательные реализации, а также лучше масштабируются для больших наборов данных.

Бесплатно

Мультиагентный подход к повышению эффективности исполнения фрагментированных программ в системе Luna

Мультиагентный подход к повышению эффективности исполнения фрагментированных программ в системе Luna

Малышкин В.Э., Перепелкин В.А.

Статья научная

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

Бесплатно

Применение тензорного подхода к программной реализации клеточно-автоматной модели потока

Применение тензорного подхода к программной реализации клеточно-автоматной модели потока

Матолыгина Н.А., Громов М.Л., Матолыгин А.К.

Статья научная

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

Бесплатно

Применение теории графов в алгебраических многосеточных методах для решения разреженных СЛАУ

Применение теории графов в алгебраических многосеточных методах для решения разреженных СЛАУ

Герб Артем Родионович, Омарова Гульзира Алимовна

Статья научная

В работе рассматриваются геометрические и алгебраические многосеточные методы, алгоритмы огрубения графов, метрики, которые используются для построения агрегаций вершин. Реализован метод огрубления на основе метрики А. Напова и И. Нотея. Для оптимизации времени вычислений используются алгоритмы Густавсона для эффективного умножения и транспонирования матриц формата CSR, что позволило обрабатывать графы с количеством вершин более миллиона. Целью представленной работы является разработка структуры данных и компонент вычислительного окружения для высокопроизводительного решения широкого класса СЛАУ.

Бесплатно

Программный инструментарий для построения систем автоматизированного управления в среде отечественной операционной системы

Программный инструментарий для построения систем автоматизированного управления в среде отечественной операционной системы

Благодарный Анатолий Иванович

Статья научная

Описывается архитектура, схемы взаимодействия компонент и инструментальное ядро SCADA-системы на платформе отечественной защищенной операционной системы реального времени „Нейтрино КПДА.10964-01". Продукт является результатом развития SCADA-системы „Блакарт", разработанной в ИВТ СО РАН и работавшей в среде ОС QNX 4.25. Указанная SCADA-система показала высокие эксплуатационные качества в десятках реализованных систем управления в различных отраслях промышленности, как правило, на опасных производствах. Использование сертифицированной отечественной операционной системы является нужным шагом в направлении киберустойчивости.

Бесплатно

Развитие ассоциативных параллельных архитектур

Развитие ассоциативных параллельных архитектур

Снытникова Татьяна Валентиновна

Статья научная

Существующие в настоящее время аппаратные средства преимущественно ориентированы на адресную обработку данных. В работе представлен обзор ассоциативных параллельных архитектур от первого промышленного ассоциативного процессора STARAN до современного ATLAS Fast TracKcr. Каждая из рассматриваемых архитектур была построена иод решение конкретных задач, которые не могли быть эффективно решены на системах другой архитектуры

Бесплатно

Разработка и реализация переносимых алгоритмов распределенного исполнения фрагментированных программ на неоднородных вычислителях

Разработка и реализация переносимых алгоритмов распределенного исполнения фрагментированных программ на неоднородных вычислителях

Ажбаков Артем Альбертович, Перепелкин Владислав Александрович

Статья научная

Разработка системных алгоритмов автоматизации параллельного программирования для неоднородных мультикомиьютсров сопряжена е проведением множества экспериментальных исследований. В работе предлагается распределенная среда исполнения программ на языке LuNA в качестве платформы, пригодной для экспериментального исследования различных системных алгоритмов на мультикомньютсрах е высокой степенью неоднородности. К таким алгоритмам относятся распределение ресурсов, планирование вычислений, сборка мусора и т. н. Разработанная среда исполнения использует web-технологии в качестве базовой платформы для обеспечения высокой переносимости, а архитектура среды допускает замену большинства системных алгоритмов. Приводятся результаты тестирования разработанной системе на ряде модельных задач.

Бесплатно

Распараллеливание гибридного алгоритма муравьиной колонии с изменяющимися с помощью генетического алгоритма параметрами

Распараллеливание гибридного алгоритма муравьиной колонии с изменяющимися с помощью генетического алгоритма параметрами

Микулик И.И., Благовещенская Е.А.

Статья научная

В работе рассмотрена возможность использования параллельной реализации гибридного метода оптимизации, использующего муравьиный и генетический алгоритмы, для решения задачи коммивояжера. Известно, что алгоритм муравьиной колонии чувствителен к изменению параметров, поэтому поиск подходящих параметров муравьиного алгоритма рассматривается в качестве задачи оптимизации, решение которой предоставляется генетическому алгоритму. Целью распараллеливания вычислений является сокращение временных затрат, но не все алгоритмы имеют эффективную параллельную реализацию. Известно, что генетический алгоритм и алгоритм муравьиной колонии распараллеливаются. В работе изучается возможность построения параллельных вычислений и для представленного гибридного метода. Задача коммивояжера, на которой проводится исследование, является NP-полной задачей и часто применяется для тестирования алгоритмов комбинаторной оптимизации. Показано, что распараллеливание используемого метода приводит к увеличению скорости выполнения работы алгоритма.

Бесплатно

Распределенный алгоритм распределения многомерных сеток данных на многомерном мультикомпьютере в системе фрагментированного программирования Luna

Распределенный алгоритм распределения многомерных сеток данных на многомерном мультикомпьютере в системе фрагментированного программирования Luna

Малышкин Виктор Эммануилович, Щукин Георгий Анатольевич

Статья научная

В статье представлен распределенный алгоритм е локальными взаимодействиями Patch, использующийся для распределения данных и динамической балансировки нагрузки в системе фрагментированного программирования LuNA. Алгоритм разработан для случая распределения многомерной сетки данных на многомерной решетке вычислительных узлов, учитывает зависимости между данными и сохраняет локальность данных при динамической балансировке нагрузки. Произведено тестирование алгоритма, показывающее его преимущество над другими алгоритмами распределения данных в системе LuNA.

Бесплатно

Распределенный алгоритм управления данными в системе фрагментированного программирования LUNA

Распределенный алгоритм управления данными в системе фрагментированного программирования LUNA

Малышкин Виктор Эммануилович, Перепелкин Владислав Александрович, Щукин Георгий Анатольевич

Статья научная

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

Бесплатно

Реализация и оценка производительности разреженного матрично-векторного умножения многократной точности на CUDA с использованием системы остаточных классов

Реализация и оценка производительности разреженного матрично-векторного умножения многократной точности на CUDA с использованием системы остаточных классов

Исупов Константин Сергеевич, Князьков Владимир Сергеевич, Бабешко Иван Павлович, Крутиков Александр Константинович

Статья научная

Умножение разреженной матрицы на плотный вектор (SpMV) является основным и наиболее затратным элементом в итерационных методах решения разреженных линейных систем и задач на собственные значения. Эффективная реализация SpMV имеет решающее значение для многих научных и инженерных вычислений, причем важно обеспечить не только высокое быстродействие, но и достаточную точность SpMV, поскольку итерационные методы известны своей чувствительностью к ошибкам округления. В статье мы рассматриваем параллельные реализации SpMV для CUDA-совместимых графических процессоров видеокарт (GPU) с использованием арифметики многократной точности на основе системы остаточных классов (СОК). Основным преимуществом СОК перед позиционными системами счисления является отсутствие переносов между цифрами числа, что позволяет заменить многоразрядные операции группами покомпонентных операций с цифрами небольшой разрядности, которые выполняются без накладных расходов, связанных с обработкой информации о переносах между цифрами. Мы рассматриваем реализации SpMV, основанные на двух широко распространенных форматах хранения разреженной матрицы - CSR и ELLPACK. Экспериментальная оценка с матрицами из реальных приложений показывает, что во многих случаях представленные реализации выполняются быстрее, чем реализации на основе существующих библиотек многократной точности для GPU.

Бесплатно

Сибирский суперкомпьютерный центр коллективного пользования и его применение для создания вычислительных технологий

Сибирский суперкомпьютерный центр коллективного пользования и его применение для создания вычислительных технологий

Глинский Борис Михайлович, Черных Игорь Геннадьевич, Мартынов Валерий Николаевич, Сапетина Анна Федоровна, Винс Дмитрий Владимирович

Статья научная

В работе описано развитие двух направлений деятельности, инициированных академиком А. С. Алексеевым в ИВМиМГ СО РАН: суисркомиьютсрный центр коллективного пользования и активная сейсмология с использованием мощных виброссйсмичсских источников. Представлены основные этапы развития центра коллективного пользования „Сибирский суперкомпьютерный центр“ ИВМиМГ СО РАН (ЦКП СССКЦ), его роль в решении больших задач математического моделирования в Сибирском отделении РАН. Другое направление связано с развитием идей виброеейемичеекого мониторинга ссйсмоопас- ных объектов. Математическое моделирование задачи мониторинга живущих магматических вулканов показало принципиальную возможность ирод сказания катастрофических извержений методом виброеейемичеекого мониторинга. Численное моделирование выполнено с использованием многоуровневой суисркомиьютсрной технологии, развиваемой авторами, включающей со-дизайн, исследование масштабируемости алгоритмов на основе имитационного моделирования и оценку энергоэффективноети алгоритмов.

Бесплатно

Система LuNA автоматического конструирования параллельных программ численного моделирования на мультикомпьютерах

Система LuNA автоматического конструирования параллельных программ численного моделирования на мультикомпьютерах

Перепелкин Владислав Александрович

Статья научная

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

Бесплатно

Сравнение возможностей MPI и LUNA на примере реализации модели клеточно-автоматной интерференции волн

Сравнение возможностей MPI и LUNA на примере реализации модели клеточно-автоматной интерференции волн

Маркова Валентина Петровна, Остапкевич Михаил Борисович

Статья научная

В статье рассматривается параллельная реализация алгоритма клеточно-автоматной интерференции двух волн е использованием технологии фрагментированного программирования и основанной на ней системы LuNA. Технология основана на стратегии управления потоками данных. В отличие от других известных технологий и систем, LuNA предоставляет унифицированный способ написания параллельных программ для мультикомньютеров е неоднородными узлами. Программа на LuNA содержит описание фрагментов данных, вычислительных фрагментов и информационных зависимостей между ними. В данной работе LuNA программа исполняется на мультикомпьютере с однородными узлами. Результаты сравнения LuNA и MPI показали, что время выполнения LuNA программы больше, чем время выполнения MPI программы. Это обусловлено особенностями алгоритмов распределения, поиска и передачи данных и вычислительных фрагментов между узлами мультикомньютера. Написание программы для LuNA существенно проще, чем написание MPI программы.

Бесплатно

Журнал