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

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

Эвент в Таме: техническая сторона дела


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

#1
Clancy

Clancy

    Clone Grade Ksi

  • CCP loc. team
  • 12406 сообщений
3015
  • EVE Ingame:Paul Clancy
  • Client:Рус
Оригинал

Приветствия обитателям Транквилити!

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

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

Изображение

Борда

Неплохой график. Что-то типа такого я хотел бы видеть во время большого боя. Железо получило хорошую нагрузку, но фактически почти что не было перегружено - разве что в момент, когда впрыгнул большой флот. 800+ человек в активном бою, и сервер идеально справляется с этой задачей. Таким образом я - счастливая панда, ведь не так давно это было просто невозможно и непредставимо. Особенно если помнить, что это было в космосе с положительным СС, где сервер дополнительно нагружен, отслеживая акты агрессии в дополнение к непосредственно бою.

Две вещи сошлись вместе, чтобы достичь этого результата: очень большие усилия по оптимизации кода на серверной стороне и крутое железо, которое мы подобрали. Тама работала именно на таком железе - нашей специальной укреплённой ноде. Она уже несколько месяцев служит как один из серверов для особых случаев (флотовых боёв), о которых нас предупреждают через соответствующую форму. Я уступаю место у микрофона CCP Red Button, который расскажет подробнее об этом электронном монстре.
 
Приветствую.

Как и сказал CCP Veritas, в последние 12-18 месяцев мы активно работаем над производительностью флотовых боёв. Те, кто ездил на фанфест в этом году, вероятно видели, как CCP Yokai и CCP Atlas раскрыли тайну некоторых мер, которые мы для этого предприняли. С точки зрения железа мы были ощутимо ограничены простым фактом: сервер Евы в основном - однопоточное приложение, и поэтому его производительность ограничена частотой процессора. В прошлом мы могли опираться на постоянное и непрерывное возрастание этих частот год за годом, но сейчас парадигма больше опирается на "горизонтальное" ускорение при помощи нескольких ядер. Плохие новости для флотовых боёв и старой доброй однопоточной Евы.

К счастью, были и некоторые улучшения в дизайне материнских плат, в скорости работы памяти и в архитектуре процессоров. Это позволило нам выжать из серверов ещё чуть-чуть. На самом деле несколько больше, чем чуть-чуть - если считать последнюю пару лет. Мы достигли 40% прироста производительности на определённых задачах при сравнении последнего поколения железа (Westmere-EP@3.2ГГц) с более старым (Wolfdale-DP@3.3ГГц), на котором сейчас живёт бОльшая часть Транквилити. Кстати, прокси-слой Транка недавно пережил радикальную переделку и теперь живёт на двойных процессорах последнего поколения, на четырехядерных блейдах 3.6ГГц Westmere-EP. В комбинации с оптимизацией серверного кода это потрясающее изменение, обеспечивающее большое увеличение в производительности. SQL-слой тоже вскоре будет проапгрейжен, и... но это уже материал для другого девблога :) сейчас мы говорим о флотовых боях.

Для того, чтобы обеспечивать ещё более масштабные столкновения, мы - по указанным выше причинам - сосредоточились на тактовой частоте процессора, и создали вот такого франкенштейна на жидкостном охлаждении, который должен работать между 4.6 и 4.8 ГГц. На последнем фанфесте его уже показывал CCP Yokai

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

Интересно, может ли он работать на пиве или на Квафе?

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

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

К сожалению, мне запрещено вдаваться в детали по поводу моделей, установок, характеристик помимо сообщения, что оно работает на 4.4ГГц, основано на Ксеоне и очень, ОЧЕНЬ круто. Сервер недоступен по официальным каналам, так же как и процессор, кроме OEM для отдельных приложений. За эту производительность можно убивать и умирать - и по странному совпадению именно для этого мы и используем данный девайс, организуя на нём массовые жертвоприношения... :icon_twisted:

Изображение

Таким образом, комбинируя эффективность сверхсовременной архитектуры "железа" и тактовую частоту суперноды мы достигли 80% прироста производительности при сравнении со стандартным железом Транквилити. Что, надеюсь, прямо отражается на качестве вашей игры.

Возвращаю микрофон обратно CCP Veritas:
 

Сервер - это ещё не всё: в Еве есть нечто большее, чем сервера, работающие в уютных ящиках с комфортабельным охлаждением и бесперебойной подачей тока. Без маленького кусочка софта, который каждый стартует на своей любимой машине - без клиента Евы - ничего бы не было. И, как может подтвердить каждый в такомм бою, клиенту тоже есть в чём помочь. Будучи логистом, я считаю, что игра вполне удобна, но как только мы достигаем порога в 800+ человек, вещи становятся не настолько классными. Работоспособными, но не плавными. В Crucible мы проанализировали некоторые основные причины снижения производительности и начали устранять наиболее простые из них.

