powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / Hardware [игнор отключен] [закрыт для гостей] / Как определить какие ядра процессора с общим кешем?
13 сообщений из 13, страница 1 из 1
Как определить какие ядра процессора с общим кешем?
    #37278053
diary3
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В Windows все ядра процессора представлены в CPU0, CPU1, CPU2, CPU3...

Как узнать, какие из них сидят на общем кеше.

Нужно для того, чтобы для MS SQL Server задать affinity mask. Иначе SQL Server рассматривает все ядра процессора как одинаковые и посылает вычислительную нагрузку и нагрузку ввода-вывода равномерно на все ядра.
А надо, чтобы вычислительная нагрузка шла на группу ядер с одним кешем, а нагрузка ввода-вывода шла на ядра с другим кешем. Чтобы кеш не очищался.
http://msdn.microsoft.com/ru-ru/library/ms189629.aspx

Т.е. если процессор, к примеру четырёхядерный, с разными кешами L2, то как объединять?
0 + 1 и 2 + 3
или
0 + 2 и 1 + 3
или
0 + 3 и 1 + 2
...
Рейтинг: 0 / 0
Как определить какие ядра процессора с общим кешем?
    #37278174
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
imho чешуя. для СУБД что процессор, что ядро, практически пофиг, потому что СУБД это не вычислительная задача.
...
Рейтинг: 0 / 0
Как определить какие ядра процессора с общим кешем?
    #37278545
Unnamed54321
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
diary3,
ставьте автоматически, имхо - совсем не критично..
я только один раз за время работы ДБА встречал загрузку ЦП на 100% сиквелом, с помощью дивного отчета из вложенных запросов через вложенные запросы по вложенным запросам..
Сервер - 2 процессора по 4 ядра в каждом, ~100 пользователей 1С одновременно
...
Рейтинг: 0 / 0
Как определить какие ядра процессора с общим кешем?
    #37279647
MSSQL-Oracle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
diary3В Windows все ядра процессора представлены в CPU0, CPU1, CPU2, CPU3...

Как узнать, какие из них сидят на общем кеше.

Нужно для того, чтобы для MS SQL Server задать affinity mask. Иначе SQL Server рассматривает все ядра процессора как одинаковые и посылает вычислительную нагрузку и нагрузку ввода-вывода равномерно на все ядра.
А надо, чтобы вычислительная нагрузка шла на группу ядер с одним кешем, а нагрузка ввода-вывода шла на ядра с другим кешем. Чтобы кеш не очищался.
http://msdn.microsoft.com/ru-ru/library/ms189629.aspx

Т.е. если процессор, к примеру четырёхядерный, с разными кешами L2, то как объединять?
0 + 1 и 2 + 3
или
0 + 2 и 1 + 3
или
0 + 3 и 1 + 2
1. А что за процессор и с чего вы взяли что в каждой паре ядер есть общий кэш, а между парами нету?
2. Вы точно выяснили, что для системы это критичное звено, идет нехватка CPU и именно изменение afinity mask исправит ситуацию?
...
Рейтинг: 0 / 0
Как определить какие ядра процессора с общим кешем?
    #37280978
diary3
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Это вопрос не про конкретный процессор (хотя такие есть - Q6600 к примеру), а академический интерес.

А при использовании нескольких процессоров - ещё интереснее - тут всё разнесено, включая оперативную память (с точки зрения контроллеров памяти, у каждого процессора своя память). Как тут нумеруются ядра - последовательно или вперемешку?
...
Рейтинг: 0 / 0
Как определить какие ядра процессора с общим кешем?
    #37281008
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
diary3тут всё разнесено, включая оперативную память
эта штука называется numa. на ixbt видел две статьи на эту тему, но они уже очень старые, 2005 и 2006 года.
С тех пор вроде про это ни слуху ни духу. Всякие википедии и др. не дают никаких реальных ссылок на производительность или др. тесты.

более-менее свежее (2009 года) по интелу нашел вот что
http://software.intel.com/en-us/blogs/2009/03/11/learning-experience-of-numa-and-intels-next-generation-xeon-processor-i/

Скорее всего, выигрыш или микроскопичен, или проявляется только на специфических вычислительных задачах, которые программируются с учетом железа. Поэтому массово все на это дело забили болт.
Точно так же как и на "общий кэш ядер, не общий...".
...
Рейтинг: 0 / 0
Как определить какие ядра процессора с общим кешем?
    #37281023
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да, NUMA включается в биосе, насколько я понимаю, и при этом должна быть определенная конфигурация памяти.
и думаю, что нумерация процессоров и ядер тут не меняется.

вот те статьи с ixbt
http://www.ixbt.com/cpu/rmma-numa.shtml
http://www.ixbt.com/cpu/rmma-numa2.shtml
...
Рейтинг: 0 / 0
Как определить какие ядра процессора с общим кешем?
    #37281401
diary3
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kdv, большое спасибо!

Там, в статьях было то, что искал: "RightMark Multi-Threaded Memory Test"
...
Рейтинг: 0 / 0
Как определить какие ядра процессора с общим кешем?
    #37281455
diary3
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Потестил тут один сервер:
2 Xeon-а по 4 ядра (всего 8 ядер) HT отключен,
у групп по 2 ядра общий кеш в 4 Мб,
память у каждого процессора - своя.

Теоретически, по тестам, получается, настройка NUMA даёт прирост в 25%, а настройка соответствия даёт прирост в 10%.
...
Рейтинг: 0 / 0
Как определить какие ядра процессора с общим кешем?
    #37281561
diary3
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Потестил бытовые процессоры - там из-за мизерности кеша нет никакой разницы, как ни настраивай.
...
Рейтинг: 0 / 0
Как определить какие ядра процессора с общим кешем?
    #37281651
MSSQL-Oracle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
diary3Потестил тут один сервер:
2 Xeon-а по 4 ядра (всего 8 ядер) HT отключен,
у групп по 2 ядра общий кеш в 4 Мб,
память у каждого процессора - своя.

Теоретически, по тестам, получается, настройка NUMA даёт прирост в 25%, а настройка соответствия даёт прирост в 10%.
Это в СУБД тестили на SQL-запросах или в синтетических тестах на память?
...
Рейтинг: 0 / 0
Как определить какие ядра процессора с общим кешем?
    #37282080
diary3
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сервер не мой, поэтому в синтетике.
...
Рейтинг: 0 / 0
Как определить какие ядра процессора с общим кешем?
    #37282160
ДжекНепотрошитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
diary3Сервер не мой, поэтому в синтетике.

Тогда эти результаты к СУБД никак не применимы
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Hardware [игнор отключен] [закрыт для гостей] / Как определить какие ядра процессора с общим кешем?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]