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

Материал из Public ATP Wiki
Перейти к: навигация, поиск
(Общие сведения)
м
Строка 44: Строка 44:
 
** Александр Якунин
 
** Александр Якунин
 
** Екатерина Шайдурова
 
** Екатерина Шайдурова
 +
 +
= План курса =
 +
Темы лекций и семинаров:
 +
# Introduction
 +
# Взаимное исключение
 +
# Механика потоков
 +
# Мелкогранулярные блокировки
 +
# Когерентность кэшей
 +
# Модели памяти - I
 +
# Moдели памяти - II
 +
# Futures / Promises
 +
# Лок-фри
 +
# Планировщик / Work stealing
 +
# Coroutines [в С++] - I
 +
# Coroutines [в С++] - II
 +
# ?
 +
# Final
 +
  
 
= Критерии получения оценки =
 
= Критерии получения оценки =
Строка 81: Строка 99:
 
Некоторые домашние работы и отдельные задачи будут обязательными для получения зачета.
 
Некоторые домашние работы и отдельные задачи будут обязательными для получения зачета.
 
Дедлайна на защиту для них не будет. Но помните, что если вы решите сдавать их в самом конце семестра, то семинарист может физически не успеть проверить их. В этот момент приоритет будет отдаваться студентам, которые претендуют на более высокие оценки.
 
Дедлайна на защиту для них не будет. Но помните, что если вы решите сдавать их в самом конце семестра, то семинарист может физически не успеть проверить их. В этот момент приоритет будет отдаваться студентам, которые претендуют на более высокие оценки.
 
= План курса =
 
Темы лекций и семинаров:
 
# Introduction
 
# Взаимное исключение
 
# Механика потоков
 
# Мелкогранулярные блокировки
 
# Когерентность кэшей
 
# Модели памяти - I
 
# Moдели памяти - II
 
# Futures / Promises
 
# Лок-фри
 
# Планировщик / Work stealing
 
# Coroutines [в С++] - I
 
# Coroutines [в С++] - II
 
# ?
 
# Final
 
  
 
= Список рекомендуемых материалов =
 
= Список рекомендуемых материалов =

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

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

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

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

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

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

План курса

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

  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


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

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

Стоимости

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

Лимиты

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

Дедлайны

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

Защита

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

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

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

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

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

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

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