Загрузка только одного ядра CPU процессом srcds_linux???

Обсуждаем все, что относится к выделенным серверам *NIX (Unix, Linux) и Windows
Сообщение
Автор
Аватара пользователя
cuttep
Капитан
Капитан
Сообщения: 446
Зарегистрирован: 26.06.2010
Откуда: http://www.evoplay.ru
Поблагодарили: 1 раз
Контактная информация:

#31 Сообщение 09.03.2011, 18:36

igoRRRek писал(а):
kadet89 писал(а):Впринципе решения нет.
Я готов заплатить, чтобы лаг не было.
Покупайте многопроцессорный сервер.
Там процесс srcds будет рапределяется между разными ядрами разных процессоров.
По крайней мере под линуксом.
есче один умник :lol:

Аватара пользователя
igoRRRek
Нович0к
Нович0к
Сообщения: 20
Зарегистрирован: 19.11.2009

#32 Сообщение 10.03.2011, 12:44

cuttep писал(а):
igoRRRek писал(а):
kadet89 писал(а):Впринципе решения нет.
Я готов заплатить, чтобы лаг не было.
Покупайте многопроцессорный сервер.
Там процесс srcds будет рапределяется между разными ядрами разных процессоров.
По крайней мере под линуксом.
есче один умник :lol:
Сервак Dual S1366 HP ML330G6 (один Xeon 2ГГц + 2Мб памяти + два винта по 160Гб) стоит порядка 40т.р.
Добавляем ещё один проц за 10т.р. - получаем неплохой двухпроцессорный сервер.
Правда форм-фактор у него 5U, но если он стоит дома а не в датацентре то страшного в этом ничего нет.

Человек чуть выше писал, что готов только проц за 60т.р. купить лишь бы повысить производительность сервера, а я предложил менее дорогое решение.
Если оно вас повеселило - я несказанно рад.

Добавлено спустя 2 часа 46 минут 13 секунд:
посыпаю голову пеплом - после очередной проверки оказалось что процесс таки не распараллеливается между процами а просто работает то на одном проце то на другом

приношу извинения за дезу :dash:
Последний раз редактировалось igoRRRek 10.03.2011, 09:59, всего редактировалось 2 раза.

kadet89
Майор
Майор
Сообщения: 557
Зарегистрирован: 26.12.2006

#33 Сообщение 11.03.2011, 19:05

60 т.р. я конешно тратить не готов. Я всё сказал к тому, что не важно есть ли CUDA у одного человека в мире или же она уже абсолютно у всех пользователей пк, еслиб вальва применила её, у людей было бы одно решение проблемы производительности. И в данном случае не имеет значения какое, просто оно было бы. Сейчас решения нет вообще впринципе.

Аватара пользователя
NiGHt-LEshiY
Полковник
Полковник
Сообщения: 10258
Зарегистрирован: 13.06.2008
Откуда: Россия
Благодарил (а): 752 раза
Поблагодарили: 2667 раз
Контактная информация:

#34 Сообщение 11.03.2011, 19:29

Куда работает не так, как вы этого хотите. То, что делает сервер, на видюхе считать смысла нет.
Кодекс поведения участников сообщества — обязательно к прочтению.
Просьба присылать сообщения об ошибках в ЛС.

kadet89
Майор
Майор
Сообщения: 557
Зарегистрирован: 26.12.2006

#35 Сообщение 11.03.2011, 21:47

Ещё как есть

Аватара пользователя
NiGHt-LEshiY
Полковник
Полковник
Сообщения: 10258
Зарегистрирован: 13.06.2008
Откуда: Россия
Благодарил (а): 752 раза
Поблагодарили: 2667 раз
Контактная информация:

#36 Сообщение 11.03.2011, 21:52

Жду подробностей.
Кодекс поведения участников сообщества — обязательно к прочтению.
Просьба присылать сообщения об ошибках в ЛС.

kadet89
Майор
Майор
Сообщения: 557
Зарегистрирован: 26.12.2006

#37 Сообщение 14.03.2011, 02:12

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, но он скорее по тематике "для новичков", на нём вряд ли помогут, но пару рабочих примеров найти сможешь.
Думаю этого достаточно.
CUDA – это архитектура параллельных вычислений от NVIDIA, позволяющая существенно увеличить вычислительную производительность благодаря использованию GPU (графических процессоров).

На сегодняшний день продажи CUDA процессоров достигли 128 миллионов. Тысячи разработчиков программного обеспечения, ученых и исследователей широко используют CUDA в различных областях, включая обработку видео, астрофизику, вычислительную биологию и химию, моделирование динамики жидкостей, электромагнитных взаимодействий, восстановление изображений, полученных путем компьютерной томографии, сейсмический анализ, трассировку луча и многое другое.
Сервер делает много операций, но подавляющую нагрузку создает именно рассчет физики (коллизий между объектами) Именно рассчёт физики можно ускорить используя CUDA... да впринципе не только.

Аватара пользователя
NiGHt-LEshiY
Полковник
Полковник
Сообщения: 10258
Зарегистрирован: 13.06.2008
Откуда: Россия
Благодарил (а): 752 раза
Поблагодарили: 2667 раз
Контактная информация:

#38 Сообщение 14.03.2011, 07:26

