транзакции
Sep. 29th, 2008 04:09 pmНынче модное слово в области синхронизации - транзакции. Особенно у Сана. И в железном виде, и в софтовом. Читал всякие статьи. В частности, вот:
http://research.sun.com/scalable/pubs/DISC2006.pdf
Похоже, что главный смысл этих транзакций - в простоте программописания. А никак не в скорости. Накладные расходы там получаются ого-го.
Так вот, разглядывание оценок скорости в этой статье наводит на мысли про мухлеж. Они сравнивают с алгоритмами, которые используют блокировки. И алгоритм с единственной глобальной блокировкой там сразу жестоко заваливается. А алгоритм с мелкими блокировками идет впереди до 16 тредов, а потом тоже заваливается. В машине ихней 16 процессоров. Не странное ли совпадение? И пишут, что они использовали опцию, которая по-возможности предотвращает переключение контекстов тредов. Выглядит очень, очень похоже на то, что они нагло использовали spinlocks в user-space. Пока живых процессоров хватает, они идут неплохо. А как только процессоры кончаются - начинается жопа, жопа. Но ведь по уму использовать спинлоки в пользовательском контексте никак нельзя. Иначе, чем мухлежом такой подход назвать не получается.
http://research.sun.com/scalable/pubs/DISC2006.pdf
Похоже, что главный смысл этих транзакций - в простоте программописания. А никак не в скорости. Накладные расходы там получаются ого-го.
Так вот, разглядывание оценок скорости в этой статье наводит на мысли про мухлеж. Они сравнивают с алгоритмами, которые используют блокировки. И алгоритм с единственной глобальной блокировкой там сразу жестоко заваливается. А алгоритм с мелкими блокировками идет впереди до 16 тредов, а потом тоже заваливается. В машине ихней 16 процессоров. Не странное ли совпадение? И пишут, что они использовали опцию, которая по-возможности предотвращает переключение контекстов тредов. Выглядит очень, очень похоже на то, что они нагло использовали spinlocks в user-space. Пока живых процессоров хватает, они идут неплохо. А как только процессоры кончаются - начинается жопа, жопа. Но ведь по уму использовать спинлоки в пользовательском контексте никак нельзя. Иначе, чем мухлежом такой подход назвать не получается.
no subject
Date: 2008-09-30 01:27 pm (UTC)