Что такое реконфигурация файлов
Отказоустойчивая система, безотказность, реконфигурация, автоматическое восстановление, интенсивность восстановления, состояния, динамическое резервирование, избыточность, активная отказоустойчивость, модель восстановления.
Реконфигурация и способы восстановления КС.
Среди перечисленные выше методов обеспечения и повышения надежности наиболее перспективными являются использование новых способов восстановления, автоматической реконфигурации и создание отказоустойчивых КС. Рассмотрим эти вопросы.
Реконфигурация КС – изменение состава и способа взаимодействия программных и аппаратных средств системы с целью исключения отказавших программных или аппаратных компонентов. Реконфигурация производится после выявления отказа. Различают статическую и динамическую реконфигурацию.
Статическая реконфигурация системы осуществляется путем отключения неисправных компонентов КС. Динамическая реконфигурация по принципу проведения делится на следующие виды: замещение, дублирование, постепенная «деградация».
После реконфигурации для продолжения нормальной работы системы необходимо её восстановить, восстановление системы происходит на двух уровнях (рис. 1).
- Аппаратный уровень. Здесь производится восстановление отказавших компонентов КС двумя способами:
- Автоматическое восстановление, реализуемое путем реконфигурации системы. При этом предполагается, что в системе имеется ряд запасных блоков, благодаря которым она возвращается в работоспособное состояние;
- Ремонт (восстановление вручную). В этом случае отказавший блок отключается от системы и она продолжает работу с меньшей производительностью, либо приостанавливается до возвращения отремонтированного блока в активную часть КС.
Рис. 1. Классификация способов восстановления КС.
- Программный уровень, здесь осуществляется восстановление информации о состоянии КС, необходимой для продолжения её работы.
Средства восстановления включаются в работу при обнаружении ошибки системой контроля. Способ восстановления зависит от уровня, на котором обнаружена ошибка. В зависимости от нарушений в работе системы можно выделить следующие способы восстановления: маскирование, повторение операции, возврат к контрольной точке, программный рестарт. На рис. 2 приведен алгоритм автоматического восстановления вычислительного процесса после сбоев, где использованы все виды восстановления.
Маскированием называется исправление ошибки с помощью корректирующих кодов или резервирования. Восстановление путем маскирования или повторения операции выполняется в том случае, когда ошибка обнаружена средствами контроля логического уровня и, следовательно, не успела распространиться.
Восстановление путем повторения операции может быть успешным, если ошибка была случайной или перемежающейся и самоустранилась при повторении, т.е. проявилась как сбой. Поскольку длительность случайной ошибки может быть разной, система должна повторять операции несколько раз. Повторение может быть на уровне микрокоманд, команд и операций ввода-вывода.
В тех случаях, когда ошибка обнаруживается средствами функционального или системного уровня, т.е. успела исказить информацию, используется восстановление путем возврата к контрольной точке.
Контрольной точкой называется некоторая точка в вычислительном процессе (программе), для которой сохранены промежуточные результаты вычислений, и к которой в случае ошибки можно вернуться (передать управление). Этот способ восстановления требует по ходу вычислительного процесса формирования контрольных точек (т.е. периодического запоминания промежуточных результатов вычислительного процесса).
Программным рестартом называется повторный запуск вычислительного задания. Этот способ восстановления используется в том случае, когда ошибка обнаружена средствами контроля пользовательского уровня. Маскирование и повторение операции как способы восстановления более предпочтительны, так как обеспечивают ранее обнаружение ошибки и восстановление. Однако они требуют значительных затрат аппаратуры.
Сохранение работоспособности компьютеров при отказах имеет большое значение при эксплуатации систем, работающих в реальном масштабе времени, систем с разделением времени, систем телеобработки, диалоговых систем и др.
Автоматическое восстановление вычислительного процесса при отказах может быть достигнуто путем введения в КС свойств отказоустойчивости.
Рис. 2. Функционирование вычислительного процесса.
Модель процесса автоматического восстановления отказоустойчивых КС
Автоматическое восстановление в компьютерных системах является новым подходам, обеспечивающим высокую степень надежности, готовности и отказоустойчивости КС.
Ниже предлагается модель, описывающая общие свойства различных процессов восстановления, некоторой гипотетической отказоустойчивой КС. Она включает все возможные процессы восстановления, применяемые в реальных КС. Множество возможных событий в системе обозначим через
Процессы восстановления в пассивных и активных отказоустойчивых КС имеют много общего. Рассмотрим граф на рис. 3.:
Возникшая в КС ошибка S1 может обнаруживаться либо аппаратными S2, либо программными S3 средствами контроля, либо не обнаруживаться средствами контроля S4. В последнем случае результатом является отказ системы S5.
В зависимости от степени применения пассивной отказоустойчивости в КС ошибка может быть маскирована S6 и вычислительный процесс продолжается без задержки S7. При обнаружении ошибки аппаратными средствами в большинстве систем проводится повторение выполняемой операции в заданное число раз. Если повторение было успешным, т.е. имел место сбой, последствия которого при повторении операции исчезли, вычислительный процесс продолжается S8. Для повторении операции необходимо чтобы аппаратные средства сохранили операнды до окончания контроля над выполненной операцией. Если повторении операции было безуспешным S9, то это говорит об устойчивой ошибке в аппаратуре и поэтому производится автоматическая реконфигурация S10.
Реконфигурация может заключаться либо в замене отказавшей подсистемы (устройства, процессора) за счет резервов, либо в её простом отключении. В последнем случае имеет место постепенная деградация системы. После реконфигурации производится восстановление информации S12. Для этого по ходу вычислительного процесса предусмотрены контрольные точки, в которых состояние системы и вычислительного процесса подвергаются контролю. В случае положительного результата контроля состояние данной программы и данного процессора (промежуточные результаты, содержание регистров и др.) записывается либо в оперативной памяти другого процессора, либо на магнитных лентах или дисках.
В ходе восстановления информации содержание этих дублирующих записей переписывается в тот процессор, который после реконфигурации берет на себя функции отказавшего. Затем, начиная с контрольной точки, вычислительный процесс возобновляется S13.
Аналогичные процедуры проводятся в случае, когда ошибка обнаружена программными средствами. После обнаружения ошибки программными средствами могут быть задействованы тесты S14. Если тесты подтверждают наличие устойчивого отказа S15, то следует реконфигурация S10, возврат к контрольной точке S11, восстановление данных S12 и повторение вычислений S13. Если устойчивого отказа нет S16, то повторяются перечисленные операции без реконфигурации.
Восстановление может оказаться безуспешным также в случае наличия ошибки в программах, разрушения информации в контрольных точках, исчерпания резервов или снижения производительности системы из-за отказов.
Описанный выше процесс может варьироваться в конкретных системах, особенно что касается способов обнаружения отказов. Иногда, например процессоры системы подтверждают свою работоспособность специальными сигналами. По этим сигналам во всех действующих процессорах системы формируется таблицы, показывающие состояние всех других процессоров. На основании этих таблиц обмен с отказавшими процессорами прекращается.
Развитие мобильной связи в последние два десятилетия привело к широкому распространению беспроводных коммуникаций. Однако поддержка устройством беспроводной связи, как правило, приводит к существенному увеличению его конечной стоимости. В настоящее время основной фокус при разработке новых программно-аппаратных средств направлен на улучшение технических и экономических характеристик беспроводной передачи данных для электронных устройств (сенсоров, меток, актюаторов). При этом необходимо обеспечить дальность связи без увеличения энергозатрат, повысить ее качество, а также внедрить новые протоколы связи, не меняя при этом аппаратную часть.
Программно-определяемые радиосистемы (Software-defined radio, SDR) — наиболее перспективное решение указанных задач. Особенность SDR заключается в том, что функции реализуются программными средствами и могут быть реконфигурированы в рамках работы системы. SDR помогает эффективно адаптировать и настраивать устройство в соответствии с решаемой задачей, отключая/включая в процессе работы отдельные блоки, не меняя при этом аппаратную часть. Распространение SDR и методов машинного обучения приведет к значительному улучшению характеристик межмашинного взаимодействия (M2M). К примеру, SDR позволяет реализовать на одной унифицированной аппаратной платформе разнообразные коммуникационные стандарты и гибко управлять ими. За счет этого устройства смогут автоматически выбирать тип связи в зависимости от внешних условий (помехи, удаленность от приемника, объем данных и т.п.), что обеспечит большую эффективность передачи данных.
Эффекты
Сокращение времени выхода на рынок новых беспроводных устройств
Значительное снижение затрат на разработку за счет многократного использования ПО в различных радиоустройствах
Сокращение времени и финансовых затрат на техническое обслуживание и эксплуатацию устройств при использовании удаленного перепрограммирования
Уменьшение финансовых затрат при модернизации беспроводных сетей провайдерами услуг с возможностью добавлять новые функции в существующие системы
Снижение логистических и эксплуатационных расходов при использовании радиосистем на протяженных территориях (SDR позволяют удаленно настраивать и модернизировать оборудование)
Оценки рынка
к 2020 г. (до $27 млрд) вырастет объем мирового рынка программно-аппаратных средств SDR (в 2014 г. — $13,5 млрд)
Драйверы и барьеры
Развитие технологии построения компонентной базы и интеграции блоков радиосвязи и цифровой обработки данных в одном корпусе/кристалле
Развитие глобальных беспроводных сетей, включая навигационные сети (GPS, ГЛОНАСС, Galileo и проч.) и глобальный беспроводной Интернет
Уязвимость беспроводного канала связи при киберугрозах
Рост требований к энергопотреблению устройств с SDR
Международные
научные публикации
Международные
патентные заявки
Уровень развития
технологии в России
«Заделы» – наличие базовых знаний, компетенций, инфраструктуры, которые могут быть использованы для форсированного развития соответствующих направлений исследований.
АВТОМАТИЧЕСКИЙ ПОИСК И ВЫБОР ИСТОЧНИКА ПИТАНИЯ
ЭЛЕКТРОННЫХ СИСТЕМ
Прообразом электронных систем будущего являются беспроводные сенсорные сети (Wireless Sensor Network, WSN). В составе единой беспроводной сенсорной сети на объекте размещаются до нескольких тысяч миниатюрных датчиков, измеряющих различные физические параметры (температуру, влажность, механические напряжения и т.п.). Получаемая точная информация позволяет принимать оптимальные решения. Ключевым вопросом при этом является обеспечение максимального времени автономной работы таких приборов, поскольку замена источников питания в нескольких тысячах устройств практически невозможна.
Наиболее перспективным способом обеспечения длительной автономности является внедрение в электронные устройства подсистем сбора и преобразования энергии внешней окружающей среды из разных источников (свет, вибрации, тепло и т.п.). Возможно использование одного (как правило, фотоэлемента) или нескольких альтернативных источников энергии с автоматическим выбором и переключением между ними. Одним из вариантов таких источников могут быть встраиваемые микрогенераторы, преобразующие механическую энергию в электрическую с помощью пьезоэлектрического эффекта. В отличие от стандартных технологий электропитания устройств (электрохимические элементы и проводное подключение) новые методы позволят существенно увеличить время их работы.
Эффекты
Улучшение потребительских свойств существующей продукции: уменьшение веса, габаритов, периодичности обслуживания; снижение энергопотребления; возможность отказа от стандартного электрического источника питания
Экологическая безопасность: снижение техногенной нагрузки на окружающую среду за счет отказа от использования и утилизации химических источников энергии
Повышение качества жизни и здоровья населения: развитие социальных ИТ-систем (в здравоохранении, образовании, культуре, досуге и проч.)
Повышение производительности труда: использование беспроводных сенсорных сетей с питанием от вибрации и электромагнитного излучения
Оценки рынка
к 2018 г. вырастет объем рынка МЭМС-датчиков для мобильных устройств (в 2012 г. — $2,2 млрд, в 2013 г. — $2,7 млрд).
Драйверы и барьеры
Развитие носимой электроники, повышение требований к ее функциональности
Экологические проблемы, связанные с использованием классических электрохимических источников энергии
Технологические сложности интеграции в одном корпусе преобразователей энергии окружающей среды и их миниатюризация
Насыщение рынка при выпуске устройств со сверхдолгим временем работы
Международные
научные публикации
Международные
патентные заявки
Уровень развития
технологии в России
«Заделы» – наличие базовых знаний, компетенций, инфраструктуры, которые могут быть использованы для форсированного развития соответствующих направлений исследований.
РЕПРОГРАММИРУЕМАЯ «НА ЛЕТУ» НОВАЯ ЭЛЕМЕНТНАЯ БАЗА
За последние 30 лет число транзисторов на одном кристалле выросло со 100 тыс. до 10 млрд. Это стало возможным благодаря стремительному развитию производства интегральных схем (ИС) по технологии КМОП (комплементарная структура металл-оксид-полупроводник). Такое масштабирование технологических размеров стало базой для «цифровой революции». Потребительские характеристики (быстродействие, цена, энергопотребление, размеры) цифровых ИС постоянно улучшаются. Однако дальнейшая миниатюризация элементной базы на основе КМОП-технологий в ближайшие 10–15 лет станет невозможной из-за ряда физических ограничений. Остается нерешенной проблема быстрого репрограммирования таких ИС, позволяющих изменять функциональные возможности устройства. Предложенные изменения на основе транзисторов с вертикальным затвором (FinFET) продлили срок существования КМОП-технологии, но не привели к значительному прорыву.
На сегодняшний день реконфигурация программируемых логических ИС (FPGA) не может происходить «на лету», и также требует резервного блока/схемы для защиты от сбоя во время программирования. Перспективным решением подобной проблемы является элементная база на основе мемристоров (memristor) (пассивные элементы микроэлектроники, которые способны изменять сопротивление в зависимости от прошедшего через них заряда). Они способны обеспечить энергонезависимую память и «обучаемость» системы, заменить носители информации в существующих системах, сделав возможным процесс реконфигурации и повысив их надежность и быстродействие.
Эффекты
Замена всех видов памяти системами на основе мемристоров
Расширение функциональных возможностей (повышение разрядности данных, интеграция на едином кристалле различных компонентов) электроники за счет роста плотности компоновки элементов в чипах
Рост быстродействия устройств
Уникальные свойства:
(1) режим отключения питания является одним из рабочих, что позволяет очень быстро переходить между режимами обработки информации и энергосбережения;
(2) концепция мемристора предполагает самообучаемость системы
Меньшее энергопотребление за счет свойства энергонезависимости блоков памяти на основе мемристоров
Оценки рынка
к 2021 г. может составить объем мирового рынка твердотельной памяти (DRAM, Flash, SRAM) электронных систем.
Прогнозируется, что именно в области памяти появятся первые коммерческие образцы мемристоров.
Драйверы и барьеры
Инвестиции в поиск замены МОП-транзисторов ведущими компаниям микро- и наноэлектроники
Возможность замещения мемристорами всех типов памяти существующих систем с одновременным обеспечением энергонезависимости
Значительное уменьшение размеров приборов и увеличение плотности интеграции
При использовании неправильных шаблонов «самообучаемость» элементной базы на основе мемристоров может приводить к ошибкам
Скорость имеющихся экспериментальных образцов уступает показателям КМОП ИС
Значительные капитальные затраты на переоснащение производства
Международные
научные публикации
Международные
патентные заявки
Уровень развития
технологии в России
«Заделы» – наличие базовых знаний, компетенций, инфраструктуры, которые могут быть использованы для форсированного развития соответствующих направлений исследований.
Реконфигурация выполняется программным способом с помощью специальной привилегированной команды, допустимой в управляющей конфигурации [1]; эта команда, в частности, выполняет следующие действия: присоединение к конфигурации логического канала с указанным номером ( или отсоединение от нее канала); присоединение к логическому каналу логического подканала с указанным номером ( или отсоединение от него подканала); присвоение заданному логическому устройству логического адреса, который должен сообщаться при прерываниях по вводу-выводу. [2]
Реконфигурация работ затрагивает каждый ключевой процесс. Причем связи между этими процессами, с точки зрения доставки ценности потребителям, центральные. В этой главе приведена подробная методология, как надо заниматься всеми аспектами реконфигурации. [3]
Реконфигурация комплекса производится со специального пульта конфигурации, позволяющего осуществить логическое подключение любого из блоков основной памяти к любому процессору или к обоим процессорам сразу, а также задавать любому блоку памяти любой интервал адресов. При неправильном задании конфигурации блокируется возможность ее реализации. С пульта конфигурации задается также режим работы комплекса. [5]
Реконфигурация структуры нейрокомпьютера , функционирующего в СОК, осуществляется за счет использования свойства нейросе-тевого алгоритма, заключающегося в способности адаптироваться к изменяющимся условиям, сохраняя устойчивое качество функционирования. [6]
Реконфигурацию необходимо проводить последовательно, с тщательной проверкой правильности преобразований. [7]
Реконфигурацию вычислительной системы лучше всего организовать, используя специально разработанную панель или пульт реконфигурации, снабдив их гибкими средствами управления и визуализации для сокращения ошибок в действиях оператора при подключении резервных устройств. [8]
Регистратор реконфигураций предназначен для записи в системный журнал информации о случаях динамической реконфигурации устройств. [11]
Панель реконфигурации , расположенная на системной консоли, позволяет исключить из конфигурации системы одно или несколько устройств основной памяти и перенастроить адреса оставшихся устройств, чтобы получить последовательную адресацию. Для достижения четырехкратного расслоения требуется четное число устройств памяти. Как правило, модель 165 имеет четное число устройств памяти, не взирая на объем основной памяти, так что отключение одного устройства уменьшает расслоение до двукратного. При отключении сразу двух устройств памяти четырехкратное расслоение сохраняется. [12]
Программы реконфигурации и восстановления системы получают управление при возникновении сбоев в процессоре, канале, оперативной памяти или в устройствах ввода - вывода. Эти программы регистрируют сбои и отказы элементов системы, ликвидируют последствия сбоев, обнаруживают отказавшие модули и восстанавливают, если это возможно, работу системы на оставшемся оборудовании. [13]
Возможности оперативной реконфигурации , свойственные ПЛИС с триггерной памятью, получили дальнейшее развитие в архитектурах с динамическим репрограммированием. В ПЛИС с динамическим репрограммированием конфигурация может быть изменена чрезвычайно быстро. Переход от одной конфигурации к другой не требует ввода извне нового файла конфигурации. Несколько вариантов настроек ( файлов конфигурации) уже заранее заготовлены и введены в теневую память и постоянно хранятся в ней. Переход с одной конфигурации на другую делается однотактно по команде управляющего сигнала. [14]
Критичным для реконфигурации приемов , связанных с ключевыми видами бизнеса, является необходимость идентифицирования уникального предложения с точки зрения ценности. [15]
Для нашего ядра снимем галочку напротив Use as PR Internal Host, так как для Cyclone V внутренний хост не поддерживается, о чем заботливо сообщает нам Quartus внизу окна. Использование внешнего хоста позволяет запустить процесс реконфигурации с другой ПЛИС или любого другого устройства. Так же обязательно поставим галочку напротив Enable JTAG debug mode, это позволит нам управлять реконфигурацией через встроенный Programmer.
Нажимаем Finish, ждем пока наше ядро сгенерируется и добавится в проект. Теперь попишем немного кода на Verilog.
Создадим модуль, который выводит числа на семисегментник.
Ничего сложного, if (count >= 50000000) нужно, чтобы счет происходил раз в секунду, т.к. тактовая частота нашего устройства 50 МГц.
Теперь напишем первую версию модуля, который будет мигать нашими светодиодами
Мигать светодиодами будем в два раза быстрее. Ну потому что можем.
Частичная реконфигурация не может изменять I/O порты нашего модуля. Но что делать, если хочется один модуль заменить другим модулем, у которого отличаются I/O порты? Создадим модуль-обертку, который будет содержать все порты первого и второго модуля. Как это выглядит:
Допустим есть модуль A и модуль B.
И мы бы хотели динамически подменить модуль А модулем B. Для это создадим модуль-обертку wrapper.
Мы просто добавили все порты из модуля A и B, теперь можем безболезненно в одной версии прошивки подключить внутри warapper модуль A, а в другой модуль B.
В нашем случае это необязательно, но все же сделаем такой wrapper.
С реконфигурируемым модулем могут работать какие-то другие модули нашей системы, поэтому хотелось бы узнавать, когда модуль реконфигурируется, а когда работает в штатном режиме. Для этих целей наше IP ядро предоставляет сигнал freeze. Когда freeze равен 1, то в нашей системе что-то реконфигурируется. Наш led_wrapper можно обернуть другим модулем freeze_region.
Теперь напишем модуль верхнего уровня, он будет содержать freeze_region, наше ip ядро, а также 2 дополнительный модуля — cyclonev_prblock и cyclonev_crcblock. Эти сущности предоставляют интерфейс для частичной реконфигурации нашей ПЛИС. Так как мы используем IP ядро в качестве внешнего хоста, мы соединим его с этими двумя модулями.
Для наглядности приведу изображение с RTL Viewer.
Сигнал nreset должен быть подтянут резистором к питанию.
Скомпилируем проект. Теперь нужно указать, какие сущности будут реконфигурируемыми. Для этого перейдем в окно Hierarchy и пометим led_wrapper как Design Partition.
Так же в окне Design Partitions установим Allow Multiply Personas (чтобы открыть окно выберем в меню Assigments -> Design Partitions Window)
Так же сделаем Logic Lock Region для этого модуля.
В окне LogicLocks Regions (Assigments -> LogicLock Regions Windows). Зададим настройки для нашего региона
Сделаем ему фиксированный размер, зададим ширину и высоту региона, что фактически означает количество ресурсов, используемых нашим модулем. Пометим регион как Locked, чтобы в наш модуль не залез другой какой-нибудь модуль. Пометим Reserved on и включим частичную реконфигурацию. Если каких-то полей нет, их можно отобразить, кликнув правой кнопкой мыши в окне LogicLock Regions.
Скомпилируем проект.
Теперь создадим вторую версию нашего модуля светодиодов. Перейдем в окно ревизий и создадим новую реконфигурируемую ревизию. Назовем ее person
двойным щелчком сделаем эту ревизию текущей. удалим текущий модуль led_flash и создадим новый в папке нашей ревизии.
Откроем окно Design Partitions и установим для нашего реконфигурируемого модуля Netlist Type в Source File.
Важно! Базовая ревизия должна быть скомпилирована прежде, чем мы будем компилировать реконфигурируемые ревизии.
Все что осталось, это генерация файла частичной реконфигурации. Для этого в меню выберем File — Convert Programming Files. Для начала нужно сгенерировать файл маски нашего региона. Выбираем .pmsf file. Для его генерации понадобится .sof файл и .msf файл нашего региона. Они находятся в папке output_files.
Нажимаем Generate. Теперь необходимо сгенерировать .rbf файл аналогичным способом. Для его генерации необходим созданный нами на прошлом шаге .pmsf файл.
Все что осталось, это прошить плату.Заходим в Programmer и прошиваем top.sof. Чтобы прошить .rbf файл нажмем правой кнопкой в поле с файлом прошивки и жмем Add PR programming file…
Убираем галочку в поле Program/Configure для top.sof и устанавливаем для нашего .rbf файла. Жмем Start. Готово! Пока прошивался файл .rbf, счетчик продолжал работать.
Аналогичным способом можно создать .rbf файл для первой версии led_flash.
Стоит сказать, что процесс создания .rbf файла можно автоматизировать, об этом можно почитать в официальной документации Altera.
Существуют различные подходы к генерации .rbf файлов, которые позволяют уменьшить размер прошивки. Можно использовать шифрование и сжатие. Обо всем этом так же можно почитать в документации.
Читайте также:
- Как подключить nokia 106 к компьютеру по usb
- Компьютер не видит плату ncstudio
- Как снять экран с ноутбука тошиба satellite
- Эцп подписание sign error 0xc2100140 лицензия на криптопро tsp client истекла или не была введена
- Не удается продолжить выполнение кода поскольку система не обнаружила mantle32 dll