Обзоры Обзоры 21.09.1999 в 21:00 comment

RAID-системы для серверов начального уровня

author avatar

ITC.UAСтажер

Репутація Наднизька

Неделя ИИ на ITC.ua при поддержке

На ITC.ua Неделя ИИ. Мы исследуем, как именно ИИ улучшает жизнь миллионов людей прямо сейчас и что ждет нас в будущем. Партнер проекта – компания Favbet Tech, которая активно интегрирует ИИ в свои продукты.

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

     Будем полагать, что читатель знаком с общими принципами построения RAID-систем. Данному вопросу было посвящено много публикаций. В частности, развернутое обсуждение архитектуры RAID приведено в "Компьютерном Обозрении", # 25, 1999. В этом же номере содержится краткое описание современных RAID-контроллеров, а именно: Mylex (модели AcceleRAID 150, 200 и 250), AMI (MegaRAID Express 762 и 466) и DPT (Decade и Century). В предлагаемом материале изложены результаты испытаний нескольких систем на базе вышеупомянутых контроллеров, выполненных в фирме "ЕПОС". Основное внимание было уделено вопросам производительности в серверах начального уровня.
     

     Особенности реализации
     RAID в серверах начального уровня

     Наиболее привлекательной чертой серверов начального уровня является их стоимость. В конструкции таких моделей применяются самые массовые и, соответственно, дешевые элементы. Поэтому сервер начального уровня базируется на платформе Intel. В таких серверах устанавливается, как правило, от двух до четырех жестких SCSI-дисков. Из них программно или аппаратно формируется RAID-массив уровня 1, 5 или, в отдельных случаях, комбинированного уровня 0+1.

     Программно RAID реализуется средствами операционной системы. Это RAID уровня 1 ("зеркалирование") в ОС Novell, Windows NT или уровня 5 в Windows NT. Подобная реализация RAID обладает меньшей, по сравнению с аппаратной, производительностью, и, что самое основное, при этом всеми вопросами организации записи или считывания занимается центральный процессор. И вопрос состоит даже не в том, сколько процессорного времени тратится на дисковые операции. Главное, центральный процессор оптимизирован для выполнения работы с памятью, а не с периферийным оборудованием. Более того, прерывания от периферийных устройств мешают работе конвейера команд центрального процессора, что значительно ухудшает общую производительность системы. И, наконец, даже если устройство работает в режиме с прямым доступом к памяти, все равно на это тратится часть циклов процессора. Понятно, что программная реализация RAID допустима только в самых младших моделях.

     В хороших серверах RAID всегда поддерживается аппаратно. Как правило, используются RAID-контроллеры типа "PCI-to-SCSI". Несмотря на относительно низкую стоимость, в них применяются последние достижения технологии RAID и построения систем ввода/вывода.

     Основные особенности архитектуры современных контроллеров — это поддержка технологии I2O и кэш-памяти большого объема с использованием различных, в том числе и адаптивных, алгоритмов кэширования.
     

     Технология I2O в RAID-контроллерах

     I2O (Intelligent Input/Output) — это спецификация, определяющая стандартную архитектуру интеллектуального ввода/вывода, не зависящую от конкретных устройств и операционной системы. Идея технологии I2O заключается в том, чтобы за счет применения отдельного процессора ввода/вывода разгрузить центральный процессор. Все низкоуровневые прерывания, поступающие от периферийных устройств, обрабатываются не центральным, а специализированным процессором ввода/вывода (IOP). Конечно, IOP применяются уже давно в больших ЭВМ. Но наличие отдельного процессора, даже занятого операциями ввода/вывода, еще не означает наличия I2O. В конце концов, микропроцессоры встроены сейчас в каждый жесткий диск. Речь идет о новом подходе к реализации известного решения. Спецификация I2O предполагает разбиение драйвера устройства на две части: зависимый от ОС модуль OSM (Operation System Services Module) и аппаратно-зависимый модуль HDM (Hardware Device Module). Благодаря этому в значительной мере решается задача устранения зависимости от конкретной операционной системы. Под конкретную ОС разрабатывается только драйвер OSM. В соответствии с концепцией любое I2O-совместимое устройство (в нашем случае контроллер) не требует установки каких-либо драйверов.

     В контексте же повышения производительности системы технология I2O предусматривает еще два нюанса, может быть, на первый взгляд и не очевидных. Во-первых, это наличие так называемых промежуточных служебных модулей ISM (Intermediate Service Module). Они могут решать задачи, связанные с обработкой данных, но не имеющие к вводу/выводу непосредственного отношения. В рассматриваемом случае это, например, алгоритмы вычисления избыточной информации. Кроме того, промежуточные служебные модули обеспечивают непосредственный обмен данными между периферийными устройствами. Во-вторых, все операции выполняются специализированным процессором i960, который несмотря на свой весьма почтенный возраст идеально приспособлен для задач такого класса.
     

     Буферизация и кэширование
     в RAID-контроллерах

     Современные контроллеры для серверов начального уровня обычно используют кэш-память объемом от 4 до 128 МВ. Поскольку контроллер предназначен для выполнения конкретных задач, это позволяет применять очень эффективные алгоритмы кэширования. Собственную кэш-память имеет к тому же и каждый жесткий диск. Более того, SCSI-диски в состоянии запомнить десятки запросов и выполнять их в порядке, оптимизирующем производительность дисковой подсистемы.
     

     В каких "попугаях" измеряется
     производительность сервера?

     Традиционно в качестве характеристики производительности жестких дисков выступала скорость передачи при чтении или записи файлов. Однако в последнее время произошел довольно резкий поворот от файл-серверов к серверам приложений. Internet/intranet и клиент-серверные приложения генерируют многочисленные запросы к дисковой системе, однако каждый запрос незначителен по объему. Для оценки производительности при интенсивной передаче небольших по объему порций данных скорость обмена, в принципе, не подходит. Время передачи данных, которое определяется скоростью передачи, становится соизмеримым со временем доступа к данным или даже меньше него. В этих условиях более адекватной характеристикой производительности будет время ожидания обслуживания, т. е. отрезок времени между моментом поступления запроса на запись или чтение и моментом получения данных. Более того, сервер — это не индивидуальный компьютер. Он предназначен для обслуживания группы пользователей. Каждый из них независимо от других генерирует свою серию запросов к дисковой системе, а современные ОС позволяют формировать одновременно несколько запросов. В этих случаях при поступлении очередного запроса система (RAID) может быть занята обслуживанием предыдущих. Новый запрос становится в очередь, и продолжительность ожидания обслуживания для него увеличивается. Поэтому производительность дисковой системы сервера корректно оценивается по времени ожидания обслуживания при большом потоке запросов на чтение/запись. Но и этого мало. Для RAID любого уровня, и особенно для популярного уровня 5, характерна существенная разница в производительности при выполнении операций записи и чтения. В реальных условиях пользователи работают независимо друг от друга, и когда некоторые из них занимаются чтением данных, другие могут производить их запись. Поэтому для оценки производительности RAID-систем принято применять среднее время ожидания обслуживания для смеси различных потоков запросов, в которой запросы на запись составляют 25—30% от общего количества.

     RAID-системы в картинках

     В свете вышесказанного, в первую очередь, естественно, нас должно заинтересовать, а насколько же технология I2O разгружает центральный процессор. Ответ на этот вопрос дает измерение степени загрузки центрального процессора при различных режимах работы. Усредненные данные приведены на рис. 1.

     В данном тесте подключался только один диск, вначале к интегрированному на материнской плате SCSI-контроллеру, а затем — к RAID-контроллеру. Проводилась серия измерений по обработке множества (до 100) потоков запросов на запись/чтение с последующим усреднением результатов. Никакие особенности RAID в этом случае, конечно, не влияют на результат. Даже при установке только одного жесткого диска (рис. 1) технология I2O, применяемая в современных RAID-контроллерах, уменьшает загрузку центрального процессора примерно в 3,5 раза.

     Сокращение времени загрузки процессора, наверное, не является самоцелью. Гораздо важнее сопутствующее этому повышение производительности дисковой системы, результаты измерения которой приведены на рис. 2.

     Современный контроллер повышает производительность даже в случае одного диска. Так, в частности, среднее время ожидания обслуживания при потоке 100 заявок уменьшается более чем в 2 раза.

     А как же влияет на производительность объединение дисков в массив? Для этого проведена серия измерений производительности RAID различных уровней при разном количестве дисков. Так, на рис. 3 показаны результаты для RAID уровня 5 с контроллером AMI. Внутренняя кэш-память контроллера была выключена.

     Как и следовало ожидать, производительность RAID-массива тем больше, чем больше в нем дисков.

     Посмотрим теперь, как же помогает общей задаче повышения быстродействия кэш-память контроллера. Для начала обратим внимание на некоторые нюансы работы кэш-памяти с дисковыми накопителями и, в особенности, с RAID. На рис. 4 приведены результаты измерения производительности одного диска, подключенного к контроллеру AMI, полученные с помощью утилиты HD Tаch (по оси абсцисс — скорость обмена (KBps), по оси ординат — объем диска, проходимый головками в процессе выполнения теста (GB)).

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

     Если же к контроллеру подключен не один диск, а массив, то характер кривых значительно изменяется. Результаты для RAID уровня 5, содержащего три диска, — на рис. 5.

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

     Все рассмотренные выше технологические возможности, примененные в комплексе, позволяют даже в серверах начального уровня сформировать дисковую систему с весьма высокой производительностью. Так, на рис. 6 приведены результаты измерения производительности RAID-массивов различного уровня, сформированных на четырех жестких дисках с использованием контроллера Mylex AcceleRAID 250.

     Обратите внимание на значительное увеличение времени ожидания обслуживания для RAID уровня 3 и 5 по сравнению с RAID уровня 0+1, начинающееся при числе потоков более 50. Это связано с недостаточной производительностью собственно дисковой системы. Кэш-память заполняется очень быстро, и последующие запросы вынуждены ждать, когда данные из кэш-памяти перепишутся на относительно медленные диски. RAID уровня 0+1 является самым быстрым из всех уровней. К тому же он позволяет эффективнее использовать кэш-память контроллера.

     RAID уровня 5 и 3 практически не отличаются друг от друга. Это связано отчасти с тем, что в контроллерах Mylex и AMI реализация RAID уровня 3 выполнена несколько иначе, чем рекомендовано RAB. Расслоение данных по дискам осуществляется поблочно, а не побитово. Кроме того, диски, естественно, не были синхронизированы. В контроллерах DPT уровень 3 вообще не реализован, поскольку в серверах практически не применяется.

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

Favbet Tech — украинская продуктовая компания, разработчик iGaming-решений. Входит в топ-50 крупнейших IT-компаний Украины по версии DOU. Специализируется на высоконагруженных системах, облачной инфраструктуре и искусственном интеллекте. В 2025 году стала инициатором создания АИ-комитета Ассоциации «ИТ Ukrainе» — первого отраслевого объединения, занимающегося вопросами развития АИ на уровне бизнеса и государства.

Що думаєте про цю статтю?
Голосів:
Файно є
Файно є
Йой, най буде!
Йой, най буде!
Трясця!
Трясця!
Ну такої...
Ну такої...
Бісить, аж тіпає!
Бісить, аж тіпає!
Loading comments...

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: