АО Институт Автоматизации Энергетических Систем
Кадры. Надежность технических решений
г.Новосибирск, ул.Железнодорожная 12/1
+7 (383) 363-02-65, iaes@iaes.ru
Главная / Документы / Публикации / Подходы к разработке отказоустойчивой распределенной вычислительной системы для целей противоаварийного управления

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

Ландман А.К., Петров А.Э., Петрушков М.В., Сакаев О.О., Субботин-Чукальский А.В.

1.ВВЕДЕНИЕ

Для широкого спектра задач управления электроэнергетическими объектами характерны необходимость обеспечения бесперебойного функционирования системы управления и высокого быстродействия [1, 2]. В соотношение между этими понятиями вкладывается различный смысл, в зависимости от задачи, решаемой конкретной системой, с учетом иерархии управления.

Рассмотрим предметную область противоаварийного управления (ПАУ) энергосистемой. На верхнем уровне иерархии ПАУ решается задача выбора управляющих воздействий (УВ), которые должны быть реализованы конкретными устройствами на нижнем уровне иерархии, при фиксации на данном уровне аварийных возмущений в энергосистеме, с целью минимизации ущерба от этих возмущений. На сегодняшний день, с учетом развития алгоритмической базы в части применения способа I-ДО [3], выбор управления становится ресурсоемкой математической задачей, максимальная длительность цикла которой ограничивается стандартом [4] не более 30 секунд, при этом на верхнем уровне, как правило, нет необходимости в непосредственной выдаче управляющих сигналов.

В свою очередь, быстродействие реализации управления устройствами нижнего уровня находится в пределах нескольких десятков миллисекунд, с учетом времени срабатывания промежуточных реле. В случае, если устройства нижнего уровня осуществляют собственный цикл выбора управления по способу II-ДО в целях резервирования [5], длительность данного цикла определяется частотой обновления (временем доставки) локальной доаварийной информации, которая нормируется стандартом [4] в пределах 1-2 секунд.

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

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

Работы в данном направлении ведутся при активном участии специалистов ЗАО «Институт автоматизации энергетических систем» (ИАЭС) с 80-х годов прошлого столетия. Благодаря глубокой теоретической проработке вопросов создания распределенных вычислительных систем управления, в последние годы была разработана универсальная программная платформа для целей противоаварийного управления.

2.ПОДХОДЫ К РАЗРАБОТКЕ РАСПРЕДЕЛЕННОЙ ВЫЧИСЛИТЕЛЬНОЙ СИСТЕМЫ УПРАВЛЕНИЯ

2.1.Общие сведения

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

  1. Ввод и подготовка исходных данных для расчета.

  2. Расчет.

  3. Объединение результатов расчета.

  4. Взаимодействие с системами управления нижнего уровня.

  5. Взаимодействие с автоматизированным рабочим местом (АРМ) пользователя.

  6. Взаимодействие с внешними системами управления и мониторинга (АСУТП и пр.)

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

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

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

  1. Ввод и подготовка исходных данных для локального расчета (при необходимости).

  2. Локальный расчет (при необходимости).

  3. Взаимодействие с системами управления верхнего уровня.

  4. Получение аварийных сигналов и выдача управляющих сигналов.

  5. Взаимодействие с АРМ пользователя.

  6. Взаимодействие с внешними системами управления и мониторинга (АСУТП и пр.)

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

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

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

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

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

2.2.Постановка задачи

К разрабатываемой распределенной вычислительной системе управления предъявляются следующие требования:

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

  2. Гибкость структуры системы, отсутствие централизованных элементов и т.н. «узких мест» на уровне архитектуры.

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

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

  5. Возможность использования средств виртуализации при развертывании системы.

 

2.3.Выбор операционной системы и стандартов разработки

