- На странице загрузок доступны некоторые слайды к лекциям
- Доступа видеозапись части лекций курса
Основные книги курса: 1. Maurice Herlihy, Nir Shavit. "The Art of Multiprocessor Programming" 1. Brian Goetz, Tim Peierls, Joshua Bloch... "Java Concurrency in Practice" 1. Timothy G. Mattson, Beverly A. Sanders, Berna L. Massingill. "Patterns for Parallel Programming" 1. Richard Gerber, Aart J.C. Bik... "The Software Optimization Cookbook" 1. Камерон Хьюз, Трейси Хьюз. "Параллельное и распределенное программирование с использованием C++" 1. Энтони Уильямс. "Параллельное программирование на C++ в действии"
1. Введение
- Введение
- Классификация параллельных систем
2. Параллелизм
- Ускорение, эффективность (закон Амдала), масштабируемость
3. Процессы и потоки
- Процессы/потоки
- Средства общения процессов/потоков
4. Синхронизация потоков
- Примитивы синхронизации
- Виды синхронизации и алгоритмы
5. Поиск ошибок и анализ производительности. Стандарт OpenMP
- Ошибки. Средства поиска ошибок и анализа производительности
- OpenMp
6. Intel TBB и java.util.concurrent
- Intel TBB
- Пакет java.util.concurrent
7. Lock-Free концепция
- Регистры. Консенсусные протоколы Lock-Free
- Примеры алгоритмов
- Maurice Herlihy, Nir Shavit. The Art of Multiprocessor Programming
- V. K. Garg. Concurrent and Distributed Computing in Java
8. Вычислительные кластеры и стандарт MPI
- Использование MPI
9. Шаблоны || программирования
- Timothy G. Mattson, Beverly A. Sanders, Berna L. Massingill. "Patterns for Parallel Programming"
- Некоторые шаблоны с примерами на Intel TBB
10. Распределённые системы
- Курс «Архитектура распределенных систем программного обеспечения» МГУ
11. Дополнительно
- Оптимизации в компиляторах