Набор микросхем со встроенным RAID-контроллером (сверху) и дискретный RAID-контроллер |
Еще три года назад (см. «RAID IDE — в массы» в «Мире ПК» №4/01, с.18) наш журнал предсказывал включение RAID-контроллера в состав стандартной периферии ПК. И вот сегодня появилось уже немало системных плат, в которых контроллер Serial ATA RAID встроен в набор микросхем (НМС). В этой связи интересно рассмотреть все возможные способы организации RAID-массива на ПК с использованием сравнительно недорогих дисков Serial ATA (SCSI не рассматривается, так как используется обычно не в ПК, а в специализированных компьютерах, серверах или рабочих станциях и, кроме того, лежит в совершенно другом ценовом диапазоне). А вариантов здесь только три: контроллер, встроенный в НМС, контроллер в виде отдельного чипа, впаянного в системную плату, и внешний контроллер, подключаемый через PCI либо другую стандартную шину.
В качестве примера были рассмотрены две системы в следующих конфигурациях. Первая: ЦП — AMD Athlon XP 2700+ (2167 МГц); ОЗУ — 512 Mбайт DDR SDRAM PC-2700 (два модуля по 256 Mбайт); системная плата — Albatron KX18D Pro II. Вторая: ЦП — Intel Pentium 4 на 3 ГГц; ОЗУ — 512 Mбайт DDR SDRAM PC-3200 (два модуля по 256 Mбайт); системная плата — Intel D875PBZ.
Остальные компоненты обеих систем были одинаковыми.
Видеосистема — nVidia FX 5900 Ultra, эталонная плата; жесткий диск с системой Seagate ST3160023A, 160 Гбайт UDMA100; RAID-массив — два диска Seagate ST3120023AS, 2x120 Гбайт SATA (Barracuda SATA V); привод CD-ROM — Lite On LTN483L 48x; дисковод — Sony MPF920-E; блок питания — VT-420LD (400 Вт); операционная система — Windows XP + SP1.
В системе на процессоре AMD был применен впаянный в системную плату RAID-контроллер Silicon Sil3112, на процессоре Intel — контроллер, встроенный в южный мост НМС Intel 82801EB (ICH5). Кроме того, обе платы подверглись тестированию также с установленным внешним PCI-контроллером: ATA RAID.
Последний, к сожалению, не может полностью реализовать все свои возможности на ПК, так как рассчитан на работу с 63-разрядной 66-МГц PCI. К счастью, он обладает и обратной совместимостью со стандартной для ПК 32-разрядной 33-МГц PCI, но скорость обмена при этом лимитируется низкой пропускной способностью последней.
Для сравнения были проведены также тесты производительности единственного накопителя, подключенного к встроенному в плату контроллеру Serial ATA.
В RAID-контроллерах для ПК традиционно используются только RAID-массивы двух уровней — 0 и 1. Уровень 0 — объединение двух или более дисков в один том суммарного объема без повышения надежности хранения данных (строго говоря, надежность даже падает, поскольку при выходе из строя любого диска теряется вся информация RAID-массива). Уровень 1 — полное «зеркалирование», два диска содержат идентичную информацию, при этом в случае выхода из строя одного накопителя вся информация остается на другом. Контроллер на плате расширения обладает большей функциональностью (см. врезку на диске).
При использовании в ПК больший интерес представляет уровень 0, именно в этом режиме и было проведено тестирование.
Широко распространено мнение, что при объединении двух дисков в массив уровня 0 скорость работы дисковой подсистемы удваивается. К сожалению, это не так. Удваивается только устоявшаяся скорость записи/чтения, и то лишь в том случае, когда такую скорость может обеспечить интерфейс. Второй, пожалуй, даже более важный параметр — среднее время доступа, наоборот, может несколько увеличиться. Последнее связано с тем, что среднее время ожидания, пока диск повернется так, чтобы нужный сектор оказался под головкой чтения, при единственном накопителе равно половине периода оборота. В случае же двух накопителей и необходимости прочитать данные с обоих (длина фрагмента превышает длину блока, на которые разбивается физический накопитель, обычно — 64 Кбайт) время ожидания равно максимуму из времен ожидания для двух накопителей, что в среднем составляет 2/3 периода оборота. График отношения скорости чтения RAID-массива к скорости чтения единственного накопителя в зависимости от объема читаемого фрагмента данных приведен на «Мир ПК-диск».
К счастью, «провал» в скорости небольшой и возникает только при чтении. Но, увы, во многих случаях размер дискового буфера выбирается как раз вблизи области «провала». В частности, это относится к системным файловым функциям ОС Windows.
От теории к практике
В диаграмме на «Мир ПК-диск» приведены значения скорости обмена при использовании стандартных драйверов BIOS. Практика показывает, что в этом режиме встроенные в НМС контроллеры обладают очень невысокой производительностью, и Intel 82801EB не стал исключением. Лидирует же впаянный в плату Silicon Sil3112. Сравнительно низкий результат RAID-адаптера на PCI-плате расширения объясняется малой пропускной способностью шины PCI.
Платы расширения дают большую функциональность, но требуют более серьезных, чем 32-разрядная PCI, разъемов расширения |
Профили скорости обмена для режимов записи, чтения и верификации с помощью функций BIOS для наиболее быстрого случая (AMD+Silicon) приведены на «Мир ПК-диск». При этом истинная скорость RAID-массива может быть получена только в режиме верификации — когда данные считываются с диска, но не «прокачиваются» через интерфейс. Скорости же записи и чтения «обрезаются» по пропускной способности интерфейса. Там же показан профиль обмена для единственного накопителя. Приведен профиль верификации, но профили записи и чтения его в точности повторяют (см. на диске).
Однако обмен посредством функций BIOS не характерен для современных многозадачных сред. Обычно они используют собственные дисковые драйверы. В этом случае определить соответствующие характеристики накопителей можно с помощью утилиты HDTach (диаграмма «Результаты измерений HD Tach»). К сожалению, разработчик любой тестовой утилиты вынужден выбирать между достоверностью результатов и удобством утилиты для простого пользователя, и зачастую этот вопрос разрешается не в пользу достоверности. Если для обычных накопителей результаты HDTach еще выглядят правдоподобно, то при исследовании RAID-массивов можно получить профиль, не имеющий ничего общего с действительностью, как это показано на рисунке (см. «Мир ПК-диск»).
Другой вариант — «быстрое» измерение среднего времени доступа. При втором прогоне этой утилиты встроенный буфер RAID-контроллера, заполненный в первом проходе, взял на себя всю нагрузку по «поиску сектора», в результате чего измерению подверглась скорость реакции буфера, а не дискового массива.
В целом же наилучший результат опять показал Silicon, но и встроенный в НМС контроллер производства Intel реабилитировал себя. На последнем месте — шина PCI. Ее пропускной способности уже не хватает для адекватного функционирования дискового контроллера.
Последующие тесты проводились с использованием файловой системы, что, помимо контроллера, нагружает также центральный процессор и оперативную память. В частности, производительность может зависеть от используемой файловой системы. Поэтому были исследованы как FAT32, так и NTFS. Результаты измерения производительности при файловых операциях представлены на диаграмме «Скорость...». Необходимо помнить, что данные для платформ Intel и AMD получены для заметно различающихся по производительности процессоров и при использовании памяти, имеющей также различную скорость обмена. Поэтому непосредственное сравнение результатов, полученных на двух различных платформах, неправомерно.
Последняя группа тестов — реальные приложения, активно использующие дисковый ввод-вывод. Среди них компрессия и декомпрессия 22 607 файлов общим объемом 842 401 793 байта при размере архива 33 3547 879 байт, а также перекодирование видеофайла разрешением 352x240 продолжительностью 54 мин 14 с из формата MPEG-1 в формат DivX (диаграмма на «Мир ПК-диск»).
Среди результатов выполнения реальных приложений есть и такие, где заметно ухудшение скоростных показателей RAID-массива по сравнению с единственным накопителем. Это еще одно свидетельство того, что Windows использует неоптимальный с точки зрения RAID-массива объем внутренних буферов.
Выводы
Применение RAID-массива уровня 0 не всегда приводит к увеличению производительности дисковой системы при использовании имеющегося ПО. Поэтому рекомендовать широкое применение RAID в ПК для увеличения производительности вряд ли целесообразно.
Хотя встроенные в НМС RAID-контроллеры и являются самым недорогим решением, лучшей производительности можно добиться от впаянных в системную плату дополнительных микросхем. Впрочем, разница в быстродействии не так уж велика, а в большинстве случаев и вообще может оказаться исчезающе малой.
Применение внешних контроллеров в ПК, не оснащенном скоростными вариантами шины PCI, нецелесообразно из-за низкой пропускной способности шины. Для рабочих станций и серверов выпускаются решения типа Adaptec Serial ATA RAID 2410SA, рассчитанные на 64-разрядную 66-МГц шину PCI (см. на диске врезку «RAID-контроллер Adaptec...»).
Редакция благодарит российское представительство Intel и компанию Albatron за предоставленное для тестирования оборудование.