@3Dcache

L3 кеш как сильно бустит производительность игровому серверу?

По какому алгоритму игровой сервер использует кеш процессора?
Кеш придумали для геймеров или для серверов тоже?
Как хорошо будет жить сервер с основной нагрузкой на одно ядро без кеша L3?
Если в процессор дать кеша 2gb L3 то его IPC вырастет?
  • Вопрос задан
  • 323 просмотра
Пригласить эксперта
Ответы на вопрос 3
По какому алгоритму игровой сервер использует кеш процессора?

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

Кеш придумали для геймеров или для серверов тоже?

Для всех. Если обратишь внимание - у серверных процессоров кеша на порядок больше, чем у домашних.
Иначе бы у кого-то кеша не было бы вообще.

Кэш процессора - это такая штука между регистрами процессора и ОЗУ.
Тк игровой сервер часто работает с большими последовательностями данных в памяти - они вполне успешно могут попасть в кэш и таким образом уменьшить количество обращений к ОЗУ => снизив задержки.

Если в процессор дать кеша 2gb L3 то его IPC вырастет?

1. Невозможно "дать кеша". Сколько с завода его есть - столько и будет. Ни больше, ни меньше.
2. IPC - inter process communication. Как он может вырасти то? Либо уточни, что ты имеешь в виду.
3. Если у тебя в процессоре нет L3 кэша - это явно что-то очень древнее, бюджетное, и слабое => врядли что-то серьёзное ты на нём запустишь.

PS: Java тут явно лишняя в тегах.
Ответ написан
mayton2019
@mayton2019
Bigdata Engineer
L3 кеш как сильно бустит производительность игровому серверу?

Да сильно. Вот формулы я не знаю. Да и никто не знает. Это как в симуляции.
Чтоб узнать сколько - ты просто берешь две конфигурации. Запускаешь бенчмарк
и смотришь как было ДО и как стало ПОСЛЕ. И ничего лучше пока не придумали.
Компьютерное железо - это практическая наука. И здесь эксперимент - важнее теории.

По какому алгоритму игровой сервер использует кеш процессора?

Насчет алгоритма я не знаю. Возможно разновидность LRU. Я помню смотрел одно
видео где один С++ ный маг и колдун (кажется Ulrih Drepper) рассказывал об алгоритмах
кешей в железе.

Алгоритм оперирует обычно кусочками памяти в блоках по 64 байта. Кеш-линии.
И если тебе надо прочитать 1 байтик то будет прочитан кусок кратный кеш-линии.
Зато при последующих попытках читать второй и третий байтики алгоритм будет
оперировать с пирамидой кешов. Обычно L1 - самый быстрый и другие медлненее.
Хорошо прогретые кеши обычно содержат 100% нужную информаицю для текущего
ядра процессора. Или для thread.

Кеш придумали для геймеров или для серверов тоже?

Нет. Его создавали просто для эффективного использования железа еще в 20м веке.
Мы его увидели начиная кажется с первых Pentium-ов.

Да. Разумеется игры этим пользуются. А программист game-разработки должен думать
об устройстве кешей. Например планировать размер структур данных чтоб они были кратны
кеш-линиям.

Как хорошо будет жить сервер с основной нагрузкой на одно ядро без кеша L3?

Я не очень себе представляю подобную конфигурацию. Расскажи как ты этого достигнешь.

Если в процессор дать кеша 2gb L3 то его IPC вырастет?

Ну это ты загнул. Обычно кеши L3 стоят внутри процессора и их размер в десятки мегабайт.
Цена их тоже пропорционально дороже. Поэтому здесь нет таких безкомпромиссных
решений типа сделать кеш на сто гигов. Вот и делают такую эконом-пирамиду. Опираясь
на такое предположение что вся память в один момент тебе все равно не нужна.
Ответ написан
saboteur_kiev
@saboteur_kiev
software engineer
По какому алгоритму игровой сервер использует кеш процессора?

Ни по какому. Кеш процессора это внутренние потроха процессора, программно им не управляют. Могут разве что писать софт с учетом размера кешей. И тут нельзя говорить "игровой сервер". Никто не знает какой алгоритм в каком сервере.

Кеш придумали для геймеров или для серверов тоже?

Геймеры тут вообще при чем? Чем геймер отличается от сервера ты догадываешься?

Как хорошо будет жить сервер с основной нагрузкой на одно ядро без кеша L3?

Смотря какой сервер.

Если в процессор дать кеша 2gb L3 то его IPC вырастет?

Смотря как дать.

Судя по тому, как ты используешь терминологию, ты понятия не имеешь что такое кеш процессора и как процессор в принципе работает.
Тут нет простой формулы или простого коэффициента. Нет смысла задавать подобные вопросы, потому что нюансы тебе ничего не дадут без хорошего понимания фундаментальных архитектурных вещей.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы