SSD: о потоковом видео и надежности

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

Уверен, всем присутствующим известно, что быстродействие HDD жестко связано с частотой вращения дисков. Чем большей скорости вращения удается добиться их разработчикам, тем выше скорости чтения и записи – как при случайном доступе, так и при последовательном. Максимально быстро, конечно, хост-система получает данные в том случае, если на момент обращения они уже находятся в буферной памяти накопителя. Удачное применение стратегии упреждающего считывания и небольшой размер файлов делают такие ситуации вполне реальными, но для больших объемов информации, таких как потоковое видео, определяющим фактором становится установившаяся скорость, с которой привод успевает заполнять буфер данными. Такой режим в минимальной степени зависит от времени, уходящего на поиск нужных секторов, но другие механические по своей природе задержки все же сказываются.

SSD, в которых никакой механики нет, явно выигрывают по латентности доступа к данным при случайных запросах, но польза от их применения в системах с последовательным чтением и записью больших объемов информации мне кажется не столь очевидной. Хотя и при таком сценарии они существенно обгоняют HDD по производительности, но, во-первых, отрыв сокращается, и, во-вторых, приходится задуматься о ресурсе, поскольку большие объемы постоянно записываемых данных должны съедать его быстрее, чем при других приложениях. Именно поэтому меня заинтересовал отчет о тестировании SSD для использования в системах Video-on-Demand (VOD), проведенном компанией Espial.

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

  • Число видеопотоков на сервер – самый важный для сравнения с конкурирующими предложениями показатель, характеризующий эффективность продуктов в целом;
  • Качество видео, доставляемого пользователям через IP-сеть – характеризуется показателем Media Delivery Index (MDI); сегодня конечные потребители хотят получать по IP-сетям видео с качеством, не хуже чем у кабельного или цифрового TV;
  • Потребляемая мощность из расчета на сервер или на видеопоток – характеризует экономичность предлагаемых продуктов и становится все более важным по мере расширения рынка услуг IPTV, а также в связи с необходимостью размещения оборудования территориально как можно ближе к конечным потребителям.

В приложениях VOD от серверов и сетевых накопителей требуется способность полностью загрузить потоковым видео исходящий сетевой канал провайдера IPTV-услуг. Это означает, что накопители должны гарантировано записывать и выдавать с хорошим качеством большое количество параллельных потоков данных, а процессоры сервера – успевать их обработать и передать в сеть. Типичная аппаратная платформа включает в себя двухпроцессорные серверы на Intel Xeon 5420, производительности которых с запасом хватает для работы с массивами из 12-48 HDD. Для обеспечения наибольшей скорости ввода-вывода приходится применять RAID-массивы с SAS-винчестерами на 15000 об./мин. Плохо то, что такие диски стоят дороже и обладают меньшей емкостью, чем винчестеры на 7200 об./мин., но последние не подходят по производительности. Наряду с энергопотреблением существенным фактором для IPTV-операторов является занимаемое оборудованием место. Espial предлагает использовать как стоечные, так и blade-серверы, а каждые 12 винчестеров съедают в стойке по 2U высоты.

Проведенное в лаборатории Espial тестирование заключалось в сравнении двух аппаратных конфигураций – «традиционной», собранной из сервера на Xeon 5420 2.5 GHz и массива из 36 HDD емкостью 72 GB с частотой вращения 15000 об./мин., и «экспериментальной», в которой применялись сервер на Xeon 5550 QC 2.67 GHz и массив из 8 SSD-накопителей Intel X25-M 80 GB:

Софт был представлен Espial MediaBase 9.0 и Red Hat 5 в качестве ОС. Обе платформы были сконфигурированы так, чтобы обеспечить равную производительность для потокового видео, ограничиваемую 10-гигабитным сетевым интерфейсом. Воспроизводилось виде MPEG2 стандартного разрешения, требующего пропускной способности примерно 3.8 Mbps. Один из потоков выводился на «пользовательский ПК» для контроля качества в VLC-плеере, а остальные потоки отправлялись в сетевую «черную дыру» (передавались на IP, на котором пакеты сразу сбрасывались).

