Влияние кэша L3 на производительность — стоит ли покупать двухпроцессорную систему?

Влияние кэша L3 на производительность — стоит ли покупать двухпроцессорную систему?

Я собираюсь приобрести новую высокопроизводительную систему и хотел бы лучше понять, может ли двухпроцессорная система Xeon (я рассматриваю новый высокопроизводительный Xeon E5-2687W) обеспечить реальное заметное улучшение производительности за счет удвоения кэша L3 (20 МБ на процессор).

(Это в дополнение к случайному дополнительному преимуществу за счет удвоения количества ядер и оперативной памяти.)

Мой сценарий использования, грубо говоря, таков: у меня в любой момент времени запущено много фоновых приложений — 3 или 4 приложения сжатия/резервного копирования данных, веб-сервер с низким уровнем воздействия, одна или две виртуальные машины в любой момент времени (обычно довольно бездействующие) и, возможно, 20 служебных программ, которые используют заметную (но небольшую) часть ядер ЦП. В общей сложности, когда я не использую компьютер активно, в моей текущей системе i7-970 с 6 ядрами (12 потоков) используется около 25% общей мощности ЦП.

Когда я выполняю рутинную работу, загрузка ЦП часто превышает 50%, а иногда достигает 75–80%.

Xeon E5-2687W — это не только i7 второго поколения (поэтому производительность должна быть выше), но и 8 ядер (16 потоков), а не 6. По этой причине я ожидаю, что буду сталкиваться с 75% CPU еще реже. Тем не менее, возможность удвоить ядра и RAM стоит рассмотреть.

Однако, в конечном итоге, я считаю, что это решение сводится к тому, обеспечит ли удвоение кэша L3 заметное улучшение. Существует множество тестов и обсуждений относительно мощности ЦП. Однако я нахожу очень мало обсуждений использования кэша L3 и того, как увеличение кэша L3 (например, удвоение с двумя процессорами) влияет на производительность.

Например: Если есть толькодвазапущенных процессов, но каждый из них использует большой кэш L3 (например, в случае фоновых процессов, которые часто сканируют файловую систему), возможно, общая производительность системы может заметно повыситься при использовании двух ЦП — даже если на каждом ЦП активно только одно ядро ​​— поскольку каждый процесс имеет вдвое больший эффективный кэш L3.

Я надеюсь, что кто-то понимает преимущества увеличения (или удвоения) размера кэша L3.

Примечание: рассматриваемый мной процессор (Xeon E5-2687W) имеет кэш L3 объемом 20 МБ, поэтому система с двумя процессорами будет иметь кэш L3 объемом 40 МБ.

решение1

Как всегда с вопросами о кэшировании, ответ будет: "это полностью зависит от вашей рабочей нагрузки". Кэш имеет смысл только в том случае, если ваши запущенные процессы тратят значительное количество времени на доступ к памяти.идемонстрируют заметную локальность ссылок для адресации памяти (и не удовлетворены меньшим объемом кэшей L1/L2, имеющимся на ядро).

Большое количество процессов, запущенных в разных потоках, увеличивает вероятность перегрузки общего кэша и, таким образом, снижает прирост производительности, который, возможно, был бы достигнут в противном случае. Это также причина увеличения размера кэша с увеличением числа ядер — чем больше конкурирующих за память потоков у вас запущено, тем больше должен быть ваш общий кэш, чтобы он был хоть как-то полезен.

Есть старая статья изАппаратные средства ТомаСравнение двух старых чипов P4 с кэшем L3 и без него для ряда рендеринговых/графических рабочих нагрузок. Цифры — мусор, как и весь бенчмарк, но он содержит хорошее объяснение архитектуры кэширования в целом и кэширования L3 в частности.

Итог: вы, скорее всего, не заметите разницы, но если вам нужны точные цифры, вам придется приобрести оба процессора и запустить рабочую нагрузку на них обоих, чтобы сравнить время работы.

решение2

Люди, говорящие "всего лишь 20 МБ увеличения кэша L3", просто не знают, о чем говорят. Разумное увеличение размера кэша для данной архитектуры, скорее всего, вызовет разумный прирост производительности, даже при средней нагрузке. Это тем более верно, когда вы думаете об архитектуре турбонаддува, реализованной в процессорах Sandy Bridge и Ivy Bridge.

У меня была возможность лично поэкспериментировать с этим на нескольких различных этапах архитектуры x86/x86_64: Sempron против Athlon, Celeron против Pentium 4, Pentium4 против Athlon, Pentium4-m против Pentium-m, Pentium 4 против Xeon, i7 против Xeon E5. Всякий раз, когда кэш больше (обычно вдвое или почти вдвое).

Будет ли цена удвоения кэша доступной, решать вам. Но Xeon лучше с точки зрения стабильности, поскольку они поддерживают память ECC и подобные технологии, которые, очевидно, необходимы в некоторых приложениях (например, 3D-моделирование для литья алюминия под давлением, как в моем случае).

решение3

Из вашего описания того, что вы делаете и как ваша текущая система справляется с этим, я могу только гадать, почему вы хотите заменить его. В лучшем случае кэш L3 даст незначительный прирост, но за большие деньги, но в описанном вами варианте использования вы не можете ожидать увидеть какую-либо разницу в результате всего лишь 20 МБ увеличения кэша L3.

Связанный контент