SATA-RAID контроллер 3WARE Escalade 8506-8

Автор: Glottis, niknik
Дата: 09.04.2004
Все фото статьи

Введение


Не так давно, мы рассказывали о SATA-RAID контроллере 3WARE Escalade 8500-8. Среди протестированных нами многоканальных SATA-RAID контроллеров он показал наилучшие результаты, но его ахиллесовой пятой являлось отсутствие поддержки PCI 64/66МГц. При тестировании контроллера 8500-8 мы использовали только четыре винчестера, и поэтому скорость шины почти не сказывалась на скорости линейного чтения с массивов. Однако, на массиве из большего количества дисков ограничения, накладываемые низкой пропускной способностью шины PCI 64/33МГц, были бы более заметны.
Проблема низкой пропускной способности была решена в очередном продукте компании 3Ware - SATA-RAID контроллере 3WARE 8506-8 Escalade, основное отличие которой от 3WARE 8500-8 Escalade как раз и состоит в поддержке PCI 64/66МГц.
Линейка контроллеров Escalade 8506, как и линейка их предшественников, состоит из трёх моделей, поддерживающих 4, 8 и 12 дисков соответственно. Чтобы иметь возможность сравнивать полученные ранее результаты с теми, что мы собирались получить на 3WARE 8500-8, мы взяли восьмиканальный контроллер, но, как и в прошлый раз, тестировали его в режиме четырёхканального.

Контроллер


Контроллер 3Ware8506-8 Escalade позволяет создавать следующие типы RAID-массивов: - 0, 1, 5, 10 и JBOD. Он поддерживает до восьми Serial ATA/150 устройств. Шина обмена с компьютером – 64-х разрядная PCI, работает на частоте 66 МГц. Объём кэш-памяти контроллера составляет 2,25МБ.

Основные параметры:



Методика тестирования



Тестовая система:

корпус - Intel SC5200
материнская плата – Intel SHG2;
процессор - 2 x Intel Xeon 2.8/400FSB;
память - 2 x 512MB DDR SDRAM PC2100 ECC Registered;
винчестер - IBM DTLA 307015;
видеокарта – onboard ATi Rage XL;
операционная система - Windows 2000 Pro SP4.


Использовались следующие тесты:

WinBench 99 2.0
IOMeter 2003.02.15


В Winbench99 на логическом диске создавался один раздел на весь объём диска. Тесты Winbench проводились по семь раз, выбирался лучший показанный результат.

Для сравнения скорости работы винчестеров при помощи теста IOMeter использовались паттерны Fileserver & Webserver.

Паттерны StorageReview
  File Server Web Server
  80% Read, 100% Random 100% Read, 100% Random
 512b 10% 22%
 1KB 5% 15%
 2KB 5% 8%
 4KB 60% 23%
 8KB 2% 15%
 16KB 4% 2%
 32KB 4% 6%
 64KB 10% 7%
 128KB 0% 1%
 512KB 0% 1%

Эти паттерны призваны измерить производительность дисковой подсистемы при нагрузке, типичной для file- и web-серверов.

Паттерн Workstation, используемый нами, создан нашим автором Романовым Сергеем aka GReY на основании статистики обращений к диску при работе различных приложений, приведённой в описании SR Testbed3. Статистические данные собраны на файловой системе NTFS5 в режимах работы Office, Hi-End и Boot-up.

Паттерн Workstation
 Transfer Size Request % of Access Specification % Reads % Random
 Workstation   
 512B 1 0 100
 1KB 2 0 100
 2KB 1 0 100
 4KB 50 60 80
 8KB 4 50 100
 16KB 6 50 100
 20KB 2 50 100
 24KB 2 50 100
 28KB 1 50 100
 32KB 13 70 70
 48KB 1 50 100
 52KB 1 50 100
 64KB 14 80 60
 64KB+512B 2 50 100

Этим паттерном мы будем руководствоваться для оценки привлекательности винчестеров для обычного Windows-пользователя.