Выбор операционной системы (ОС) производится, как правило, по следующим критериям:

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

  2. Поддержка стандартного стека сетевых протоколов, с возможностью работы на уровне IP и ниже.

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

  4. Удобство разработки программного обеспечения, поддержка стандартов в данной области.

  5. Удобство настройки и эксплуатации.

  6. Наличие технической поддержки, перспективы развития, лицензирование.

  7. Цена.

Как упоминалось выше, расчетные задачи, задачи взаимодействия с внешними устройствами и задачи реального времени в распределенной системе управления могут быть разделены по различным узлам. Следовательно, для каждого класса задач может быть выбрана наиболее подходящая ОС, например, Windows Embedded для расчетных задач, Debian Linux для задач взаимодействия с внешними устройствами и QNX 6 для задач реального времени. В связи с этим встает вопрос совместимости рассматриваемых ОС по интерфейсу прикладных программ. Для обеспечения совместимости целесообразно при программировании распределенной системы управления максимально следовать стандарту POSIX [6], предоставляющего стандартные, независимые от ОС, механизмы межпроцессного и сетевого взаимодействия, с переходом к системно-зависимым функциям только в том случае, если это неизбежно (например, при обработке прерываний). Кроме того, для технологических задач должны быть разработаны интерфейсы, инкапсулирующие функции нижнего уровня, для упрощения их переноса из одной операционной системы в другую.

2.4.Принципы определения состояния системы. Механизмы взаимодействия между узлами.

От принципов программирования перейдем к архитектуре распределенной системы управления.

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

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

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

Следовательно, необходимо организовать некую шину данных, в которую каждый узел системы периодически отправляет сообщение, однозначно определяющее текущее состояние узла (назовем его «слово состояния»), и откуда, в свою очередь, каждый узел получает слова состояния остальных узлов. Каждый узел из полученных им сообщений формирует у себя общее слово состояния системы. Таким образом, каждый узел независимо наблюдает и оценивает текущее состояние децентрализованной системы. Обмен состояниями узлов (и другими сообщениями, к которым могут быть предъявлены схожие требования) организован на базе групповой (multicast) рассылки UDP-сообщений, с использованием принципов, определенных стандартом МЭК 61850 (в части GOOSE-сообщений).

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

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

  1. Данные должны быть актуальными.

  2. Данные должны поступать одновременно на расчетные машины.

  3. Успешное получение данных должно подтверждаться.

Кроме того, при запуске узла он должен получать актуальные данные настройки.

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

2.5.Управление функциями узлов системы. Передача функций, миграция задач.

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

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

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

Из опыта разработки дублированных устройств ПАУ [5] известно, что функции основного и резервного экземпляра одной и той же системообразующей или технологической задачи могут отличаться. Поскольку дублированная система управления является частным случаем вырожденной распределенной системы, необходимо предусматривать такую возможность и при создании более сложных систем. В связи с этим, для резервированной задачи с разделением функций, при конфигурировании системы указываются параметры запуска основного и резервного экземпляров, а также очередь узлов, на которых запускается данная задача, и максимальное количество запущенных экземпляров. Однако, очередь узлов здесь имеет иной смысл, по сравнению с простой миграцией задачи. На первом активном в очереди узле всегда запускается основной экземпляр задачи, в то время как на остальных узлах очереди запускаются резервные экземпляры.

3.ЗАКЛЮЧЕНИЕ

В настоящее время, в ЗАО «ИАЭС» разработана универсальная программная платформа для обеспечения функционирования технологических задач в распределенной вычислительной системе управления для целей противоаварийного управления. Ключевыми особенностями универсальной платформы являются:

  1. Минимальная зависимость платформы от используемой операционной системы.

  2. Возможность широкого использования средств виртуализации.

  3. Возможность масштабирования платформы на устройства различных уровней иерархии противоаварийного управления.

  4. Возможность создания гетерогенных ВС.

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

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

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

