courses:high_performance_computing:questions
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revision | Last revisionBoth sides next revision | ||
courses:high_performance_computing:questions [2016/11/20 00:33] – kel | courses:high_performance_computing:questions [2016/11/20 00:55] – kel | ||
---|---|---|---|
Line 62: | Line 62: | ||
- Система в целом продвигается вперед не зависимо ни от чего | - Система в целом продвигается вперед не зависимо ни от чего | ||
- Любой поток может выполнить свои функции за конечное число шагов, не зависимо ни от чего | - Любой поток может выполнить свои функции за конечное число шагов, не зависимо ни от чего | ||
+ | |||
+ | ===== 9. Определение типа ошибки ===== | ||
+ | Какая ошибка потенциально может возникнуть в приведённом коде: | ||
+ | <code c++> | ||
+ | void f() { | ||
+ | first_mutex.lock(); | ||
+ | second_mutex.lock(); | ||
+ | ... | ||
+ | } | ||
+ | |||
+ | void g() { | ||
+ | second_mutex.lock(); | ||
+ | first_mutex.lock(); | ||
+ | ... | ||
+ | } | ||
+ | </ | ||
+ | - Гонка данных (Data Race) | ||
+ | - Взаимная блокировка (Deadlock) | ||
+ | - Проблема ABA | ||
+ | - Инверсия приоритетов | ||
+ | |||
+ | ===== 10. Реализация lock-free алгоритмов ===== | ||
+ | Почему lock-free алгоритмы легче реализовать на языке со сборщиком мусора, | ||
+ | - Невозможна инверсия приоритетов | ||
+ | - Наличие существующих базовых контейнеров в java.util.concurrent | ||
+ | - Невозможна проблема ABA | ||
+ | - Наличие CAS-операций | ||
===== Консенсус ===== | ===== Консенсус ===== |
courses/high_performance_computing/questions.txt · Last modified: 2016/11/24 00:07 by kel