3

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

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

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

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

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

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

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

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

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

3 ответа3

4

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

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

Есть старая статья от Tom's Hardware, в которой сравниваются два старых чипа P4 с кешем L3 и без него для ряда рабочих нагрузок рендеринга / графики. Цифры, как и весь тест, являются мусором, но содержат хорошее объяснение архитектуры кэширования в целом и кэширования L3 в частности.

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

2

Люди, говорящие "увеличение кеша L3 всего на 20 МБ", просто не знают, о чем говорят. Разумное увеличение размера кеша для данной архитектуры может привести к ощутимому увеличению производительности даже при средней нагрузке. Это более верно, когда вы думаете об архитектуре с турбонаддувом, реализованной в процессорах 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-моделирование для литья алюминия под давлением, что в моем случае).

1

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .