oldi

SATA мне друг, но истина дороже

Сергей Пахомов

Введение

Тестирование

Диски

Результаты тестирования

Тестирование одиночного диска

Тестирование RAID-массива уровня 0

Выводы

 

RAID — это избыточный массив независимых дисков

 

Объединение жестких дисков в RAID-массивы, изначально применявшееся лишь для серверных SCSI-дисков, постепенно становится все более популярным и на рынке домашних ПК. Большинство производителей материнских плат интегрируют IDE RAID-контроллеры в свои продукты. А недавно компания Intel выпустила новое поколение чипсетов i875P (Canterwood) и i865 (семейство Springdale) с новым южным мостом ICH5R (микросхема i82801ER), содержащим интегрированный двухканальный SATA RAID-контроллер.

Введение

Новое решение всегда вызывает повышенное внимание со стороны тестовых лабораторий. Не стала исключением и лаборатория нашего журнала. Имея на руках материнскую плату Intel D875PBZ на основе чипсета i875P с южным мостом ICH5R, мы провели тестирование интегрированного в этот мост двухканального SATA RAID-контроллера.

Как известно, SATA RAID-контроллер южного моста ICH5R является программным (задействуется центральный процессор), поэтому его интересно было сравнить с реальным аппаратным RAID-контроллером, выполненным на отдельной микросхеме.

Двухканальный SATA RAID-контроллер имеет ряд существенных ограничений по сравнению с аппаратными контроллерами. Прежде всего, текущая версия контроллера поддерживает лишь объединение двух SATA-дисков в RAID-массив уровня 0. Аппаратные же контроллеры поддерживают и нулевой, и первый уровни, а более дорогие модели — даже пятый уровень. Конечно, для домашнего применения наиболее актуально использование именно нулевого RAID-уровня, поскольку он позволяет получить максимальную производительность при операциях с дисковой подсистемой. В то же время этот уровень не обеспечивает надежности хранения данных, и выход из строя одного из дисков, объединенных в RAID-массив, приводит к потере всех данных массива.

Другим ограничением интегрированного в южный мост ICH5R двухканального SATA RAID-контроллера является то обстоятельство, что, в отличие от аппаратных контроллеров, он не позволяет увеличить общее количество IDE-устройств. Как известно, использование двухканального IDE-контроллера, интегрированного на материнскую плату, позволяет подключить всего четыре IDE-устройства. Если же на плате, кроме этого контроллера, имеется дополнительный интегрированный RAID-контроллер или устанавливается дополнительно RAID-контроллер с PCI-интерфейсом, то общее количество подключаемых IDE-устройств увеличивается в зависимости от каналов RAID-контроллера. Однако в случае двухканального SATA RAID-контроллера, интегрированного в южный мост ICH5R, все обстоит несколько иначе. Дело в том, что оба SATA-канала видятся операционной системой как один параллельный ATA-канал. С учетом того, что всего поддерживаются два параллельных ATA-канала, если используются SATA-каналы, можно задействовать лишь один первичный или вторичный ATA-канал, подключив к нему максимум два IDE-устройства. Таким образом, использование SATA-каналов не позволяет увеличить общее количество подключаемых IDE-устройств (максимум четыре устройства).

Ну и последнее обстоятельство, о котором хотелось бы упомянуть, — это несколько пугающее понятие программного RAID-контроллера. Понятно, что по сравнению с аппаратными RAID-контроллерами их программные собратья приводят к большей степени утилизации процессора. Вопрос только в том, насколько велика плата за «программность» контроллера.

В начало В начало

Тестирование

Для тестирования использовался ПК в следующей конфигурации:

• процессор: Intel Pentium 4 3 ГГц (800 FSB);

• материнская плата: Intel D875PBZ;

• версия BIOS: BZ87510A.86A. 0026.P05;

• чипсет: Intel 875P;

• память: DDR 400 (2Ѕ256 Мбайт) Kingmax;

