Э. Таненбаум - Архитектура компьютера (1127755), страница 28
Текст из файла (страница 28)
5СЯ1-контроллеры и периферийные 5СЯ1-устройства могут быть источниками или приемниками команд. Обычно контроллер, действующий как источник, посылает команды дискам и другим периферийным устройствам, которые, в свою очередь, являются приемниками. Команды представляют собой блоки до 16 байтов, которые сообщают приемнику, что нужно делать. Команды и ответы на них оформляются в виде фраз, при этом используются различные сигналы контроля для разграничения фраз и разрешения конфликтных ситуаций, которые возникают, если несколько устройств одновременно пытаются использовать шину.
Это очень важно, так как интерфейс 5С51 позволяет всем устройствам работать одновременно, что значительно повышает производительность среды, поскольку активизируются сразу несколько процессов (в качестве примеров можно привести БЫ1Х или !чг!пдотгз ХР). В системах 1РЕ и Е1ПЕ, если одно из устройств работает в активном режиме, остальные обязательно должны быть пассивными. Вспомогательная память 109 ЯАЮ-массивы Производительность процессоров за последнее десятилетие значительно возросла, увеличиваясь почти вдвое кахсдые 1,5 года. Однако с производительностью дисков дело обстоит иначе. В 70-х годах среднее время поиска в мини-компьютерах составляло от 50 до 100 мс.
Сейчас время поиска составляет около 10 мс. Во многих технических отраслях (например, в автомобильной или авиационной промышленности) повышение производительности в 5 или 10 раз за два десятилетия считалось бы грандиозным, но в компьютерной индустрии эти цифры вызывают недоумение. Таким образом, разрыв между производительностью процессоров и дисков все это время продолжал расти. Как мы уже видели, для того чтобы увеличить быстродействие процессора, используются технологии параллельной обработки данных. Уже на протяжении многих лет разным людям приходит в голову мысль, что было бы неплохо сделать так, чтобы устройства ввода-вывода также могли работать параллельно.
В 1988 году в статье 1162) было предложено 6 разных вариантов организации дисковой памяти, которые могли использоваться для повышения производительности, надежности или того и другого. Эти идеи были сразу заимствованы производителями компьютеров, что привело к появлению нового класса устройств ввода-вывода под названием КАПЭ. Изначально аббревиатура КАП) расшифровывалась как Кег?ппг?апг Аггау о? ?пехрепз1че ?Э1з?гз (избыточный массив недорогих дисков), но позже буква 1 в аббревиатуре вместо изначального 1пехрепяче (недорогой) стала означать ?пг?ерепг?епт (независимый).
Может быть, это дало производителям законное право делать диски неоправданно дорогими? КА1?Э-массиву противопоставлялся диск Я?.Е?Э (Яйпй?е ?.агйе Ехрепзгке Ейз?г — один большой дорогостоящий диск). Основная идея КА??Э состоит в следующем. Рядом с компьютером (обычно большим сервером) устанавливается бокс с дисками, контроллер диска замещается КАПЭ-контроллером, данные копируются в КА1?Э-массив, а затем производятся обычные действия.
Иными словами, операционная система воспринимает КА??Э как Я?.Е?Э, при этом у КА??Э-массива выше производительность и надежность. Поскольку БСЯ?-диски обладают высокой производительностью при довольно низкой цене и при этом один контроллер может управлять несколькими дисками (до семи дисков на 8-разрядных моделях 8С8? и до 15 на 16-разрядных), большинство КАПЭ-устройств состоит из БСЯ?-контроллера, предназначенного для управления КАП)-массивом, и бокса ЯСЯ?-дисков, которые операционная система воспринимает как один большой диск.
Таким образом, чтобы использовать КАП)-массив, не требуется никаких изменений в программном обеспечении, что очень выгодно для многих системных администраторов. КА??Э-системы имеют несколько достоинств. Во-первых, как уже отмечалось, программное обеспечение воспринимает КА??Э-массив как один большой диск. Во-вторых, данные на всех дисках КА??Э-массива распределены по дискам таким образом, чтобы можно было осуществлять параллельные операции. Несколько различных вариантов распределения данных, предложенных в 1162~, сейчас известны как КА??Э-массив уровня О, КА??Э-массив уровня 1 и т. д., вплоть до КА??Э-массива уровня 5. Кроме того, существует еще несколько уровней, кото- 1 10 Глава 2. Организация компьютерных систем рые мы не будем обсуждать.
Термин «уровень» несколько неудачный, поскольку здесь нет никакой иерархической структуры. Просто существуют 6 разных вариантов организации дисков. КА1Р-массив уровня 0 показан на рис. 2.19, а. Он представляет собой виртуальный диск, разделенный на полосы (згпрз) по Й секторов каждая, при этом секторы с 0 по 1е — 1 занимают полосу О, секторы с Й по 2Й вЂ” 1 — полосу 1 и т. д. Для Й = 1 каждая полоса — это сектор, для Й = 2 каждая полоса — это два сектора и т.
д. В КА1Р-массиве уровня 0 полосы последовательно записываются по кругу, как показано на рис. 2.19, а. Это называется распределением данных (зтпртпя) по дискам. На рисунке изображен КА1Р-массив с четырьмя дисками. Например, если программное обеспечение вызывает команду для считывания блока данных, состоящего из четырех последовательных полос и начинающегося на границе между полосами, то КАП)-контроллер разбивает эту команду на 4 отдельные команды, каждую для одного из четырех дисков, и выполняет их параллельно. Таким образом, мы получаем устройство параллельного ввода-вывода без изменения программного обеспечения.
КА1Р-массив уровня 0 лучше всего работает с большими запросами — чем больше запрос, тем лучше. Если в запросе требуется задействовать полос больше, чем дисков в КА1Р-массиве, то некоторые диски получают по несколько запросов, и как только такой диск завершает выполнение первого запроса, он приступает к следующему. Задача контроллера состоит в том, чтобы разделить запрос должным образом, послать нужные команды соответствующим дискам в правильной последовательности, а затем правильно записать результаты в память. Производительность при таком подходе очень высокая, и реализовать его несложно.
КА1Р-массив уровня 0 хуже всего работает с операционными системами, которые время от времени запрашивают небольшие порции данных (по одному сектору за обращение). В этом случае результаты окажутся, конечно, правильными, но не будет никакого параллелизма и, следовательно, никакого выигрыша в производительности.
Другой недостаток такой структуры состоит в том, что надежность у нее потенциально ниже, чем у БОЕР-диска. Например, рассмотрим КАП)-массив, состоящий из четырех дисков, на каждом из которых могут происходить сбои в среднем каждые 20 000 часов. То есть сбои в таком КА1Р-массиве будут случаться примерно через каждые 5000 часов,при этом все данные могут быть утеряны. У ВЕЕР-диска сбои происходят также в среднем каждые 20 000 часов, но, так как это всего один диск, его надежность в 4 раза выше. Поскольку в описанной разработке нет никакой избыточности, это «ненастоящий»1 КАП)-массив.
Следующая разновидность — КА1Р-массив уровня 1. Он показан на рис. 2.19, б и, в отличие от КА1Р-массива уровня О, является настоящим КА1Р-массивомз. В этой структуре дублируют все диски, таким образом получается 4 исходных диска и 4 резервные копии. ' На самом деле иастоянтий, но иулевото уровня.
— Примеч. неучи. ред. На рис. 2.19, б изображен КАН1 уровня О е 1, а не уровня 1. — Примеч. научи. ред. Вспомогательная память 1 1 1 ЯА1О уровня О яме уровня 1 ЯА1О ур г ЯА10 уровня 3 ВА1О уровня 4 ЯА1О ур В Рис. 2.19. ЯА1О-массивы с нулевого по пятый уровень. Резервные копии и диски четности закрашены серым цветом 112 Глава 2. Организация компьютерных систем При записи информации каждая полоса записывается дважды. При считывании может использоваться любая из двух копий, при этом одновременно может происходить загрузка информации с большего количества дисков, чем в КАПЭ-массиве уровня О.
Следовательно, производительность при записи будет такая же, как у обычного диска, а при считывании — гораздо выше (максимум в два раза). Отказоустойчивость отличная: если происходит сбой на диске, вместо него используется копия. Восстановление состоит просто в установке нового диска и копировании всей информации с резервной копии на него.
В отличие от уровней О и 1, которые работают с полосами секторов, КА1Р-массив уровня 2 оперирует словами, а иногда даже байтами. Представим, что каждый байт виртуального диска разбивается на два фрагмента по 4 бита, затем к каждому из них добавляется код Хэмминга, и таким образом получается слово из 7 бит, у которого 1, 2 и 4 — биты четности. Затем представим, что 7 дисков, изображенные на рис. 2.19, в, синхронизированы по позиции кронштейна и позиции вращения. Тогда за одну операцию можно записать слово из 7 бит с кодом Хэмминга на 7 дисков, по одному биту на диск.
Подобная схема использовалась в так называемых думающих машинах СМ-2. К 32-разрядному слову с данными добавлялось 6 бит четности (код Хэмминга). В результате получалось 38-разрядное кодовое слово, к которому добавлялся дополнительный бнт четности, и это слово записывалось на 39 дисков. Общая производительность была огромной, так как одновременно могло записываться 32 сектора данных. При утрате одного из дисков проблем также не возникало, поскольку потеря одного диска означала потерю одного бита в каждом 39-разрядном слове, а с этим код Хэмминга справлялся моментально. Однако подобная схема требует, чтобы все диски были синхронизированы по вращению.
Кроме того, ее имеет смысл использовать, только если имеется достаточно большое количество дисков (даже при наличии 32 дисков для данных и 6 дисков для битов четности накладные расходы составляют 19 74). К тому же имеет место большая нагрузка на контроллер, поскольку он должен вычислять контрольную сумму кода Хэмминга при передаче каждого бита.