Перейти к содержимому

Донат
На хостинг
ISK за переводы
до 75kk за 1000зн.
Хроники EVE
Сборник
Новичкам
Полезная информация
Фотография

Gridlock, моникеры и CPU-per-user


  • Авторизуйтесь для ответа в теме
40 ответов в теме

#21
DIMFIRE

DIMFIRE

    Кавайчег

  • Tech III Pilots
  • PipPipPipPipPipPipPipPipPipPip
  • 28676 сообщений
2236
  • EVE Ingame:DIMFIRE Dimiana DlMFlRE
  • Client:Eng

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

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

1. ложь. Я не говорил ничего подобного-был прямой вопрос "когда ццп в последний раз грейдило кластер", на который мне ответили.
2. ложь и передергивание сказанного. Давались другие сроки и говорилось про мощность систем как таковых а не про конкретный процессор
3. передергивание и подмена понятий. Нас не интересует и никогда не интересовал "любой код", нас интересовала ева-ибо процессы в еве могут быть распараллелены процентов на 85-90

А в целом возникает вопрос-вранье и подмена понятий это ваша стандартная методика дискуссий или вы сделали исключение специально для меня?
  • -3

#22
DarkPhoenix

DarkPhoenix

    Hatred

  • Tech III Pilots
  • PipPipPipPipPipPipPipPipPipPip
  • 28703 сообщений
4393

1. ложь. Я не говорил ничего подобного-был прямой вопрос "когда ццп в последний раз грейдило кластер", на который мне ответили.

Формально - вопрос, а выглядит - как вайн из-за выделенного фрагмента.

Напомните мне пожалуйста, когда ццп последний раз обновляло железо? Год назад? Два?

Почему? ;)

В данный моент удвоение мощьностей происзходит каждые 8-10 месяцев.

2. ложь и передергивание сказанного. Давались другие сроки и говорилось про мощность систем как таковых а не про конкретный процессор

Систем? Каких систем? Можно конкретными примерами, а то я немного не понимаю? Если ты имеешь ввиду "процессор стал быстрее на 10%, диск на 15%, оперативка на 2%, ..., вентилятор быстрее на 20% - итого перемножаем/складываем, в 2 раза!

3. передергивание и подмена понятий. Нас не интересует и никогда не интересовал "любой код", нас интересовала ева-ибо процессы в еве могут быть распараллелены процентов на 85-90

Можно поинтересоваться, откуда такие выводы?
  • 0

There is a place where the black stars hang
and the strangest eons call that amorphous mass
unknown, immense, ambivalent to all


#23
DIMFIRE

DIMFIRE

    Кавайчег

  • Tech III Pilots
  • PipPipPipPipPipPipPipPipPipPip
  • 28676 сообщений
2236
  • EVE Ingame:DIMFIRE Dimiana DlMFlRE
  • Client:Eng
:facepalm: :facepalm: :facepalm:
Вы предлагаете обьяснить вам что такое производительность? Или же вас интересует что такое многопроцессорные вычисления? исходя из вами сказанного мне придется начинать оба вопроса с нуля-чего я делать не планирую.

Сообщение отредактировал DIMFIRE: 17 June 2011 - 11:42

  • -3

#24
DarkPhoenix

DarkPhoenix

    Hatred

  • Tech III Pilots
  • PipPipPipPipPipPipPipPipPipPip
  • 28703 сообщений
4393

:facepalm: :facepalm: :facepalm:
Вы предлагаете обьяснить вам что такое производительность? Или же вас интересует что такое многопроцессорные вычисления?

Да. Объясни, пожалуйста.
  • 0

There is a place where the black stars hang
and the strangest eons call that amorphous mass
unknown, immense, ambivalent to all


#25
DIMFIRE

DIMFIRE

    Кавайчег

  • Tech III Pilots
  • PipPipPipPipPipPipPipPipPipPip
  • 28676 сообщений
2236
  • EVE Ingame:DIMFIRE Dimiana DlMFlRE
  • Client:Eng

Да. Объясни, пожалуйста.

:facepalm:
Я даже не знаю смеяться мне или плакать
:facepalm:
  • -4

#26
CHoh

CHoh

    EVE Offline

  • Tech III Pilots
  • PipPipPipPipPipPipPipPipPip
  • 14116 сообщений
2327

:facepalm:

Не стоит брать пример с некоего ошимы, который любитель яростно засирать топики этим смайлом в ответ на обоснованную просьбу развернуть тезис.

Подробный, хорошо аргументированный ответ ещё никому не вредил. Разве что рабочий (ну или учебный) процесс страдает..

Сообщение отредактировал CHoh: 17 June 2011 - 14:25

  • 1

