Разработка отказоустойчивой операционной системы реального времени для вычислительных систем с максимальным рангом отказоустойчивости
| Категория реферата: Рефераты по информатике, программированию
| Теги реферата: курсовые работы бесплатно, украинские рефераты
| Добавил(а) на сайт: Silin.
Предыдущая страница реферата | 15 16 17 18 19 20 21 22 23 24 25 | Следующая страница реферата
7. Произвести операцию сложения так, что в каждом последующем регистре оказалась сумма предыдущих.
8. Сравнить содержимое регистра АR7 с ожидаемым, заранее рассчитанным значением.
. Проверка регистров повышенной точности (значения с плавающей точкой) проводится аналогично.
Функция register_test реализована на языке Ассемблер в соответствии с архитектурой и системой команд TMS320C30.
4.3.1.2. Проверка правильности выполнения арифметических, логических и др. операций
Данный тест разделен на три различных модуля. Вместе они проверяют следующие числовые операции:
1. Логические, сдвиг, циклический сдвиг.
2. Операции с плавающей запятой, выполненные над одним значением и соответствующие параллельные команды.
3. Операции с плавающей запятой и целочисленные, выполняющие сложение, вычитание, и умножение и соответствующие параллельные команды.
В тестах проверяются команды, перечисленные в Таблице 4.1.
Таблица 4.1
Перечень тестируемых команд
| Тест |Команды |
|1 |2 |
|Тест 1|ROL – циклический сдвиг влево, |
| |ROLC – циклический сдвиг влево через перенос, |
| |ROR – циклический сдвиг вправо, |
| |RORC – циклический сдвиг вправо через перенос, |
| |AND3 || STI – поразрядное логическое И с сохранением, |
| |LSH3 || STI – логический сдвиг с сохранением, |
| |NOT || STI – дополнение с сохранением, |
| |OR3 || STI – поразрядное логическое ИЛИ с сохранением, |
| |XOR3 || STI – поразрядное исключающее ИЛИ с сохранением, |
| |ABSI || STI – абсолютное значение целого с сохранением, |
| |NEGI || STI – отрицание целого с сохранением, |
| |ASH3 || STI – арифметический сдвиг с сохранением, |
|1 |2 |
| |NOT – поразрядное логическое дополнение, |
| |ABSI – абсолютное значение целого числа, |
| |NEGB – отрицание целого с заемом, |
| |ASH – арифметический сдвиг, |
| |NEGI – отрицание целого, |
| |TSTB3 – проверка битовых полей, |
| |CMPI3 – сравнение целых, |
| |STI || STI – сохранение целых, |
| |LDI || LDI – загрузка целых, |
| |XOR – поразрядное исключающее ИЛИ. |
|Тест 2|STF – сохранить значение с плавающей точкой, |
| |LDF – загрузить значение с плавающей точкой, |
| |LDE – загрузка значения экспоненты с плавающей точкой, |
| |LDM – загрузка значения мантиссы с плавающей точкой, |
| |FIX – преобразование в целое, |
| |FLOAT – преобразование в значение с плавающей точкой, |
| |ABSF – абсолютное значение числа с плавающей точкой, |
| |NEGF – отрицание значения с плавающей точкой, |
| |NORM – нормирование значения с плавающей точкой, |
| |RND – округление значения с плавающей точкой, |
| |POPF – выталкивание значения с плавающей точкой из стека, |
| |PUSHF – загрузка в стек значения с плавающей точкой, |
| |ABSF || STF – абсолютное значение числа с плавающей точкой с |
| |сохранением значения с плавающей точкой, |
| |FIX || STI – преобразование в целое с сохранением, |
| |FLOAT || STF – преобразование в значение с плавающей точкой с |
| |сохранением значения с плавающей точкой, |
| |PUSH – загрузка целого в стек, |
| |POP – выталкивание целого из стека, |
| |LDF || STF – загрузить значение с плавающей точкой с |
| |сохранением значения с плавающей точкой, |
|1 |2 |
| |NEGF || STF – отрицание значения с плавающей точкой с |
| |сохранением значения с плавающей точкой, |
| |STF || STF – сохранения значений с плавающей точкой, |
| |LDF || LDF – загрузка значений с плавающей точкой. |
|Тест 3|SUBF3 – вычитание значений с плавающей точкой, |
| |SUBF3 || STF – значения с плавающей точкой с сохранением |
| |значения с плавающей точкой, |
| |SUBB – вычитание целых с заемом, |
| |SUBC – условное вычитание целых, |
| |SUBF – вычитание значений с плавающей точкой, |
| |SUBRB – вычитание целых в обратном порядке с заемом, |
| |SUBRF - вычитание с плавающей точкой в обратном порядке, |
| |SUBI3 || STI – вычитание целых с сохранением, |
| |ADDC – сложение целых с переносом, |
| |ADDF – сложение значений с плавающей точкой, |
| |ADDF3 – сложение значений с плавающей точкой, |
| |ADDF3 || STF – значений с плавающей точкой с сохранением |
| |значения с плавающей точкой, |
| |ADDI3 || STI – сложение целых с сохранением, |
| |MPYF- умножение значений с плавающей точкой, |
| |MPYF3 – умножение значений с плавающей точкой, |
| |MPYI – умножение целых, |
| |MPYF3 || STF – умножение значений с плавающей точкой с |
| |сохранением значения с плавающей точкой, |
| |MPYF3 || ADDF3 – умножение и сложение с плавающей точкой, |
| |MPYF3 || SUBF3 умножение и вычитание с плавающей точкой, |
| |MPYI3 || STI – умножение целых с сохранением, |
| |MPYI3 || ADDI3 – умножение и сложение целых, |
| |MPYI3 || SUBI3 – умножение и вычитание целых, |
| |CMPF – сравнение значений с плавающей точкой, |
| |CMPF3 - сравнение значений с плавающей точкой. |
Проверка осуществляется с помощью фиксированного набора значений с целью тестирования команд в различных пределах. Вывод о успехе/неуспехе делается на основе контрольного суммирования результатов и сопоставления с ожидаемым значением.
4.3.1.3. Проверка содержимого памяти
Данный тест формирует по одному из самых простых алгоритмов так называемый CRC (Cyclic Redundancy Check) блока памяти, указанный в параметрах теста. Правильный (ожидаемый) CRC подтверждает правильность данных (кода) в указанной, неизменной (nonvolatile) в процессе исполнения задач области памяти.
Формирование CRC происходит по следующему алгоритму:
1. Инициализация начального значения CRC нулем; маска контрольных битов выбирается произвольно, например - 80200003(Н).
2. Наложить маску на CRC и суммировать по модулю два значения контрольных битов.
3. Сдвинуть CRC влево на 1 разряд и прибавить результат шага 2.
4. Сложить результат с очередным словом блока тестируемых данных.
5. Если блок закончился шаг 6, иначе шаг 2.
6. Сравнить полученный CRC с ожидаемым.
Ожидаемые значения могут быть получены на этапе инициализации. Функция crc_test реализована на языке Ассемблер в соответствии с архитектурой и системой команд TMS320C30.
5. Перспективы развития специализированных отказоустойчивых ОСРВ
Предложенная в работе концепция организации отказоустойчивых вычислений, является лишь первым шагом в создании универсальной, аппаратно- независимой, многофункциональной распределенной ОСРВ.
Очевидно, что создание отказоустойчивых, адаптивных систем необходимо для надежного функционирования критически важных приложений множества различных управляющих систем. Однако усложнение структуры вычислительных систем, а соответственно и алгоритмов поддержки отказоустойчивости (а в общем случае и живучести), ведет к увеличению размера ОС и ее времени реакции. Поэтому, следует по-прежнему придерживаться структурного подхода при проектировании управляющих систем и использовать заранее определенные функции ОСРВ, характерные для данного вида систем управления.
Дальнейшее наращивание функций ОСРВ может вестись в нескольких
направлениях:
1. Голосование, проводимое на уровне элементарной проверки, в общем случае может не удовлетворять условиям функционирования управляющих систем вследствие погрешностей и возможного отличия функциональной информации, поступающей на обработку в ФЗ разных ПЭ. Поэтому при голосовании, особенно на последних стадиях деградации целесообразно применять помехоустойчивое оценивание, например методом наименьших квадратов (МНК).
Основные трудности связаны с ошибочными измерениями или неверным
результатом ФЗ при вызывающей сбой комбинации входных данных. Применение
методов устойчивого оценивания к решению этой проблемы поможет избежать
потерь времени на повторные измерения и расчет ФЗ, а также поможет внести
определенность при несогласованности данных в процессе голосования.
2. Усовершенствование подсистемы сбора и анализа отказов для диагностирования множественных отказов на одном такте работы системы.
Однако, следует учесть, что обнаружение большего числа отказов требует пропорциональное увеличение числа обменов между модулями голосования, а также числа процессорных элементов, участвующих при голосовании.
3. Расширить возможности самодиагностирования ПЭ подсистемой промежуточных тестов ввода-вывода, тестом таймеров и др.
4. Предусмотреть возможности резервирования ФЗ или отдельных ее частей для программного обнаружения отказа, локализации и передачи управления дублирующему фрагменту ФЗ.
Представленный в работе материал является попыткой систематизировать и реализовать основные принципы разработки системного программного обеспечения для отказоустойчивых вычислительных систем. Частично или полностью, эти принципы реализуются разработчиками ОСРВ для обеспечения отказоустойчивости сетевых приложений. Дальнейшее развитие реализованных в представленной работе принципов в еще более сложные системы позволит решать еще более широкий круг задач в рамках обеспечения надежности вычислительных систем.
Заключение
В рамках решения поставленной задачи, по результатам аналитических
исследований, были выделены основные свойства и механизмы распределенных
операционных систем реального времени, необходимых для работы критически
важных приложений. Это:
. Время реакции системы;
. Время переключения контекста;
. Наличие средств диспетчеризации;
. Наличие средств синхронизации, межзадачного и межпроцессорного взаимодействия;
Однако требования, предъявляемые к надежности вычислительных систем, таковы, что этих средств зачастую оказывается недостаточно. В ходе
аналитической работы, была доказана необходимость и описана структура таких
встроенных механизмов обеспечения отказоустойчивости ОСРВ, как:
. Средства маршрутизации пакетов данных в сети ПЭ;
. Средства высокоуровневого межпроцессорного обмена;
. Протокол голосования, анализа отказов в ВС, и принятия консолидированного решения;
. Средства реконфигурации ВС.
В ходе дальнейших исследований, был рассмотрен пример организации отказоустойчивых вычислений, и на основе логики принятия консолидированного решения, предложен эвристический алгоритм анализа результатов голосования узлов (ПЭ) ВС и средств диагностики.
Далее была предложена вероятностная модель отказоустойчивой ВС, рассчитаны ее надежностные характеристики, показавшие увеличение среднего времени наработки ВС на отказ в 2,5 – 3,5 раз с расширением ВС до 5-7 узлов, даны рекомендации по выбору типа ВС при ее проектировании.
В ходе практической реализации свойств отказоустойчивости, была создана программная модель, имитирующая многопроцессорную ВС, управляемую распределенной ОСРВ. Структура ПО модели включает в себя ПО узла ВС и ПО системы контроля и диалога с пользователем. Модель позволила отработать логику организации отказоустойчивых вычислений и проверить ее в различных ситуациях.
Реализация модели позволила выделить ключевые особенности системного
ПО, характерного для организации отказоустойчивых вычислений в целом:
. Наличие глобального системного цикла, задаваемого организацией внешних устройств или объекта управления.
. Использование механизмов межзадачного взаимодействия (семафоры, события, мьютексы) для организации циклов и передачи управления и диспетчеризации процессов.
. Прямая работа с таймерами. Программирование таймеров производится на низком уровне (функциями операционной системы), это требование диктуется рамками жесткого реального времени - необходимости четкого удержания системного цикла.
. Использование сторожевых таймеров во всех активных модулях ПО, для предотвращения зависания вычислительного процесса и межпроцессорного обмена.
. Наличие иерархической структуры функций межпроцессорного обмена, опирающихся на драйвера базовой операционной системы.
. Наличие в системном ПО различного рода контейнерных классов, а именно: массивов, очередей, списков которые активно используются для хранения и передачи системной информации, диспетчеризации событий или сообщений.
Даны рекомендации по портированию системного ПО на платфртму
TMS320C30. Выбор платформы осуществлялся по таким критериям, как: наличие
широкого спектра совместимых базовых ОСРВ, оптимизация микропроцессора под
задачи управления, тактовая частота микропроцессора, объем оперативной
памяти, наличие сред разработки и отладки и т.д. Реализованы аппаратно-
зависимые модули ПО в части процедур самодиагностики процессора и памяти.
В заключение, перечислены основные перспективы наращивания возможностей системного ПО и усложнения принципов его работы.
Дальнейшее развитие реализованных в представленной работе принципов в еще более сложные системы позволит решать еще более широкий круг задач в рамках обеспечения надежности вычислительных систем.
Технологическая часть
6.Технологическая часть
Данная глава посвящена технологии разработки программного обепечения
модели отказоустойчивой распределенной вычислительной системы и переносу
(портированию) основных модулей отказоустойчивой ОСРВ на платформу
TMS320C30.
Программное обеспечение модели ВС состоит из двух частей, разработанных для функционирования на базе персонального компьютера с
процессором Pentium-100 и выше с операционной системой Windows 98 и выше.
Первая часть предназначена для генерации системных файлов процессорных
элементов ВС на основе заданной топологии, запуска модели ВС, имитации
объекта управления и генерации системной информации о сбоях ВС. Вторая
часть предназначена для моделирования узла ВС.
Программное обеспечение, переносимое на платформу TMS320C30, на данном этапе состоит из набора функций, которые являются надстройкой над базовой ОСРВ.
6.1. Системные исследования
В ходе системных исследований проводился анализ системы, в которой будет использоваться разрабатываемая ОСРВ, и были выделены основные надстройки над базовой ОСРВ для поддержания свойств системы в процессе ее работы.
Общая структура системы, моделируемая разрабатываемым программным продуктом, представлена на рис. 6.1.
Таким образом, программное обеспечение модели системы разбивается на две части. Первая – это ПО, в задачи которой входит: моделирование объекта управления (обмен информацией с ВС), инициализация ВС на основе заданной топологической информации, моделирование сбоев и отказов элементов ВС для отладки модулей обеспечения отказоустойчивости ВС.
[pic]
Рекомендуем скачать другие рефераты по теме: российская федерация реферат, изложение.
Категории:
Предыдущая страница реферата | 15 16 17 18 19 20 21 22 23 24 25 | Следующая страница реферата