Программный пакет для решения задач моделирования на высокопроизводительных системах
Назначение. Решение задач моделирования на высокопроизводительных системах и предоставление инструментария для удаленного запуска, мониторинга и визуализации расчетов.
Область применения. Решение актуальных наукоемких прикладных задач (требующих больших вычислительных ресурсов) для Северо-восточного федерального университета и научно-исследовательских институтов Республики Саха (Якутия), .
В Центре Вычислительных Технологий Арктического Инновационного Центра при СВФУ разработан программный инструментарий для проведения массовых вычислительных экспериментов с гибким, масштабируемым вычислительным ядром. Ядро разработано на основе парадигмы объектно-ориентированного программирования, реализованного средствами языка C++, который добавляет абстрактный уровень, предоставляющий гибкость при реализации различных математических моделей и решателей. В его основе лежат решатели для систем линейных алгебраических уравнений, дающие масштабируемость и эффективность распараллеливания, что является особенно актуальным в свете существующих симуляторов.
В связи с характерными особенностями моделируемых задач, получаются системы уравнений с большими разреженными матрицами. Для хранения таких матриц применяются специальные форматы, которые уменьшают объем используемой оперативной памяти. В результате чего можно решать задачи большей размерности, т.е. на более мелких сетках, что увеличивает точность численных расчетов.
Функциональные возможности. Вычислительное ядро в связке с разработанным программным инструментарием облегчает проведение массовых вычислительных экспериментов, обработку и визуализацию полученных результатов.
Вычислительный эксперимент сводится к запуску программы симулятора с определенными входными параметрами на вычислительном кластере и анализу полученного результата. Для проведения массовых вычислительных экспериментов были разработаны специальные программы, облегчающие задание параметров и автоматизирующие запуски симулятора.
Процесс эксперимента разделен на три шага:
подготовка параметров;
запуск симулятора и мониторинг состояния;
просмотр результатов.
Реализация удаленного запуска и мониторинга осуществляется средствами запущенного на вычислительном кластере сервиса, позволяющего получать оперативные данные о выполняемых расчетах. Для обработки полученных результатов сначала осуществляется синхронизация посредством программы удаленного сканирования и синхронизации файлов с последующей визуализацией полученных данных на стороне клиента.
Инструментальные средства создания. Использовались открытые библиотеки для параллельный вычислений MPI, BLAS, PETSC.
Языки программирования Python, C++.
Платформа Qt, библиотека визуализации VTK.
Сервер. Intel(R) Xeon(R) CPU E5450@3.00GHz 8 ядер 4 нода, 16 RAM.
Клиент. 1500Ghz/512Mb/HDD 300Mb/LAN