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 revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
courses:high_performance_computing:questions [2016/11/19 22:44] kelcourses:high_performance_computing:questions [2016/11/20 00:23] kel
Line 21: Line 21:
   - Signal handlers   - Signal handlers
  
 +===== 4. Spin mutex =====
 +Чем отличается spin mutex от обычного mutex:
 +  - Остаётся всегда в user space
 +  - Остаётся всегда в kernel space
 +  - Ничем не отличается
 +  - Позволяет читателям производить операции параллельно
 +
 +===== 5. Wait/notify =====
 +В каком состоянии находится примитив синхронизации (mutex) в приведённом коде на 1, 3 и 4 строках:
 +<code c++>
 +0: boost::unique_lock<boost::mutex> lock(mutex);
 +1:
 +2: while (messageQueue.empty()) 
 +3:   conditionVariable.wait(lock);
 +4:
 +</code>
 +  - Во всех строках захвачен
 +  - Во всех строках освобождён
 +  - Захвачен в 1 и 4 строках, в 3 на время вызова //wait// освобождается
 +  - Захвачен в 1 строке, в 3 и 4 освобождён
 +
 +===== 6. Алгоритмы синхронизации =====
 +Расположите алгоритмы синхронизации в порядке увеличения потенциальной производительности в жёсткой конкурентной среде:
 +  - Грубая, тонкая, оптимистичная, неблокирующая
 +  - Тонкая, грубая, оптимистичная, неблокирующая
 +  - Неблокирующая, оптимистичная, грубая, тонкая
 +  - Грубая, тонкая, неблокирующая, оптимистичная
 +
 +===== Консенсус =====
 +Какое консенснусное число CAS-операций:
 +  - 1
 +  - 2
 +  - 2N-2 (где N-число ячеек памяти, доступных для CAS)
 +  - Бесконечность
  
  
  
courses/high_performance_computing/questions.txt · Last modified: 2016/11/24 00:07 by kel