Ну и, наконец, была проверена способность винчестеров работать с Sequential-запросами переменного размера на чтение/запись и скорость дисков в паттерне Database, имитирующем работу дисковой подсистемы с SQL-подобными запросами.

В контроллер был прошито firmware 7.6.3, использовались драйвера из того же набора (7.6.3). Для контроля состояния массива и для синхронизации массивов использовалась программа 3DM Disk Management. Контроллер устанавливался в слот PCI-X/133МГц.

Диски WD360GD (Raptor) устанавливались в штатные салазки корпуса SC5200 и крепились четырьмя винтами за нижнюю грань.




В BIOS-е контроллера 3WARE 8506-8 Escalade отсутствует функция изменения состояния отложенной записи для винчестеров. Однако мы полагаем, что при переключении режимов WriteBack/WriteThrough состояния кэша контроллера и кэша винчестеров меняются одновременно. Поэтому, при описании режимов тестирования мы использовали обозначения настроек в BIOS-е контроллера 3WARE 8506-8 Escalade (WB/WT), считая при этом, что в режиме WriteBack оба кэша (и контроллера и диска) включены, а в режиме WriteThrough запрещено кэширование запросов на запись и для контроллера и для винчестеров.

Результаты тестов


Начнем наш обзор с работы со смешанными потоками запросов:

IOMeter: паттерн Database

На контроллер подаются запросы на чтение и запись блоков данных объемом 8КБ со случайным адресом. Изменяя соотношение запросов в потоке, мы можем выявить качество их сортировки драйвером контроллера.
Результаты тестирования контроллера в режиме WriteBack представлены в таблице:


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




При линейной нагрузке, в начале графика (режим RandomRead), все массивы показывают очень близкие скорости, хотя массивы RAID1 и RAID10 оказываются немного быстрее остальных. Все дело в том, что контроллеры компани 3Ware для увеличения скорости чтения с зеркальных массивов используют фирменную технологию Twinstor. Эта технология позволяет по истории предыдущих запросов определять диск, который обработает текущий запрос быстрее, что заметно увеличивает скорость работы.
С ростом вероятности появления запроса на запись скорость работы одиночного диска возрастает - работают алгоритмы отложенной записи винчестера.
Соответственно количеству дисков в массиве, растет и скорость массивов RAID0, но пропорциональность наблюдается только в режимах с высокой вероятностью появления запросов на запись. Скорости массивов RAID1 и RAID10 тоже растут, но медленнее, а скорость массивов RAID5 снижается по мене увеличения доли запросов на запись, так как такие запросы сильно замедляют их работу. Впрочем, при большой доле запросов на запись скорость работы массивов даже немного увеличивается. Впрочем, это уже наблюдалось при тестировании контроллера 3WARE 8500-8 Escalade.





Увеличение нагрузки меняет картину распределения скоростей. Зеркальные массивы, резко увеличивают скорость работы в режиме RandomRead, так как отсутствие запросов на запись и достаточное количество запросов на чтение со случайным адресом позволяют технологии Twinstor максимально полно раскрыть свои возможности. В идеале, должен получиться более чем двукратный выигрыш, так как чтение производится с двух дисков одновременно и учитывая (по истории запросов) головка какого винчестера находится ближе к искомому адресу. Как видим, наши ожидания оправдались - скорости массивов RAID1 и RAID10 в этом режиме более чем в два раза превосходят скорости одиночного диска и массива RAID0 из двух дисков соответственно.
С ростом числа запросов на запись, технология Twinstor начинает работать менее продуктивно, ведь если доля запросов на запись растёт, то доля запросов на запись - уменьшается. Так как технология Twinstor "работает" только с запросами на чтение, то и отдача от неё уменьшается. Потому совсем не удивительно, что массивы, содержащие зеркальные пары, снижают скорость работы. С другой стороны, при большом количестве запросов на запись становится заметно влияние режима WriteBack, поэтому скорость работы зеркальных массивов даже немного увеличивается. В целом, при работе под нагрузкой в шестнадцать запросов, массив RAID1 всегда быстрее одиночного диска, а массив RAID10, в свою очередь, быстрее массива RAID0 из двух дисков во всех режимах.
Скорость работы одиночного диска монотонно возрастает с ростом числа запросов на запись. Графики массивов RAID0 повторяют график одиночного диска, соблюдая пропорциональность по количеству дисков в массиве. Скорости массивов RAID0 почти во всех режимах выше, чем скорости других массивов из соответствующего числа дисков (исключение составляют режимы с большим процентом запросов на чтение, где очень велико влияние Twinstor на зеркальные массивы). Провалы, которые мы видим при десяти процентах запросов на запись у массивов RAID0 из двух и четырех дисков встречались и в предыдущих обзорах и, как мы уже показывали на примере контроллера Adaptec Serial ATA RAID 2410SA, ответственным за них является кэш винчестера.
Для массивов RAID5 запросы на чтение обрабатываются с той же эффективностью, как и для массивов RAID0, но по мере увеличения доли запросов на запись скорость массивов RAID5 падает.




