Open Source & Linux Lab

It's better when it's simple

User Tools

Site Tools


etc:users:kel:diplomas

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
etc:users:kel:diplomas [2017/02/25 14:43] – created keletc:users:kel:diplomas [2024/10/01 15:23] (current) odoronin
Line 1: Line 1:
 ====== Дипломные работы ====== ====== Дипломные работы ======
-===== Темы ===== +===== Темы / направления ===== 
-  +==== Медицина ==== 
 +=== 3D Slicer === 
 +> //Технологии:// Python / OpenCV / Qt / OpenFOAM / CMake / C++ ... 
 +> //Пригодность:// бакалавр / магистр
  
-===== Текущие ====+Во взаимодействии с клинической больницей РАН спланирован ряд задач в проекте "[[:projects:otolaryngologist:start]]". Набор задач потребует достаточно разноплановые знания - от разработки плагинов и анализа изображений (как методами вычислительной геометрии, так и ML) до обеспечения необходимого уровня производительности 
-==== Магистры ==== + 
-  - Карулин Н. //"Исследование и разработка методов обеспечения заданной производительности системы анализа последовательностей генома"//, ЛЭТИ 2017 +  - Поиск и выделение: 
-  Кирдяшкин Б//"Разработка неблокирующих конкурентных структур данных на основе временных меток"//, ЛЭТИ 2017+    * Поиск и выделение носовой перегородки 
 +    * Полипов, аденоидов и т.п. 
 +    * Решётчатых артерий 
 +  - Определение: 
 +    * Искривления носовой перегородки 
 +    * Узкого места и расчёт площади/объёма дыхательных пазух 
 +    * Утолщения слизистой оболочки 
 +  - Хватает ли дыхания на основе отношения индекса массы тела и площади дыхательного просвета? (показано ли хирургичекое лечение храпа) 
 +  - Расчёт маршрута проведения инфундибулотомии 
 +  - Учёт газодинамических эффектов и моделирование дыхательного процесса 
 + 
 +На текущий момент в рамках 2 дипломных работ апробированы некоторые методы выделения аномалий и моделирования дыхания. Требуется доисследование с доведением до практического применения + решение остальных исследовательско-практических задач 
 + 
 +==== Параллельное программирование / High performance computing ==== 
 +=== Contention-aware synchronization objects === 
 +> //Технологии:// C++ / C / Linux / eBPF / ... 
 +> //Пригодность:// бакалавр / магистр 
 + 
 +Исследования и доработка примитивов синхронизации glibc/ядра ОС для переключения стратегий синхронизации исходя из анализа текущего профиля исполнения приложения и загруженности ОС (contention level). Конечная цель - PR с адаптивной реализацией базовых примитивов в тесном взаимодействии с планировщиком ОС  
 + 
 +  * [[https://gitlab.com/gitlab-com/gl-infra/scalability/-/issues/2301|Описание проблемы на примере Postgres]] 
 +  * [[https://inria.hal.science/hal-04266815v1/file/BPF_Hybrid_Locks_Internship_report.pdf|Базовая идея определения contention level]] 
 + 
 +=== YDB === 
 +> //Технологии:// C++ / YDB / etcd / CMake / ... 
 +> //Пригодность:// бакалавр / магистр / НИР 
 + 
 +Yandex в качестве дипломных и практических работ поставляет [[https://ydb.tech/ru/students|ряд задач]] по [[https://ydb.tech/ru|YDB]]. Команда [[https://github.com/dorooleg|Олега Доронина]] (ведущий практик по || программированию) из Yandex поддерживает работу с дипломником и обеспечивает экспертизу в указанной области 
 + 
 +  * Разработка новой функциональности и улучшений в SDK на языках: [[https://github.com/ydb-platform/ydb-go-sdk/issues?q=is%3Aopen+is%3Aissue+label%3Astudent-projects|Go]] [[https://github.com/ydb-platform/ydb-java-sdk/issues?q=is%3Aopen+is%3Aissue+label%3Astudent-projects|Java]] [[https://github.com/ydb-platform/ydb-python-sdk/issues|Python]] [[https://github.com/ydb-platform/ydb/issues?q=is%3Aopen+is%3Aissue+label%3Aarea%2Fcli|C++]] 
 +  * [[https://github.com/ydb-platform/ydb/wiki/Student-Projects#implementation-apache-nifi-ydb-sink|Разработка NoSQL-адаптера к СУБД ydb на основе протокола etcd: необходимо реализовать протокол etcd на основе YDB (активно используется GRPC), сохранив производительность и иные заданные параметры системы]] 
 +  * [[https://github.com/ydb-platform/ydb/issues?q=is%3Aopen+is%3Aissue+label%3Aarea%2Fcli|Интеграция R7 office и YDB]] 
 +  * [[https://github.com/ydb-platform/ydb/issues?q=is%3Aopen+is%3Aissue+label%3Aarea%2Fcli|Поддержка новых федеративных источников на Go (как PostgreSQL, MySQL, MS и т.д.)]] 
 +  * **Кеширование прочитанных данных из S3.** В YDB федеративных запросах поддерживается чтение из внешнего источника [[https://en.wikipedia.org/wiki/Amazon_S3|S3]]. Чтение данных из такого источника может быть медленным, а также данные в нем могут храниться в неструктурированном виде json,csv,xml,raw и даже в сжатом представлении. Предлагается в качестве НИР разработать кеширование на диске прочитанных данных в уже подготовленном и разжатом виде для усорения и минимизации накладных расходов при повторном чтении таких данных. 
 +  * **Автоскейлинг потоковых запросов.** Внутри сервиса [[https://yandex.cloud/ru/services/query|Yandex Query]] поддерживаются потоковые запросы, обработка в которых является бесконечной. Источниками в таких запросах являются бесконечные очереди сообщений. Для обеспечения отказоустойчивости и гарантий доставки данных используются так называемые [[https://nightlies.apache.org/flink/flink-docs-master/docs/dev/datastream/fault-tolerance/checkpointing/|чекпоинты]]. Но при этом в процессе работы таких запросов может увеличиться объем поступаемых данных и в этом случае нужно иметь механизмы для оценки и масштабирования запросов (в том числе и состояний которые сохраняются при прохождении чекпонитов) 
 +  * **Планировщик для запуска запросов в YQ.** Некоторые системы поддерживаются запуск запросов по расписписания (аля [[https://en.wikipedia.org/wiki/Cron|cron]]). Примером такой системы является [[https://docs.snowflake.com/en/user-guide/tasks-intro|snowflake]]. В работе предлагается провести исследование существующих систем которые предлагают похожие решение. На основе этого анализа предложить варианты решения для Yandex Query и разработать прототип для предложенного решения. 
 +  * **Продвинутый планировщик который учитывает локальный плейсинг с учетом доступных ресурсов для потоковых запросов.** Текущая реализация алгоритма планирования либо умеет явно заселять запрос на один хост или же заселять с учетом доступной памяти. Такие стратегии не всегда эффективны с точки зрения использования ресурсов. Предлагается учитывать струтктуру графов чтобы минимизировать число перессылок и учитывать другие потребляемые ресурсы при планировании CPU/Mem/Net 
 + 
 +==== Сети ==== 
 +=== NetAnim === 
 +> //Технологии:// Qt / C++ / CMake 
 +> //Пригодность:// бакалавр 
 + 
 +Доработка [[https://gitlab.com/nsnam/netanim|визуализатора]] сетевой симулации [[https://www.nsnam.org/wiki/NetAnim|NetAnim]]: 
 +  * Отображение загруженности сетевых очередей, буферов и т.п. 
 +  * Отображение узлов на карте при известном географическом положении 
 +  * Анимация объёма передаваемых данных 
 +  * Возможность анимации в реальном времени с управлением через python-консоль 
 +  * Отображение направленности антенн 
 + 
 +Средство развивается мало с 2017 года, но применяется в связке с NS-3. Хорошая практика работы со стеком технологий со средним порогом вхождения 
 + 
 +==== На уровне идей (конференции...) ==== 
 + 
 +  - Оптимизация выдедения памяти в [[https://github.com/jemalloc/jemalloc|jemalloc]] и освобождения при делании сего из разных потоков //(С/C++)// 
 +  - Продолжение [[https://wiki.openjdk.org/display/tsan/Main|проекта Thread Sanitizer (применение Google TSAN через LLVM) для OpenJDK]]: 
 +    * Изучение проблем приостановки работ в 2020 году 
 +    * Доведение до готовности к слиянию в основную ветку 
 +  - Доработка [[https://github.com/google/sanitizers/issues?page=2&q=is%3Aissue+is%3Aopen+tsan&utf8=%E2%9C%93|Google Thread Sanitizer]]в части: 
 +    * Уменьшение числа false/positive при поиске data/race 
 +    * [[https://github.com/google/sanitizers/issues/1415|Поддержка явных барьеров памяти]] 
 +    * [[https://ceur-ws.org/Vol-2344/paper9.pdf|Добавление fuzzing потоков]] (сейчас есть только на данных) 
 +  - Fuzzing: 
 +    * Участие в разработке [[https://github.com/google/centipede|centipede]] в части распределённости и привнесения учёта многопоточности в анализ трасс  
 + 
 +===== Текущие темы ===== 
 +==== Магистранты ====
  
 ==== Бакалавры ==== ==== Бакалавры ====
-  - Абрамов М. //"??? jmeter"// 
  
-===== Защищённые =====+===== Защищённые темы ===== 
 ==== Магистры ==== ==== Магистры ====
 +  - Талащенко П. //"Разработка NoSQL-адаптера к СУБД ydb на основе протокола etcd"//, ЛЭТИ 2024
 +  - Самсонов П. //"Система поддержки составления плана операции и диагностики ЛОР-заболеваний"//, ИТМО 2024
 +  - Егорычев А. //"Система поддержки составления плана операции и диагностики ЛОР-заболеваний"//, ИТМО 2024
 +  - Шахов А. //"Разработка стратегии планирования вычислительных потоков с целью проверки линеаризуемости lock-free алгоритмов"//, ЛЭТИ 2021
 +  - Надежин Н. //"Разработка комплекса скоростной видеосъемки с возможностью автосопровождения летящих объектов"//, 2020
 +  - Ёров С. //"Доработка алгоритмов Google Thread Sanitizer"//, АУ 2018
 +  - Доронин О. //[[:etc:users:kel:fuzzy_threads_planning|"Автоматическое fuzzy-планирование потоков с помощью relacy для обнаружения ошибок в многопоточном коде"]]//, АУ 2018
 +  - Карулин Н. //"Исследование и разработка методов обеспечения заданной производительности системы анализа последовательностей генома"//, ЛЭТИ 2017
 +  - Яцык А. //"Разработка протокола формирования и передачи вектора состояния ОЭС ТИК-М."//, ИТМО 2017
   - Галимуллин М. //"Разработка адаптивной стратегии синхронизации потоков в конкурентных структурах данных, основанных на flat-combining"//, ЛЭТИ 2016   - Галимуллин М. //"Разработка адаптивной стратегии синхронизации потоков в конкурентных структурах данных, основанных на flat-combining"//, ЛЭТИ 2016
-  - Рапоткин Н. //"Разработка стратегий flat-combining для конкурентных структур данных на примере библиотеки libcds»"//, ЛЭТИ 2015 +  - Рапоткин Н. //"Разработка стратегий flat-combining для конкурентных структур данных на примере библиотеки libcds»"//, ЛЭТИ 2015 (+ Балтрашевич) 
-  - Леснова О. //"Разработка методов балансировки нагрузки для платформы моделирования сетей NS-3"//, ЛЭТИ 2013 +  - Леснова О. //"Разработка методов балансировки нагрузки для платформы моделирования сетей NS-3"//, ЛЭТИ 2013 (+ Балтрашевич) 
-  - Алексеева А. //"Разработка алгоритма маршрутизации беспроводных Mesh-сетей в условиях ограничения на энергопотребление узлов"//, ЛЭТИ 2013+  - Алексеева А. //"Разработка алгоритма маршрутизации беспроводных Mesh-сетей в условиях ограничения на энергопотребление узлов"//, ЛЭТИ 2013 (+ Балтрашевич)
   - Александрова С. //"Разработка средства моделирования пространственной структуры белковых молекул"//, АУ 2010   - Александрова С. //"Разработка средства моделирования пространственной структуры белковых молекул"//, АУ 2010
  
 ==== Бакалавры ==== ==== Бакалавры ====
-  - Шохин Е. //Интерактивная карта университета с отображением расписания//, ЛЭТИ 2016+  - Никитин Д. //"Разработка системы развёртывания программных продуктов в рамках конвейера системы непрерывной интеграции"//, ЛЭТИ 2024 
 +  - Швец А. //"Разработка системы управления наземными измерительными средствами"//, ЛЭТИ 2021 
 +  - Цикалюк А. //"Разработка инфраструктуры развёртывания программных артефактов в системе непрерывной интеграции"//, СПбГПУ 2021 
 +  - Шохин Е. //"Интерактивная карта университета с отображением расписания"//, ЛЭТИ 2016 
 +  - Королёв Ю. //"Разработка подсистемы визуализации созвездия навигационных космических аппаратов"//, ЛЭТИ 2009 (+ Кафтасьев) 
 + 
 +==== Специалисты ==== 
 +  - Лагутчев Н. //"Разработка системы непрерывной интеграции для целевых платформ защищённых ОС"//, РГГМУ 2021 
 +  - Шмыгин Е. //"Разработка конвейерной системы поддержки жизненного цикла сборки программных продуктов"//, РГГМУ 2021 
 +  - Кузнецов Н. //"Проектирование безопасности оптико-электронной станции"//, РГГМУ 2020 
 + 
 +===== Архив ===== 
 +  - Доработка алгоритмов детекции Data race в valgrind [[http://www.valgrind.org/docs/manual/hg-manual.html#hg-manual.todolist|helgrind]] и [[http://www.valgrind.org/docs/manual/drd-manual.html|drd]] по существующим ошибкам / запросам 
 +  - Алгоритмы, требующие реализации и доработки в [[projects:libcds:tasks|libcds]], обычно есть что улучшить и ускорить по сравнению с реализацией из статей 
 +  - [[.:jre_fuzzy_threads_planning]] 
 +  - Пересмотр текущих чистых lock-free алгоритмов в сторону Hardware Transactional Memory 
 +  - Итераторы в lock-free контейнерах (Multi Array): в структуре данных "Feldman's Multi Array" в [[projects:libcds:start|libcds]] добавить возможность работы с ключами переменной длины через список коллизий в узлах. Тип lock-free списка должен задаваться извне (в Traits) - сейчас есть три реализации - MichaelList, LazyList, IterableList 
 +  - [[.:hpx]] 
 +  - Сравнительный анализ: 
 +    * Производительность STM для Java / Haskell / Closure 
 +    * Производительность HTM в OpenJDK 
 +    * Производительность [[https://www.cs.unc.edu/~porter/pubs/ispass10-final.pdf|HTM]] 
 +    * Производительность scalable аллокаторов //(C++)// 
 +  - //[В проработке]// Доработка применения HTM в OpenJDK ([[https://hosking.github.io/links/Chapman+2016OOPSLA.pdf|вводная статья]] и [[https://ts.data61.csiro.au/publications/nicta_full_text/9513.pdf|от того же автора]], небольшой [[https://jug.ru/talks/meetups/transactional-memory-and-beyond/|вводный доклад]]по TM в принципе). Сама реализация была сделана в 1.8 по [[https://bugs.openjdk.java.net/browse/JDK-8031320|этой задаче]] 
 +  - Решение [[https://gitlab.com/nsnam/ns-3-dev/-/issues|задач]] по расширению функциональности моделирования сетевых протоколов в симуляторе [[https://www.nsnam.org/wiki/Project_Ideas|NS-3]] //(С++)// 
 +  - Сравнительный анализ: 
 +    * RCU примитивы по отношению к RWLock для различных структур данных (тут придётся немного пару структур может на rcu перевести, но это не сложно) //(C++)//
etc/users/kel/diplomas.1488023039.txt.gz · Last modified: 2017/02/25 14:43 by kel