цитата

Чтобы разобраться в проблеме, изложи ее на бумаге.

понедельник, 9 декабря 2013 г.

Qlogic - Emulex независимо о независимом

   Два извечных конкурента одного уровня. Каждый из них не упускает возможности показать собственное преимущество в сравнении с... А - с другой стороны - с кем еще сравнить?
   Потому, для очищенного от маркетинговой шелухи взгляда, более интересны для рассмотрения результаты сравнительных исследований, проводимые независимыми экспертами и лабораториями. Одной из таких лабораторий является Demartek, которая сфокусировала свои интересы на очень конкретных технологиях - FC, FCoE, iSCSI, SSD. Помимо новаторско-просветительской деятельности, эта компания проводит заказные тестирования оборудования на совместимость.

   Теперь к нашему интересу. Вольно или невольно, Demartek тестировал 16GFC адаптеры и Qlogic, и Emulex практически в одно время и в одном и том же окружении, что дало возможность одним махом сравнить 8G - 16G решение в рамках одной компании, а заодно и столкнуть лбами Qlogic и Emulex.




   Прежде всего, немного о различиях в "железе". Emulex строит адаптеры по однопроцессорной схеме, с общим пространством оперативной памяти, расщепляя поток на каналы уже "на выходе". В то время как Qlogic имеет на одной плате два независимых процессора (наверное, скорее - 2 ядра, но в данном случае это не столь важно), каждый из которых работает со своей памятью и даже со своим персональным микрокодом (Firmware) - этакий twin.
   Отсюда вытекают несколько довольно существенных моментов:
  • Адаптеры по-разному реагируют на нагрузку. Взгляд Qlogic: Нагрузка на оба канала приводит к перераспределению потока между каналами у Emulex, но мало влияет на Qlogic. Система с адаптерами Qlogic получается более предсказуемой в поведении и линейном расширении. Взгляд Emulex: общая производительность адаптера динамически перераспределяется между портами по мере необходимости. Утилизация ресурсов адаптера более эффективная.
  • Аппаратная или программная ошибка и даже перезагрузка на одном из каналов Qlogic никоим образом не влияет на второй канал. Неоднозначно, поскольку в обзоре, инициированном Emulex, утверждается ровно обратное. Восстановление ошибки или перезагрузка порта адаптера Qlogic требует перезагрузки всего сервера, что автоматически прерывает работу обоих портов, в то время, как адаптер Emulex может "на ходу" перегружать порт.
  • Апгрейд микрокода в адаптерах Qlogic может производиться по каждому из каналов независимо. Если что-то пойдет не так, вторая половина продолжит выполнение своих обязанностей.
  • Физическое разделение каналов дает большую защищенность системы в случае разделения ресурсов под задачи.
Побочным эффектом разделения каналов на независимые является несколько большее потребление энергии адаптером Qlogic и - как следствие - использование радиатора с принудительным охлаждением на адаптере. В то время, как Emulex обходится пассивным охлаждением.

    Это иллюстрация влияния загрузки портов на производительность каждого из них.
Если работает 1 порт - по количеству операций ввода-вывода (IOPS) побеждает Emulex. Стоит нагрузить второй порт - лидером с существенным отрывом оказывается Qlogic, практически удваивая общее количество операций. Линейная масштабируемость, ничего не скажешь!

   Теперь - собственно, поединок. Схема подключения - уже проверенная. На самом деле, у Demartec было в распоряжении 2 стенда - собственный и предложенный Qlogic. Отличаются по сути не сильно.

Хранилище, набитое SSD накопителями Enterprise класса подключено к коммутатору 4-мя объединенными в транк 8Gb FC каналами для исключения этой части стенда из узких мест. В стенде Qlogic используются хранилища RAMSAN (2шт) плюс SANBlaze FC. Коммутатор 16G FC Brocade 6510 в обоих случаях (хотя здесь надо было бы написать FC Gen 5). В своей лаборатории сервер построен на базе платформы Supermicro. В предоставленной Qlogic - HP DL380. Испытуемый набор адаптеров:

  • Emulex LPe12002 8GFC HBA (dual port) 
  • Emulex LPe16002 16GFC HBA (dual port) 
  • Emulex LPe16002B 16GFC HBA (dual port) 
  • QLogic QLE2562 8GFC HBA (dual port) 
  • QLogic QLE2672 16GFC HBA (dual port)
   Пикантность ситуации в том, что и Emulex и QLogic обращались в Demartec. Те, хоть и независимые и вроде бы непредвзятые, несколько по-разному интерпретировали полученные данные для каждого по отдельности.
   Лаборатория та же. Оборудование то же. Победитель не определен. Дело в том, что флажки на трассе расставляются каждым из участников соревнования свои. И в "правильной" интерпретации полученных результатов. Как повторял герой Траволты в одном из фильмов: "Главное - все правильно рассказать".


    "Независимый" взгляд на QLogic
