Проект Templet

акторный фреймворк для запуска задач
на множестве ядер, кластерах и в облаках
templet.ssau.ru

Инструменты пользователя

Инструменты сайта


о_проекте

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
о_проекте [2022/02/07 13:07] vostokinо_проекте [2023/02/02 11:48] (текущий) – внешнее изменение 127.0.0.1
Строка 29: Строка 29:
 Наш подход на основе математической модели вычислительного процесса можно рассматривать как альтернативу языкам описания потоков работ (CWL и др.); промежуточному программному обеспечению (HTCondor и др.); набору высокоуровневых алгоритмических скелетов с индивидуальными моделями исполнения (map-reduce и др.). Наш подход на основе математической модели вычислительного процесса можно рассматривать как альтернативу языкам описания потоков работ (CWL и др.); промежуточному программному обеспечению (HTCondor и др.); набору высокоуровневых алгоритмических скелетов с индивидуальными моделями исполнения (map-reduce и др.).
  
-=== Направления исследования проекта в области модели вычислений ===+=== Задачи исследований ===
  
   - Исследование семантики модели с использованием математического аппарата темпоральной логики Лампорта для точного понимания смысла «распараллеливания» в нашей модели.   - Исследование семантики модели с использованием математического аппарата темпоральной логики Лампорта для точного понимания смысла «распараллеливания» в нашей модели.
- 
   - Разработка прикладных и обобщенных параллельных алгоритмов  (алгоритмических скелетов), а также приемов программирования в терминах модели.   - Разработка прикладных и обобщенных параллельных алгоритмов  (алгоритмических скелетов), а также приемов программирования в терминах модели.
