Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебник ОЭВМ Трусфус.doc
Скачиваний:
126
Добавлен:
12.03.2015
Размер:
4.82 Mб
Скачать

Глава 10. Организация системы памяти на жестких дисках

10.1.Дисковые массивы и уровни raid

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

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

Это диски, организованные в систему уровней RAID.

Первые публикации по этой системе сделали в 1987 году три американских исследователя - Паттерсон, Гибсон и Катц из Калифорнийского университета Беркли в статье "A Case for Redundant Arrays of Inexpensive Discs (RAID) " – массив дешевых магнитных дисков. Авторы рассчитывали на использование дешевых дисков для PC.

Но для самых первых систем RAID, пришлось устанавливать очень дорогие дисковые устройства от мэйнфреймов. Поэтому и аббревиатуру RAID стали расшифровывать как "Redundant Arrays of Independent Discs" – избыточный массив независимых дисков.

Одним из способов повышения быстродействия (увеличение полосы пропускания) является использование параллелизма путем объединения нескольких физических дисков в матрицу (группу) с организацией их работы аналогично одному логическому диску.

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

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

Вариантов построения систем с RAID существует много.

Наиболее известными из них или используемыми на практике являются уровни 0, 1, 2, 3, 4 и 5.

RAID0. Это уровень, реализующий улучшение только одного параметра – повышение производительности за счет возможности параллельного обращения по нескольким адресам.

RAID1. Зеркальные диски

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

Дублирование всех дисков может означать удвоение стоимости всей системы или, иначе, использование лишь 50% емкости диска для хранения данных. Повышение емкости, на которое приходится идти, составляет 100%. Такая низкая экономичность привела к появлению следующего уровня RAID.

RAID 2: матрица с поразрядным расслоением.

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

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

При записи больших массивов данных системы уровня 2 имеют такую же производительность, что и системы уровня 1, хотя в них используется меньше контрольных дисков и, таким образом, по этому показателю они превосходят системы уровня 1. При передаче небольших порций данных производительность теряется, так как требуется записать либо считать группу целиком, независимо от конкретных потребностей. Таким образом, RAID уровня 2 предпочтительны для суперкомпьютеров, но не подходят для обработки транзакций. Компания Thinking Machine использовала RAID уровня 2 в ЭВМ Connection Machine при 32 дисках данных и 10 контрольных дисках, включая 3 диска горячего резерва.

RAID 3: аппаратное обнаружение ошибок и четность

Большинство контрольных дисков, используемых в RAID уровня 2, нужны для определения положения неисправного разряда. Эти диски становятся полностью избыточными, так как большинство контроллеров в состоянии определить, когда диск отказал, при помощи специальных сигналов, поддерживаемых дисковым интерфейсом, либо при помощи дополнительного кодирования информации, записанной на диск и используемой для исправления случайных сбоев. По существу, если контроллер может определить положение ошибочного разряда, то для восстановления данных требуется лишь один бит четности. Уменьшение числа контрольных дисков до одного на группу снижает избыточность емкости до вполне разумных размеров. Число дисков в группе равно 5 (4 диска данных плюс 1 контрольный). Подобные устройства выпускаются, например, фирмами Maxtor и Micropolis. Каждое из таких устройств воспринимается машиной как отдельный логический диск с учетверенной пропускной способностью, учетверенной емкостью и значительно более высокой надежностью.

RAID 4: внутригрупповой параллелизм

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

Достоинство поразрядного расслоения состоит в простоте вычисления кода Хэмминга, что необходимо для обнаружения и исправления ошибок в системах уровня 2. В RAID уровня 3 обнаружение ошибок диска с точностью до сектора осуществляется дисковым контроллером. Следовательно, если записывать отдельный блок передачи в отдельный сектор, то можно обнаружить ошибки отдельного считывания без доступа к дополнительным дискам. Главное отличие между системами уровня 3 и 4 состоит в том, что в последних расслоение выполняется на уровне сектора, а не на уровне битов или байтов.

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

новая четность = (старые данные xor новые данные) xor старая четность

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

RAID уровня 5: четность вращения для распараллеливания записей

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

Это небольшое изменение оказывает огромное влияние на производительность записи небольших массивов информации. Если операции записи могут быть спланированы так, чтобы обращаться за данными и соответствующими им блоками четности к разным дискам, появляется возможность параллельного выполнения N/2 записей, где N - число дисков в группе. Данная организация имеет одинаково высокую производительность при записи и при считывании как небольших, так и больших объемов информации, что делает ее наиболее привлекательной в случаях смешанных применений.

RAID 6. Отказоустойчивый массив независимых дисков с двумя независимыми распределенными схемами четности (Independent Data disks with with two independent distribudet parity schtmts)

Как и в RAID 5 данные разбиваются на блочном уровне, но при этом используется вторая схема защиты для повышения отказоустойчивости. RAID 6 устойчива к двойным ошибкам.