• графический контроллер: MSI GeForce 4 Ti4800-SE8X;

• жесткие диски: два тестируемых диска Seagate Barracuda ATA V (ST3120023AS) по 120 Гбайт, диск с операционной системой HITACHI Deskstar IC35L090AVV207 емкостью 80 Гбайт.

Из дополнительного ПО и драйверов устанавливались:

• Intel Chipset Software Utility Version 5.00.1009;

• Intel Application Accelerator 3.0 RAID Edition (версия драйвера RAID-контроллера 3.0.0.2344).

Тестирование проводилось под управлением операционной системы Windows XP Professional Service Pack 1. Производительность дисковой подсистемы оценивалась с помощью утилиты IOmeter.

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

При анализе дисковой подсистемы задействовался еще один жесткий диск HITACHI Deskstar IC35L090AVV207 емкостью 80 Гбайт. Собственно, на этот диск устанавливалась операционная система, а сам диск подключался к первичному IDE-каналу. Анализу же подвергались SATA-диски Seagate Barracuda ATA V (ST3120023AS) по 120 Гбайт, подключаемые к двум SATA-каналам. Сначала анализировался один диск Seagate Barracuda ATA V, после чего оба диска объединялись в RAID-массив уровня 0 с помощью интегрированного RAID-контроллера и вновь производился анализ RAID-массива. При конфигурировании RAID-массива размер страйп-блока устанавливался равным 64 Кбайт.

Утилита IOmeter позволяет создавать разнообразные модели доступа к дисковой подсистеме, причем для создания конкретной модели доступа возможно варьировать следующие параметры:

• размер запроса на передачу данных (Transfer Request Size);

• процентное распределение случайных/последовательных запросов (Percent Random/Sequential Distribution);

• процентное распределение операций чтения/записи (Percent Read Write Distribution);

• процент доступа по данному запросу (Percent of Access Specification);