- 
   - Разработка методов анализа параллельных алгоритмов, ориентированных на используемую в проекте модель вычислений.   - Разработка методов анализа параллельных алгоритмов, ориентированных на используемую в проекте модель вычислений.
 +
 +==== Библиотека времени исполнения ====
 +
 +Особенностью библиотеки времени исполнения является ориентация на синхронизацию параллельных задач на многоядерных/многопроцессорных компьютерах с общей/разделяемой памятью. Для запуска и исполнения задач мы используем сторонние системы и библиотеки, например, OpenMP, стандартную библиотеку языка C++, MPI, платформу Everest.
 +
 +Эта особенность обеспечивает расширяемость для использования с разными системами управления задач, компактность кода, а также позволяет эффективно синхронизировать очень большое количество задач малой длительности счета. Текущая реализация библиотеки времени исполнения выполнена на языке С++.
 +
 +=== Задачи исследований ===
 +
 +  - Оптимизация кода библиотеки времени исполнения с целью повышения производительности.
 +  - Исследование производительности на разных платформах в алгоритмах мелкогранулярных вычислений.
 +  - Разработка, оптимизация и адаптация под библиотеку времени исполнения интерфейсных модулей к сторонним системам управления задачами.
 +
 +==== Программирование и генерация кода ====
 +
 +Наш подход позволяет применять любой алгоритмический язык программирования или псевдокод для передачи семантики модели вычислений, но программисту требуется поддерживать определенную структуру алгоритма при написании кода, и получающийся код может оказаться довольно объемным. Для преодоления этих сложностей мы применяем автоматизацию программирования, относящуюся к метапрограммированию на основе препроцессора.
 +
 +В проекте разрабатывается набор инструментов, включающий препроцессор кода и кодогенератор, управляемый компактным языком. Язык кодогенератора позволяет лаконично описать свойства типов программы: сообщения, принимаемые и отправляемые акторами; задачи, запускаемые в их контексте. На этой основе автоматически формируется структура программы.
 +
 +=== Задачи исследований ===
 +
 +  - Расширение функционала инструментов: сокрытие разметки, задающей структуру кода, систематизация функций препроцессора кода для манипуляции с блоками кода и разметки.
 +  - Переход на новый принцип генерации кода: использование языка С++ как входного языка генератора кода вместо используемого в текущей реализации специального доменного языка.
 +  - Развитие библиотек обобщенного программирования на основе нового принципа генерации кода: описание алгоритмических скелетов, описание регулярных структур из акторов и сообщений, описание идиом программирования.
 +
 +==== Программная инфраструктура ====
 +
 +Исследования в области программной инфраструктуры направлены на практическое применение проекта в образовательных и исследовательских целях. Мы стремимся к удобству работы с программами в соответствии с современными требованиями развертывания на произвольных виртуальных машинах в облаке и работы через веб-интерфейс в браузере.
 +
 +Для поддержки этих возможностей в проекте ведутся исследования в области технологий системной интеграции: контейнеризации приложений Docker; интерактивной разработки приложений для математического моделирования, анализа данных и искусственного интеллекта проекта Jupyter; платформы Everest для управления запуском приложений на произвольных ресурсах; протокола IPFS для организации распределенного хранения данных в сети Интернет.
 +
 +=== Задачи исследований ===
 +
 +  - Разработка системных механизмов развертывания для виртуальных лабораторий: интеграция комплекта разработки программ проекта с системами JupyterHub и Everest.
 +  - Разработка виртуальных лабораторий для организации практических занятий по программированию и автоматизации научных исследований, в том числе с возможностью одновременного запуска параллельных задач на нескольких вычислительных ресурсах.
 +  - Улучшение интеграции комплекта разработки программ проекта с компилятором и системой контроля версий в интерфейсе JupyterLab.
 +
 +===== Научный руководитель =====
 +
 +Востокин Сергей Владимирович, д.т.н., доцент, заведующий кафедрой программных систем, Самарский университет
 +
 +===== Участники =====
 +
 +Бобылева Ирина Владимировна, окончила специалитет и аспирантуру Самарского университета, работает программистом в Ракетно-космическом центре «Прогресс».
 +
 +Попов Стефан Николаевич, окончил Самарский университет и магистратуру Университета Иннополис, работает в компании SORAMITSU, аспирант кафедры программных систем Самарского университета.
 +
 +===== Выпускники =====
 +
 +Артамонов Ю., Царёв Д., Дун Цзе, Чубаров Н., Водянов В., Потапов Д., Черномырдин И., Сайманина Е., Уланов Д., Коростелев В., Кошелев В, Зекцер И., Одобеску Д., Кантеев М., Полукаров В., Шапилов В., Каримов С., Симонович Н., Архипова Е., Кириченко Е., Макагонова Д., Гусаков С., Назаров Ю., Болтанов С., Борисов А., Усков С., Мартынюк В., Савинкова Ю., Литвинов В., Коленбет А., Хайрутдинов А., Скорюпина Е., Наширванов Д.
 +
 +===== Практические результаты =====
 +
 +Templet Web – система управления задачами кластера «Сергей Королёв» Самарского университета; предназначена для проведения лабораторных занятий, исследовательских работ и других занятий на кластере с использованием веб-браузера на простаивающих узлах кластера;
 +
 +Templet SDK x3 – третья (актуальная) экспериментальная версия комплекта для разработки программного обеспечения, модель акторов для синхронизации разнотипных задач; усовершенствованная поддержка платформы Everest; развертывание на платформе Binder;
 +
 +Templet SDK x2 – вторая экспериментальная версия комплекта для разработки программного обеспечения, модель акторов для систем с общей памятью; интегрированная поддержка платформы Everest; развертывание на платформе Binder и в системе Templet Web;
 +
 +GraphPlus SDK x1 – первая экспериментальная версия комплекта для разработки программного обеспечения, ориентирована на визуальное программирование.
 +
 +===== Результаты получены и использовались =====
 +
 +  * в проекте «Разработка комплекса технологий использования ресурсов суперкомпьютера «Сергей Королёв» в целях развития инновационной и научно-образовательной среды университета» (программа повышения конкурентоспособности Самарского университета среди ведущих мировых научно-образовательных центров на 2013-2020 годы, «Проект 5-100»);
 +
 +  * в проекте «Разработка фундаментальных основ аналитического синтеза регулярных и хаотических процессов в динамике космических аппаратов» (Госзадание № 9.1616.2017/4.6).
 +
 +===== Подготовленные диссертации =====
 +
 +Востокин Сергей Владимирович, МОДЕЛЬ ПАРАЛЛЕЛЬНЫХ ВЫЧИСЛЕНИЙ ВИЗУАЛЬНОГО ГРАФ- ОРИЕНТИРОВАННОГО ЯЗЫКА, диссертация на соискание учёной степени кандидата технических наук по специальности 05.13.16 – Применение вычислительной техники, математического моделирования и математических методов в научных исследованиях, защищена 6.06.2000.
 +
 +Востокин Сергей Владимирович, ГРАФИЧЕСКАЯ ОБЪЕКТНАЯ МОДЕЛЬ ПАРАЛЛЕЛЬНЫХ ПРОЦЕССОВ И ЕЕ ПРИМЕНЕНИЕ В ПРОГРАММНЫХ КОМПЛЕКСАХ ЧИСЛЕННОГО МОДЕЛИРОВАНИЯ, диссертация на соискание учёной степени доктора технических наук по специальности 05.13.18 – Математическое моделирование, численные методы и комплексы программ, защищена 19.10.2007.
 +
 +Литвинов Владимир Геннадьевич, РАЗРАБОТКА И ПРИМЕНЕНИЕ ТИПОВЫХ РЕШЕНИЙ ДЛЯ РАСПАРАЛЛЕЛИВАНИЯ АЛГОРИТМОВ ЧИСЛЕННОГО МОДЕЛИРОВАНИЯ, диссертация на соискание учёной степени кандидата технических наук по специальности 05.13.18 – Математическое моделирование, численные методы и комплексы программ, защищена 6.11.2015.
 +
 +Артамонов Юрий Сергеевич, МОНИТОРИНГ И ПРОГНОЗИРОВАНИЕ ЗАГРУЗКИ КЛАСТЕРНОЙ СИСТЕМЫ НА ОСНОВЕ АДАПТИВНОЙ СМЕСИ МОДЕЛЕЙ, диссертация на соискание учёной степени кандидата технических наук по специальности 05.13.18 – Математическое моделирование, численные методы и комплексы программ, защищена 23.03.2018.
 +
 +Бобылева Ирина Владимировна, МЕТОД ПОПАРНОЙ ОБРАБОТКИ ЭЛЕМЕНТОВ 
 +ИНФОРМАЦИОННЫХ МАССИВОВ ДЛЯ МНОГОЗАДАЧНЫХ ВЫЧИСЛЕНИЙ В ГИБРИДНОМ ОБЛАКЕ, диссертация на соискание учёной степени кандидата технических наук по специальности 2.3.5 – Математическое и программное обеспечение вычислительных машин,
 +комплексов и компьютерных сетей, защищена 25.05.2022.
  
  
 +===== Публикации  =====
 +   * [[https://ssau.ru/staff/60085001-vostokin-sergey-vladimirovich/publ|Публикации Востокина С.В. на сайте Самарского университета]]
  
 +   * [[главная| Избранные публикации участников проекта (с 2010 года)]]
  
о_проекте.1644239245.txt.gz · Последнее изменение: 2022/02/07 13:07 (внешнее изменение)