Лекция 16

Тема: Надежность отказоустойчивых систем (ОУС). Назначение и свойства ОУС, примеры реализации

План

  1. Актуальность проблемы.
  2. Назначение и свойства отказоустойчивых КС.
  3. Примеры реализации. Система: TANDEM.
  4. Системы: STAR, SIFT.

Ключевые слова

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

  1. Актуальность проблемы

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

В настоящее время одной из основных задач построения компьютерных систем (КС) остается обеспечение их продолжительного надежного функционирования. Эта задача имеет три составляющие: надежность, высокая готовность и удобство обслуживания. Её решение предполагает, в первую очередь, борьбу с неисправностями системы, порождаемыми отказами и сбоями в её работе.

  1. Назначение и свойства отказоустойчивых КС

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

По способу реализации отказоустойчивость подразделяется на активную и пассивную.

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

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

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

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

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

где 2 – интенсивность отказов системы, а ålЭ – суммарная интенсивность отказов всех элементов системы.

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

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

Примеры реализации отказоустойчивых КС

В настоящее время существуют различные отказоустойчивые компьютерные системы. Типичными примерами таких систем являются: TANDEM, STRATUS, STAR, SIFT, AS220 и другие. Они имеют различное целевое назначение, созданы различными фирмами и обладают принципиальными отличиями в реализации средств обеспечения отказоустойчивости. Рассмотрим некоторые из них.

Система TANDEM

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

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

3

Рис. 4. Структура системы TANDEM

На рис. 4 изображена структура системы TANDEM, состоящей из трех процессоров 1 и четырех контроллеров ввода-вывода 2. Процессоры типа мини-ЭВМ сообщаются через 16-разрядную параллельную дублированную систему шин Ш. Все контроллеры ввода-вывода имеют по два порта 3,4 и доступ по двум каналам, от двух разных процессоров.

Запоминающие устройства на дисках такие имеют по два порта; каждое устройство доступно от двух контроллеров. Данные с диска остаются доступными даже тогда, когда и процессор, и контроллер отказывают.

При отказе привода диска записи могут быть восстановлены, если они были до его остановки записаны на другом диске. Если все записи на дисках дублированы, то система имеет копии всех данных. Когда диск заменяется, записи на нем можно восстанавливать во время работы основной системы.

Электропитание всех процессоров и дисков – независимое.

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

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

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

Программное обеспечение содержит виртуальную операционную систему и позволяет осуществлять мультипрограммную обработку.

Система сообщений. Изоляция процессов пользователя в TANDEM обеспечивается формированием сообщений. Например, программа пользователя, нуждающаяся в некоторых данных, записанных на диске, формирует некоторое «сообщение», адресованное программе логического управления диском. Просматривая свои таблицы ресурсов, локальная копия операционной системы определяет фактическое местонахождение искомого процесса.

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

Система STAR

Компьютерная система STAR (Self-Testing and Repairing) – самопроверяемая и ремонтируемая КС предназначена для беспилотных космических полетов большой продолжительности (до 10 лет). Здесь выбран следующий принцип организации средств обеспечения отказоустойчивости (СОО). В каждый момент времени функционирует одна вычислительная машина, снабженная эффективными схемами контроля для обнаружения неисправностей и достаточным количеством резервных блоков. При этом используется ненагруженный резерв, т.е. на резервные блоки не подается напряжение питания. В системе STAR большая часть функций средств отказоустойчивости реализуется в виде аппаратного блока (введением структурной избыточности) (рис.6).

4

Рис. 6. Структурная схема системы STAR

Поскольку в системе предусмотрен только один рабочий компьютер, потребовалось организовать специальное аппаратное «ядро», которое обеспечило бы диагностику отказов в компьютере, автоматическую замену неисправных блоков на резервные и выработку управляющих сигналов, запускающих программную процедуру восстановления. Это «ядро», получило название – процессор контроля и восстановления (ПКВ).

Схема (рис.6) состоит из семи типов различных модулей, соединенных между собой четырехпроводными шинами и имеющих резервные копии.

УП – управляющий процессор содержит счетчик адресов и индексные регистры, осуществляет модификацию адресов команд перед их выполнением;

ЛП – логический процессор – выполняет логические операции над информационными словами (напряжение питания подается сразу на 2 копии);

ОАП – основной арифметический процессор выполняет арифметические операции над информационными словами;

ПЗУ – постоянное запоминающее устройство;

ПВВ – процессор ввода-вывода содержит буферные регистры ввода-вывода и процессор прерывания, управляет запросами на прерывания;

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