Мы видим, что характер графиков массивов RAID0 из двух и четырех дисков повторяют график одиночного диска, что говорит о том, что StorSwitch справляется с сортировкой и передачей запроса на соответствующий винчестер прекрасно. Однако, график массива RAID0 из трех дисков при высоких процентах запросов на чтение несколько выбивается из общей картины.
Что интересно, в режиме RandomRead четырехдисковые массивы RAID0 и RAID10 демонстрируют очень близкие скорости, а RAID5 даже превосходит их, хотя можно было бы ожидать небольшого преимущества RAID10. Видимо, при такой нагрузке качество сортировки запросов между дисками уже не даёт массиву с зеркалированием никакого преимущества.

Теперь посмотрим, как выглядят результаты тестирования четырехдисковых массивов в режиме WriteThrough:


Для сравнения скорости всех RAID-массивов при различных схемах кэширования построим таблицу, в каждой ячейке которой содержится результат деления скорости контроллера в режиме WB на скорость контроллера в режиме WT. Таким образом, по величине содержащегося в ячейке числа мы сможем судить об эффективности работы WB-кэширования в каждом конкретном режиме. Если число будет меньше единицы (такие числа подкрашены красным цветом), то WB-кэширование здесь вредно, а если число будет больше единицы (такие числа подкрашены синим цветом), то WB-кэширование привело к увеличению скорости, т.е. оно полезно. Если же в ячейке мы видим число "1.0", то это означает, что для этого режима что WB, что WT-кэширование одинаково полезны.


Как и следовало ожидать, во всех режимах работы массивов включение WT-кэширования в BIOS-e приводит к снижению скорости. В режиме RandomRead, при полном отсутствии запросов на запись, увеличение скорости не наблюдается (оно находится в пределах погрешности измерений), а в режиме RandomWrite скорость снижается, в максимуме, шестикратно. Рост скорости наблюдается только в массиве RAID5 при почти недостижимых в реальной жизни очередях в 256 запросов.

Теперь сравним результаты, полученные при тестах массивов при разных режимах кэширования. Для этого построим графики каждого массива в режиме WriteThrough и WriteBack для очередей из 1, 16 и 256-ти запросов:






При переключении с WB-кэширования на WT, массив RAID0 стабильно демонстрирует снижение скорости с ростом числа запросов на запись (достигая шести раз с небольшим). С увеличением числа запросов в очереди разрыв между скоростями в режимах WriteBack и WriteThrough снижается, однако преимущества WB - кэширования обнаруживается всегда, кроме режима RandomRead, где, из-за отсутствия запросов на запись, алгоритмы отложенной записи не влияют на скорость.






Значительное снижение скорости при WT-кэшировании проявляется при линейной нагрузке. Потери в скорости достигают 125-ти процентов. Однако, с ростом очереди, разница в скоростях при различных типах кэширования начинает сокращаться, а при очередях в 256 запросов WT-кэширование становится даже более предпочтительным. Выигрыш в скорости достигает девяти процентов.






Снижение скорости при переходе с WB-кэширования на WT, напоминает снижение скорости в массиве RAID0, однако, по величине, потери в скорости при WT-кэшировании оказываются меньше и достигают 244-х процентов.

