Проекты

1. Автоматический синтез оптимальной параллельной программы

Руководитель: Перепелкин Владислав Александрович

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

Требования к студентам: Владение каким-нибудь языком программирования

2. Введение в программирование встраиваемых систем на примере Arduino

Руководитель: Остапкевич Михаил Борисович

Аннотация: Планируется проведение одной лекции и трех лабораторных работ:

  • На лекции дается краткое введение в архитектуру и программирование встраиваемых систем (назначение, основные требования, классификации систем, обзор архитектур, инструментальных средств разработки ПО).
  • На первой лабораторной работе студенты изучают инструментальные средства разработки ПО для Arduino.
  • На второй лабораторной работе студенты реализуют функции контроллера умного дома или домашней погодной станции.
  • На третьей лабораторной работе студенты реализуют клиентскую программу, исполняемую на ПК и служащую для управления контроллером умного дома или погодной станции.

После прослушивания лекции студенты будут иметь начальные представления о встраиваемых системах и Arduino. После выполнения лабораторных работ студенты будут иметь начальные навыки программирования встраиваемых систем на базе Arduino.

Требования к студентам: начальные знания архитектуры ВС, знание языков программирования Си, Си++.

3. Моделирование железнодорожной сортировочной станции с помощью графов и сетей Петри

Руководитель: Волков Александр

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

Студенты получат опыт декомпозиции сложной реальной системы на отдельные составляющие, опыт параллельного программирования с использованием С++, MPI.

Требования к студентам: C++, графы

4. HPC Community cloud

Руководитель: Максим Александрович Городничев

Аннотация:

Требования к студентам:  С++,  основы веб-программирования, в части задач потребуются основы параллельного программирования

5. Клеточно-автоматное моделирование реакции окисления монооксида углерода (СО) на платине

Руководитель: Киреева Анастасия Евгеньевна

Аннотация: В проекте предлагается промоделировать каталитическую реакцию окисления СО на поверхности платины с помощью клеточного автомата.  Клеточный автомат – это дискретная модель, в которой пространство представлено n-мерной решёткой, а время изменяется дискретными шагами. Ячейки решётки называются клетками. Клетки находятся в определенном состоянии, которое изменяется на каждом шаге по определённым правилам в зависимости от состояний соседних клеток. Такая модель позволяет описывать пространственно-временную динамику сложных нелинейных систем простыми правилами. Каталитическая реакция окисления СО интересна тем, что при протекании этой реакции в неравновесных условиях на поверхности катализатора наблюдаются различные устойчивые структуры: спирали, кольца, турбулентности, подвижные волны.

При работе над проектом студенты познакомятся с клеточно-автоматным подходом к моделированию сложных систем. Реализуют клеточный автомат, моделирующий реакцию окисления СО на платине с учётом геометрии поверхности катализатора, и изучат влияние основных управляющих параметров на протекание реакции.

Требования к студентам:  знание языка программирования С/С++

6. Поиск периодических конформаций полиакриат-иона, вложимых в гидратный каркас

Руководитель: Киреев Сергей Евгеньевич

Аннотация: Одной из актуальных задач химии является моделирование кристалической структуры клатратов – химических соединений, образованных молекулами одного вещества, встроенными в кристаллическую решетку другого вещества. Эти соединения являются основой для многих используемых сейчас и перспективных материалов.

Молекула  полиакриловой кислоты  представляет собой полимер с повторяющимся звеном (–CH2–CH(COOH)–). Она обладает подвижностью – может почти свободно вращаться вокруг своих связей между атомами углерода. Цель проекта – поиск такой структуры иона полиакриловой кислоты, которая бы не содержала самопересечений и была бы вложима в кристаллическую решетку воды.

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

Требования к студентам:  хорошее пространственное воображение, умение делать математические выкладки, знание языка C/C++