есче один умникigoRRRek писал(а):Покупайте многопроцессорный сервер.kadet89 писал(а):Впринципе решения нет.
Я готов заплатить, чтобы лаг не было.
Там процесс srcds будет рапределяется между разными ядрами разных процессоров.
По крайней мере под линуксом.
Загрузка только одного ядра CPU процессом srcds_linux???
- cuttep
- Капитан
- Сообщения: 446
- Зарегистрирован: 26.06.2010
- Откуда: http://www.evoplay.ru
- Поблагодарили: 1 раз
- Контактная информация:
Сервак Dual S1366 HP ML330G6 (один Xeon 2ГГц + 2Мб памяти + два винта по 160Гб) стоит порядка 40т.р.cuttep писал(а):есче один умникigoRRRek писал(а):Покупайте многопроцессорный сервер.kadet89 писал(а):Впринципе решения нет.
Я готов заплатить, чтобы лаг не было.
Там процесс srcds будет рапределяется между разными ядрами разных процессоров.
По крайней мере под линуксом.
Добавляем ещё один проц за 10т.р. - получаем неплохой двухпроцессорный сервер.
Правда форм-фактор у него 5U, но если он стоит дома а не в датацентре то страшного в этом ничего нет.
Человек чуть выше писал, что готов только проц за 60т.р. купить лишь бы повысить производительность сервера, а я предложил менее дорогое решение.
Если оно вас повеселило - я несказанно рад.
Добавлено спустя 2 часа 46 минут 13 секунд:
посыпаю голову пеплом - после очередной проверки оказалось что процесс таки не распараллеливается между процами а просто работает то на одном проце то на другом
приношу извинения за дезу
Последний раз редактировалось igoRRRek 10.03.2011, 09:59, всего редактировалось 2 раза.
60 т.р. я конешно тратить не готов. Я всё сказал к тому, что не важно есть ли CUDA у одного человека в мире или же она уже абсолютно у всех пользователей пк, еслиб вальва применила её, у людей было бы одно решение проблемы производительности. И в данном случае не имеет значения какое, просто оно было бы. Сейчас решения нет вообще впринципе.
- NiGHt-LEshiY
- Полковник
- Сообщения: 10258
- Зарегистрирован: 13.06.2008
- Откуда: Россия
- Благодарил (а): 752 раза
- Поблагодарили: 2667 раз
- Контактная информация:
Куда работает не так, как вы этого хотите. То, что делает сервер, на видюхе считать смысла нет.
Кодекс поведения участников сообщества — обязательно к прочтению.
Просьба присылать сообщения об ошибках в ЛС.
Просьба присылать сообщения об ошибках в ЛС.
- NiGHt-LEshiY
- Полковник
- Сообщения: 10258
- Зарегистрирован: 13.06.2008
- Откуда: Россия
- Благодарил (а): 752 раза
- Поблагодарили: 2667 раз
- Контактная информация:
Жду подробностей.
Кодекс поведения участников сообщества — обязательно к прочтению.
Просьба присылать сообщения об ошибках в ЛС.
Просьба присылать сообщения об ошибках в ЛС.
NiGHt-LEshiY не уж то собрался переписывать?
Читай маны:
http://ru.wikipedia.org/wiki/CUDA
http://forums.nvidia.com/index.php?showforum=62
http://developer.nvidia_com/object/cuda_3_2_downloads.html
http://www.nvidia.co_uk/object/cuda_home_new_uk.html
ну и другие, это далеко не всё. Всё найдешь через великий гугл.
Читай gamedev_ru... и задавай вопросы там же. Это специализированный по разработке игр форум.
Ещё могу посоветовать cyberforum_ru, но он скорее по тематике "для новичков", на нём вряд ли помогут, но пару рабочих примеров найти сможешь.
Думаю этого достаточно.
Читай маны:
http://ru.wikipedia.org/wiki/CUDA
http://forums.nvidia.com/index.php?showforum=62
http://developer.nvidia_com/object/cuda_3_2_downloads.html
http://www.nvidia.co_uk/object/cuda_home_new_uk.html
ну и другие, это далеко не всё. Всё найдешь через великий гугл.
Читай gamedev_ru... и задавай вопросы там же. Это специализированный по разработке игр форум.
Ещё могу посоветовать cyberforum_ru, но он скорее по тематике "для новичков", на нём вряд ли помогут, но пару рабочих примеров найти сможешь.
Думаю этого достаточно.
Сервер делает много операций, но подавляющую нагрузку создает именно рассчет физики (коллизий между объектами) Именно рассчёт физики можно ускорить используя CUDA... да впринципе не только.CUDA – это архитектура параллельных вычислений от NVIDIA, позволяющая существенно увеличить вычислительную производительность благодаря использованию GPU (графических процессоров).
На сегодняшний день продажи CUDA процессоров достигли 128 миллионов. Тысячи разработчиков программного обеспечения, ученых и исследователей широко используют CUDA в различных областях, включая обработку видео, астрофизику, вычислительную биологию и химию, моделирование динамики жидкостей, электромагнитных взаимодействий, восстановление изображений, полученных путем компьютерной томографии, сейсмический анализ, трассировку луча и многое другое.
- NiGHt-LEshiY
- Полковник
- Сообщения: 10258
- Зарегистрирован: 13.06.2008
- Откуда: Россия
- Благодарил (а): 752 раза
- Поблагодарили: 2667 раз
- Контактная информация:
Не думаю, что мне стоит читать маны по этой теме, особенно в википедии.
Что предлагается ускорить кудой? Физические рассчеты? Не жди сильного прироста (более 5 раз).
(сейчас вопрос по матчасти, которую я не знаю: разве сервер считает коллизии объектов?)
Что предлагается ускорить кудой? Физические рассчеты? Не жди сильного прироста (более 5 раз).
(сейчас вопрос по матчасти, которую я не знаю: разве сервер считает коллизии объектов?)
Кодекс поведения участников сообщества — обязательно к прочтению.
Просьба присылать сообщения об ошибках в ЛС.
Просьба присылать сообщения об ошибках в ЛС.
Само собой. Сеть нестабильна, особенно когда соединения устанавливаются по UDP. Сервер должен иметь у себя полную картину всех взаимодействий, чтобы синхронизировать игроков.(сейчас вопрос по матчасти, которую я не знаю: разве сервер считает коллизии объектов?)
Зайдите на любой сервер более 50 игроков и мапой с большим количеством физических объектов.
Далее введите net_graph 3
Там будет выводиться рассчёт чего больше всего нагружает процессор (игрока само собой, но если знать что из всего этого рассчитывает сервер, можно понять что негружает его проц)
Несложными тестами я вычислил что сервак на своей стороне занимается только обработкой физики (ну и сетью и ещё несколькими незначительными мелочами)
У меня много больших сервов, поэтому удалось без проблем провести несколько тестов.
В общем самый простой тест - берем сервер с тиком 33, берем движущийся поезд и по одному сажаем на него игроков, которые впридачу бегают и сталкиваются друг с другом.
Чем больше игроков на поезде, тем выше нагрузка от энтьют, и в какой-то момент фпс сервера начинает снижаться с 33 до 1-2, если погрузить всех 64 игроков.
Также можно увеличить нагрузку, если сделать цепь связанных между собой физических объектов. К примеру положим 40 ящиков один на другой и по бокам подопрём их, чтобы наша башня не развалилась. Если посадить сверху игрока, который быдет как-то шевелиться - серваку придётся рассчитывать взаимодействие между данными 40 ящиками - соответственно фпс сервера тоже просядет.
Тест третий - ставим на серваке модель с физбоксом, а у игрока без физбокса. При попытке запрыгнуть на данный объект у игрока это получится. Хотя физика и рассчитывается на стороне клиента также, приоритетное решение остаётся за рассчетами сервера.
Т.о. я могу смело сказать, ничем кроме рассчета физики сервер не занимается. С помощью CUDA, как Вы уже сказали, можно ускорить рассчет в 4-6 раз. Чтобы без лаг запустить сервак на 64 слота, примерно нужно ускорение какраз в 4 раза, чего на мой взгляд в данном случае можно достичь и без всяких cuda, банальной оптимизацией. Всётаки движок просто ужасен...
P.S. тему можно закрыть, пустой треп
Так получается что один проц в 8 ядрами на сервере, что два ксеона каждый по 4 ядра, те же яйца но вид сбоку?
Или всё же есть некое преимущество первой машины перед второй?
Или всё же есть некое преимущество первой машины перед второй?
Леха я тоже так умею, смотри:leha---83 писал(а):taskset -c 0,1 screen -A -m -d -S pro ./srcds_run -console -game cstrike
вышеуказанный скрин был заснят во время переключения процесса КСС на другое ядро, на деле все равно вот так:
Никакого распоточивания процесса нет.
taskset - это утилита жесткой привязки процесса к одному из ядер или к нескольким, НО, если приложение не обладает функциями использования многопоточности процессора, то оно будет просто переключаться между ядрами.
Леха, проведи эксперимент, сотри из строки запуска "taskset -c 0,1" и запусти КСС как обычно, после чего забей в строку Линя команду taskset -p XXXX , где ХХХХ - номер процесса КСС, наверняка консоля тебе ответит "pid ХХХХ's current affinity mask: 3", т.е. маска 3 значит что КСС уже по-умолчанию использует оба ядра и просто переключается между ними из-за невозможности себя распоточить.
8 ядер, это на самом деле 4 ядра с технологией HyperThreading, т.е. 4 ядра - 8 обрабатываемых потоков, системой такие процессоры определяются как 8ми ядерные, Intel i3, i5, i7, Xeon E5520, E5530, E5540 юзают такую технологию. Два по 4 будут быстрее, т.к. это два физически разделенных процессора, нежели один, но многопоточный. Двухпроцессорная материнская плата (серверная) стоит на порядок дороже плат домашнего пользования.Mouzes писал(а):Так получается что один проц в 8 ядрами на сервере, что два ксеона каждый по 4 ядра, те же яйца но вид сбоку? Или всё же есть некое преимущество первой машины перед второй?
- cuttep
- Капитан
- Сообщения: 446
- Зарегистрирован: 26.06.2010
- Откуда: http://www.evoplay.ru
- Поблагодарили: 1 раз
- Контактная информация:
Неправда, движок совершенно ужасный. Причём совершенно по всем аспектам, и по скорости обработки физики и по скорости обработки графики и по шейдерам и по спецэффектам и по стабильности и по качеству вообще. Сейчас хуже движка вы не найдете.leha---83 писал(а):...Вывод конечно же движок не очень, мягко сказать :) .