Дипломные работы

Темы / направления

Медицина: диагностика ЛОР-заболеваний (3D Slicer)

Технологии: Python / OpenCV / Qt / OpenFOAM / CMake / C++ … Пригодность: бакалавр / магистр

Во взаимодействии с клинической больницей РАН спланирован ряд задач в проекте “Система поддержки составления плана операции и диагностики ЛОР-заболеваний”. Набор задач потребует достаточно разноплановые знания - от разработки плагинов и анализа изображений (как методами вычислительной геометрии, так и ML) до обеспечения необходимого уровня производительности

Поиск и выделение:

Поиск и выделение носовой перегородки

Полипов, аденоидов и т.п.

Решётчатых артерий

Определение:

Искривления носовой перегородки

Узкого места и расчёт площади/объёма дыхательных пазух

Утолщения слизистой оболочки

Хватает ли дыхания на основе отношения индекса массы тела и площади дыхательного просвета? (показано ли хирургичекое лечение храпа)

Расчёт маршрута проведения инфундибулотомии

Учёт газодинамических эффектов и моделирование дыхательного процесса

На текущий момент в рамках 2 дипломных работ апробированы некоторые методы выделения аномалий и моделирования дыхания. Требуется:

доисследование с доведением до практического применения

решение остальных исследовательско-практических задач

применение системы математического моделирования (имеющаяся лицензия ЛОГОС) при моделировании дыхания

Параллельное программирование / High performance computing

Contention-aware synchronization objects

Технологии: C++ / C / Linux / eBPF / … Пригодность: бакалавр / магистр

Исследования и доработка примитивов синхронизации glibc/ядра ОС для переключения стратегий синхронизации исходя из анализа текущего профиля исполнения приложения и загруженности ОС (contention level). Конечная цель - PR с адаптивной реализацией базовых примитивов в тесном взаимодействии с планировщиком ОС

Описание проблемы на примере Postgres

Базовая идея определения contention level

На текущий момент в рамках 2 дипломных работ выбраны механизмы получения метрик при работе примитивов и некоторые библиотеки/СУБД для тестирования решений. Требуется:

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

внедрение адаптивного ПИД-регулятора в алгоритм переключения стратегии работы примитивов синхронизации

тестирование на различных пофилях нагрузки 3 выбранных СУБД с доработками адаптивными примитивами

YDB

Набор по теме временно приостановлен в связи с наполнением набора студентов у курирующего сотрудника со стороны Yandex
Технологии: C++ / YDB / etcd / CMake / … Пригодность: бакалавр / магистр / НИР

Yandex в качестве дипломных и практических работ поставляет ряд задач по YDB. Команда Олега Доронина (ведущий практик по || программированию) из Yandex поддерживает работу с дипломником и обеспечивает экспертизу в указанной области

Разработка новой функциональности и улучшений в SDK на языках: Go Java Python C++

Разработка NoSQL-адаптера к СУБД ydb на основе протокола etcd: необходимо реализовать протокол etcd на основе YDB (активно используется GRPC), сохранив производительность и иные заданные параметры системы

Интеграция R7 office и YDB

Поддержка новых федеративных источников на Go (как PostgreSQL, MySQL, MS и т.д.)

Кеширование прочитанных данных из S3. В YDB федеративных запросах поддерживается чтение из внешнего источника S3. Чтение данных из такого источника может быть медленным, а также данные в нем могут храниться в неструктурированном виде json,csv,xml,raw и даже в сжатом представлении. Предлагается в качестве НИР разработать кеширование на диске прочитанных данных в уже подготовленном и разжатом виде для усорения и минимизации накладных расходов при повторном чтении таких данных.

Автоскейлинг потоковых запросов. Внутри сервиса Yandex Query поддерживаются потоковые запросы, обработка в которых является бесконечной. Источниками в таких запросах являются бесконечные очереди сообщений. Для обеспечения отказоустойчивости и гарантий доставки данных используются так называемые чекпоинты. Но при этом в процессе работы таких запросов может увеличиться объем поступаемых данных и в этом случае нужно иметь механизмы для оценки и масштабирования запросов (в том числе и состояний которые сохраняются при прохождении чекпонитов)

Планировщик для запуска запросов в YQ. Некоторые системы поддерживаются запуск запросов по расписписания (аля cron). Примером такой системы является snowflake. В работе предлагается провести исследование существующих систем которые предлагают похожие решение. На основе этого анализа предложить варианты решения для Yandex Query и разработать прототип для предложенного решения.

Продвинутый планировщик который учитывает локальный плейсинг с учетом доступных ресурсов для потоковых запросов. Текущая реализация алгоритма планирования либо умеет явно заселять запрос на один хост или же заселять с учетом доступной памяти. Такие стратегии не всегда эффективны с точки зрения использования ресурсов. Предлагается учитывать струтктуру графов чтобы минимизировать число перессылок и учитывать другие потребляемые ресурсы при планировании CPU/Mem/Net

Психология: case analysis

Технологии: Web / Machine learning / … Пригодность: бакалавр / магистр

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

деление по голосам

анализ поведения

скорее всего, дообучение имеющихся моделей

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

…

На уровне идей (конференции...)

Оптимизация выдедения памяти в jemalloc и освобождения при делании сего из разных потоков (С/C++)

Продолжение проекта Thread Sanitizer (применение Google TSAN через LLVM) для OpenJDK:

Изучение проблем приостановки работ в 2020 году

Доведение до готовности к слиянию в основную ветку

Доработка Google Thread Sanitizer, в части:

Уменьшение числа false/positive при поиске data/race

Поддержка явных барьеров памяти

Добавление fuzzing потоков (сейчас есть только на данных)

Fuzzing:

Участие в разработке centipede в части распределённости и привнесения учёта многопоточности в анализ трасс

Текущие темы

Магистранты

Шишкин А., “Разработка алгоритма адаптивного управления стратегиями синхронизации в зависимости от уровня конкуренции за ресурсы”, ЛЭТИ 2026

Бакалавры

Защищённые темы

Магистры

Кашин Г., “Разработка алгоритма адаптивного управления стратегиями синхронизации в зависимости от уровня конкуренции за ресурсы”, ИТМО 2025

Талащенко П. “Разработка NoSQL-адаптера к СУБД ydb на основе протокола etcd”, ЛЭТИ 2024

Самсонов П. “Система поддержки составления плана операции и диагностики ЛОР-заболеваний”, ИТМО 2024

Егорычев А. “Система поддержки составления плана операции и диагностики ЛОР-заболеваний”, ИТМО 2024

Шахов А. “Разработка стратегии планирования вычислительных потоков с целью проверки линеаризуемости lock-free алгоритмов”, ЛЭТИ 2021

Надежин Н. “Разработка комплекса скоростной видеосъемки с возможностью автосопровождения летящих объектов”, 2020

Ёров С. “Доработка алгоритмов Google Thread Sanitizer”, АУ 2018

Доронин О. "Автоматическое fuzzy-планирование потоков с помощью relacy для обнаружения ошибок в многопоточном коде", АУ 2018

Карулин Н. “Исследование и разработка методов обеспечения заданной производительности системы анализа последовательностей генома”, ЛЭТИ 2017

Яцык А. “Разработка протокола формирования и передачи вектора состояния ОЭС ТИК-М.”, ИТМО 2017

Галимуллин М. “Разработка адаптивной стратегии синхронизации потоков в конкурентных структурах данных, основанных на flat-combining”, ЛЭТИ 2016

Рапоткин Н. “Разработка стратегий flat-combining для конкурентных структур данных на примере библиотеки libcds»”, ЛЭТИ 2015 (+ Балтрашевич)

Леснова О. “Разработка методов балансировки нагрузки для платформы моделирования сетей NS-3”, ЛЭТИ 2013 (+ Балтрашевич)

Алексеева А. “Разработка алгоритма маршрутизации беспроводных Mesh-сетей в условиях ограничения на энергопотребление узлов”, ЛЭТИ 2013 (+ Балтрашевич)

Александрова С. “Разработка средства моделирования пространственной структуры белковых молекул”, АУ 2010

Бакалавры

Манцева Т., “Разработка алгоритма адаптивного управления стратегиями синхронизации в зависимости от уровня конкуренции за ресурсы”, ЛЭТИ 2025

Мосин К., “Разработка приложения информационного взаимодействия с радиотехническими комплексами”, ЛЭТИ 2025

Никитин Д. “Разработка системы развёртывания программных продуктов в рамках конвейера системы непрерывной интеграции”, ЛЭТИ 2024

Швец А. “Разработка системы управления наземными измерительными средствами”, ЛЭТИ 2021

Цикалюк А. “Разработка инфраструктуры развёртывания программных артефактов в системе непрерывной интеграции”, СПбГПУ 2021

Шохин Е. “Интерактивная карта университета с отображением расписания”, ЛЭТИ 2016

Королёв Ю. “Разработка подсистемы визуализации созвездия навигационных космических аппаратов”, ЛЭТИ 2009 (+ Кафтасьев)

Специалисты

Лагутчев Н. “Разработка системы непрерывной интеграции для целевых платформ защищённых ОС”, РГГМУ 2021

Шмыгин Е. “Разработка конвейерной системы поддержки жизненного цикла сборки программных продуктов”, РГГМУ 2021

Кузнецов Н. “Проектирование безопасности оптико-электронной станции”, РГГМУ 2020

Архив

Доработка алгоритмов детекции Data race в valgrind helgrind и drd по существующим ошибкам / запросам

Алгоритмы, требующие реализации и доработки в libcds, обычно есть что улучшить и ускорить по сравнению с реализацией из статей

Основанное на анализе кода fuzzy-планирование потоков с применением lincheck для обнаружения ошибок в многопоточном коде

Пересмотр текущих чистых lock-free алгоритмов в сторону Hardware Transactional Memory

Итераторы в lock-free контейнерах (Multi Array): в структуре данных “Feldman's Multi Array” в libcds добавить возможность работы с ключами переменной длины через список коллизий в узлах. Тип lock-free списка должен задаваться извне (в Traits) - сейчас есть три реализации - MichaelList, LazyList, IterableList

Доработки hpx

Сравнительный анализ:

Производительность STM для Java / Haskell / Closure

Производительность HTM в OpenJDK

Производительность HTM

Производительность scalable аллокаторов (C++)

[В проработке] Доработка применения HTM в OpenJDK (вводная статья и от того же автора, небольшой вводный докладпо TM в принципе). Сама реализация была сделана в 1.8 по этой задаче

Решение задач по расширению функциональности моделирования сетевых протоколов в симуляторе NS-3 (С++)

Сравнительный анализ:

RCU примитивы по отношению к RWLock для различных структур данных (тут придётся немного пару структур может на rcu перевести, но это не сложно) (C++)

Сети

NetAnim

Технологии: Qt / C++ / CMake Пригодность: бакалавр

Доработка визуализатора сетевой симулации NetAnim:

Отображение загруженности сетевых очередей, буферов и т.п.

Отображение узлов на карте при известном географическом положении

Анимация объёма передаваемых данных

Возможность анимации в реальном времени с управлением через python-консоль

Отображение направленности антенн

Средство развивается мало с 2017 года, но применяется в связке с NS-3. Хорошая практика работы со стеком технологий со средним порогом вхождения