Те, кто отслеживал команду Гридлок - помнят, что мы работали исключительно с сервером. Результат выше - удовольствие для нас. Мы достигли момента, когда (для больших флотовых боёв) - сервер больше не является "бутылочным горлышком" для гладкого игрового процесса. В планах всё ещё есть несколько проектов серверной стороны, их ещё предстоит приоритизировать, но мы можем уверенно сказать, что переключаемся на работу с клиентом. В течение следующего года ожидайте ещё нескольких движений в сторону более отзывчивого клиента.

Чтобы дать вам понять, что именно было сделано за год борьбы с лагом на серверной стороне, я сходил в архивы и принёс несколько боёв примерно такого же размера за ноябрь 2010-го года.

R-6KYM, 5 ноября 2010:
Изображение


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

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

А ещё, как видите, график неожиданно обрывается. Это потому что затяжные проблемы вынудили нас нежно и с любовью пристрелить его. Он даже не понял, что произошло.

CYB-BZ, 7 ноября 2010
Изображение


Ой... это просто плохо. Четыре часа бедные хомячки бегают на полной скорости, а потом - дохнут от инфаркта. :( Кто-нибудь, позвоните в общество защиты животных. Ни в коем случае не "чистая" игра, и игроки подтверждали, что флот ДРФ был разделён и неспособен реварпнуть на оптимал - монстр-лаг цепко держал их в лапах.

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

Сообщение отредактировал Clancy: 19 December 2011 - 14:16

  • 11

Лично я - полисексуальная кошечка, запертая в теле женщины.

запоминать три фигуры (квадратик, крест, дрон, треугольник, овал)


#2
CHoh

CHoh

    EVE Offline

  • Tech III Pilots
  • PipPipPipPipPipPipPipPipPip
  • 14150 сообщений
2332

сервер Евы в основном - однопоточное приложение, и поэтому его производительность ограничена частотой процессора

Это они сейчас по частям "апгрейдят" код для использования многопоточности или тут полный затык и на переписывание забили?

Там просто ниже про прокси-слой и про SQL.. непонятно, это входит в общее "сервер" или нет.
  • 0

#3
Утреннее Дерево

Утреннее Дерево

    ПЯТНИЦА каждый день!

  • Tech III Pilots
  • PipPipPipPipPipPip
  • 4806 сообщений
1470
  • Client:Eng
Ребята взялись за EVE серьёзно, скоро будем плакаться о лагах при боях с локалом over9000 :lol:
Джодаться бы таких локалов.

Сообщение отредактировал Утреннее Дерево: 19 December 2011 - 13:48

  • 0
«История учит тому, что она ничему не учит, но жестоко наказывает тех, кто ее не знает».

#4
Clancy

Clancy

    Clone Grade Ksi

  • CCP loc. team
  • 12406 сообщений
3015
  • EVE Ingame:Paul Clancy
  • Client:Рус

Это они сейчас по частям "апгрейдят" код для использования многопоточности или тут полный затык и на переписывание забили?

Там просто ниже про прокси-слой и про SQL.. непонятно, это входит в общее "сервер" или нет.


Если походить по ссылкам - можно местами заметить, что они пробуют внести многопоточность где могут, но могут очень не везде. Полный переход на многопоточность даже не в планах, насколько я понимаю, но могу ошибаться.
  • 0

Лично я - полисексуальная кошечка, запертая в теле женщины.

запоминать три фигуры (квадратик, крест, дрон, треугольник, овал)


#5
Psihius

Psihius

    Clone Grade Lambda

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

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


#6
Wintersky

Wintersky

    Clone Grade Zeta

  • Tech III Pilots
  • PipPipPip
  • 465 сообщений
9
  • EVE Ingame:Wintersky family
  • Corp:ORDI
  • Client:Eng
Простите, не удержался ;)

...Никаких интересных лампочек или индикаторов на этих ящиках не было – так же могла бы выглядеть какая-нибудь банальная трансформаторная подстанция. Но Морковин вел себя чрезвычайно торжественно.
– Азадовский говорил, что ты любишь, когда у жизни большие сиськи, – сказал он. – Вот это самая большая. И если она тебя пока не возбуждает, то это просто с непривычки.
– Что это такое?
– Рендер-сервер 100/400. Их «Силикон Графикс» специально для этих целей гонит – хай энд. По американским понятиям в принципе уже старье, но нам хватает. Да и вся Европа на таких пашет. Позволяет просчитывать до ста главных и четырехсот вспомогательных политиков капсулиров.


  • 0
Бессмысленные действия — оскорбление духа.
(с) Ghost in the Shell




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

0 members, 1 guests, 0 anonymous users