Схема контроля четности в массиве дисков RAID 6 представлена на рис.10.2."

В этом варианте уровня RAID, например, при возникновении сбоя в блоке С0 для восстановления сбоя будут участвовать биты четности 0 и четность 1.

К недостаткам RAID 6 можно отнести увеличенное время записи до шести обращений.

Вопросы для самопроверки:

1. Основа для увеличения пропускной способности при и отказоустойчивости при использовании уровней RAID.

2. Особенности архитектуры и назначения уровня RAID 0.

3. Особенности архитектуры и назначения уровня RAID 1.

4. Особенности архитектуры и назначения уровня RAID 2.

5. Особенности архитектуры и назначения уровня RAID 3.

6.Особенности архитектуры и назначения уровня RAID 4.

7. Особенности архитектуры и назначения уровня RAID 5.

8. Особенности архитектуры и назначения уровня RAID 6.

Глоссарий.

CISC (Complete Instruction Set Computer - компьютер с полным набором команд) – одна из основных архитектур команд, для которой характерно небольшое число используемых регистров общего назначения, большое количество машинных команд, методов адресации и форматов команд, наличие команд обработки типа регистр-память.

EPIC (Explicitly Parallel Instruction Computing) – вычисления с явным параллелизмом команд.

GDT(для МП корпорации Intel) – глобальная таблица дескрипторов, используется для хранения дескрипторов программных объектов операционной системы.

GRID системы. Название системы Grid трактуется как решетка (сеть). Имеется в виду об"единение вычислительных кластеров разных фирм в сеть, с использованием интернет-технологий. Первоначально целью такого об"единения ставилась задача повышения эффективности использования кластеров за счет их "сдачи в наем" в вечернее и ночное время фирмам, расположенных в других временных поясах (т.е. представлять вычислительные услуги кластерных систем других фирмам, для сокращения простоев оборудования в ночное и вечернее время). Но в качестве средств связи уже изначально предполагалось использование технологии HTML.

IDT (для МП корпорации Intel) – таблица дескрипторов прерывания.

LDT (для МП корпорации Intel) – локальная таблица дескрипторов, используется для хранения дескрипторов программных объектов пользовательских задач.

RISC (Reduced Instruction Set Computer - компьютер с сокращенным набором команд) – основная архитектура команд современных высокопроизводительных ЭВМ (рабочие станции, супер-ЭВМ и т.д.). Главными требованиями архитектуры RISC являются: любая операция должна выполняться за один такт; операции обработки данных реализуются только в формате регистр-регистр; обмен между регистрами и памятью выполняется только командами загрузки-записи.

TSS (для МП корпорации Intel) – сегмент состояния задачи, область памяти для сохранения основных регистров процессора при выполнении процедуры переключения задач.

Адресное пространство процессора (пространство логических адресов, математическая память, память программы) – множество адресов, которые могут использоваться в командах процессора.

Адресные устройства памяти. В адресных устройствах памяти массив элементов хранения информации разбивается на отдельные нумерованные последовательности. Номер конкретной последовательности является ее адресом, по которому происходит обращение к памяти для записи или чтения информации.

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

Байт – количество бит, необходимое для кодирования символов в используемых стандартных кодах. В настоящее время байт – это 8 бит.

Байт SIB (scale-index-base – масштаб-индекс база) (для МП корпорации Intel) – является дополнением постбайта, определяющим компоненты базовой индексной адресации.

Битовая строка – непрерывная последовательность бит; может начинаться с любого бита в любом байте и быть длиной до 4 Гбайт (для МП корпорации Intel).

Битовое поле – непрерывная последовательность бит, в которой каждый бит рассматривается как независимая переменная. Битовое поле может начинаться с любого бита в любом байте и быть длиной до 32 бит. (для МП корпорации Intel).

Виртуальный режим 86 (для МП корпорации Intel) – разновидность формы эмуляции модели 86. Здесь нет прямой адресации памяти. Он использует механизмы защиты и виртуальной памяти. Виртуальный режим 86 устанавливается из защищенного (для запуска программ, написанных для реального режима) с возможностью возврата в защищенный режим.

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

  • высокой доступности и отказоустойчивость,

  • распределением нагрузки,

  • повышения производительности.

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

Распределение нагрузки строится на обработке отдельных запросов и выделении для них свободных процессоров.

Повышение производительности достигается разбиением заданий на параллельно выполняемые потоки.

Линейный адрес – адрес физической памяти.

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

Постбайт– задает тип команды: регистр/регистр (r/r) или регистр/память (r/M), а также определяет режим адресации для команды типа регистр/память.

Программная модель процессора – совокупность характеристик процессора, "видимая" программистам, работающим на нижних, "машинных", уровнях программирования, например, на ассемблере.

Расположение объекта в целочисленных границах – размещение многобайтового объекта, при котором его адрес кратен размеру объекта.