Задачей тестирования, поскольку обе системы обеспечивали одинаковую суммарную производительность потокового видео, очевидно, было сравнение не быстродействия накопителей, а общих характеристик аппаратных платформ. В частности, измерялось их энергопотребление. Отмечу, что разницу в емкости сетевых накопителей данных испытатели почему-то проигнорировали, назвав «не существенной для данного сценария тестирования». А она есть. В случае HDD использовались 36 дисков в массиве RAID 6, т.е. с защитой от кратного отказа. В свою очередь, 8 SSD были собраны в RAID 0, т.е. без защиты от сбоев. Для построения функционально аналогичного RAID потребовалось бы больше SSD, для них не хватило бы серверного шасси, и это сказалось бы на результатах. Собственно вот эти самые результаты:

По итогам испытаний специалисты Espial сделали три вывода. Во-первых, аппаратная платформа на Xeon 5500 и 8 SSD не уступила по производительности потокового вывода применяющейся платформе на Xeon 5400 и HDD с 15000 rpm. Ограничивающим масштабируемость фактором является 10-гигабитный интерфейс Ethernet. Новая платформа обладает значительным запасом быстродействия как со стороны сервера (утилизация CPU составила меньше 20%), так и со стороны массива накопителей. Во-вторых, новая серверная платформа оказалась на 25% более эффективной по энергопотреблению, если сравнивать с эквивалентной конфигурацией на Xeon 5420. С учетом накопителей разница в энергопотреблении еще больше. В-третьих, обеспечение одинаковой емкости накопителей не требуется, платформа на Xeon 5500 способна работать при меньшем количестве накопителей, занимая при этом в 4 раза меньше места в стойке. Признаюсь, последний вывод мне не показался совсем уж очевидным, возможно, что-то из приведенной в отчете информации от меня ускользнуло. Я вполне согласен с тем, что SSD обеспечат более высокую скорость для потоковых данных. Но ведь неспроста HDD собираются в RAID 6, а не в RAID 0. Исходя из соображений надежности, мне кажется логичным SSD тоже объединять в массив с избыточностью, скорее всего, в тот же RAID 6…

Как бы то ни было, важен сам факт интереса со стороны разработчиков систем IPTV к SSD-накопителям и то, что они считают их вполне подходящими для своего «железа».

Кстати, о надежности, вернее, ресурсе SSD. В спецификации к накопителям Intel X25-E Extreme мне бросились в глаза такие данные:

 

В других аналогичных документах вместо Write Endurance с указанием петабайтов фигурирует выражение «Minimum of five years of useful life». Очевидно, что Intel считает эти характеристики одним и тем же. Давайте переведем их в более понятную (в случае write endurance = 1 Пбайт) или конкретную (для 5 years of useful life) форму. Итак, корпорация проектировала свои SSD, исходя из заданного ресурса – из расчета на 5 лет работы в пока непонятных нам «типовых условиях». За этот срок предполагается запись 1 Пбайта информации для накопителя емкостью 32 Гбайт при случайном распределении секторов, что можно приравнять к равномерному использованию ячеек памяти. Много это или мало?

Переведем 5 лет в дни, не будем мелочиться, предусматривая выключение компьютера по выходным и праздникам. Получим максимум 1827 дней, включая 2 високосных года. С другой стороны, 1 Пбайт (напомню, что производители накопителей предпочитают оперировать десятичными величинами) равен 1,000,000 Гбайт. Поделив этот миллион на емкость накопителя, получим число его полных циклов перезаписи, а именно 31250. Делим эту величину на число дней в 5 годах и получаем, что ресурс SSD-накопителя предполагает его полную перезапись минимум 17 раз в день. Хорошее число, не так ли? Думаю, не любой сценарий использования, даже при потоковом «видео по запросу» или «TV с отложенным просмотром» (Time Shifted TV), создаст такую нагрузку.

Вышеприведенный расчет не является единственным источником более «качественной», чем MTBF, информации о ресурсе SSD-накопителей. Во внутренних документах Intel, например, упоминались сценарии использования MLC-накопителей, которые предполагали в течение 5 лет запись по 20 Гбайт в день для SSD емкостью 80 Гбайт и вдвое больше для 160-Гбайтных накопителей. При тех же 5 годах для SLC-накопителей рекомендуемый сценарий предусматривал запись свыше 350 Гбайт в день для 32-Гбайтных SSD и 700 Гбайт в день для накопителей емкостью 64 Гбайт. Здесь дана более осторожная оценка ресурса, около 11 циклов полной перезаписи в день. Что тоже немало. Остается подумать, что при менее суровой нагрузке расчетный срок эксплуатации пропорционально возрастет, и на душе станет совсем спокойно