Итак, для массивов RAID0 и RAID10 включение WT-кэширования приводит к значительному снижению скорости работы. Поэтому стоит подумать, что предпочтительнее – повышенная скорость в режиме WriteBack или повышенная надежность в режиме WriteThrough. В массиве RAID5 скорость зависит от типа кэширования только при маленьких нагрузках. С ростом нагрузки, эта зависимость резко снижается, поэтому с массивом RAID5 целесообразно работать в режиме WriteThrough.

IOMeter: паттерны Sequential Read&Write

Этот паттерн позволяет исследовать скорость работы контроллера при обработке последовательных потоков запросов на чтение/запись. На массив при помощи программы IOMeter подаётся поток запросов на чтение/запись с глубиной очереди команд, равной четырём. Раз в минуту в тесте меняется размер блока данных, так что после окончания теста мы получаем зависимость скорости линейного чтения или записи от размера блока данных. Результаты, полученные в режиме WriteBack, приведены ниже:


Построим графики, разбив RAID-массивы на две группы:




Преимущества RAID0 массивов с большим количеством винчестеров начинают проявляться только при больших размерах запрашиваемого блока данных, то есть в случаях, когда контроллер может разбивать большие блоки на несколько маленьких, и нагружать все винчестеры массива одновременно. Массивы, использующие зеркалирование, показали не самые лучшие результаты. Когда размер запрашиваемого с массивов блока данных переваливает за 32К скорость чтения с массива неожиданно снижается! Весьма вероятно, что этот эффект порождён работой технологии Twinstor... Что же, на сей раз, мы должны признать, что применение этой технологии привело к отрицательному результату.

Как мы помним, основным отличием 3WARE 8506-8 Escalade от 3WARE 8500-8 Escalade является поддержка PCI 64/66Мгц, поэтому, особый интерес вызывают результаты четырехдисковых массивов RAID0 и RAID5. И действительно, при сравнении с результатами 3WARE 8500-8 Escalade, мы обнаруживаем, что максимальная скорость чтения с массива RAID0 достигла отметки в 203,5МБ/сек против 180,2МБ/сек, которые мы смогли выжать с Escalade 8500.
Скорость чтения с массива RAID5 на контроллере Escalade 8506 достигла цифры в 141,6МБ/сек, что также намного выше той скорости, которую демонстрировал контроллер Escalade 8500 - 115,2МБ/сек.
Однако, даже возросшей производительности процессора недостаточно для того, чтобы скорость массива RAID0 из четырех дисков достигла четырехкратной скорости одиночного диска.

Посмотрим, как ведет себя контроллер в режиме WriteThrough и сравним с предыдущими результатами.




При отсутствии запросов на запись, графики в режимах WriteBack и WriteThrough практически совпадают, поэтому, можно сказать, что состояние отложенной записи, как и положено, не влияет на скорость последовательного чтения.

Переходим к последовательной записи.

Сначала, результат тестирования в режиме WriteBack:






Скорость массива RAID1 почти совпадает со скоростью одиночного диска, а скорость массива RAID10 даже меньше скорости массива RAID0 из двух дисков.
Массивы RAID0 из двух и трех дисков демонстрируют хорошую масштабируемость по количеству дисков в массиве. Для массивов RAID5 gри малых размерах блока скорость записи на массивы RAID5 выше, чем на одиночный диск или зеркало - срабатывает R5 Fusion ("склеивание" запросов на запись в кэше контроллера). При большом размере запроса места в кэше контроллера, который в четыре раза меньше кэша одного винчестера, начинает не хватать. Тем не менее, если сравнивать скорости записи четырехдисковых массивов RAID0 и RAID5 контроллера 3WARE 8506-8 Escalade и 3WARE 8500-8 Escalade, то мы обнаружим, что максимальная скорость записи на массив RAID0 выросла с 164,9МБ/сек до 195,7МБ/сек, а максимальная скорость записи на массив RAID5 выросла с 64,3МБ/сек до 71,4МБ/сек. Такой рост скорости, особенно для массива RAID5, скорость записи на который во многом зависит от скорости работы XOR-процессора, наводит наc на мысль о том, что контроллер Escalade 8506 отличается от Escalade 8500 не только поддержкой более скоростной шины, но и большей частотой работы главного чипа контроллера (StorSwitch).

