Загрузка...
     

Параллельное программирование - вопросы

04.11.10, 10:36
Автор dbimatov

16 ноября будет контрольная точка по первой половине курса.
Вот список тем:
1. Два принципиальных пути повышения производительности ВС
Уровни паралеллизма по Треливену и средства их реализации
Проблемы повышения прозводительности систем: ILP Wall, Power Wall, Memory Wall.
Многоядерные и многонитевые процессоры. Описание. Отличия. Примеры.
2. Классы вычислительных систем по Флинну (SISD, SIMD, MISD, MIMD)
Системы с общей памятью. (SMP). Описание и примеры. NUMA.
Системы с распределеной памятью (MPP и кластеры). Описание и примеры.
Наборы команд CISC, RISC, VLIW. Описание, особенности, примеры.
3. Методы повышения производительности микропроцессоров
(конвейеризация, 
суперскалярность, 
неупорядоченное исполнение, 
переименование регистров, 
предсказание переходов).
4. Многоуровневая память (Кэш). Классификации кэша 
(раздельный/совместный.
со сквозной записью / с обратной записью, 
КПО / ПАК / МАК).
Механизм работы кэша. Принципы временной и пронстранственной локальности.
Многоуровневый кэш.
Показатели эффективности работы памяти (зарержка или латентность, пропускная 
способность).
5. Последовательный / параллельный алгоритм (программма).
Показатели эффективности (ускорение, эффективность). Закон Амдала.
Цели создания параллельных программ? 
Особенности параллельных программ (сложность написания, сложность отладки).
Требования к "хорошим" параллельным программам.
6. Граф алгоритма, концепция неограниченного параллелизма (см. Воеводин, лекция 3)
Пиковая и реальная производительность.
Простые и конвейерные ФУ (Воеводин, лекция 4).
7. Потоки и процессы.
Средства управления потоками/процессами. Вытесняющая/невытесняющая многозадачность.
Алгоритмы планирования потоков (с приоритетами).
Виртуальное адресное пространство и средства его реализации.
8. Средства синхронизации потоков (критическая секция, мьютекс, семафор).
Тупики, взаимоблокировки. Причины их возникновения, методы устранения.
Ошибки при синхронизации потоков - race conditions (гонки).
9. OpenMP. Что такое, зачем нужен, концепция.
Основные конструкции.
10. MPI. Что такое, зачем нужен, для каких машин используется?
Основные возможности.
Синхронные и не синхронные функции.

Комментарии

ничего себе :(

Войдите, чтобы оставить комментарий