Реальный режим (для МП корпорации Intel) – 16-битный режим адресации и обработки данных с прямым обращением к памяти. Режим эмулирует программную среду (модель) МП 8086 с некоторыми дополнительными возможностями, такими, как использование 32-разрядной обработки (при помощи префиксов) или переход в защищенный режим работы. При запуске или перезагрузке МП устанавливается именно реальный режим. Он используется для подготовки программной среды для работы в защищенном режиме.

Регистр состояния (флагов) – регистр, содержащий флаги, управляющие некоторыми операциями и отражающие состояние процессора. Все флаги регистра можно разбить на группы: флаги состояния, управляющие флаги, системные флаги.

Регистры общего назначения (РОНы) – набор регистров (обычно 8, 16, 32), за которыми не закреплены индивидуальные функции. Эти регистры задаются в командах короткими (от 3 до 5 разрядов) адресами и называются. Имеются и исключения, например, РОНы в МП 80х86 фирмы Intel могут задаваться и адресами, и "по умолчанию".

Режимы адресации – способы вычисления адреса обращения к памяти по компонентам (базовый адрес, индекс, смещение).

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

Сегментные регистры (для МП корпорацииIntel) – шесть шестнадцатиразрядных регистров, используемых процедурой трансляции сегментов при вычислении адресов обращения к физической памяти.

Системные флаги (для МП корпорации Intel) – разряды регистра состояния, управляющие вводом/выводом, маскируемыми прерываниями, отладкой, переключениями задач и работой в режиме виртуального МП 8086.

Стековая память. Стековая память – это очередь со стратегией работы "последний вошел – первый вышел". Стековая память обычно реализуется на основе обычной линейной адресной памяти с использованием специального регистра – указателя стека (SP). Для стековой памяти определены две операции: занесение в стек и удаление из стека:

  • POP A– восстановить (выбрать) данные из стека вА, гдеА– регистр или ячейка памяти.

  • PUCH А– поместить в стек А, где А – непосредственный операнд, регистр или ячейка памяти;

Строка – непрерывная последовательность байт, слов или двойных слов длиной до 4 Гбайт (для МП корпорации Intel).

Счетчик команд (указатель команд) – устройство, вычисляющее адрес следующий команды.

Трансляция сегментов – процедура вычисления линейного адреса (адреса обращения к памяти) по базовому адресу сегмента и адресу, заданному в команде (или счетчиком команд).

Управляющий флаг DF (для МП корпорации Intel) – разряд регистра состояния, определяющий порядок выполнен.ия операций со строками. Непосредственно управляет счетчиком. При DF=0 – счетчик инкрементируется, иначе – декрементируется.

Флаги состояния (для МП корпорации Intel)– разряды регистра состояния, фиксирующие признаки результатов выполнения команд арифметических и логических операций, включая операцию тестирования. Используются в командах условных передач управления

СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ

1. Организация ЭВМ, 5-е изд./К. Хамахер, З.Вранешич, С.Заки, – СПб. Питер; Киев: Издательская группа BHV, 2003.– 848с.:ил. – (Серия "классика computer science").

2. Цилькер Б.Я., Орлов С.А. Организация ЭВМ и систем – СПб: Питер, 2004 – 668c: ил.

3. Гук М., Юров В.Г93 Процессоры Pentium 4, Athlon и Duron. – СПб. Питер. 2001г. – 512 с. ил.

4. Трусфус В.М. Архитектура ЭВМ. Встроенные средства защиты информации в МП Intel: Учебное пособие / Казань: Из-во Казан. Гос.техн.ун-та 2002. 76 с.

5. Трусфус В,М., Хафизова А.Ш., Семенов Е.Г. Архитектура ЭВМ. Процессоры корпорации Intel с динамическим выполнением команд: Учебное пособие. Казань. Изд-во Казан. Гос. техн. ун-та, 2004 104с.

6. Гук М. Г93 Процессоры Pentium II, Pentium Pro и просто Pentium – СПб. ЗАО "Издательство " Питер" 1999.– 288 с. ил.

7. Каган Б.М. Электронные вычислительные машины и системы: Учеб. пособие для вузов.– 3-е изд. перераб. и доп.– М.: Энергоатомиздат, 1991.

8. Библиотека программиста. i486тм микропроцессор. В 2-х кн., АО "ИВК-СОФТ", Москва, 1993.

9. Малые ЭВМ и их применение, под ред. Б.Н. Наумова, М., Статистика, 1980.

10. Г.Леви, Р.Экхауз. Архитектура и программирование ЭВМ VAX-11. Пер.с анг. H.Levy, R. Eckhcuse. "Computer Programming and Architecture The VAX-11" USA Digital Press 1980. Всесоюзный центр переводов научно-технической литературы и документации. Перевод № Д-56054. Переводчик В.В. Родионов, 29.03.1982.