Посмотрим, какое влияние оказывает тип кэширования на скорость четырехдисковых массивов:




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

IOMeter: Fileserver&Webserver

Паттерны, имитирующие работу дисковой подсистемы файл- и веб-сервера.

Сначала результат работы контроллера в паттерне Fileserver при включенном кэшировании:






Паттерн Fileserver характерен тем, среди его запросов только двадцать процентов на запись. В таком режиме все массивы демонстрируют неплохие результаты. Скорость массива RAID1 выше, чем скорость массива RAID0 из двух дисков, а скорость массива RAID10 приближается к скорости RAID0 из четырех дисков. Это значит, что при таком соотношении запросов на чтение и записи Twinstor работает прекрасно.
Массивы RAID0 демонстрируют хорошую масштабируемость по скорости в зависимости от количества винчестеров.

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


В общем, результаты предсказуемые, но, пожалуй, стоит отметить высокий результат массива RAID10.

Сравним результаты работы четырехдисковых массивов в режимах WriteBack и WriteThrough:




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


В зависимости от типа массива, производительность в режиме WriteThrough снижается на 10-30%. В принципе - невысокая плата за надёжность...

Посмотрим на поведение контроллера в паттерне Webserver при включенном кэшировании:






В этом паттерне запросы на запись отсутствуют, поэтому массивы RAID5 демонстрируют очень высокие скорости. Скорости массивов, использующих зеркалирование, так же высоки. Правда, при глубине очереди в 256 запросов массив RAID10 отстает от массива RAID5 из четырех дисков (подобное наблюдалось в паттерне Database), а массив RAID1 имеет необъяснимый провал на графике при глубине очереди в 64 запроса. Графики массивов RAID0, по сравнению с Fileserver, качественно не изменились.

Сравним производительность массивов при помощи рейтинговой системы, которую мы построим по те же правилам, как и в паттерне Fileserver:


Благодаря тому, что в потоке запросов отсутствуют запросы на запись, массивы RAID1, RAID10 и RAID5 показали очень высокие результаты. Производительность каждого из них превысила производительность массивов RAID0 из соответствующего количества дисков, а массив RAID10 смог занять первое место.

Сравним результаты работы четырехдисковых массивов при различных типах кэширования:






Как и следовало ожидать, в отсутствии запросов на запись, режим работы кеша контроллера и дисков не оказывает влияния на скорость работы массивов.

IOMeter:Workstation

Паттерн Workstation позволяет имитировать интенсивную работу пользователя в различных приложениях на файловой системе NTFS5.
Результаты работы контроллера в режиме WriteBack представлены ниже:






Массивы RAID0 демонстрируют хорошую масштабируемость по скорости в зависимости от количества винчестеров. Скорость массива RAID1 выше скорости одиночного винчестера, а при небольших нагрузках даже выше скорости массива RAID0 из двух дисков. Массив RAID10 оказывается быстрее массива RAID0 из трех дисков. Скорость массивов RAID5 достаточно низка, так как в этом паттерне много случайных запросов на запись, а они сильно замедляют эти массивы.

Сравним между собой производительности разных RAID-массивов и составим диаграмму с рейтингами быстродействия массивов. Рейтинг для паттерна Workstation мы считаем по следующей формуле:

Производительность = Total I/O (queue=1)/1 + Total I/O (queue=2)/2 + Total I/O (queue=4)/4 + Total I/O (queue=8)/8 + Total I/O (queue=16)/16 + Total I/O (queue=32)/32


Массивы RAID5 по производительности отстают даже от одиночного диска. Массивы RAID0 выстроились по количеству дисков, а RAID10 хоть не намного, но обогнал RAID0 из трех дисков. Производительность массива RAID1 оказалась выше, чем у массива RAID0 из двух дисков. Причина этого в том, что для рабочей станции короткие очереди наиболее вероятны, и, следовательно, их вклад в производительность выше, чем у длинных.