http://www.qlogic.com/Resources/Documents/MediaCoverage/QLE2600_16GFC_HBA_Evaluation_Demartek.pdf

   Существенным отличием приводимого тестирования от других является ПО, при помощи которого проводятся замеры. Как правило, систему нагружают при помощи Microsoft SQL. Demartec обосновывает свой выбор так: "Синтетические тесты типа IOmeter созданы в первую очередь для испытаний систем хранения и их интерфейса, создавая устойчивую нагрузку на хранилище. SQL динамически перестраивает требования к аппаратным ресурсам - процессорам, памяти в зависимости от особенностей операций, которые выполняет в данный момент. Как результат - нагрузка на систему ввода-вывода может меняться в ходе выполнения тестирования. Выбор пал на  TCP-H benchmark, который более точно и реально демонстрирует, как выбор FC HBA влияет на реальную работу баз данных.
   Результат получается во времени выполнения тестового задания. Чтобы не перегружать обилием рисунков и диаграмм (детали можно посмотреть в первоисточнике по приведенной ссылке), привожу результаты кратко, текстом.

  • Qlogic QLE2560 8GB и Emulex LPe12000 8GB. Победа за Qlogic - на 17% быстрее.
  • Qlogic QLE2670 16GB и Qlogic QLE2560 8GB. Победа за 16GB - на 35% быстрее.
  • Qlogic QLE2670 16GB и Emulex LPe16000B 16GB. Победа за Qlogic - на 4% быстрее.
  • Qlogic QLE2670 16GB и Emulex LPe16000 16GB. Победа за Qlogic - на 16% быстрее.

    Попутное замечание - переход на PCIe 3.0 в LPe16000B, получается, дал больше 10% прибавки  к производительности.
    Так как пытали 1-канальные контроллеры, Qlogic не смог раскрыть свой потенциал в линейном расширении при работе двух каналов. Но все равно несколько опередил конкурента на практически реальной нагрузке, несмотря на проигрыш по IOPS.


    "Независимый" взгляд на Emulex
http://www.emulex.com/artifacts/0819c522-f6f0-454a-b86f-156f0ab573e7/demartek_ar_all_lpe16000b_qle2672_benchmarks.pdf

   Какие преимущества предлагает рассматривать в первую очередь Emulex?
Для их отображения выбраны очень комплексные единицы - IOPS / % загрузки ЦПУ и IOPS / ватт потребления сервером.

   Потребляемая энергия или энергоэффективность
Сводная табличка результатов. Потребление СЕРВЕРОМ при полной загрузке в пересчете на один порт.

Меньшее потребление у Emulex. 311Вт/356Вт. Вот IOPSы при этом расходятся прямо кардинально. Откуда чего берется!... Если посмотреть начало поста - в той же лаборатории с тем же оборудованием для одного порта было соотношение 600000 (Qlogic) / 820000 (Emulex), а для двух портов 1250000 (Qlogic) / 900000 (Emulex). Здесь же в дальнейших расчетах за основу берутся совсем другие цифры - 174000 (Qlogic) / 1190000 (Emulex). Дальше - дело техники, чистая математика, делим и получаем IOPS / ватт потребления сервером, которое составляет (опять какой-то мухлеж, не делится так!) 1487 у Qlogic и 16527 у Emulex (на моем калькуляторе получилось 487 и 3826 соответственно). Из чего делаем вывод об 11-кратной большей эффективности серверов с адаптерами Emulex и экономии 1 мегаватт в течение 3 лет на одном сервере.

   Загрузка ЦПУ
Та же табличка результатов.
При максимальной нагрузке на адаптер, процент утилизации центрального процессора существенно различается. 25,5% у Emulex против 62,6% у Qlogic. Дальше эти цифры используются для перерасчета уже вызвавших некоторое недоумение IOPS'ов для получения более, чем 10-кратного преимущества адаптерами Emulex.



















Комментариев нет:

Отправить комментарий