Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
archit_2.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
6.2 Mб
Скачать

§ 1.5. Производительность raid

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

Рассмотрим, каким же образом принципы, заложенные в RAID различного уровня, влияют на время ожидания обслуживания.

RAID разного уровня, естественно, по-разному ведут себя при увеличении количества запросов. Это связано в первую очередь с соотношением размера блоков на дисках и размера записываемых (считываемых) данных. Для иллюстрации на рис. 1.5.1 [7] приведено соотношение размера запросов и размера блоков для двух случаев: запись или чтение большого файла ("длинный" запрос) и малого файла ("короткий" запрос).

Рис. 1.5.1. Соотношение длины запросов и размера логических блоков

Данный рисунок соответствует RAID уровня 3 или 4 (в зависимости от величины запроса на обслуживание), организованного на трех дисках.

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

"Короткий" запрос соответствует режиму работы RAID уровня 4 или 5. Если размер записываемого файла меньше чем размер логического блока, то такой файл, естественно, не может быть разбит на части. Он весь размещается на каком-либо одном диске. Поэтому и скорость записи должна была бы быть точно такой, как и при записи на одиночный диск. Однако контрольная информация, связанная с модифицируемым блоком, соответствует всему блоку, а не только той части, которая модифицируется. Поэтому реально, чтобы выполнить запись, необходимо вначале считать модифицируемый блок и контрольную сумму, затем вычислить новое значение контрольной суммы и только после этого записать модифицированный блок и новое значение контрольной суммы. Вместо операции записи в RAID-5 и -4 фактически осуществляется операция "чтение-модификация-запись". Таким образом, в RAID уровня 4 и 5 скорость записи практически вдвое хуже, чем при использовании одиночного диска. Это – самая большая проблема в RAID уровня 5, и производители RAID-контроллеров ведут интенсивные работы по ее преодолению. Однако наличие такой проблемы еще не говорит о том, что RAID уровня 5 обладает низкой производительностью или уступает по этому показателю RAID уровня 3. При чтении, RAID уровня 4 или 5 может одновременно обслужить несколько запросов, благодаря чему производительность RAID уровня 5 может оставаться высокой даже при весьма интенсивном потоке запросов на обслуживание. В RAID уровня 5 одновременно также может обслуживаться и несколько запросов на запись. Именно для этого контрольная информация размещается не на одном диске, а чередуется на всех. Поэтому, в целом, время ожидания обслуживания при интенсивном потоке малых запросов в RAID уровня 5 оказывается лучше, чем, например, в RAID уровня 3.

В заключение рассмотрим способы реализации RAID систем. Существуют три основных варианта:

  • программная (software-based);

  • аппаратная - шинно-ориентированная (bus-based);

  • аппаратная - автономная подсистема (subsystem-based).

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

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

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

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

Шинно-ориентированные реализации представляют собой RAID контроллеры, которые используют скоростную шину компьютера, в который они устанавливаются (в последнее время обычно используется шина PCI). В свою очередь шинно-ориентированные реализации можно разделить на низкоуровневые и высокоуровневые. Первые обычно не имеют SCSI чипов и используют так называемый RAID порт на материнской плате со встроенным SCSI контроллером. При этом функции обработки кода RAID и операций ввода/вывода распределяются между процессором на RAID контроллере и чипами SCSI на материнской плате. Таким образом, центральный процессор освобождается от обработки дополнительного кода и уменьшается шинный трафик по сравнению с программным вариантом. Стоимость таких плат обычно небольшая, особенно если они ориентированы на системы RAID 0 или 1 (есть также реализации RAID 3,5,10,30,50, но они дороже), благодаря чему они понемногу вытесняют программные реализации с рынка серверов начального уровня. Высокоуровневые контроллеры с шинной реализацией имеют несколько другую структуру, чем их младшие братья. Они берут на себя все функции, связан­ные с вводом/выводом и исполнением RAID кода. Кроме того, они не так за­висимы от реализации материнской платы и, как правило, имеют больше возможностей (например, возможность подключения модуля для хранения информации в кеш в случае отказа материнской платы или исчезновения питания). Такие контроллеры обычно стоят дороже низкоуровневых и используются в серверах среднего и высокого уровня. Они, как правило, реализуют RAID уровней 0,1,3,5,10,30,50. Учитывая то, что шинно-ориентированные реализации подключаются прямо к внутренней PCI шине компьютера, они являются наиболее производительными среди рассматриваемых систем (при организации одно-хостовых систем). Максимальное быстродействие таких систем может достигать 132 Мбайт/с (32bit PCI) или же 264 Мбайт/с (64bit PCI) при частоте шины 33MHz.

Вместе с перечисленными преимуществами шинно-ориентирован­ная архитектура имеет следующие недостатки:

  • зависимость от операционной системы и платформы;

  • ограниченная масштабируемость;

  • ограниченные возможности по организации отказоустойчивых систем.

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

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

Учитывая вышесказанное, отметим, что автономные контроллеры обычно используются для реализации высокоемких хранилищ данных и кластерных систем.