Лекции. Системы реального времени (2015) (all in one) (1185224), страница 9
Текст из файла (страница 9)
nVL , max/ BAGVL 100Мбит / секУправление виртуальными каналами• Разбиение сообщений на кадры• Мультиплексирование виртуальныхканаловФормирование трафика• При формировании трафика на отправителе –мультиплексирование• При мультиплексировании определяетсязначение джиттера• С нулевым джиттером:Кратность BAG-ов, известность всех Lmax, отсутствиеджиттера готовности кадров в каждом ВК=> исключено взаимное влияние ВК,отсутствует джиттер выдачи кадров в каждом ВКФормирование трафикаМультиплексирование с ненулевымджиттеромТакого варианта стремятся избегатьКоммутаторФункции коммутатора:Маршрутизация кадров по пути следованиявиртуальных каналов (пути виртуальныхканалов конфигурируются статически)Фильтрация трафика (контроль целостностикадра, контроль следования кадра повиртуальному каналу)Контроль трафикаразмер кадра (не должен превышать Lmax)BAG, Jmaxнарушение => сброс кадраКонтроль трафика на коммутаторе• Контроль времен прихода кадров на соответствие BAG и Jmax:• Производится на входном порту коммутатора• Используется алгоритм, основанный на вычислениикредита• АС – кредит, растет с течением времени до значенияACmax• При приходе кадра AC уменьшается на размер кадра; есликредита не хватает – кадр сбрасываетсяКонтроль трафика на коммутаторе• Кредит соответствует количеству байт, которыепропускает канал• За время BAG кредит увеличивается на Lmax• ACmax – соответствует количеству байт, котороепозволяет пропустить 2 кадра за (BAG – Jmax)• Случай с неравномерной передачей кадров:Задачи проектирования сети AFDXДано: потоки данных, требования к их передаче вреальном времениразмер сообщениячастота передачимакс.
допустимый джиттер (end-to-end)макс. допустимая задержка (end-to-end)Требуется:построить систему виртуальных каналов:маршрутыпараметры (BAG, Lmax)рассчитать конфигурационные параметры сетевыхустройств – коммутаторов, абонентов (в т.ч. Jmax)Оценка длительности передачикадраНеобходима для оценки длительностипередачи сообщенияАктуальность: требования реального времени –длительность не должна превышать заданныхзначенийДлительность вычисляется с моментапоступления кадра для выдачи в канал домомента поступления кадра на оконечнуюсистему-получательОценка длительности передачикадраОценка длительности передачикадра• Длительность передачи кадра:– максимальный джиттер на отправителе– длительность передачи по каналам– задержки на выходных портах коммутаторовОценка длительности передачикадраМультиплексированиеПри мультиплексировании может возникать джиттер Максимальная задержка – при максимальном джиттере Максимальное значение джиттера – при ожиданиикадров всех других виртуальных каналовОценка длительности передачикадраМультиплексированиеВычисление максимального джиттера на отправителеLJ max J T iVLsi , maxRVLs – множество виртуальных каналов, формируемыхна оконечной системе-отправителе R – скорость выдачи данных на канал (100 Мбит/сек) JT – технический джиттер (время обработки кадра),в AFDX равен 40 мксОценка длительности передачикадраДлительность передачи кадров по каналамR – скорость выдачи данных на канал (100 Мбит/сек) n – количество каналов передачи данных на путиследования кадра формула расчета длительности передачи кадра поканалам:tlinksLmax nRОценка задержки кадра накоммутаторе• В очереди перед кадром: кадры с других ВК,идущие на тот же выходной порт• Сколько этих кадров?•интервал накопления M: макс.
интервал послепредыдущего кадра данного ВК•M = BAG + накопленный макс. джиттер•число кадров с другого ВК, набежавших за интервал М:см. формулы анализа времени отклика•какие-то из набежавших кадров уже выданы ввыходной порт к моменту прихода «нашего» кадра (=>их выдачи не нужно ожидать)Оценка длительности и джиттерапередачи сообщенияDurmax (msg ) =const (разбиение и сборка сообщения)- время выдачи сообщения в канал (выдача последнего кадра) - длительность передачи кадраJ (msg ) Durmax (msg ) Durmin (msg )Fibre Channel,профиль реального времени• Базовая схема обмена данными позаимствована из AFDX– виртуальные каналы– 100% резервирование• В каждом коммутаторе – несколько таблиц ВК– переключение в реальном времени между конфигурациями сети– нет избыточного резервирования пропускной способности дляподдержки нескольких наборов ВК (втч.
в разных режимах ИУС РВ)– поддержка статического набора возможных миграций задач• Управление джиттером отправки целых сообщений• Система приоритетов поддержка нерегулярных(апериодических) сообщений– низкий приоритет нет помех для сообщений из ВК– высокий приоритет доставка без задержек (ценой задержкисообщений из ВК)• Встроенные средства синхронизации времени32Программно-конфигурируемыесети на борту• Бортовая сеть управляется приложением,функционирующем на контроллере• Синхронизация времени: например, протокол PTP• Пассивный режим:– правила формируются заранее и загружаются на коммутаторыдо старта системы– большую часть времени работы ИУС РВ коммутаторыфункционируют автономно (без обращения к контроллеру)• Активный режим:– контроллер постоянно осуществляет мониторинг обменаданными– обнаружены новые потоки данных новые правилаформируются и загружаются в коммутаторы• Первый шаг внедрения ПКС на борт: схема выделенияпропускной способности– воспроизведение схемы на основе алгоритма текущего ведра(по образцу AFDX)?33Активный или пассивныйрежим?• Отказоустойчивость / резервирование– активный режим: контроллер и управляющая сетьобязательно должны быть продублированы– пассивный режим: более высокая устойчивость ксбоям контроллера и управляющей сети• Реконфигурируемость– потоки данных в ИУС РВ являются предсказуемыми– правила для заранее определенных режимов могутбыть сформированы заранее– правила для динамических режимов (в т.ч.
приотказах оборудования) могут быть сгенерированыконтроллером и в пассивном режиме• предпочтителен пассивный режим34Функциональность приложениядля контроллера ПКС в ИУС РВ• Построение маршрутов передачи сообщениймежду абонентами сети с обеспечениемтребуемого качества обслуживания, в т.ч.ограниченных задержек передачи данных иограниченного джиттера• Динамическая адаптация маршрутов в случаесбоев сети или миграции задач• Формирование правил для коммутаторов, в т.ч.:– правил проверки трафика на соответствие требованиямкачества обслуживания– правил маршрутизации– правил разделения пропускной способности сети междупотоками данных35Востребованность ПКС в ИУС РВ• Отказоустойчивые системы с миграцией задач– сценарии миграции задач при множественных отказах не могутбыть просчитаны заранее (комбинаторный взрыв числа сценариев)– AFDX: резервирование виртуальных каналов под сбойные режимынепродуктивно расходует пропускную способность сети– FC-RT: ограниченный объем памяти коммутаторов под таблицы ВКдля сбойных режимов• Динамическое формирование и смена режимов ИУС РВ– реконфигурируемость – «изюминка» ПКС• Динамическое подключение оборудования и ПО– подключаемые в режиме plug-and-play устройства (датчики,устройства связи и т.п.)– ПО загружается с подключаемого устройства и выполняется набортовом вычислителе с архитектурой ИМА в отдельном разделе– ВК для обмена бортового вычислителя с подключеннымустройством автоматически настраиваются контроллером ПКС– пример: многофункциональный беспилотник со сменнымидатчиками36Спасибо за внимание!37ИНФОРМАЦИОННО-УПРАВЛЯЮЩИЕ СИСТЕМЫРЕАЛЬНОГО ВРЕМЕНИЛекция 10:Обеспечение отказоустойчивостиИУС РВКафедра АСВК,Лаборатория Вычислительных КомплексовБалашов В.В.Цена отказа: Ariane-5(причина: неисправность ПО)Кажется,что-топошло нетак…2Неисправность, ошибка, отказ• Полностью избежать неисправностей невозможно• Цель: минимизировать вероятность отказа3Классификация неисправностей• Активность: латентные / активные• Постоянство: проходящие / постоянные• Источник: внешнее воздействие / ошибкаразработки• Распространение последствий: обнаруживаютсяи локализуются / проникают в другиеподсистемы• Одиночность: одиночные / групповые• Взаимосвязанность: независимые / связанные(источник: Software Fault Tolerance: A Tutorial, NASA, 2014, pp.28-29,http://www.iet.unipi.it/c.bernardeschi/didattica/ANNO2014-15/DEP/SoftwFT.pdf)4Шаги противодействиянеисправности••••••ОбнаружениеОграничение распространенияМаскировкаДиагностикаВосстановлениеВозобновление штатногофункционирования5Классификация неисправностей (2)• По локализации– Программные– Аппаратные• По этапу возникновения– Проектирование/разработка• => все изделия, созданные по проекту– Производство• Дефект серии => все изделия серии• Дефект при производстве конкретного изделия– Эксплуатация• => одиночные изделия, с учётом особенностейэксплуатации6Борьба с серийныминеисправностями• Возникают на этапе проектирования,разработки или серийного производства– На ранних этапах их и следует обнаруживать…• Затрагивают всю серию компонентов– Отзыв серии и всех использующих её систем…• Борьба: использование проектного илиреализационного разнообразия– Аппаратура: различные архитектуры,производители и элементная база– ПО: различные языки, алгоритмы/подходы,команды разработчиков7Специфика ИУС РВ• Жесткие условия эксплуатации– Внешние воздействия вызывают неисправностиоборудования• Недопустимость прекращенияфункционирования при возникновенииошибки– Ошибка = реализация неисправности• Невозможность оперативного ремонта (илиремонта вообще)– Самолет, спутник• Реакция на ошибки должна укладываться вдирективные сроки8Принципы построенияотказоустойчивых систем• Недопустимость единственной точки отказа• Поддержка локализации отказа (обнаруженияотказавшего компонента)• Нераспространение последствий отказа далее посистеме– Защита аппаратуры– Блокировка распространения некорректных результатоввычислений• Постепенная деградация– По мере отказа подсистем, вначале отключаютсявторостепенные функции– Функции, критические для выживания/восстановлениясистемы поддерживаются «до последнего»– Защитный режим: поддержка существования +обеспечение удалённого доступа для диагностики иобслуживания9Механизмы обеспеченияотказоустойчивости• Аппаратные• Программные• Аппаратно-программные10Аппаратные МОО11Аппаратноерезервирование• По разнообразию компонентов– Использование идентичных компонентов• Борьба с дефектами изделия, в т.ч.возникающими в ходе эксплуатации– Использование различных компонентов• Функционально идентичны• Различная элементная база, производитель,проект и т.п.• Борьба с дефектами проекта, серии (не толькоизделия)• По уровню– Система/подсистема– Отдельные компоненты12Аппаратноерезервирование• Активное: основные и резервные компонентыфункционируют одновременно– Синхронизация данных– Минимальное время переключения на резервныйкомпонент– Использование результатов:• Игнорирование результатов резервных компонентов• Голосование (нет выделенного основного компонента)– Повышенное энергопотребление• Пассивное: резервный компонент включается привыходе основного из строя– Затраты времени на инициализацию– Проблема записи состояния основного компонента(нужно внешнее запоминающее устройство)– Экономия энергии• Жаргон: «горячий» и «холодный» резерв13Программные МОО14N-версионное программированиеВходРаспределенныевходные данныеВерсия 1…Версия i…Версия NМодуль принятиярешенияВыход••ОшибкаВерсии ПО функционально эквивалентныРазличаются: алгоритмы, методы разработки,языки программирования, группы разработчиков15N-самотестируемое программированиеВходРаспределенныевходные данныеВерсия 1Контрольныйтест 1…Версия iКонтрольныйтест i…Версия NКонтрольныйтест NМодуль принятия решенияВыход•ОшибкаВерсии ПО запускаются последовательно (до первогорезультата, прошедшего контрольный тест) или параллельно(голосование среди успешных результатов)16Контрольные точкиВход•••Борьба только сослучайными«однократными»неисправностями(инверсия бита памятии т.п.)Не помогает от«постоянных»неисправностей, в т.ч.в ПОЗатраты ресурсов насохранение состоянияв КТ, сложностьмеханизмов поддержкисохраненияУстановка контрольныхточек (КТ)Конецпрограммы?НетНетВыполнение программы доближайшей КТ (или до концапрограммы)ДаЕсть ошибки?(в КТ)ДаПревышено времявыполнения?Да,ОтказНетОткат до предыдущейКТСнятие всех КТВыход17Восстановление блокамиВходУстановкаконтрольной точкиВыполнениеальтернативнойверсииДаСуществует новаяальтернатива? ИКритерий останова недостигнут?Сигнал исключенияКонтрольный тестНе пройденОткат, восстановлениеконтрольной точкиНетОтказПройденСнятие контрольнойточкиВыход•Сочетает N-версионное программирование и контрольные точки18Восстановление блокамиКонтрольнаяточкаОткатВерсия 1(основная)Увеличениеэффективности ипроизводительностиреализацийлогических блоковВерсия 2Версия 3Версия 4Логическийблоквыполнен сошибкой••Логическийблок успешновыполненПеребор блоков по убыванию «скорости»WCET оценивается по наихудшему пути…Логическийблок19Программно-аппаратныеМОО20N-самоконтролируемое программированиеВход••Борьба саппаратными ипрограммнымиошибкамиПО в каждой паре:одна версия +контрольный тест,или более однойверсии + алгоритмвыбораРаспределенныевходные данныеВерсия 1ОшибкаВерсия 2Версия 3Версия 4Сбор результатовСбор результатовВыбор результатаили ИсключениеВыбор результатаили ИсключениеСовпадениеСовпадениеОшибкаОтборрезультатовВыбор результата илиИсключениеВыбор выходныхданныхВыходExceptionFailure21Активное резервирование +N-версионное программирование• На каждом аппаратном компонентевыполняется своя версия программы• Все компоненты активны• Борьба с программными иаппаратными неисправностями22Космический челнок23Зависимость надежностиот количества версий24Принципы проектирования безопасных иотказоустойчивых систем1.