Можно ли повлиять на то, как процессоры перечисляются под Linux?

32

У меня HP DL380 G7 с 2 несовпадающими процессорами. Один - четырехъядерный процессор с более быстрыми ядрами, а другой - 6-ядерный процессор с более медленными ядрами.

В этом окне я запускаю приложение, которое по причинам лицензирования будет использовать только CPU0-CPU3.

Для меня было бы желательно, чтобы более быстрые ядра четырехъядерного ЦП перечислили в CPU0-CPU3 в операционной системе, давая мне преимущество в производительности для а) использования более быстрых тактовых ядер и б) сохранения всех потоков на одном физическом ЦП. ,

Есть ли способ сделать это, либо в BIOS, либо в файле конфигурации или в параметре загрузки в Linux?

Конкретные модели процессора:

Процессор Intel (R) Xeon (R) E5649 с частотой 2,53 ГГц (шестнадцатеричное ядро)

Процессор Intel (R) Xeon (R) E5640 с частотой 2,67 ГГц (четырехъядерный)

Полос
источник
Пожалуйста, опубликуйте конкретные модели процессора от cat /proc/cpuinfo.
ewwhite
24
Проголосование, потому что я даже не знал, что возможны неравные процессоры, всегда чему-то новому, чтобы учиться ...
Кайл Брандт,
2
@kyle это возможно, но не поддерживается или не поддерживается HP.
ewwhite
1
@kasperd В HP-land, если вы загружаете два процессора разных степпингов, вы получаете CPU mismatch detectedошибку в POST. Это может произойти в поколении процессора; например, Intel 5606 и 5690 в одном корпусе.
ewwhite
3
Если кому-то интересно, что мы на самом деле здесь сделали, мы отправились в центр обработки данных и физически удалили четырехъядерный процессор с серверов
paulos

Ответы:

27

Wut?!?

Вы знаете, это безумие ? Это не поддерживается и, вероятно, не подходит для вашего оборудования. Вы должны использовать на своем сервере процессоры одинаковой спецификации.

Я полагаю, что вы просто выполняете свое приложение в группе или в щите (или через него taskset), который содержит только те ядра процессора, которые вы хотите использовать. Вы также можете закрепить доступ к памяти этого процессора с помощью numactl. Но на самом деле, почему бы вам не удалить полностью более медленный процессор или заплатить столько, сколько нужно, чтобы привести систему в соответствие с требованиями?

Возможно, очевидная вещь, если ваше приложение жестко запрограммировано на использование CPU0-CPU3, это физически поменять местами сокеты ... но на самом деле, просто запустите здесь один процессор.

Если вы имеете в виду аппаратное обеспечение ProLiant DL380 G7, ваш «более быстрый» процессор, скорее всего, представляет собой процессор Nehalem серии 5500, а более медленный шестигранный процессор - Westmere. Вы тестировали вообще? Какие конкретные процессоры установлены?

Редактировать:

Итак, это как минимум процессоры одного поколения / степпинга. Но это все еще плохая идея ... Разница в спецификации процессора не так уж велика (по сравнению с чем-то вроде Intel X5690 на частоте 3,47 ГГц).

ewwhite
источник
4
У всех одинаковая реакция! Я знаю, что в идеале процессоры должны быть такими же, но это то, что HP вернула нам в тот день. Это рука, с которой я столкнулся, поэтому я должен использовать ее до следующего обновления оборудования. Процессоры Xeon E5649 с частотой 2,53 ГГц (шестигранный процессор) и E5640 с частотой 2,67 ГГц (четырехъядерный процессор). Полностью удалить 6-ядерный процессор на самом деле является одним из вариантов на столе. Было бы лучше иметь возможность полностью отключить сокет в BIOS, но это не представляется возможным.
Паулос
@paulos Что это за приложение?
14:00
Это фактически работает как межсетевой экран контрольно-пропускного пункта
paulos
3
@paulos Тогда почему значение 2,67 ГГц против 2,53 ГГц имеет значение? Просто вставьте 6-ядерный процессор в сервер и удалите 4-ядерный.
Ewwhite
Re: процессор спецификации, да, я думаю, что это только на 5% быстрее или что-то в этом роде. Я ожидаю, что прирост производительности будет связан с наличием всех рабочих потоков и, в частности, с потоком irq от сетевых карт, находящихся на одном физическом процессоре. редактировать: да, использование только 6-ядерного процессора также возможно.
Паулос