#27
DIMFIRE

DIMFIRE

    Кавайчег

  • Tech III Pilots
  • PipPipPipPipPipPipPipPipPipPip
  • 28676 сообщений
2236
  • EVE Ingame:DIMFIRE Dimiana DlMFlRE
  • Client:Eng
Отсутствие вреда не равноценно пользе-пусть в обратном и пытаются убедить всяческие произвоители бадов

А попытка дать ответ на подобный вопрос заведомо бесполезна-сам факт подобного вопроса в рамках данного топика подразумевает что ответ принят не будет
  • 0

#28
Atmega

Atmega

    Clone Grade Ksi

  • Tech III Pilots
  • PipPipPipPipPipPipPipPipPip
  • 12667 сообщений
2662
  • EVE Ingame:Atmega
  • Corp:MEN
  • Client:Eng
Ну, за месяц конечно могли накопать и поболее оптимизируемых кусков, чем этот. Однако же, 8% на дороге не валяются, я бы на месте CCP им премию бы дал. Результат как 15 символов кода - не впечатляет, снижение загрузки - вполне впечатляющее.
  • 0

We don't need to get a life, we gamers have many lifes.

Time you enjoy wasting, was not wasted.


#29
Basil

Basil

    Карибас-неудачник

  • Tech III Pilots
  • PipPipPipPip
  • 624 сообщений
152
  • EVE Ingame:Basurmancheg
  • Corp:Viziam
  • Ally:None
  • Client:Eng
За что люблю Димфайра, так это за многочисленные фейлы. Если бы он внимательно прочитал девблог, то понял бы, что проблема тут не в вычислениях, а в вызовах удаленных объектов. Нетворк коллы кагбэ медленные,да. Сериализация, десериализация, установка соединения, все дела. Что-то мне подсказывает, что апгрейд вычислительной мощности в 2 раза прирост производительности в 2 раза не даст. И распараллеливание в текущей архитектуре тоже слабо поможет, ибо основные тормоза, судя по предпринятым фиксам, кроются именно в удаленном вызове объектов. Сейчас его стали инстанцировать локально - сразу буст на 8%. Далее. Распараллеливать имеет смысл только те вычисления, которые могут быть распаралеллены. В частности, если распараллелить откачку цели логистами(допустим) и урон по ней(ну обрабатываются события в разных потоках), то тут возникает очень такая серьезная проблема синхронизации событий на стороне сервера, что в массовых боях может привести к интересным последствиям - например, урон идет, а откачка не работает, и наоборот.

А так в целом впечатление от девблога приятное, да. Видно, что люди разбираются в коде, и вносят разумные фиксы.

Сообщение отредактировал Basil: 17 June 2011 - 14:53

  • 0

#30
Yaponiz

Yaponiz

    Clone Grade Kappa

  • Tech III Pilots
  • PipPipPipPipPip
  • 3097 сообщений
165
  • EVE Ingame:Yaponiz
  • Corp:YA-YA
  • Channel:EVE Flight School
  • Client:Eng

Ну, за месяц конечно могли накопать и поболее оптимизируемых кусков, чем этот. Однако же, 8% на дороге не валяются, я бы на месте CCP им премию бы дал. Результат как 15 символов кода - не впечатляет, снижение загрузки - вполне впечатляющее.


Вот только CPU-per-User далеко не единственный, и скорее всего не самый важный показатель скорости сервера. Так что если эти 8% выльются хотя бы в 3% общей производительности - это будет просто супер. Хотя даже 1% был бы хорошим показателем.
  • 0
Изображение
Я не ставлю минусы, я выражаю свое несогласие.

#31
Basil

Basil

    Карибас-неудачник

  • Tech III Pilots
  • PipPipPipPip
  • 624 сообщений
152
  • EVE Ingame:Basurmancheg
  • Corp:Viziam
  • Ally:None
  • Client:Eng

Вот только CPU-per-User далеко не единственный, и скорее всего не самый важный показатель скорости сервера. Так что если эти 8% выльются хотя бы в 3% общей производительности - это будет просто супер. Хотя даже 1% был бы хорошим показателем.


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

Сообщение отредактировал Basil: 17 June 2011 - 15:31

  • 0

#32
shelmimo

shelmimo

    Clone Grade Eta

  • Tech III Pilots
  • PipPipPipPip
  • 816 сообщений
72

Это каких мощностей? Потребляемых...

Думаю он имел в виду очередную интерпретацию "закона Мура", который будучи эпирическим наблюдением все же более-менее соблюдается, правда отклонений все больше.

DIMFIRE , если я прав, то там 18 месяцев, никак не 8-10.

Сообщение отредактировал shelmimo: 17 June 2011 - 15:33

  • 0
