1626434812-e667f6b6e7e69d3a0798830a58e9075b (844135), страница 63
Текст из файла (страница 63)
При записи данные разбиваются на порции фиксированного размера и распределяются по дискам в особом порядке, определяемом используемой схемой ЙА10. При этом возможна одновременная запись на разные диски, что ускоряет запись данных. Чтение данных выполняется путем сбора порций данных с разных дисков также в порядке, определяемом используемой схемой КА10, Распределение данных малыми порциями по разным дискам создает условия для увеличения пропускной способности операций чтения и записи, а также "размазывает" данные по дискам, что исключает частые обращения к одному диску, могущие привести к его преждевременному выходу из строя.
М"лава 10. Параллельные базы данных В контроллерах вводится память для промежуточной буферизации данных при прсдвыборках данных и отложенных операциях ввода-вывода. Наряду с увеличснием пропускной способности это приводит к усложнению управления и повышению вероятности отказа контроллера. 10.5.7.2. Варианты построения КА10 Существует ряд КА10 О, КАЮ 1„..., КА10 б классических вариантов [82— 841, отличающихся способом распределения по дискам порций данных и кодов для восстановления утраченных порций, а также алгоритмов формирования этих кодов.
В качестве последних могут использоваться дополнение до четности (нечетности), коды Хемминга, коды Рида-Соломона. Рассмотрим кратко основные варианты КА10. Вариант КА10 О распределяет порции данных по дискам массива, записывая, например, первую порцию на первую дорожку первого диска, вторую порцию — на псрвую дорожку второго диска, к-тую порцию — на первую дорожку последнего к-го диска, следующую (к+1)-вую порцию — на вторую дорожку первого диска и так далее. Такое распределение данных позволяет одновременно записывать и считывать порции данных с разных дисков в пределах возможностей контроллеров по доступу к дискам. При этом разные каналы контроллера могут работать одновремешю, а в пределах одного канала возможно мультиплексирование, как, например, в случае использования канала БСБ1.
КАЮ О не вводит избыточности данных, то есть нс повышает надежность, но увеличивает пропускную способность создаваемого логического (виртуального) диска с емкостью, равной сумме емкостей дисков массива. Вариант КАЮ 1 дублирует записываемые данные на два диска. Возможно использование произвольного числа пар дисков с чередованием записи последовательных порций данных, как, например, в КАЮ О. Разные порции данных могут одновременно считываться с разных дисков пары.
Это, а также использование нескольких пар дисков увеличивает пропускную способность образуемого логического диска. КАЮ 1 позволяет продолжать непрерываемое функционирование при отказе одного диска каждой пары. Вариант КАЮ 2 предусматривает разбиение дисков массива на две группы; диски, на которые записываются порции данных, и диски, на которые записываются коды контроля и восстановления данных, например, коды Хемминга.
Данные пишутся на диски побитно: первый бит- на диск 1, второй — на диск 2, к-й бит пишется на последний в группе к-й диск, (к+1)-й бит — снова пишется на диск 1. Соответственно на диски, начиная с к+1, записываются контрольные коды. В случае отказа любого из дисков данные, хранящиеся на нем, могут быть восстановлены с использованием данных с остальных дисков. В этом вариантс за счет усложнения контроллера создается логический диск повышенной надежности и пропускной способности. Базы данных. Интеллектуальная обработка информации Вариант КАЮ 3 предусматривает поочередную циклическую запись байтов на разные диски массива с записью контрольных сумм данных по модулю 2 на специально выделенный диск. Сохранность данных проверяется путем подсчета контрольных сумм при считывании данных и сравнении их с созданными при записи данных. Вариант КАЮ 4 отличается от КА1Р 3 тем, что поочередно на диски записываются порции данных„большие, чем байт.
Контрольные суммы по модулю 2 сегментов дисков также хранятся на специальном диске. В этом варианте возможны одновременные считывания данных с разных дисков, но запись может выполняться только на один диск, так как при всех записях используется один и тот же диск для хранения контрольных сумм. Вариант ВАЮ 5 отличается от КА1Р 4 тем, что использует для хранения контрольных сумм те жс диски, что и для хранения порций данных, равномерно распределяя контрольные суммы по дискам.
Это позволяет производить одновременные записи на разные диски в отличие от КА10 4. Различные варианты КА10 характеризуются количеством избыточных дисков„числом дисков, одновременный отказ которых приводит к потере данных, а также показателями достигаемых значений пропускной способности в определенных режимах использования. Скорость вращения дисков, достигающая 10000 об/и, и тактовые частоты современных микропроцессоров, составляющие 100 МГц 11071 и выше, позволяют без особых проблем справиться с формированием проверочных кодов в КА10. Шины передачи данных между процессором и устройствами хранения данных поддерживают пропускную способность на уровне 100 Мбайте, что также разрешает проблемы, связанные с сетевым доступом к дисковым массивам. Кроме того, некоторые шины, например, ГС-А1, имеют интерфейс сетевых протоколов ТССР, НЭ01, АТМ, что позволяет подключать устройства хранения данных непосредственно к сетям.
Параметры злектромеханических устройств хранения данных улучшаются существенно медленнее, чем электронных компонент микропроцессоров и микросхем памяти. Поэтому контроллеры дисковых массивов становятся в состоянии иметь внутри буферизацию данных в кэш-памяти и выполнять промежуточный контроль и восстановление данных во встроенном микропроцессоре. 10.5.7.3. Примеры дисковых массивов Зависимость эффективности вариантов КАЮ от противоречивых требований привела к тому, что в современных массивах используются гибкие перенастраиваемые схемы размещения порций данных. Например, вариант КАЮ 15 предполагает построение двух дублирующих друг друга КА10 5. В качестве другого примера можно привести КА10-контроллер фирмы РЕС, который мо- 335 Глава 1д.
Параллельные базы данных жет самостоятельно анализировать поток обращений к дискам и применять КА10 3 для обслуживания запросов больших блоков данных и КА1Р 5 при работе с короткими блоками данных. Некоторые массивы допускают разбиение на группы дисков, в каждой из которых реализуется свой вариант КА10.
Например, контроллер семейства ЕЧ- 200 фирмы Меда0пче Був1етв имеет возможность аппаратной реализации вариантов КА10 О, 1, 10, 3, 5 на разных группах дисков. Вообще разнообразие вариантов далеко нс исчерпывается упомянутыми, В том числе, строятся иерархические схемы, в которых группы дисков формируют логические диски, из которых, в свою очередь, структуры КА10.
В таких массивах применяются высокоскоростные шины, например, ГС-А1, что позволяет строить разнесенные на значительные расстояния отказоустойчивые дисковые системы, 10.5.7.4. Технология дискового кэширования При использовании как отдельных дисков, так и КА10 систем возникает проблема "коротких записей", состоящая в том, что при записи коротких блоков данных существенно снижается пропускная способность обращений к дисковой памяти. В этом случае время подготовительных операций (задержка в контроллере, позиционирование головок, подвод требуемого сектора) сушественно превышает время самой записи. В современных системах используются большие полупроводниковые кэш-памяти для уменьшения задержки доступа к дискам.
Однако использование энергозависимых микросхем памяти создает проблемы с сохранением данных при нарушении питания. Поэтому, как правило, использование кэш-памяти более существенно ускоряет операции чтения, чем записи. Это обусловлено необходимостью записывать данные на диск для устранения их потери при отказах кэш-памяти. Еще одним подходом служит развитие файловой системы путем введения 1Л ( 1ор~пьсйгед Ие вузов). Из совокупности коротких записей в кэш-память формируется большой 1од, который при заполнении кэш-памяти записывается на диск как один файл за одну операцию записи.
Однако при этом в случае большого (80'.4 и более) заполнения диска пропускная способность снижается. Характерной особенностью использования дисков служит то, что среднее количество обращений в сотни, а то и в тысячи раз меньше, чем пиковое. Например, при работе с базой данных на гигабайт данных приходится в среднем 3.5 обращения в секунду, при этом в пике достигается 1250 операций чтения и 440 операций записи в секунду 11021. Для того чтобы справиться с такими пиковыми нагрузками, надо иметь либо большой кэш, либо распараллеливать обращения на не менее чем 10 дисков в КА10. Оба варианта являются весьма неудовлетворительными по отношению "пропускная способность/стоимость". Базы данных.
Интеллектуальная обработка информации Для прсодоления этого недостатка предлагается использовать маленькую электронную кэш-память из микросхем 0КАМ и кэш-диск, образующие в совокупности кэш-память записываемых данных 11021. При заполнении электронной кэш-памяти ее содержимое одной операцией записи переносится на кэш-диск. Данные с кэш-диска переносятся на диск данных при отсутствии обращений к диску данных. Тем самым создаются условия для обслуживания пиковых нагрузок на дисковую систему и снижается стоимость системы. 10.5.7.5.
Дисковый массив 083000 фирмы НЕС Этот массив формируется из 3.5" дисков объемом 9 Гбайт (в дальнейшем возможно 18 Гбайт) 11051. Общее количество дисков массива может достигать 200. Внутри массива имеется до 1б Гбайт кэш-памяти. Структура массива 033000 показана на рис, 10.16. Основу дискового массива составляют дублированные внутренние шины, обеспечивающие доступ к кэш-памяти с пропускной способностью 400 Мбайт~с адаптеров (управляющих карт) Н0 интерфейса ГС-А1., с одной стороны, и соответственно также с пропускной способностью 400 Мбайте адаптеров (управляющих карт) 00 дисковых контроллеров, с другой стороны, Блок управления внутренними шинами использует кэш-память как буфер между внешним потоком обращений, поступающил~ из всех имеющихся Н0, и внутренним потоком, организуемым всеми 00. Блок управления внутренними шинами может иметь до 44 каналов прялюго доступа в кэш-память (0МА), которые управляют передачей данных между адаптерами Н0 и кэш-памятью, а также адаптерами 00 и кэш-памятью.