В течение 2013-14 гг были проведены опыты по развертыванию ВС на базе универсальной платформы на физических серверах различной производительности (в том числе на безвентиляторных промышленных компьютерах) с использованием средств виртуализации Oracle VirtualBox и VMWare ESXi, с целью оценки временных характеристик обмена информацией внутри ВС, а также тестирования алгоритмов определения состояния системы и миграции задач. Коммерческое применение данной платформы планируется в ближайшем будущем. Так, в настоящее время проводятся работы по адаптации универсальной программной платформы для выполнения функций ЦСПА.

ЛИТЕРАТУРА

  1. А.Ф. Задорожный, М.С. Тарков, О.В. Захаркин, А.М. Петров, А.Э. Петров, О.О. Сакаев. Программное обеспечение отказоустойчивых распределенных вычислительных систем для управления электроэнергетическими системами. // Научные проблемы транспорта Сибири и Дальнего Востока. – 2009. – Спецвыпуск. – №1. – С.155-160.

  2. А.К. Ландман, А.М. Петров, А.Э. Петров, О.О. Сакаев, А.Ф. Задорожный, М.С. Тарков. Использование отказоустойчивых распределенных вычислительных систем для управления электроэнергетическими системами. // Сборник докладов международной научно-технической конференции «Современные направления развития систем релейной защиты и автоматики энергосистем». – СПб, 2011.

  3. А.К. Ландман, А.Э. Петров, А.С. Вторушин, Е.Ю. Попова, С.Г. Аржанников. Перспективы совершенствования алгоритмов централизованной противоаварийной автоматики. // Сборник докладов международной научно-технической конференции «Современные направления развития систем релейной защиты и автоматики энергосистем». – Екатеринбург, 2013.

  4. СТО 59012820.29.240.001-2011. Автоматическое противоаварийное управление режимами энергосистем. Противоаварийная автоматика энергосистем. Условия организации процесса. Условия создания объекта. Нормы и требования. М., 2011.

  5. А.К. Ландман, А.М. Петров, А.Э. Петров, О.О. Сакаев. Разработка интегрированной системы ПА ОЭС Сибири. // Релейная защита и автоматика энергосистем 2010. Сборник докладов XX конференции (Москва, 1-4 июня 2010). - М., «Научно-инженерное информационное агентство», 2010. – С. 52-59.

  6. The Open Group Base Specifications Issue 6, IEEE Std 1003.1-2004. General Information. Copyright © 2004 The IEEE and The Open Group.

  7. IEC 61850-1. Communication networks and systems in substations. Part 1: Introduction and overview. Copyright © 2003 IEC

  8. IEC 61850-8-1. Communication networks and systems in substations. Part 8-1: Specific communication Service Mapping (SCSM) – Mappings to MMS (ISO 9506-1 and ISO 9506-2) and to ISO/IEC 8802-3. Copyright © 2004 IEC

ИНФОРМАЦИЯ ОБ АВТОРАХ

 

Ландман Аркадий Константинович – генеральный директор ЗАО «ИАЭС», к.т.н., тел. (383) 363-0265, e-mail: landman@iaes.ru

Петров Алексей Эдуардович – заместитель генерального директора ЗАО «ИАЭС», тел. (383) 363-0265, e-mail: alexey@iaes.ru

Сакаев Оскар Олегович – заведующий сектором ПО ЗАО «ИАЭС», тел. (383) 363-0265, e-mail: oskar@iaes.ru

Субботин-Чукальский Андрей Викторович – заведующий отделом ТС и ПО ЗАО «ИАЭС», тел. (383) 363-0265, e-mail: subb@iaes.ru

Петрушков Михаил Викторович – инженер ЗАО «ИАЭС», тел. (383) 363-0265, e-mail: pmv@iaes.ru

 

Контакты

Лизалек Николай Николаевич
главный научный сотрудник
Lnn@iaes.ru
Вторушин Алексей Сергеевич
заведующий научно-исследовательской лабораторией
vas@iaes.ru

Форма обратной связи

Тема обращения:

Ваше имя:

E-mail для ответа:

Сообщение:

Закрыть Отправить
Сообщение отправлено