courses:high_performance_computing:questions
Differences
This shows you the differences between two versions of the page.
Next revision | Previous revisionNext revisionBoth sides next revision | ||
courses:high_performance_computing:questions [2016/10/31 01:21] – created kel | courses:high_performance_computing:questions [2016/11/20 00:33] – kel | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== Вопросы к проверке знаний ====== | ====== Вопросы к проверке знаний ====== | ||
+ | ===== 1. Уровни абстракции технологий ===== | ||
+ | Расположите в порядке увеличения степени абстракции технологии высокопроизводительных вычислений: | ||
+ | - OS Threads, SSE/MMX, C++11 Threads/ | ||
+ | - SSE/MMX, OS Threads, TBB/ | ||
+ | - SSE/MMX, OS Threads, C++11 Threads/ | ||
+ | - OS Threads, TBB/ | ||
+ | |||
+ | ===== 2. Закон Амдала ===== | ||
+ | Что показывает закон Амдала: | ||
+ | - Прирост производительности в зависимости от доли последовательного кода и числа вычислительных элементов | ||
+ | - Прирост производительности в зависимости от числа вычислительных элементов и используемой технологии распараллеливания | ||
+ | - Число вычислительных элементов, | ||
+ | - Долю последовательного кода, производительность которого невозможно повысить | ||
+ | |||
+ | ===== 3. Завершение потоков ===== | ||
+ | Как называются функции, | ||
+ | - Функции завершения потока | ||
+ | - join-функции | ||
+ | - Cancellation / interruption points | ||
+ | - Signal handlers | ||
+ | |||
+ | ===== 4. Spin mutex ===== | ||
+ | Чем отличается spin mutex от обычного mutex: | ||
+ | - Остаётся всегда в user space | ||
+ | - Остаётся всегда в kernel space | ||
+ | - Ничем не отличается | ||
+ | - Позволяет читателям производить операции параллельно | ||
+ | |||
+ | ===== 5. Wait/notify ===== | ||
+ | В каком состоянии находится примитив синхронизации (mutex) в приведённом коде на 1, 3 и 4 строках: | ||
+ | <code c++> | ||
+ | 0: boost:: | ||
+ | 1: | ||
+ | 2: while (messageQueue.empty()) | ||
+ | 3: | ||
+ | 4: | ||
+ | </ | ||
+ | - Во всех строках захвачен | ||
+ | - Во всех строках освобождён | ||
+ | - Захвачен в 1 и 4 строках, | ||
+ | - Захвачен в 1 строке, | ||
+ | |||
+ | ===== 6. Ранжирование алгоритмов ===== | ||
+ | Расположите алгоритмы синхронизации в порядке увеличения потенциальной производительности в жёсткой конкурентной среде: | ||
+ | - Грубая, | ||
+ | - Тонкая, | ||
+ | - Неблокирующая, | ||
+ | - Грубая, | ||
+ | |||
+ | ===== 7. Выбор алгоритма ===== | ||
+ | Отметьте вид алгоритмов синхронизации, | ||
+ | - Грубая | ||
+ | - Тонкая | ||
+ | - Оптимистичная | ||
+ | - Неблокирующая | ||
+ | |||
+ | ===== 8. Wait-free алгоритм ===== | ||
+ | Выберите корректное определение wait-free класса алгоритмов: | ||
+ | - Любой поток ожидает, | ||
+ | - Любой поток может выполнить свои функции за конечное число шагов, если ни один другой поток не находится в критической секции | ||
+ | - Система в целом продвигается вперед не зависимо ни от чего | ||
+ | - Любой поток может выполнить свои функции за конечное число шагов, не зависимо ни от чего | ||
+ | |||
+ | ===== Консенсус ===== | ||
+ | Какое консенснусное число CAS-операций: | ||
+ | - 1 | ||
+ | - 2 | ||
+ | - 2N-2 (где N-число ячеек памяти, | ||
+ | - Бесконечность | ||
+ | |||
+ | |||
courses/high_performance_computing/questions.txt · Last modified: 2016/11/24 00:07 by kel