Почесав репу некоторое время, т.е. подумав: что же это за фигня такая и как интерпретировать полученный результат?
И думаю ответ тут вот какой:
1. Потоки выстраивались в очередь, по понятной причине (нет полезной работы кроме захвата мьютекса)
2. Синхронизация кэшей между ядрами одного процессора (два соседних ядра внутри QuadCore), где-то 50-100 тактов
3. Синхронизация кэшей между ядрами разных процессоров (2 проца внутри QuadCore), где-то 600 тактов
теперь производим простые вычисления:
Tsync - пенальти за синхронизацию в тактах
N - количество потоков
Hz - частота
M - количество циклов (количество захватов мьютекса на один поток)
T - суммарное пинальти
T = Tsync*N*M/Hz
И получаем около 7 секунд для пукта 2 и около 80 секунд для пункта 3 при частоте 3GHz
Что более менее коррелирует с результатами теста.
За истекшее время я еще немного поупражнялся на том же самом тесте (чуть позже я его выложу)
И выявил примерно следующее соотношение: время под мьютексом + пенальти должно составлять не более 2-5 % от времени выполнения цикла для достижения линейного масштабирования, в противном случае коэффициент масштабирования будет стремительно снижаться вплоть до линейной деградации.
Подписаться на:
Комментарии к сообщению (Atom)

Этот комментарий был удален автором.
ОтветитьУдалитьЭтот комментарий был удален автором.
ОтветитьУдалитьЭтот комментарий был удален автором.
ОтветитьУдалитьWinbuzz offers a simple and user-friendly platform for those interested in cricket betting and casino games. It provides clear instructions on how to access a cricket ID and manage deposits and withdrawals without confusion. The platform keeps everything well-organized for easy use. You can start your journey with Winbuzz and handle your Cricket Id smoothly.
ОтветитьУдалитьReddyBook provides a convenient platform for users. When you visit ReddyBook, you can easily navigate. Getting a Cricket ID is simple. It also offers guidance about deposits and withdrawals.
ОтветитьУдалить