1. Автоматический синтез оптимальной параллельной программы Руководитель: Перепелкин Владислав Александрович Аннотация: Сложность параллельного программирования обуславливает необходимость его автоматизации. В частности, важна задача автоматического конструирования параллельных программ, оптимальных в заданном смысле (например, по используемой памяти или времени выполнения). В рамках данного проекта студенты познакомятся с т.н. вычислительными моделями и их применением для решения описанной проблемы и реализуют синтезатор, автоматически конструирующий параллельные программы по их спецификации в соответствии с заданными нефункциональными требованиями к результирующей программе. Требования к студентам: Владение каким-нибудь языком программирования |
2. Введение в программирование встраиваемых систем на примере Arduino Руководитель: Остапкевич Михаил Борисович Аннотация: Планируется проведение одной лекции и трех лабораторных работ:
После прослушивания лекции студенты будут иметь начальные представления о встраиваемых системах и Arduino. После выполнения лабораторных работ студенты будут иметь начальные навыки программирования встраиваемых систем на базе Arduino. Требования к студентам: начальные знания архитектуры ВС, знание языков программирования Си, Си++. |
3. Моделирование железнодорожной сортировочной станции с помощью графов и сетей Петри Руководитель: Волков Александр Аннотация: Одной из важных и сложных задач на транспорте является сортировка грузов. Сортировочные станции на железной дороге, почтовые центры сортировки, логистические центры – все это примеры предприятий, которые непрерывно выполняют прием и отправку грузов в различные пункты и кроме того имеют сложную внутреннюю структуру со специфическими правилами. В данном проекте предлагается разработать прототип диспетчерской системы управления подобным предприятием на основе графов (будут отражать внутреннюю структуру предприятия) и сетей Петри (будут задавать логику движения объектов по предприятию). Предполагается создание ядра, включающего в себя реализацию алгоритмов передвижения, программно-прикладного интерфейса к этому ядру и параллельного клиентского приложения, управляющего конкретным типом предприятия, например, сортировочной железнодорожной станцией (распараллеливание по паркам станции). Студенты получат опыт декомпозиции сложной реальной системы на отдельные составляющие, опыт параллельного программирования с использованием С++, MPI. Требования к студентам: C++, графы |
4. HPC Community cloud Руководитель: Максим Александрович Городничев Аннотация: Требования к студентам: С++, основы веб-программирования, в части задач потребуются основы параллельного программирования |
5. Клеточно-автоматное моделирование реакции окисления монооксида углерода (СО) на платине Руководитель: Киреева Анастасия Евгеньевна Аннотация: В проекте предлагается промоделировать каталитическую реакцию окисления СО на поверхности платины с помощью клеточного автомата. Клеточный автомат – это дискретная модель, в которой пространство представлено n-мерной решёткой, а время изменяется дискретными шагами. Ячейки решётки называются клетками. Клетки находятся в определенном состоянии, которое изменяется на каждом шаге по определённым правилам в зависимости от состояний соседних клеток. Такая модель позволяет описывать пространственно-временную динамику сложных нелинейных систем простыми правилами. Каталитическая реакция окисления СО интересна тем, что при протекании этой реакции в неравновесных условиях на поверхности катализатора наблюдаются различные устойчивые структуры: спирали, кольца, турбулентности, подвижные волны. При работе над проектом студенты познакомятся с клеточно-автоматным подходом к моделированию сложных систем. Реализуют клеточный автомат, моделирующий реакцию окисления СО на платине с учётом геометрии поверхности катализатора, и изучат влияние основных управляющих параметров на протекание реакции. Требования к студентам: знание языка программирования С/С++ |
6. Поиск периодических конформаций полиакриат-иона, вложимых в гидратный каркас Руководитель: Киреев Сергей Евгеньевич Аннотация: Одной из актуальных задач химии является моделирование кристалической структуры клатратов – химических соединений, образованных молекулами одного вещества, встроенными в кристаллическую решетку другого вещества. Эти соединения являются основой для многих используемых сейчас и перспективных материалов. Молекула полиакриловой кислоты представляет собой полимер с повторяющимся звеном (–CH2–CH(COOH)–). Она обладает подвижностью – может почти свободно вращаться вокруг своих связей между атомами углерода. Цель проекта – поиск такой структуры иона полиакриловой кислоты, которая бы не содержала самопересечений и была бы вложима в кристаллическую решетку воды. В ходе работы над проектом необходимо будет разобраться с лежащей в основе задачи математикой, разработать алгоритм решения задачи, реализовать на его основе последовательную программу, реализовать параллельную программу с помощью какого-либо средства параллельного программирования. Задача имеет большой потенциал для алгоритмической и программной оптимизации. Требования к студентам: хорошее пространственное воображение, умение делать математические выкладки, знание языка C/C++ |