Обидно, если мы вымрем из-за того, что никто ничего не хочет делать, только управлять и властвовать. (Василий Головачев)

#33
Psihius

Psihius

    Clone Grade Lambda

  • Tech III Pilots
  • PipPipPipPipPipPip
  • 3954 сообщений
911
  • EVE Ingame:psihius
  • EVE Alt:Loriel'a
  • Corp:Void Effect
  • Client:Eng
Хоть сейчас процессоры и мощьнее чем раньше при тех же частотах, но основной прорыв в вычислительной мощьности какраз в кол-ве ядер. А вот само ядро как физический исполнитель комманд в скорости не сильно убыстрилось. А CCP какраз работает в одном потоке, а следовательно все эти 3-4 кратные увеличения мощьности за счёт ядер их не коснулись.

Да, оптимизация архитектуры ядер и их вычислительные способности увеличиваются - особенно что качается математики, всяких SSE & Co. Но обычному коду, который тупо исполняет логику и работу с данными это пофигу - такому коду важна частота процессора. Потому что скопировать данные из переменной А в переменную Б занимает N циклов и никакие оптимизации тут не сделаешь - потому что это работа с памятью. А та часть вычислений, которая всё же происходит, в EVE достаточно мала и хорошо оптимизированна и так - CCP об этом писали в девблоге, что физический движок Destiny на самом деле занимает малую часть ресурсов.

Что касается распаралеливания. У CCP и так в кластере все сервисы разнесены по нодам - Inventory, Market, SOL, etc - в девблоге это описывалось - список там не маленький. Т.е. по сути у них и так уже в общем-то всё что можно было - распределено. А ядро, которое отвечает за обработку движений и взаимодействий в космосе очень сложно, если вообще реально, распаралелить. Разделив на несколько потоков взаимодействие столкнёшься с проблемой синхронизации данных и блокировками операций над объектом. К примеру:

Есть два шипа - А и Б. Система обсчитывает всё раз в секунду. Представим что у нас распаралелена обработка дамага и откачки.
Они ведут бой. Шип А на грани смерти и у него врубается очередной цикл шилдбустера. В этот момент в него влетает очередной залп противника.
Если обсчитать залп первым - шип взорвётся. Если шилдбустер - останется живой, т.к. откачалось больше чем дамага вошло.
Как определить что произошло первым? Нужно делать какую-то систему, которая позволила бы это сделать и синхронизировать события между двумя потоками и обработать в правильном порядке.
В итоге получается ситуация, что мы больше тратим времени на синхронизацию (передача данных между потоками не такая тривиальная штука, как кажется. Это довольно долго) чем на сами вычисления. Если взять одну и туже мощьность - то с вероятностью 50% станет только хуже от распаралеливания. Иногда даже сильно хуже. Т.е. можно распаралелить программу, но выигрыш получить 10-15%, а то и вообще негативный эффект получить.
Паралельное программирование штука весьма сложная и слабо развитая ещё. + некоторые вещи принципиально не паралелятся вообще никак.

Сообщение отредактировал Psihius: 17 June 2011 - 16:57

  • 4

Сообщество FactorioMMO: Discord , Reddit


#34
DarkPhoenix

DarkPhoenix

    Hatred

  • Tech III Pilots
  • PipPipPipPipPipPipPipPipPipPip
  • 28703 сообщений
4393

Хоть сейчас процессоры и мощьнее чем раньше при тех же частотах, но основной прорыв в вычислительной мощьности какраз в кол-ве ядер. А вот само ядро как физический исполнитель комманд в скорости не сильно убыстрилось. А CCP какраз работает в одном потоке, а следовательно все эти 3-4 кратные увеличения мощьности за счёт ядер их не коснулись.

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

В итоге получается ситуация, что мы больше тратим времени на синхронизацию (передача данных между потоками не такая тривиальная штука, как кажется. Это довольно долго)

Ты упоминаешь синхронизацию (при доступе 2+ потоков к 1 объекту) и некую "передачу данных между потоками" (зачем? Данные в основном шарятся, а не передаются) в одном посте. По-моему, что-то из них лишнее.
  • 0

There is a place where the black stars hang
and the strangest eons call that amorphous mass
unknown, immense, ambivalent to all


#35
MiX

MiX

    Clone Grade Alpha

  • Tech II Pilots
  • Pip
  • 35 сообщений
4
  • EVE Ingame:MiXiX (продан)
  • Corp:xDSqx
  • Ally:X.I.X
  • Client:Eng
Имхо очередная отмазка на тему - "мы все видем, мы работаем..."
  • 0

#36
Kil

Kil

    Clone Grade Zeta

  • Tech III Pilots
  • PipPipPip
  • 470 сообщений
