Параллелизм и ввод-вывод: избыточные массивы недорогих дисков

Закон Амдала в главе 1 говорил, насколько опрометчиво пренебрегать вводом-выводом в сегодняшней революции параллельных вычислений. Это можно продемонстрировать на простом примере.

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

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

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

В качестве отрицательного аргумента утверждалось, что дисковые массивы могут снизить надежность. Эти небольшие, недорогие накопители имеют более низкие уровни MTTF, чем большие накопители, но, что более важно, за счет замены одного накопителя, скажем, пятьюдесятью небольшими накопителями интенсивность отказов возрастает как минимум в 50 раз!

Решением стало добавление избыточности, чтобы система могла справляться с отказами дисков без потери информации. При наличии множества небольших дисков расходы на дополнительную избыточность для повышения готовности невелики относительно расходов, которые требуются для решений, связанных с применением небольшого количества крупных дисков. Таким образом, безотказность была более доступной по цене при создании избыточного массива недорогих дисков. Это наблюдение легло в основу его названия: избыточные массивы недорогих дисков – redundant arrays of inexpensive disks, сокращенно RAID.

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

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

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

Название RAID 0 употребляется неправомерно, поскольку в этом массиве отсутствует избыточность. Но уровни RAID-массивов часто указываются оператору для настройки, и RAID 0 часто присутствует в качестве одного из вариантов. Этим и объясняется широкое распространение названия RAID 0.

Зеркальное копирование

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





Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: