Вход через социальные сети

  • 06.06.2015, 02:03
    0 up down
    Сообщение

    folk в 05.06.2015, 11:35 написал(а): link
    но на SMP получим соревнование по записи/чтению в одну строку кэша
    Почему?
  • 06.06.2015, 15:48
    0 up down
    Сообщение

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

    Сообщение было отредактировано folk в 06.06.2015, 16:48.


  • 06.06.2015, 17:00
    0 up down
    Сообщение

    Если под "соревнование" имелось ввиду race condition, то тут его не видно.

    Алгоритм с постоянним опросом памяти - это что-то вроде spinlock. У него есть как приемущества (может быстро проснутся), так и неодостатки (постоянно потребляет время процессора). Соответственно и применяеть выгодно только при определенных условиях. Например если внутри критической секции очень мало кода, который быстро выполняется и не блочится.

    Если его вставить куда не надо, то будет хуже работать.

  • 06.06.2015, 17:27
    0 up down
    Сообщение

    Нет под соревнованием имелось ввиду поток запросов к памяти от нескольких процессоров в одну линию кэша.

    Спинлок в ядре применяется но как правило он охраняет мелкую структуру - вроде inode. Но охранять спинлоком списки и прочая вроде как не комильфо. В общем не понимаю в каких задачах такие алгоритмы будут хороши)