41
  • EVE Ingame:Caldamen
  • Corp:Оффлайновый Бомж
  • Client:Eng

Есть два шипа - А и Б. Система обсчитывает всё раз в секунду. Представим что у нас распаралелена обработка дамага и откачки.
Они ведут бой. Шип А на грани смерти и у него врубается очередной цикл шилдбустера. В этот момент в него влетает очередной залп противника.
Если обсчитать залп первым - шип взорвётся. Если шилдбустер - останется живой, т.к. откачалось больше чем дамага вошло.
Как определить что произошло первым? Нужно делать какую-то систему, которая позволила бы это сделать и синхронизировать события между двумя потоками и обработать в правильном порядке.


Думаю, что все гораздо проще. Имеем значение -XXX дамага и значение +YYY накачки щита. И они просто складываются. Получили отрицательное число ZZZ - значит щит сдувается, имеем положительное ZZZ - щит накачивается, не смотря на обстрел. Это - гораздо более простая модель, при этом исключающая упомянутые Вами вопросы синхронизации. Зачем в игровом движке плодить сущности реального мира без меры? :) И да - в этом случает не надо ничего распараллеливать, не надо синхронизировать, не надо делать лишней работы. Получили в любом порядке два числа, по таймеру сравнили их. Профит! :)
  • 0
Я килмылы не помню, за меня их Конкорд записывает! (с) Vankl Jetson

#37
Argonicus

Argonicus

    Clone Grade Kappa

  • Tech III Pilots
  • PipPipPipPipPip
  • 2201 сообщений
4
  • EVE Ingame:Argonicus
  • EVE Alt:Dredovod, Rydokop,
  • Corp:Wasti
  • Ally:W.A.
  • Client:Eng

Думаю, что все гораздо проще. Имеем значение -XXX дамага и значение +YYY накачки щита. И они просто складываются. Получили отрицательное число ZZZ - значит щит сдувается, имеем положительное ZZZ - щит накачивается, не смотря на обстрел. Это - гораздо более простая модель, при этом исключающая упомянутые Вами вопросы синхронизации. Зачем в игровом движке плодить сущности реального мира без меры? :) И да - в этом случает не надо ничего распараллеливать, не надо синхронизировать, не надо делать лишней работы. Получили в любом порядке два числа, по таймеру сравнили их. Профит! :)


А что делать если циклы не совпадают? и совпадают например каждые 4 цикла? С какой частотой будем считать?
  • 0

Записаться к безумным майнерам можно тут: Если не боишься :)
 


#38
Anastasy

Anastasy

    Clone Grade Iota

  • Tech III Pilots
  • PipPipPipPipPip
  • 1662 сообщений
73
  • EVE Ingame:Anastasy BL
  • Corp:T R I B E
  • Ally:Minmatar Republic
  • Client:Eng
Ну вроде Дестени как бы раз в секунду всё обсчитывает, и может быть когда нибудь будет чуть реже ;)
  • 0

#39
Psihius

Psihius

    Clone Grade Lambda

  • Tech III Pilots
  • PipPipPipPipPipPip
  • 3954 сообщений
911
  • EVE Ingame:psihius
  • EVE Alt:Loriel'a
  • Corp:Void Effect
  • Client:Eng

Ну вроде Дестени как бы раз в секунду всё обсчитывает, и может быть когда нибудь будет чуть реже ;)

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

Скорее всего обсчёт одного грида практически разделить не возможно. А пока реальность войн такова, что вся массовка и забивается в один грид. Т.е. в любом случае необходимо что-то менять, что бы в один грид не напихивалось по 1500+ пилотов.

Сообщение отредактировал Psihius: 20 June 2011 - 13:54

  • 0

Сообщество FactorioMMO: Discord , Reddit


#40
Basil

Basil

    Карибас-неудачник

  • Tech III Pilots
  • PipPipPipPip
  • 624 сообщений
152
  • EVE Ingame:Basurmancheg
  • Corp:Viziam
  • Ally:None
  • Client:Eng

Скорее всего обсчёт одного грида практически разделить не возможно. А пока реальность войн такова, что вся массовка и забивается в один грид. Т.е. в любом случае необходимо что-то менять, что бы в один грид не напихивалось по 1500+ пилотов.


В теории возможно, конечно, разделить. Но обсчет общей очереди все равно в одном потоке, так что скорости это не прибавит :). Опять же, в теории возможно разбить общую очередь на "покорабельные" части и обсчитывать для каждого корабля в одном из нескольких потоков. Но потом это все равно надо скомпоновать и разослать, кому надо.
  • 0




1 посетителей читают тему

0 members, 1 guests, 0 anonymous users