Информация между модулями передается по шине записи в память и шине считывания из памяти в виде восьми 4-разрядных посылок, т.е. разрядность слова-32. Параллельно-последовательный принцип обработки выбран по причине снижения потребляемой мощности и вероятности отказа в системе [4,6,7].

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

Функции обнаружения ошибок и восстановления в данной системе подробно описаны в [3,5,7].

Система STAR одна из первых отказоустойчивых КС и идеология её построения оказала большое влияние на последующие разработки КС данного типа.

Система SIFT (Softwave Implemented Fault Tolerance) – представляет собой КС, предназначенную для управления полетом самолета в особо сложных условиях. Основной принцип построения системы, состоит в обеспечении отказоустойчивости в основном программными способами, а не аппаратными. Особенностью СОО является параллельное выполнение каждой программы несколькими блоками обработки данных. Процедуры обнаружения и анализа ошибок и реконфигурация системы возложены на программное обеспечение, отсюда и название системы. Локализация отказов достигается применением специально разработанной избыточной системы шинных соединений блоков обработки данных. Как минимум троекратное резервирование выполнения программ позволяет устранить влияние любого одиночного отказа блока обработки данных или шины, а устойчивость к последовательности отказов создается за счет реконфигурации системы.

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

Современный уровень развития отказоустойчивых КС может быть охарактеризован также данными о зарубежных специализированных компьютерах [7,8] для космических кораблей (табл. 1).

Таблица 1.

Параметры Выпускающая фирма и тип компьютера
CDS 496 DELCO M-362 GE.DEC PDP-11 LITTON 4516 E RCA SCP-234 Rockwell DF-224
Быстродействие, тыс. оп/с 200 650/840 100 300 70 400
Длина слова, бит 16(42) 16/32 (120) 16 16/32 16 24
Вероятность безотказной работы, P(t) 0,925 за один год 0,99

за один год

0,99

за два года

0,98

за два года

0,899

за два года

0,92

за три года

Приведенные в таблице 1 значения вероятности безотказной работы определены с учетом резервирования. В случае дублирования эти данные соответствуют интенсивности отказов порядка  

для одного компьютера, что достижимо при использовании компонентов наиболее высокого качества и надежности. В типичном случае дублированы устройства ввода-вывода, центральный процессор и устройства управления памятью. Оперативные запоминающие устройства объемом в десяти Кслов секционированы. Переключающие устройства для включения резервов построены с использованием логических схем с переплетениями [7]. В системах применяется аппаратный оперативный контроль вместе с программным тестовым контролем и диагностикой, которые дополняют друг друга и вырабатывают сигналы для автоматического включения резерва.

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

 

 

Контрольные вопросы и задания

  1. Как обеспечить высокую надежность при создании современных компьютерных систем?
  2. Какой вид контроля в КС является наиболее перспективным?
  3. Дайте определение понятию «реконфигурация».
  4. Определите виды ошибок в КС которые можно исправить с помощью маскирования.
  5. Какие бывают КС по способу реализации отказоустойчивости?
  6. Постройте граф состоянии и переходов процесса восстановления в отказоустойчивых КС.
  7. Что характеризует коэффициент разряжения КС?
  8. Объясните способы реализации СОО, заложенные в системе TANDEM.
  9. Что называется «контрольной точкой»?
  10. Для каких целей предназначена система STAR?
  11. Какова функция ПКВ в системе STAR?
  12. Какой вид контроля используется в системе SIFT?
  13. Укажите типичные значения вероятности безотказной работы современных высоконадежных компьютеров.

Литература:

  1. Иыуду К.А. Надежность, контроль и диагностика вычислительных машин и систем. М: Высшая школа, 1989-216с
  2. Расулова С.С Надежность ЭВС. Конспект лекций. ТашГТУ, 2001-90с
  3. Самопалов К.Г. и др. Цифровые ЭВМ. Практикум. Киев. Высшая школа. 1990-125с.
  4. Расулова С.С., Рашидов А.А. Построение отказоустойчивых микропроцессорных систем. Ташкент –Mehnat -2004.
  5. Бройдо В.Л. Вычислительные системы, сети и телекоммуникации. 2 изд. Учебник. СПб.: «Питер», 2005. глава 20, -703 с.
  6. Степанов А.Н. Архитектура вычислительных систем и компьютерных сетей. Учебное пособие. – СПб.: Питер, 2007. -509 с.

Меню выбора лекций

Предыдущая лекция                   Следующая лекция