Курс на Stepik
Обложка курса «Параллельное программирование» на Stepik
Бесплатно

Параллельное программирование 4.875

Открыть на
STEPIK.ORG

Курс рассматривает принципы и возможности многопоточного программирования в теории и на практике: классическое многопоточное программирование, алгоритмы и шаблоны || программирования, иные методы повышения производительности систем

Показатель Текущие показатели Рост
Значение 🏆 Рейтинг 3 дн 7 дн 30 дн
Количество учеников на курсе «Параллельное программирование»Учеников на курсе 1 603
Сертификаты, выданные на курсе «Параллельное программирование»Сертификатов выдано 0
Отзывы о курсе «Параллельное программирование»Отзывов получено 8
Рейтинг курса «Параллельное программирование»Рейтинг курса 4.875
Уроки в курсе «Параллельное программирование»Количество уроков 52
Тесты в курсе «Параллельное программирование»Количество квизов 14
Время прохождения курса «Параллельное программирование»Время прохождения курса
Обновления курса «Параллельное программирование»Обновления курса
Дата публикации курса «Параллельное программирование»Дата публикации курса
Последнее обновление курса «Параллельное программирование»Последнее обновление
Сложность normal

Содержание курса

Разделы в курсе «Параллельное программирование» 15 разделов Уроки в курсе «Параллельное программирование» 52 урока Тесты в курсе «Параллельное программирование» 14 тестов Время прохождения курса «Параллельное программирование» 13 ч. Последнее обновление курса «Параллельное программирование» обн. 26 апреля 2026

1. Введение

4 урока
Закрытый
1.1 История и задачи
1 309
704
11м 5с
20
Закрытый
1.2 Общий взгляд на HPC: от SSE к кластерным вычислениям
676
388
17м 43с
21
Закрытый
1.3 Процессы и потоки
573
461
17м 4с
20
Закрытый
1.4 Создание потоков
526
429
11м 44с
14

2. Многопоточность или IPC

5 уроков
Закрытый
2.1 Механизмы IPC
511
409
9м 22с
12
Закрытый
2.2 Преимущество многопоточности: скорость обмена данными
437
351
7м 31с
12
Закрытый
2.3 Преимущество многопоточности: простота
410
332
7м 54с
14
Закрытый
2.4 Преимущество IPC: безопасность
396
315
4м 30с
9
Закрытый
2.5 Преимущество IPC: надёжность
399
291
9м 45с
14

3. Завершение потоков

5 уроков
Закрытый
3.1 Постановка задачи
380
317
4м 51с
15
Закрытый
3.2 Завершение POSIX-потоков
378
321
21м 20с
17
Закрытый
3.3 Примеры кода из glibc
355
298
7м 31с
11
Закрытый
3.4 Завершение Java-потоков
359
257
11м 50с
14
Закрытый
3.5 Сравнение механизмов завершения на разных языках
326
266
6м 7с
11

4. Примитивы синхронизации

8 уроков
Закрытый
4.1 Необходимость использования примитивов
332
277
4м 37с
9
Закрытый
4.2 Логика реализации mutex
320
283
11м 16с
10
Закрытый
4.3 Рекурсивные и нерекурсивные примитивы
317
269
23м 49с
16
Закрытый
4.4 Read/Write mutex
309
253
4м 26с
9
Закрытый
4.5 User space / kernel space
298
251
15м 58с
11
Закрытый
4.6 CAS: spin mutex и атомики
309
224
14м 27с
14
Закрытый
4.7 RAII, Futex и адаптивные примитивы
301
226
6м 49с
12
Закрытый
4.8 Condition variables
304
72
23м 45с
14

5. Ошибки || программирования

3 урока
Закрытый
5.1 Dead lock
275
195
30м 43с
11
Закрытый
5.2 Гонки данных (Data race / Race condition)
248
201
18м 50с
11
Закрытый
5.3 Инверсия приоритетов
249
187
16м 1с
11

6. Алгоритмы синхронизации

6 уроков
Закрытый
6.1 Грубая
268
218
8м 30с
12
Закрытый
6.2 Тонкая
233
201
21м 38с
8
Закрытый
6.3 Оптимистичная
233
200
10м 35с
9
Закрытый
6.4 Ленивая
231
198
4м 58с
8
Закрытый
6.5 Неблокирующая
232
207
13м 15с
9
Закрытый
6.6 Проблема ABA
247
165
19м 57с
10

7. Снимки атомарных регистров

3 урока
Закрытый
7.1 Согласованность и актуальность
239
190
9м 24с
8
Закрытый
7.2 Lock-free snapshot
241
199
10м 51с
7
Закрытый
7.3 Wait-free snapshot
235
151
30м 36с
9

8. Модели памяти

5 уроков
Закрытый
8.1 Диагностика ошибки с проблемой видимости
205
176
38м 45с
10
Закрытый
8.2 Протокол поддержки когерентности кешей процессора (MESI)
200
174
20м 36с
7
Закрытый
8.3 Причины появления memory reordering
195
169
27м 10с
5
Закрытый
8.4 Барьеры памяти
206
173
16м 33с
6
Закрытый
8.5 Модели памяти
207
144
24м 42с
8

9. Lock-free структуры данных: стек и очередь

4 урока
Закрытый
9.1 Стек Treiber
207
172
6м 7с
4
Закрытый
9.2 Линеаризуемость
191
162
29м 35с
6
Закрытый
9.3 Очередь Michael & Scott
190
158
11м 34с
3
Закрытый
9.4 Проверка корректности параллельных алгоритмов
203
47
12м 48с
6

10. Профилирование

4 урока
Закрытый
10.1 Valgrind: анализ и представление через kcachegrind
120
94
11м 0с
3
Закрытый
10.2 Perf: анализ статистики и flamegraph
111
89
20м 38с
2
Закрытый
10.3 VTune: анализ ожидания / синхронизации
105
72
34м 30с
2
Закрытый
10.4 VTune: анализ промашек по кешу
95
70
16м 49с
4

11. RCU

3 урока
Закрытый
11.1 Архитектура epoch-based синхронизации
125
97
11м 19с
2
Закрытый
11.2 Kernel space RCU
122
100
15м 54с
2
Закрытый
11.3 User space RCU
121
73
19м 7с
4

12. Flat combining

2 урока
Закрытый
12.1 TLS
146
109
21м 28с
4
Закрытый
12.2 Архитектура и производительность FC
162
73
25м 58с
5

13. Асинхронный ввод/вывод

0 уроков

14. OpenMP / MPI

0 уроков

15. Транзакционная память

0 уроков