Table of Contents
Дипломные работы
Темы / направления
Медицина: диагностика ЛОР-заболеваний (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 с адаптивной реализацией базовых примитивов в тесном взаимодействии с планировщиком ОС
На текущий момент в рамках 2 дипломных работ выбраны механизмы получения метрик при работе примитивов и некоторые библиотеки/СУБД для тестирования решений. Требуется:
- разработка формулы определения contention на основе заданных метрик
- внедрение адаптивного ПИД-регулятора в алгоритм переключения стратегии работы примитивов синхронизации
- тестирование на различных пофилях нагрузки 3 выбранных СУБД с доработками адаптивными примитивами
Психология: case analysis
Технологии: Web / Machine learning / …
Пригодность: бакалавр / магистр
Во взаимодействии со специалистом предметной области психологии решения конфликтных ситуаций/лидерства и т.п. требуется разработать прототип системы поддержки оценки работы обучающихся в группах. Система содержит как инфраструктурную часть с порталом/материалами/авторизацией…, так и интеллектуальную часть:
- Деление по голосам
- Анализ поведения
- Скорее всего, дообучение имеющихся моделей
- Создание рекомендаций и подбор подходящего стила поведения для конкретного обучающегося
- …
Логистика и маршрутизация: построение маршрутов БПЛА
Технологии: алгоритмы / Python / C++ / ГеоИнформационныеСистемы / …
Пригодность: бакалавр / магистр
При доставке грузов автономными БПЛА в ходе расчёта маршрута доставки требуется учитывать различные факторы:
- Бесполётные зоны
- Погодные факторы во времени на разных высотах
- Технические ограничения конкретного БПЛА
- …
По аналогии с существующими алгоритмами, использующимимся при построении маршрутов автотранспорта (A*, его модификации, а также иные эвристические алгоритмы) требуется:
- Провести прототипирование и сравнительный анализ применимости по различным критериям (в том числе времени вычислений) классов алгоритмов A* с модификациями, муравьиных и генетических алгоритмов
- Привнести в учёт эвристик погодные факторы, меняющиеся во времени
- На основе проведённых исследований, разработать прототип системы построения маршрутов с визуализацией построенного маршрута и его характеристик
- Решить задачу выбора оптимального по заданным критериям времени старта БПЛА
- Рассмотреть возможность и применимость моделей машинного обучения для решения задачи
На уровне идей (конференции...)
- Оптимизация выдедения памяти в jemalloc и освобождения при делании сего из разных потоков (С/C++)
-
- Изучение проблем приостановки работ в 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
- Карулин Н. “Исследование и разработка методов обеспечения заданной производительности системы анализа последовательностей генома”, ЛЭТИ 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
Архив
- Алгоритмы, требующие реализации и доработки в libcds, обычно есть что улучшить и ускорить по сравнению с реализацией из статей
- Пересмотр текущих чистых lock-free алгоритмов в сторону Hardware Transactional Memory
- Итераторы в lock-free контейнерах (Multi Array): в структуре данных “Feldman's Multi Array” в libcds добавить возможность работы с ключами переменной длины через список коллизий в узлах. Тип lock-free списка должен задаваться извне (в Traits) - сейчас есть три реализации - MichaelList, LazyList, IterableList
- Сравнительный анализ:
- Производительность STM для Java / Haskell / Closure
- Производительность HTM в OpenJDK
- Производительность HTM
- Производительность scalable аллокаторов (C++)
- [В проработке] Доработка применения HTM в OpenJDK (вводная статья и от того же автора, небольшой вводный докладпо TM в принципе). Сама реализация была сделана в 1.8 по этой задаче
- Сравнительный анализ:
- RCU примитивы по отношению к RWLock для различных структур данных (тут придётся немного пару структур может на rcu перевести, но это не сложно) (C++)
Сети
NetAnim
Технологии: Qt / C++ / CMake
Пригодность: бакалавр
Доработка визуализатора сетевой симулации NetAnim:
- Отображение загруженности сетевых очередей, буферов и т.п.
- Отображение узлов на карте при известном географическом положении
- Анимация объёма передаваемых данных
- Возможность анимации в реальном времени с управлением через python-консоль
- Отображение направленности антенн
Средство развивается мало с 2017 года, но применяется в связке с NS-3. Хорошая практика работы со стеком технологий со средним порогом вхождения
YDB
Технологии: C++ / YDB / etcd / CMake / …
Пригодность: бакалавр / магистр / НИР
Yandex в качестве дипломных и практических работ поставляет ряд задач по YDB. Команда Олега Доронина (ведущий практик по || программированию) из Yandex поддерживает работу с дипломником и обеспечивает экспертизу в указанной области
- Кеширование прочитанных данных из S3. В YDB федеративных запросах поддерживается чтение из внешнего источника S3. Чтение данных из такого источника может быть медленным, а также данные в нем могут храниться в неструктурированном виде json,csv,xml,raw и даже в сжатом представлении. Предлагается в качестве НИР разработать кеширование на диске прочитанных данных в уже подготовленном и разжатом виде для усорения и минимизации накладных расходов при повторном чтении таких данных.
- Автоскейлинг потоковых запросов. Внутри сервиса Yandex Query поддерживаются потоковые запросы, обработка в которых является бесконечной. Источниками в таких запросах являются бесконечные очереди сообщений. Для обеспечения отказоустойчивости и гарантий доставки данных используются так называемые чекпоинты. Но при этом в процессе работы таких запросов может увеличиться объем поступаемых данных и в этом случае нужно иметь механизмы для оценки и масштабирования запросов (в том числе и состояний которые сохраняются при прохождении чекпонитов)
- Планировщик для запуска запросов в YQ. Некоторые системы поддерживаются запуск запросов по расписписания (аля cron). Примером такой системы является snowflake. В работе предлагается провести исследование существующих систем которые предлагают похожие решение. На основе этого анализа предложить варианты решения для Yandex Query и разработать прототип для предложенного решения.
- Продвинутый планировщик который учитывает локальный плейсинг с учетом доступных ресурсов для потоковых запросов. Текущая реализация алгоритма планирования либо умеет явно заселять запрос на один хост или же заселять с учетом доступной памяти. Такие стратегии не всегда эффективны с точки зрения использования ресурсов. Предлагается учитывать струтктуру графов чтобы минимизировать число перессылок и учитывать другие потребляемые ресурсы при планировании CPU/Mem/Net