Назад | Перейти на главную страницу

Что дает лучшую производительность: одиночный процесс - 16 ядер или двойной процесс - по 8 ядер?

Что дает лучшую производительность: одиночный процесс - 16 ядер или двойной процесс - по 8 ядер?

Мы рассматриваем возможность перехода на одиночный сервер из-за увеличения стоимости лицензии.

Изменить: мы планируем использовать VMWare vsan, это стоит за процесс. Мы планируем запускать несколько виртуальных машин на этом сервере. На всех этих серверах работают в основном веб-сайты с открытым исходным кодом и используются такие приложения, как Apache, mySql и Ngnix.

В виртуализированной установке вы запускаете несколько виртуальных машин, поэтому обычно вы получаете больше активных рабочих потоков, чем ядер ЦП. Короче говоря: больше ядер лучше, чем несколько ядер и более высокая тактовая частота каждого.

Зависит от приложения.

Вы не описали свое приложение, поэтому воспринимайте мои советы как общие для большинства (но не для всех) ситуаций.

Я использую предположение, что вы хотите выбрать между двумя типами ЦП. 8C на более высокой базовой частоте, 16C на более низкой. Если 16C имеет более высокую или равную базовую частоту, 16C будет лучше в большинстве ситуаций.

Сценарий А - Приложение использует все 16 ядер и разделяет память

В этом случае 16 ядер будет лучше, потому что он создает только один узел NUMA, и доступ к памяти будет одинаково быстрым для всех процессов, как всегда локальным.

Сценарий B - Приложение использует все 16 ядер, однако его можно разделить для работы в конфигурации 8 + 8 ядер с половиной памяти для каждого процессора.

В данном случае лучше вариант 2x8C (работающий, вероятно, на более высокой базовой тактовой частоте). Есть 2 узла NUMA. Таким образом, каждый 8C должен обращаться только к локальной половине памяти (той, которая электрически подключена к сокету) без штрафов.

Сценарий C - приложение способно работать во многих независимых потоках, в основном в кеше, и случайный доступ к ОЗУ не является проблемой.

В данном случае лучше вариант 2x8C (работающий, вероятно, на более высокой базовой тактовой частоте). Случайный доступ к памяти не сильно ограничивает.

Может быть больше ситуаций, например, когда у вас есть однопоточные приложения и т. Д.