Сравним результаты работы четырехдисковых массивов в режимах WriteBack и WriteThrough:






Наличие большого процента запросов на запись приводит к тому, что изменение режима кэширования оказывает очень большое влияние на скорости массивов. Отключение кэширования приводит к уменьшению производительности на 28-38 процентов (в зависимости от типа массива).

Winbench99

В завершение наших тестов, мы приступаем к рассмотрению пакета Winbench, который служит нам измерителем производительности винчестеров при работе с "десктопными" приложениями.
Сначала рассмотрим результаты тестирования в системе NTFS. Таблица с данными, полученными в режиме WriteBack, приведена ниже:


Сравним скорости различных массивов по двум интегральным подтестам - Business Disk Winmark и High-End Disk Winmark:


Массивы RAID0 выстроились по числу дисков в массиве. Наличие в Winbench99 большого количества операций записи привело к тому, что массивы RAID5 показывают самые низкие результаты. По этой же причине скорости массивов RAID1 и RAID10 также не слишком высоки.

Запретим отложенную запись и сравним полученные результаты:




В режиме WriteThrough скорость всех массивов заметно ниже, чем в режиме WriteBack.

Перейдем к тестам под FAT32.

Результаты тестирования контроллера в режиме WriteBack приведены ниже:


Скорости работы массивов тестах Business Disk Winmark и High-End Disk Winmark выглядят так:


Распределение массивов по скоростям в FAT32 осталось таким же, как и в системе NTFS, но скорости заметно увеличились.




Влияние режима WriteBack так же, как и в системе NTFS, достаточно велико для всех массивов. Распределение их по скоростям не зависит от состояния отложенной записи, хотя абсолютные значения их скоростей меняются достаточно сильно.

Скорости линейного чтения одинаковы для обеих файловых систем, поэтому мы приведем один общий график.


При линейном чтении скорость линейно зависит от количества дисков, поэтому массивы RAID0 из двух и трех дисков показывают почти удвоенную и утроенную, соответственно, скорость одиночного диска. У массива RAID0 из четырех дисков такая пропорциональность, нарушается. Та же картина наблюдалась при тестировании 3WARE 8500-8 Escalade.


Как и предполагалось, скорость линейного чтения не зависит от состояния отложенной записи.

По традиции, графики линейного чтения для каждого массива приведены отдельно.

График линейного чтения 1HDD - JBOD
График линейного чтения 2HDD - RAID1
График линейного чтения 2HDD - RAID0
График линейного чтения 3HDD - RAID0
График линейного чтения 3HDD - RAID5
График линейного чтения 4HDD - RAID0
График линейного чтения 4HDD - RAID5
График линейного чтения 4HDD - RAID10

Выводы


По результатам тестов, впечатление о контроллере 3Ware8506-8 Escalade, как и о его предшественнике 3Ware8500-8 Escalade, сложилось весьма благоприятное. Контроллер показал очень неплохие результаты, особенно в тестах, имитирующих работу в реальных приложениях. В синтетических тестах наблюдались некоторые нестабильности в скорости, но они заинтересуют только специалистов. Особо хотелось бы отметить значительное увеличение скорости контроллера при обработке последовательных запросов на чтение и запись.

Среди уже протестированных нами SATA-RAID-контроллеров, 3Ware8506-8 Escalade показал одни из самых стабильных и объяснимых результатов. Посмотрим, как будут выглядеть его конкуренты. Оставайтесь с нами.

Дополнения


На текущий момент, с сайта производителя можно скачать драйвера только версии 7.7.0. Этот набор из firmware, драйверов и утилит поддерживает следующие операционные системы: Windows 2003/XP/2000, SuSE 8x Linux, RedHat 8x и 9x Linux и FreeBSD 4.8 Beta. К сожалению, остальные версии драйверов (например, релиз 7.6.3, на котором проводилось наше тестирование), поддерживающие другие операционные системы, на момент написания статьи на сайте оказались недоступны.