lock-free algorithms

folk
Сообщений: 4177
Зарегистрирован: 11 сен 2009, 21:00

lock-free algorithms

Сообщение folk » 05 июн 2015, 07:35

Наткнулся на слова автора библиотеки libcds
http://habrahabr.ru/company/ifree/blog/202190/
Почитал неспешно и по здравому размышлению не нашел где это имеет смысл применять. То есть получается что есть условно говоря список в который можно вставлять и удалять многопоточно без "блокировок", но на SMP получим соревнование по записи/чтению в одну строку кэша. То есть просадим работу всей системы. Получается что бонуса то и нет. Интересно ваше мнение.
Может эти алгоритмы можно приспособить для распределенных вычислений както? Но вроде как используется запись чтение - в общем не очень понял)
Последний раз редактировалось folk 27 ноя 2019, 19:42, всего редактировалось 1 раз.
Причина: test

Аватар пользователя
zykov
Сообщений: 1777
Зарегистрирован: 02 ноя 2009, 21:00

lock-free algorithms

Сообщение zykov » 05 июн 2015, 23:03

folk писал(а):Source of the post но на SMP получим соревнование по записи/чтению в одну строку кэша
Почему?
Последний раз редактировалось zykov 27 ноя 2019, 19:42, всего редактировалось 1 раз.
Причина: test

folk
Сообщений: 4177
Зарегистрирован: 11 сен 2009, 21:00

lock-free algorithms

Сообщение folk » 06 июн 2015, 12:48

Как я понял (признаюсь не до конца понял) эти алгоритмы активно опрашивают область памяти ожидая изменений - не засыпая. Если в семафоре неудачная попытка lock приводит к отвалу нити, и во время unlock она просыпается, то здесь все продолжают активно долбить по памяти.
Последний раз редактировалось folk 27 ноя 2019, 19:42, всего редактировалось 1 раз.
Причина: test

Аватар пользователя
zykov
Сообщений: 1777
Зарегистрирован: 02 ноя 2009, 21:00

lock-free algorithms

Сообщение zykov » 06 июн 2015, 14:00

Если под "соревнование" имелось ввиду race condition, то тут его не видно.
Если его вставить куда не надо, то будет хуже работать.
Последний раз редактировалось zykov 27 ноя 2019, 19:42, всего редактировалось 1 раз.
Причина: test

folk
Сообщений: 4177
Зарегистрирован: 11 сен 2009, 21:00

lock-free algorithms

Сообщение folk » 06 июн 2015, 14:27

Нет под соревнованием имелось ввиду поток запросов к памяти от нескольких процессоров в одну линию кэша.
Спинлок в ядре применяется но как правило он охраняет мелкую структуру - вроде inode. Но охранять спинлоком списки и прочая вроде как не комильфо. В общем не понимаю в каких задачах такие алгоритмы будут хороши)
Последний раз редактировалось folk 27 ноя 2019, 19:42, всего редактировалось 1 раз.
Причина: test


Вернуться в «Computer Science»

Кто сейчас на форуме

Количество пользователей, которые сейчас просматривают этот форум: нет зарегистрированных пользователей и 2 гостей