Не думаю, что мне стоит читать маны по этой теме, особенно в википедии.
Что предлагается ускорить кудой? Физические рассчеты? Не жди сильного прироста (более 5 раз).
(сейчас вопрос по матчасти, которую я не знаю: разве сервер считает коллизии объектов?)
Кодекс поведения участников сообщества — обязательно к прочтению.
Просьба присылать сообщения об ошибках в ЛС.

kadet89
Майор
Майор
Сообщения: 557
Зарегистрирован: 26.12.2006

#39 Сообщение 15.03.2011, 21:47

(сейчас вопрос по матчасти, которую я не знаю: разве сервер считает коллизии объектов?)
Само собой. Сеть нестабильна, особенно когда соединения устанавливаются по UDP. Сервер должен иметь у себя полную картину всех взаимодействий, чтобы синхронизировать игроков.

Зайдите на любой сервер более 50 игроков и мапой с большим количеством физических объектов.
Далее введите net_graph 3
Там будет выводиться рассчёт чего больше всего нагружает процессор (игрока само собой, но если знать что из всего этого рассчитывает сервер, можно понять что негружает его проц)
Несложными тестами я вычислил что сервак на своей стороне занимается только обработкой физики (ну и сетью и ещё несколькими незначительными мелочами)
У меня много больших сервов, поэтому удалось без проблем провести несколько тестов.
В общем самый простой тест - берем сервер с тиком 33, берем движущийся поезд и по одному сажаем на него игроков, которые впридачу бегают и сталкиваются друг с другом.
Чем больше игроков на поезде, тем выше нагрузка от энтьют, и в какой-то момент фпс сервера начинает снижаться с 33 до 1-2, если погрузить всех 64 игроков.
Также можно увеличить нагрузку, если сделать цепь связанных между собой физических объектов. К примеру положим 40 ящиков один на другой и по бокам подопрём их, чтобы наша башня не развалилась. Если посадить сверху игрока, который быдет как-то шевелиться - серваку придётся рассчитывать взаимодействие между данными 40 ящиками - соответственно фпс сервера тоже просядет.
Тест третий - ставим на серваке модель с физбоксом, а у игрока без физбокса. При попытке запрыгнуть на данный объект у игрока это получится. Хотя физика и рассчитывается на стороне клиента также, приоритетное решение остаётся за рассчетами сервера.
Т.о. я могу смело сказать, ничем кроме рассчета физики сервер не занимается. С помощью CUDA, как Вы уже сказали, можно ускорить рассчет в 4-6 раз. Чтобы без лаг запустить сервак на 64 слота, примерно нужно ускорение какраз в 4 раза, чего на мой взгляд в данном случае можно достичь и без всяких cuda, банальной оптимизацией. Всётаки движок просто ужасен...

P.S. тему можно закрыть, пустой треп

Аватара пользователя
leha---83
Капитан
Капитан
Сообщения: 275
Зарегистрирован: 24.11.2008
Откуда: Perm (Chernushka)
Контактная информация:

#40 Сообщение 25.03.2011, 22:14

Для сравнения серваков cod4 и css, cod ровно в 3 раза меньше потребляет мощности проца чем css, но больше наваливает на память + в игре редко когда лаги бывают.
Вывод конечно же движок не очень, мягко сказать :) .
Изображение

Аватара пользователя
leha---83
Капитан
Капитан
Сообщения: 275
Зарегистрирован: 24.11.2008
Откуда: Perm (Chernushka)
Контактная информация:

#41 Сообщение 26.03.2011, 09:26

taskset -c 0,1 screen -A -m -d -S pro ./srcds_run -console -game cstrike
Изображение
Изображение

Mouzes
Сержант
Сержант
Сообщения: 56
Зарегистрирован: 13.01.2009

#42 Сообщение 26.03.2011, 11:46

Так получается что один проц в 8 ядрами на сервере, что два ксеона каждый по 4 ядра, те же яйца но вид сбоку?

Или всё же есть некое преимущество первой машины перед второй?

Аватара пользователя
xiloid
Капитан
Капитан
Сообщения: 341
Зарегистрирован: 30.10.2008
Поблагодарили: 3 раза

#43 Сообщение 26.03.2011, 12:32

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 значит что КСС уже по-умолчанию использует оба ядра и просто переключается между ними из-за невозможности себя распоточить.
Mouzes писал(а):Так получается что один проц в 8 ядрами на сервере, что два ксеона каждый по 4 ядра, те же яйца но вид сбоку? Или всё же есть некое преимущество первой машины перед второй?
8 ядер, это на самом деле 4 ядра с технологией HyperThreading, т.е. 4 ядра - 8 обрабатываемых потоков, системой такие процессоры определяются как 8ми ядерные, Intel i3, i5, i7, Xeon E5520, E5530, E5540 юзают такую технологию. Два по 4 будут быстрее, т.к. это два физически разделенных процессора, нежели один, но многопоточный. Двухпроцессорная материнская плата (серверная) стоит на порядок дороже плат домашнего пользования.

Аватара пользователя
cuttep
Капитан
Капитан
Сообщения: 446
Зарегистрирован: 26.06.2010
Откуда: http://www.evoplay.ru
Поблагодарили: 1 раз
Контактная информация:

#44 Сообщение 26.03.2011, 14:43

каждый серв на своем ядре

Изображение
Изображение

kadet89
Майор
Майор
Сообщения: 557
Зарегистрирован: 26.12.2006

#45 Сообщение 26.03.2011, 15:26

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

Ответить