yigal_s' Journal
 
[Most Recent Entries] [Calendar View] [Friends View]

Wednesday, March 20th, 2013

    Time Event
    2:03a
    презабавное чтение
    http://www.socionavtika.net/Staty/diegesis/Legler/Legler_soderg.htm

    Леглер В.А. Научные революции при социализме
    11:01p
    упражнения с крышей и шифером
    у меня такое подозрение, что даже если мютексы сделаны на операциях без тотального упорядочения, с их помощью нельзя "увидеть" на разных процессорах разные последовательности присваивания переменным, которые они защищают.

    Т.е. если в треде 1 мы берем мютекс М1 и модифицируем переменную Х1,
    а в треде 2 мы берем мютекс М2 и модифицируем переменную Х2, то эти две операции модификации никак не упорядочены и разные процессоры могли бы их видеть в разном порядке, но... если они попытаются это увидеть, захватывая те же мютексы M1 и M2, у них это увидеть не получится.

    Таким образом, имея тотальную упорядоченность операций на одиночных мютексах и используя (разные!) мютексы для сереализации, можно добиться не много не мало тотальной упорядоченности критических секций вообще, то есть Sequential Consistency.

    Если же вместо мютексов и переменных использовать просто переменные с атомарным доступом, то, по идее, увидеть разный порядок их модификации вполне возможно. Неинтуитивный выходит момент: запись и чтение переменной даже под своим индивидуальным мютексом - или использование атомарных переменных -- принципиально разные операции с точки зрения модели памяти.

    Получается, что та интуиция, которая развита при работе с мютексами, всё же может как-то сбойнуть при работе с атомарными переменными. Потому что мютексы, так выходит, - дают тотальную упорядоченность, даже если они сами по себе не реализованы с помощью тотально-упорядоченных операций. Понять бы еще - где и как эта интуиция может засбоить.

    Вообще, я много всякой фигни пишу последнее время по темам моделей памяти. Наверное, в основном глупости пишу. Буду рад если кто-то поправит.
    11:16p
    идеал найден
    за то, что в последних версиях Perforce есть Shelving, ему можно простить всё остальное!

    << Previous Day 2013/03/20
    [Calendar]
    Next Day >>

About LJ.Rossia.org