Open Source & Linux Lab

It's better when it's simple

User Tools

Site Tools


courses:high_performance_computing:questions

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
courses:high_performance_computing:questions [2016/11/20 00:55]
kel
courses:high_performance_computing:questions [2016/11/24 00:07] (current)
kel
Line 90: Line 90:
   - Наличие CAS-операций   - Наличие CAS-операций
  
-===== Консенсус =====+===== 11. Профилирование ===== 
 +Укажите какие виды профилирования желательно применить для комплексного анализа проблем приложения:​ 
 +  - Инструментирующее и сэмплирующее 
 +  - Поиск hot spots и анализ издержек на ожидание и синхронизацию (locks and waits) 
 +  - Интрузивное и неинтрузивное 
 +  - В отладочной сборке и release-сборке 
 + 
 +===== 12. Выбор шаблона ===== 
 +Укажите,​ какой шаблон проектирования позволяет повторно использовать один и тот же вычислительный поток для решения нескольких задач и минимизировать время на создание новых потоков:​ 
 +  - Thread Pool 
 +  - Double Check 
 +  - Local Serializer 
 +  - Pipeline 
 + 
 +===== 13. Выбор шаблона ===== 
 +Укажите,​ какой шаблон проектирования позволяет эффективно организовать потоковую обработку данных:​ 
 +  - Thread Pool 
 +  - Double Check 
 +  - Recursive Data 
 +  - Pipeline 
 + 
 +===== 14. Узкое место при работе с контейнерами ===== 
 +В чём заключается одна из основных причин просадки производительности (увеличение времени выполнения операции) при активной конкурентной работе с контейнерами (в предположении,​ что процессорных ресурсов достаточно):​ 
 +  - Сложность поиска / удаления / вставки элементов 
 +  - Переключение контекста процесса 
 +  - Потокобезопасность функции new 
 +  - Промашки по кэшу процессора 
 + 
 +===== 15. Task-based разработка ===== 
 +Выберите технологию,​ предоставляющую инструменты работы в терминах задач, скрывая вычислительные потоки внутри:​ 
 +  - OpenMP 
 +  - MPI 
 +  - Intel TBB / ForkJoin framework 
 +  - Java Threads 
 + 
 +===== 16. Выбор технологии ===== 
 +Выберите технологию,​ для которой характерна адресация в терминах групп и коммуникаторов,​ с возможностью создания виртуальных топологий:​ 
 +  - OpenMP 
 +  - MPI 
 +  - Intel TBB / ForkJoin framework 
 +  - Java Threads 
 + 
 +===== 17. Оптимизации в компиляторе ===== 
 +Выберите оптимизацию JIT-компилятора,​ которая позволяет уменьшить время, затрачиваемое на захват и освобождение примитива синхрониации,​ не переходя в некоторых случаях в kernel space: 
 +  - Объединение захвата примитивов 
 +  - Оптимистичный захват 
 +  - Адаптивные блокировки 
 +  - Замена виртуального вызова 
 + 
 +===== 18. Модель памяти ===== 
 +Выберите модель памяти,​ которая гарантирует acquire/​release семантику доступа к памяти:​ 
 +  - Sequential Consistency 
 +  - Strong-ordered 
 +  - Weak-ordered 
 +  - Super-weak 
 + 
 +===== 19. Асинхронный ввод/​вывод ===== 
 +Выберите тип ввода/​вывода,​ наиболее подходящий для реализации высоко нагруженных серверных частей системы:​ 
 +  - Синхронный блокирующий 
 +  - Асинхронный блокирующий 
 +  - Синхронный неблокирующий 
 +  - Асинхронный неблокирующий 
 + 
 +===== 20. Консенсус =====
 Какое консенснусное число CAS-операций:​ Какое консенснусное число CAS-операций:​
   - 1   - 1
courses/high_performance_computing/questions.txt · Last modified: 2016/11/24 00:07 by kel