Теория и практика многопоточной синхронизации — различия между версиями

Материал из Public ATP Wiki
Перейти к: навигация, поиск
(Создание страницы «Теория и практика concurrency»)
(нет различий)

Версия 14:45, 28 июня 2020

Общие сведения

  • Семестр: 4 (второй курс)
  • Форма контроля: дифф. зачет

Материалы прошлых лет

Преподаватели

  • Лектор
    • Липовский Роман
  • Семинаристы
    • Александр Гришутин
    • Дмитрий Инютин
    • Евгений Госткин
    • Евгений Шлыков
    • Камиль Талипов
    • Мария Феофанова
    • Никита Михайлов
    • Роман Санду
    • Степан Калинин
    • Вадим Плахтинский
    • Михаил Анухин

Критерии получения оценки

Домашние задания В ходе семестра вам будет предложено X домашних заданий, в каждом задании будет несколько задач.

Стоимости

У каждой задачи будет своя стоимость в баллах. У каждого домашнего задания (и иногда – у отдельных задач) будет дедлайн, после которого стоимость задач снижается.

Лимиты

У каждого домашнего задания будет лимит в баллах. Иногда он будет равен сумме баллов за отдельные задачи, а иногда суммарная стоимость задач будет чуть выше, чтобы можно было добирать баллы после дедлайна.

Дедлайны

Стандартный дедлайн на домашнее задание – 2 недели. После дедлайна в течение недели стоимость задач линейно падает в два раза. После этого стоимость задачи не меняется. Домашние задания будут наслаиваться друг на друга, будьте к этому готовы и планируйте свое время. Не оставляйте решение домашнего задания на последние выходные перед дедлайном!

Защита

Чтобы задача была зачтена, мало написать код и пройти тесты, нужно защитить задачу. Формат защиты остается на усмотрение семинариста, но в самом общем виде процедуру можно описать так: семинарист атакует вас каверзными вопросами на понимание тонкостей задачи и решает, достаточно ли вашего понимания или нет. На защиту тоже устанавливается дедлайн. Сделано это для того, чтобы:

  • Нагрузка на семинаристов и ассистентов распределялась равномерно в течение семестра
  • Вы не успевали забывать решения собственных задач

Базовая оценка

В конце семестра баллы за все домашние задания суммируются, после чего результат нормируется в базовую оценку от 0 до 8 баллов. Точные правила округления будут известны во второй половине семестра, но можно сказать сразу, что выбить 8 баллов на этом этапе будет крайне сложно, для этого придется прорешивать почти все домашние задания.

Обязательные задачи

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

План курса

Темы лекций и семинаров:

  1. Introduction
  2. Взаимное исключение
  3. Механика потоков
  4. Мелкогранулярные блокировки
  5. Когерентность кэшей
  6. Модели памяти - I
  7. Moдели памяти - II
  8. Futures / Promises
  9. Лок-фри
  10. Планировщик / Work stealing
  11. Coroutines [в С++] - I
  12. Coroutines [в С++] - II
  13.  ?
  14. Final

Список рекомендуемых материалов