• очередь запросов (# of Outstanding I/Os).

Для того чтобы более детально изучить возможности дисковых подсистем при записи и чтении, исследовались их возможности в режимах 100-процентно последовательного и 100-процентно случайного доступа при 100-процентном чтении и при 100-процентной записи, то есть в моделях доступа: Random Read, Random Write, Sequential Read и Sequential Write. Модель доступа Random Read характеризуется 100-процентно случайным чтением данных; модель доступа Random Write — 100-процентно случайной записью данных; модель доступа Sequential Read характеризуется 100-процентно последовательным чтением данных, а модель доступа Sequential Write — 100-процентно последовательной записью данных.

При использовании моделей доступа последовательного и случайного чтения/записи (Random Read, Random Write, Sequential Read и Sequential Write) размер запроса меняется от 512 байт до 256 Кбайт так, что размер каждого следующего запроса в два раза больше предыдущего. Поэтому результаты тестирования при использовании моделей доступа Random Read, Random Write, Sequential Read и Sequential Write представляются в виде графиков зависимости скорости выполнения дисковых операций от размера запроса.

Для всех эмулируемых моделей доступа мы устанавливали глубину очереди операций ввода-вывода (# of Outstanding I/Os), равной 1, 2, 4, 8, 16 и 32. При этом отметим, что значение Outstanding I/Os от 1 до 4 является наиболее типичным, а значение 8, 16 и 32 относится к сильной загрузке (стрессовый режим) дисковой подсистемы. Каждый тестовый прогон для отдельного размера запроса составлял 5 мин, а при учете количества различных размеров запроса и Outstanding I/Os весь тест длился непрерывно 20 ч. С учетом того, что диски Seagate Barracuda ATA V имели тенденцию чересчур сильно разогреваться при тестировании в таком стрессовом режиме, мы использовали дополнительную систему охлаждения.

Измеряемым параметром во всех тестах являлась скорость выполнения дисковых операций, измеряемая в мегабайтах в секунду (Мбайт/с).

В начало В начало

Диски

Прежде чем переходить к рассмотрению результатов тестирования, остановимся на самих дисках Seagate Barracuda ATA V (ST3120023AS).

Диск Barracuda ATA V с интерфейсом SATA имеет скорость вращения шпинделя 7200 об./мин и плотность записи 60 Гбайт на пластину. Внутренняя скорость обмена данными составляет до 570 Мбит/с, а время поиска — 9,4 мс при среднем времени задержки 4,16 мс. Особенностью этих дисков является увеличенный до 8 Мбайт размер внутреннего буфера (кэша).

Для снижения уровня шума в этих дисках используются двигатели SoftSonic от Seagate с гидродинамическими (Fluid Dynamic Bearing, FDB) подшипниками, которые уже стали стандартом для каждого диска. В результате уровень шума в режиме ожидания составляет менее 2,5 дБ.

В начало В начало

Результаты тестирования

Итак, обратимся сначала к результатам тестирования утилитой IOmeter. Собственно, слова тут излишни — обо всем достаточно красноречиво говорят представленные графики.

В начало В начало

Тестирование одиночного диска

Прежде всего, рассмотрим графики тестирования одиночного диска Seagate Barracuda ATA V (ST3120023AS). Исходя из того, что по результатам тестирования режимы с различным значением Outstanding I/Os практически совпадают друг с другом, мы приводим графики лишь для значений Outstanding I/Os=1 и Outstanding I/Os=16.

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

Что же касается максимальной скорости чтения/записи, то здесь можно сказать только одно — маловато будет. Впрочем, отдавая должное самому SATA-контроллеру, заметим, что в данном случае он ни при чем. Виноват здесь диск ST3120023AS. Вспомнив результаты тестирования дисков Seagate Barracuda ATA V и Barracuda ATA IV с интерфейсом IDE, отметим, что скорость в 40 Мбайт/с при линейном (последовательном) чтении/записи — это типичное значение для этих дисков.

Утилизация процессора (рис. 2 и 4) в режимах последовательного чтения/записи (составляющая порядка 16-18% при малых размера запроса и уменьшающаяся до 1% при максимальном размере запроса) также типична для дисков данного семейства с интерфейсом IDE. Значение в 18% может показаться слегка завышенным, особенно если принять во внимание, что мы использовали процессор Intel Pentium 4 3 ГГц. Но в любом случае сам SATA-контроллер здесь ни при чем. Кроме того, следует учесть, что в реальных задачах приходится иметь дело с запросами размером более 8 Кбайт, а при таких размерах запроса утилизация процессора не столь велика.

Скорость случайного чтения/записи возрастает пропорционально размеру запроса, достигая наивысшего значения при максимальном размере запроса (рис. 5 и 7). Собственно, такая зависимость скорости вполне типична и ничего неожиданного в данном случае нет. Возможно, максимальное значение 14 Мбайт/с может показаться довольно малым. Но, увы — это особенность режимов случайного доступа, и столь низкое значение скорости наблюдается для всех дисков с любым интерфейсом.

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

В начало В начало

Тестирование RAID-массива уровня 0

В случае объединения двух дисков Seagate Barracuda ATA V в RAID-массив уровня 0 производительность дисковой подсистемы, как и следовало ожидать, возрастает. Особенно заметно это при выполнении последовательных операций чтения и записи (рис. 9 и 11). Интересно отметить, что скорость выполнения последовательных операций практически совпадает для режимов чтения и записи. Как видно, при очередности задач более 4 (Outstanding I/Os>4) скорость последовательного чтения и записи насыщается при размере запроса более 16 Кбайт, достигая значения примерно 80 Мбайт/с.

Учитывая результаты тестирования одиночного диска, можно сказать, что при объединении двух дисков в RAID-массив уровня 0 производительность при выполнении последовательных операций почти удваивается, что, конечно же, является прекрасным результатом.

Утилизация процессора (рис. 10 и 12) в режимах последовательного чтения/записи зависит от глубины очереди задач и размера запроса. Но даже при размере запроса 8 Кбайт утилизация процессора более 10%, что многовато для дисковых операций.

При выполнении операций случайного доступа к дисковой подсистеме (рис.  13 и 15) ситуация несколько иная. Производительность возрастает пропорционально размеру запроса, однако даже при глубине очереди равной 32 не превосходит 20 Мбайт/с при размере запроса 256 Кбайт в режиме чтения. А в режиме записи скорость и того меньше — не более 15 Мбайт/с. Конечно, при такой скорости чтения и записи следует ожидать и незначительной степени утилизации процессора. Так оно и есть — утилизация процессора в обоих режимах не превышает 1% (рис. 14 и 16).

В начало В начало

Выводы

Итак, настало время сравнить конфигурацию с двумя SATA-дисками, объединенными в RAID-массив уровня 0, с конфигурацией с одним SATA-диском.

Прежде всего, в режимах последовательного доступа к дисковой подсистеме (чтение/запись) производительность удваивается в случае объединения двух дисков в RAID-массив уровня 0 (рис. 17 и 18). При этом режимы записи и чтения практически не отличаются друг от друга.

Конечно, при последовательных операциях объединение дисков в RAID-массив уровня 0 является прекрасным способом удвоения производительности дисковой подсистемы, и в этом, несомненно, заслуга SATA RAID-контроллера.

Однако давайте теперь посмотрим на режим случайного доступа к дисковой подсистеме (рис. 19 и 20). К сожалению, в данном режиме не все так хорошо, как хотелось бы, — ни о каком удвоении скорости выполнения операций здесь речи не идет. Более того, в режимах как случайного чтения, так и случайной записи объединение дисков в RAID-массив практически не позволяет получить выигрыша по скорости выполнения операций записи/чтения. А поскольку в реальных приложениях большинство обращений к дисковой подсистеме носит случайный характер, выводы неутешительны. Исходя из этого, можно сделать вывод, что использование такого RAID-массива целесообразно лишь в том случае, когда речь идет о потоковой обработке длинных файлов. Причем это справедливо не только для конкретного RAID-контроллера, но и для RAID-контроллеров вообще, поскольку полученный результат характерен для любого RAID-массива уровня 0 при операциях случайного доступа.

Впрочем, не все так уж плохо, как может показаться из исследования производительности дисковой подсистемы при случайном доступе. Для того чтобы оценить влияние дисковой подсистемы на производительность системы в целом при работе с реальными приложениями, мы провели сравнительное тестирование двух конфигураций популярным тестом SYSmark 2002. В первой конфигурации использовался RAID-массив уровня 0 на двух SATA-дисках Seagate Barracuda ATA V. Во второй мы использовали традиционный IDE-контроллер и диск HITACHI Deskstar IC35L090AVV207 с интерфейсом PATA. При этом отметим, что по своим характеристикам диск HITACHI Deskstar IC35L090AVV207 превосходит диск Seagate Barracuda ATA V. В частности, если для диска Seagate Barracuda ATA V максимальная скорость линейного чтения/записи составляет 40 Мбайт/с, то для HITACHI Deskstar IC35L090AVV207 — это порядка 55 Мбайт/с.

Как видно из результатов сравнительного тестирования (рис. 21), вывод в данном случае совершенно однозначный — в пользу RAID-массива. В тесте SYSmark 2002 Internet Content Creation прирост производительности составляет 1,6%, а в тесте SYSmark 2002 Office Productivity — целых 8,1%. Важно, что в данном случае результаты возрастают при использовании RAID-массива даже несмотря на относительно высокую утилизацию процессора при операциях последовательного доступа к дисковой подсистеме.

 

Редакция выражает признательность московскому представительству корпорации Intel за предоставление материнской платы Intel D875PBZ и процессора Intel Pentium 4 3 ГГц для проведения тестирования.

 


КомпьютерПресс 6'2003