УДК 004.052.32
З.В. Каляев, М.К. Раскладкин ПРОГРАММНО-АППАРАТНЫЙ КОМПЛЕКС КОНТРОЛЯ КРИТИЧЕСКИХ ПАРАМЕТРОВ РЕКОНФИГУРИРУЕМЫХ СИСТЕМ
Рассматривается программно-аппаратный комплекс контроля критических параметров реконфигурируемых систем. К данным параметрам относятся: напряжение, ток, температура, состояние обдувающих элементов, потребляемая мощность и другие. Контролируемые параметры имеют несколько пороговых зон. При входе параметра в некоторую зону системой принимаются действия для предотвращения выхода аппаратуры из строя.
Программно-аппаратная система контроля критических параметров; реконфигурируемые системы; программируемая логическая интегральная схема (ПЛИС); базовый модуль; вычислительный узел.
Z.V. Kaliaev, M.K. Raskladkin
ARTICLE COVERS FIRMWARE COMPLEX FOR CONTROL OF BOTTLENECKS OF RECONFIGURABLE SYSTEMS
The article covers firmware complex for control of bottlenecks of reconfigurable systems. Such parameters are voltage, current, temperature, coolers state, power consumption and others. Controlled variables have several threshold ranges. If value appears in some range system resolves to prevent RCS hardware failure.
Firmware system of bottleneck control; reconfigurable systems; field programmable gate array (FPGA); basic module, computation node.
Введение. Решение ресурсоёмких вычислительных задач на реконфигурируемых вычислительных системах диктует необходимость контроля критических аппаратных параметров данных систем. К таким параметрам относятся температура, напряжение и ток, как отдельных аппаратных компонентов, так и РВС в целом.
Конструктивные решения для установки вычислительных узлов в стойки обладают средствами контроля стоек в целом, однако отдельные узлы или аппаратные компоненты не контролируются данными средствами, что зачастую приводит к сложности инспектирования сбоев и, как следствие, простаиванию вычислительного ресурса.
Для организации контроля аппаратной составляющей реконфигурируемых вычислительных систем разработана программно-аппаратная система контроля критических параметров.
К основным функциям данной системы относятся следующие: анализ работоспособности обдувающих элементов вычислительных блоков; анализ температуры, напряжения и тока вычислительных ПЛИС и блоков питания вычислительных модулей; анализ потребляемой мощности базовых модулей (БМ) и вычислительных блоков; действия по предотвращению выхода из строя аппаратуры вследствие сбоя, содержащие несколько уровней защиты: предупредительный, программный аварийный и аппаратный аварийный; программирование пороговых значений критических параметров аппаратуры; программирование действий по предотвращению выхода из строя аппаратуры; протоколирование и визуализация контролируемых параметров; оповещение с использованием существующих средств связи (локальные сети, Интернет, сотовые сети).
Теоретическая часть. С точки зрения формализованного описания программа, реализующая алгоритм мониторинга параметров РВС, представляет собой детерминированный конечный автомат.
Входными данными такого автомата будут являться сигнал отказа вентиляторов (Fan_alarm), температура (Temperature) и напряжения на выходе блоков питания: напряжение питания ядра (VCCINT), дополнительное напряжение ^ССАих) и напряжение блоков ввода-вывода (VCCO) каждой вычислительной ПЛИС; также к входным данным относятся напряжение (V48) и ток (ICUrrenT) на входе блоков питания. Выходные данные подразделяются на два типа: сигналы управления и сообщения о выходе входных параметров за допустимый предел.
К сигналам управления относятся: сигнал сброса конфигурации ПЛИС (Program), сигнал выключения тактовой частоты на вычислительных модулях (Clk_stop) и сигнал выключения питания вычислительных модулей (Power_off).
Сообщения о выходе входных параметров за допустимый предел состоят из двух групп: сообщения типа «предупреждение» (Warning) и сообщения типа «авария» (Alarm). Сообщения по выбору пользователя могут выводиться на экран, протоколироваться в файле или производить звуковое оповещение.
Задача автомата состоит в управлении выходными данными так, чтобы входные данные не превысили заранее заданных значений. Схема алгоритма приведена на рис. 1.
Рис. 1. Схема алгоритма программы
После запуска программы происходит запись пороговых значений (Зп) контролируемых параметров (Temperature, Vccint, V,co и др.) в вычислительные ПЛИС, при достижении значений которых должен произойти аппаратный сброс конфигурации вычислительных ПЛИС. Производятся вычисления значений контролируемых параметров для диапазона значений типа Warning по следующей формуле
3W = 3П - 3П'Д
где Д=0,05 и может задаваться пользователем.
Значений типа Alarm вычисляются по следующей формуле:
За = Зп + 3пД.
Также пользователь может выбрать действие, совершаемое программой при достижении предупреждающих и аварийных сообщений (управление сигналами Program, Clk_stop, Power_off и др.). Производится считывание конфигурационного регистра (RC) базового модуля РВС, и в случае срабатывания аппаратного сброса (Reset Hw) конфигурации вычислительных ПЛИС программа выводит сообщение типа Alarm на экран и завершает работу, иначе производятся считывание текущих значений (Зт) контролируемых параметров и вывод данных на экран.
Если считанные значений (Зт) превышают 3w, но менее За, программа выдает сообщение типа Warning и производит действия, определенные ранее пользователем. Если считанные значения не превышают порог За, происходит продолжение мониторинга контролируемых параметров.
В случае превышения порога За выдается сообщение типа Alarm, производятся действия, определенные ранее пользователем, и программа завершает работу.
Реализационная часть. Программная реализация. На рис. 2 приведена экранная форма программы контроля критических параметров РВС. Программа является одним из компонентов многозадачной ОС РВС [1,2].
Рис. 2. Экранная форма программы контроля критических параметров РВС
Поле 1 отображает вкладки выбора контролируемых вычислительных блоков в стойке. Поле 2 отображает вкладки выбора контролируемых базовых модулей в вычислительных блоках. Поле 3 предназначено для программирования пороговых значений.
К программируемым пороговым значениям относятся: минимальное и максимальное значения температуры вычислительных и интерфейсной ПЛИС; минимальное и максимальное значения питания ядер вычислительных и интерфейсной ПЛИС; минимальное и максимальное значения дополнительного питания вычислительных и интерфейсной ПЛИС; минимальное и максимальное значения потребляемых токов блоков питания базовых модулей; минимальное и максимальное значения напряжения блоков питания базовых модулей.
Поле 4 отображает температуру, питание ядра и дополнительное питание вычислительных ПЛИС. В данном поле отображаются текущие значения, а также минимальные и максимальные значения, достигнутые во время мониторинга.
Поле 5 отображает значения тока, напряжения и мощности блоков питания базового модуля. Для тока и мощности отображаются максимально достигнутые значения.
Поле 6 отображает текущее и максимально достигнутое значения потребляемой мощности базового модуля.
Поле 7 отображает температуру, питание ядра и дополнительное питание интерфейсной ПЛИС. В поле отображаются текущие значения, а также минимальные и максимальные значения, достигнутые во время мониторинга.
Поле 8 отображает аварийный сигнал, а также имеет кнопку вызова окна программирования действий по предупреждению выхода из строя аппаратуры.
Поле 9 отображает протокол данных мониторинга со всех вычислительных блоков и базовых модулей. Данные, отображаемые дублируются в соответствующих вычислительным блокам текстовых файлах.
Как было указано выше, действия по предупреждению выхода из строя аппаратуры разделены на три зоны: зону предупреждения, аварийную программную зону и аварийную аппаратную зону.
Значения контролируемых параметров РВС, находящиеся в зоне предупреждения, выделяются желтым цветом. Значения, параметров которые вошли в аварийную зону, и в результате чего произошло выключение базового модуля, выделяются красным цветом.
Для программной аварийной зоны, например, можно выбрать следующие действия: аппаратную подачу сигнала Program на вычислительные ПЛИС; протоколирование и звуковое оповещение; программное выключение; программную подачу сигнала Program на вычислительные ПЛИС; аппаратное отключение синхронизирующей серии сигналов.
Возможно также определение других пользовательских действий по предупреждению выхода из строя аппаратуры.
Программа осуществляет протоколирование контролируемых параметров в текстовом файле, также возможна визуализация данных параметров.
В протоколе записываются следующие данные: время возникновения сбоя; описание аппаратных компонентов повлекших возникновение сбоя; описание принятых программой действий по предупреждению выхода из строя аппаратуры, связанных со сбоем.
Аппаратная реализация. Система питания базового модуля состоит из первичного источника напряжения, преобразующего входное переменное напряжение 220 В в постоянное 48 В, и вторичных источников питания, обеспечивающих питание ПЛИС и других микросхем, расположенных на базовом модуле. Такая схема
обеспечивает двойную гальваническую развязку, что является существенным фактором, обеспечивающим безопасную эксплуатацию. Структурная схема системы питания базового модуля приведена на рис. 3.
Рис. 3. Структурная схема системы питания базового модуля
Система питания базового модуля имеет в своем составе схему мониторинга потребляемого тока. Назначение этой схемы - измерять суммарный потребляемый ток каждого источника напряжения в процессе работы базового модуля. Цель мониторинга состоит в том, чтобы измерить значения потребляемых токов в процессе работы базового модуля и своевременно определить возможное состояние перегрузки по потребляемому току.
Производитель ПЛИС не приводит в своих технических описаниях значения потребляемых токов, так как этот параметр существенно зависит от многих составляющих: количества задействованных в данном проекте логических ресурсов ПЛИС, тактовой частоты, примененного стандарта интерфейсов внешних связей, варианта построения электрической схемы внутри ПЛИС.
Программа оценки потребляемой мощности, входящая в систему проектирования ПЛИС, не учитывает реального электрического и топологического окружения каждой микросхемы на конкретной печатной плате. Знание реальных предельных значений токов потребления позволит оптимизировать систему питания базового модуля.
Мониторинг тока ведется методом измерения падения напряжения на шунтирующем резисторе. Шунтирующие резисторы включены перед каждым источником напряжения со стороны входного питающего напряжения 48 В. В качестве шунтов используются низкоомные и относительно маломощные резисторы. Дополнительное падение напряжения, которое вносят шунтирующие резисторы в цепь 48 В, не отражается на значении выходных напряжений вторичных источников.
Напряжения на шунтах являются входными сигналами мониторов тока типа INA209 производства Texas Instruments. Результат измерения тока каждый монитор представляет в виде 12-битного кода, который может быть считан через стандартную I2C шину с помощью ПЛИС контроллера базового модуля (КБМ).
Так как измерения и генерация результата проходят в цепях с напряжением 48 В, а периферийные устройства КБМ питаются напряжением 2,5 В, необходима гальваническая развязка информационной шины. Она достигается применением микросхемы ADUM1251, специально предназначенной для создания гальванической развязки при построении I2C сети.
Для обеспечения возможности измерения температуры, а также напряжений питания ядра, вспомогательного напряжения и напряжения блоков ввода-вывода каждой вычислительной ПЛИС используется аппаратный системный монитор, встроенный в ПЛИС, фирмы XILINX [3] на основе десятиразрядного аналогоцифрового преобразователя. Системный монитор имеет набор регистров, в которых содержатся измеренные значения температуры и напряжений. Также имеются управляющие регистры, запись в которые позволяет установить пороговые значения для измеренных параметров [4]. Запись в эти регистры осуществляется программой контроля критических параметров РВС при ее запуске.
В случае, если измеренные параметры превышают установленное значение, происходит активации аварийного сигнала. Этот сигнал от каждой вычислительной ПЛИС поступает в КБМ и, в случае хотя бы одного активного сигнала, происходит сброс конфигурации вычислительных ПЛИС, т.е. происходит срабатывание аппаратного аварийного режима защиты.
Для обеспечения работы программы контроля критических параметров РВС аппаратная реализация КБМ содержит регистры, запись в которые позволяет осуществлять действия по предотвращению выхода из строя аппаратуры. Запись в эти регистры позволяет прекратить поступление сигналов тактовой частоты в вычислительные ПЛИС и производить сброс их конфигурации.
Экспериментальная часть. Для проверки работоспособности программноаппаратных средств мониторинга РВС была разработана методика тестирования критических параметров РВС, состоящая из двух частей.
В первой части методики проверялось выполнение действий при достижении пороговых значений, как аппаратного, так и программного режима защиты.
Во второй части методики производилась оценка разница значений измерений считанных программой и значений, измеренных поверенными приборами.
Для выполнения первой части методики по параметру «температура» (Temperature) производился нагрев отдельных ПЛИС и фиксировался результат действий, выполняемых программой в случае сообщения типа Warning и Alarm (выделение цветом соответствующего окна, запись в окно протоколирования, звуковое оповещение, отключение питания базовых модулей и др.).
Для тестирования по параметрам напряжений и токов (VcciNt, VCcauX,V48, ICURRENT) в окне программы для задания пороговых параметров снижались соответствующие значения для каждого контролируемого напряжения или тока и, аналогично, контролировались действия в случае нахождения в зоне предупреждения, аварийной программной зоне и аварийной аппаратной зоне.
При выполнении методики по всем контролируемым параметрам программно-аппаратные средства успешно прошли тестирование.
Для реализации второй части методики с помощью поверенных приборов были произведены замеры значений напряжений VCCint, VCCAUX и температуры каждой вычислительной ПЛИС, а также тока ICURRENT и напряжения V48 блоков питаний. Измерения проводились до загрузки конфигурационных файлов в вычислительные ПЛИС, после загрузки и после запуска тестовой задачи. Был произведен расчет разницы значений измеренных и зафиксированных программой. Среднее значение разницы для всех трех типов измерений не превысило погрешность измерений поверенных приборов и погрешность измерения АЦП системного монитора, встроенного в ПЛИС и микросхемы монитора тока INA209.
Выводы. Реализованная программно-аппаратная система контроля критических параметров РВС позволяет:
♦ предупредить повреждение путем своевременно предпринимаемых действий;
♦ сократить время на поиск и устранение неисправностей за счет контроля отдельных компонентов РВС;
♦ минимизировать выход из строя одних аппаратных компонентов РВС вследствие сбоя других.
Разработанная программно-аппаратная система контроля критических параметров внедрена в состав реконфигурируемой вычислительной системы РВС-1, установленной в НИИ МВС ЮФУ (г. Таганрог) и имеющей пиковую производительность 11012 флопс. Также данная система входит в состав реконфигурируемой вычислительной системы РВС-5, обеспечивающей пиковую производительность 6 1012 флопс. В состав РВС-5 входит двадцать вычислительных блоков, содержащих 80 базовых модулей. Таким образом, общее число контролируемых параметров составляет около 1600. Вычислительная система РВС-5 установлена в НИВЦ МГУ им. М.В. Ломоносова (г. Москва) и эксплуатируется с ноября 2009 г.
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Каляев З.В., Коваленко А.Г. Многозадачная распределенная операционная система многопроцессорной вычислительной системы с программируемой архитектурой // Известия ТРТУ. - 2006. - № 9-1 (64). - С. 179.
2. Каляев З.В. Компоненты многозадачной операционной системы для реконфигурируемой вычислительной системы // Материалы Третьей ежегодной научной конференции студентов и аспирантов базовых кафедр ЮНЦ РАН. - Ростов-на-Дону: Изд-во ЮНЦ РАН, 2007. - С. 140-141.
3. Virtex-5 FPGA System Monitor. User Guide UG192 (v1.4) April 25,2008.
http://www.xilinx.com/support/documentation/user_guides/ug190.pdf.
4. Virtex-5 Family Overview. Product Specification DS100 (v5.0) February 6, 2009. http://www.xilinx.com/support/documentation/data_sheets/ds100.pdf.
Каляев Захар Владимирович
Научно-исследовательский институт многопроцессорных вычислительных систем им. академика А.В. Каляева Южного федерального университета.
E-mail: zakhar@mvs.tsure.ru.
347928, г. Таганрог, ул. Чехова, 2.
Тел.: 88634315491.
Раскладкин Максим Константинович
E-mail: raskladkin@mail.ru Тел.: 88634319105.
Kaliaev Zakhar Vladimirovitch
Scientific Research Institute of Multiprocessor Computing Systems of Southern Federal University.
E-mail: zakhar@mvs.tsure.ru.
2, Chekhov street, Taganrog, 347928, Russia.
Phone: +78634315491.
Raskladkin Maxim Konstantinovitch
E-mail: raskladkin@mail.ru Phone: +78634319105.