УДК 621.396.6.019.3+519.87
Волочий Б.Ю., Миськив М.В., Муляк А.В. , Озирковский Л.Д.
Национальный университет «Львовская политехника», Львов, Украина
НАДЕЖНОСТНАЯ МОДЕЛЬ ОТКАЗОУСТОЙЧИВОЙ МНОГОПРОЦЕССОРНОЙ СИСТЕМЫ С УЧЕТОМ ДВУКРАТНОГО ОБНОВЛЕНИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
Аннотация. В статье предложена надежностная модель отказоустойчивой многопроцессорной системы, в состав которой входит две многопроцессорные системы (основная и резервная), процессоры общего для обеих систем скользящего резерва, процессор контроля и диагностики системы. В модели также учтено, двукратное обновление программного обеспечения, автоматическая перезагрузка программного обеспечения, после потери работоспособности, вызванной сбоями аппаратных средств системы. Предложенная модель предназначена для решения задач надежностного проектирования программно-аппаратных систем.
Ключевые слова: надежность программно-аппаратных систем, отказоустойчивая программно-
аппаратная система, отказоустойчивая многопроцессорная система.
Постановка задачи
Надежностное проектирование многопроцессорных систем [1-8] имеет свою специфику, так как необходимо предусмотреть защиту от отказов и сбоев аппаратных средств, сбоев программного обеспечения (ПО), а также учесть обновления версии ПО. В программно-аппаратных системах (ПАС) для повышения надежности и увеличении продолжительности беспрерывной работы используется свойство отказоустойчивости для аппаратных средств (АС), а также предусматривается использование в основной и резервной системах ПО от разных разработчиков [9], что исключает возникновение отказов на одинаковых циклах работы ПО. В ПАС, не допускающих простоя, предполагается использование резервной многопроцессорной системы [13], которая параллельно выполняет те же функции, что и основная. Резервная многопроцессорная система включается в работу при обнаружении средством контроля нарушения работоспособности основной многопроцессорной системы. Для повышения надежности аппаратных средств в такую систему включаются резервные процессоры, которые составляют общий скользящий резерв для обеих многопроцессорных систем. При проектировании ПО для ПАС в коде программы имеются ошибки (bugs - англ. ошибка), которые приводят ПАС в неработоспособное состояние. На этапе тестирования ПО проводится его верификация и усовершенствование, в результате чего количество ошибок уменьшается. Однако несмотря на тестирование ПО [10] и его верификацию, в коде программы остаются не обнаруженные ошибки. Такие ошибки приводят к отказам ПО или сбоям в его работе на этапе его эксплуатации. Для повышения надежности ПО проводится разработка новых его версий. Считается, что каждая новая версия ПО является более надежной, чем предыдущая. Для восстановления работоспособности ПО после сбоя АС, проводится автоматическая перезагрузка ПО. Восстановление работоспособности ПАС путем автоматической перезагрузки ПО, требует затрат времени. Эти затраты времени обусловливают простой ПАС и, как следствие, влияют на показатели надежности ПАС (вероятность безотказной работы на интервале эксплуатации, среднее время безотказной работы до критического отказа, и т.д.). Разработка вышеупомянутых отказоустойчивых ПАС с комбинированным структурным резервированием требует решения ряда задач надежностного проектирования. Для этого в распоряжении проектировщика должны быть соответствующие надежностные модели такой отказоустойчивой ПАС.
В работах [1 - 4] предлагаются надежностные модели многопроцессорных систем, в которых не учитывается надежность ПО. В работах [5, 6] описана модель ПАС для оценки показателей ее надежности, в которой предложено различать отказы АС и сбои ПО. Однако возможность обновления ПО не учтена. Эта модель предложена для ПАС, в которых допускается простой. В работах [7, 8]
предложена модель ПАС для оценки показателей надежности, в которой также различаются отказы АС и ПО, учитывается изменение значения интенсивности отказа ПО после проведения исправления в коде программы. Данная модель предложена для систем, в которых допускаются простой. В работе [11] предложена модель ПО для оценки показателей надежности ПО, с учетом эго обновления. Данная модель реализована для систем в которых предусмотрен простой. В работе [13] предложена надежностная модель многопроцессорной резервированной системы с общим для обеих систем скользящим резервом, в которой учтена только аппаратная составляющая ПАС.
Заметим, что в известных публикациях отсутствуют надежностные модели многопроцессорной ПАС с общим резервированием и скользящим резервом процессоров для обоих многопроцессорных систем, обновлением ПО, автоматической перезагрузкой ПО, сбои которого вызваны сбоями аппаратных средств. Вышесказанное обусловливает актуальность задачи разработки надежностной модели такой ПАС.
1. Модель ПАС с двукратным обновлением программного обеспечения и автоматической его перезагрузкой после сбоев в работе, вызванных сбоями аппаратных средств
Рассматривается ПАС, для которой при оценке показателей надежности необходимо учитывать: отказы ПО, замену ПО новыми версиями, что обеспечивает снижение интенсивности отказов ПО, затраты времени на перезагрузку ПО, сбои ПО вызванные сбоями аппаратных средств, а также отказы АС. На рисунке 1 представлена модель поведения такой системы.
1
Рис. 1. Модель поведения программно-аппаратной системы с двукратным обновлением ПО и перезагрузкой ПО после сбоев в его работе, вызванных сбоями АС
В ПАС присутствуют следующие состояния: S1, S4 и S7 - состояния, в которых система работоспособна; S2, S5 - состояния в которых система исправна но неработоспособна, так как проводится замена версии ПО (состояние простоя); S3, S6, S8 - состояния, в которых система не работоспособна по причине сбоя ПО вызванного сбоями АЗ, но проводится перезагрузка ПО; S9, S10 -состояния, в которых система неработоспособна по причине отказа ПО (состояния простоя).
В состоянии S1 могут произойти такие события: отказы ПО с интенсивностью Аояо, сбои ПО вызванные сбоями АС с интенсивностью /^по , окончание эксплуатации первой версии ПО (так готова к эксплуатации вторая (обновленная) версия ПО с интенсивностью 1/ТОБН\, где Т0Ш1 - среднее время, требуемое для разработки второй версии ПО (продолжительность эксплуатации первой версии ПО), а также отказы АС с интенсивностью ^АС . В состоянии S4 могут произойти такие события: отказ ПО с интенсивностью А'ояо , сбои ПО вызванные сбоями АС с интенсивностью А'сло , окончание эксплуатации второй версии ПО (так как готова к эксплуатации третья (обновленная) версия ПО) с интенсивностью ^Ш2 = 1/ТОШ2 соответственно, где ТОБН2 - среднее время, требуемое для разработки 3-ей версии ПО (длительность эксплуатации второй версии ПО), а также отказы АС с интенсивностью Х0АС . В состоянии S7 происходят: отказы ПО с интенсивностью Л”опо ; сбои ПО вызванные боями АС с интенсивностью А"сяо ; отказы АС с интенсивностью .
Рис. 2. Структурная схема отказоустойчивой программно-аппаратной системы (1 - основная многопроцессорная система, 2 - процессор, находящийся в горячем резерве, 3 - процессоры, находящиеся в холодном резерве, 4 - резервная многопроцессорная система, ПКД-процессор контроля и
диагностики)
В зависимости от состояния, в котором произошел сбой ПО, система попадает в состояния S3 или S6 или S8. Окончание процедуры перезагрузки ПО происходит с интенсивностью №пе?~ 1/ТПБР , где ТПБР - продолжительность перезагрузки ПО. Когда система находится в состояниях S2 и S5, то происходит процедура изъятия с ПАС предыдущей версии ПО и загрузка новой версии ПО с интенсивностью Щпо= 1/Тшо, где Тшо - продолжительность замены версии ПО в ПАС. С состояний S9, S10
система попадает в состояния S2, S5 с интенсивностью 1/ТОБН\, где Т0Бт - среднее время
разработки второй версии ПО, и с интенсивностью ^Ш2 = 1/ТОБН2, где Т0БН2 - среднее время разработки третьей версии соответственно.
После ввода в эксплуатацию ПО, которое содержит в себе не обнаруженные ошибки (software bugs), приводящие к отказу ПАС, проводится разработка второй версии ПО за время Т0Бт . За время
2
ТОЫл проводится разработка третей версии ПО. Поскольку при разработке новой версии ПО уменьшается количество ошибок, то для их обнаружения необходимы большие затраты времени соответственно ТОН2> Тот . Считаем, что при выпуске новой версии ПО уменьшается количество ошибок, которые могут привести к отказу ПО, соответственно интенсивность отказов ПО уменьшается Л"опо <Л'опо <-Лпо А также будет уменьшаться интенсивность сбоев ПО вызвано сбоями АЗ
Л"сяс, <Л'спо <Лпо с изменением версии ПО.
2. Модель отказоустойчивой многопроцессорной системы с комбинированным структурным резервированием, учетом обновления и автоматической перезагрузкой программного обеспечения
2.1. Структура отказоустойчивой многопроцессорной системы
Исходя из того, что ПАС должна работать непрерывно, без потери работоспособности при отказах и сбоях процессоров и сбоях ПО без снижения эффективности выполнения заданной функции, использовано общее горячее резервирование. Структурная схема отказоустойчивой ПАС показана на рисунке 2. В ее состав входит: основная многопроцессорная система, которая состоит из n - процессоров; резервная многопроцессорная система, которая состоит из k - процессоров, для обеих многопроцессорных систем предусмотрено скользящее резервирование процессоров, при этом один (первый в очереди на использование) резервный процессор находится в горячем резерве, а остальные - в холодном; процессор контроля и диагностики определяет состояние ПАС в аппаратной и программной частях и подает команды для управления резервным ресурсом; устройство коммутации выполняет функции подключения (или отключения) резервной многопроцессорной системы, а также отключение неисправных процессоров и подключение процессоров скользящего резерва.
2.2. Структурно-автоматная модель отказоустойчивой многопроцессорной системы
Метод разработки надежностной модели отказоустойчивой многопроцессорной системы в виде графа состояний и переходов, описанный в монографии [14], предусматривает формализованное представление объекта исследования в виде структурно-автоматной модели. Разработка структурноавтоматной модели предусматривает решение следующих задач: формирование вербальной модели объекта исследования; определение базовых событий; определение компонент вектора состояния, которыми можно описать состояние системы в любой момент времени; выбор параметров объекта исследования; формирование дерева правил модификации компонент вектора состояния.
2.2.1. Определение базовых событий многопроцессорной системы
Согласно с выбранными процедурами, определяющими надежностное поведение ПАС составляется перечень событий, которые происходят в отказоустойчивой системе. События отражают парами, что соответствует началу и окончанию временного интервала каждой процедуры. Для структурноавтоматной модели выбираются базовые события согласно [14, c. 65]. В результате проведенного анализа определены 18 базовых событий, а именно: событие 1.0 - «Отказ процессора основной многопроцессорной системы (при выполнении целевой функции»; событие 2.0 - «Сбой ПО процессора основной многопроцессорной системы (при выполнении целевой функции)»; событие 3.0 - «Отказ ПО процессора основной многопроцессорной системы (при выполнении целевой функции)»; событие 4.0 -«Отказ процессора резервной многопроцессорной системы (при выполнении целевой функции)»; событие 5.0 - «Сбой ПО процессора резервной многопроцессорной системы (при выполнении целевой
функции)»; событие 6.0 - «Отказ ПО процессора резервной многопроцессорной системы (при выполнении целевой функции)»; событие 7.0 - «Отказ процессора основной многопроцессорной системы (система находится в горячем общем резерве)»; событие 8.0 - «Сбой ПО процессора основной многопроцессорной системы (система находится в горячем общем резерве)»; событие 9.0 -«Отказ ПО процессора основной многопроцессорной системы (система находится в горячем общем резерве)»; событие 10.0 - «Отказ процессора резервной многопроцессорной системы (система находится в горячем общем резерве)»; событие 11.0 - «Сбой ПО процессора резервной многопроцессорной системы (система находится в горячем общем резерве)»; событие 12.0 - «Отказ ПО процессора резервной многопроцессорной системы (система находится в горячем общем резерве)»; событие 13.0 - «Отказ процессора скользящего резерва с загруженным ПО»; событие 14.0 - «Сбой ПО процессора скользящего резерва с загруженным ПО»; событие 15.0 - «Отказ ПО процессора скользящего резерва с загруженным ПО»; событие 16.0 - «Окончание процедуры подключения процессора из холодного резерва в горячий резерв, или в состав неисправных систем»; событие 17.0 - «Окончание процедуры восстановления работоспособности ПО на процессоре с неисправностью ПО»; событие 18.0 - «Окончание процедуры обновления версии программного обеспечения».
2.2.2. Параметры отказоустойчивой програмно-аппаратной системы, которые учтены в модели
Для разработки надежностной модели отказоустойчивой системы выбраны параметры, характеризующие структуру, а именно: n - количество процессоров, находящихся в составе основной многопроцессорной системы; k - количество процессоров, находящихся в составе резервной многопроцессорной системы; Шь - количество процессоров горячего резерва с загруженным ПО; Ше - количество процессоров холодного резерва с не загруженным ПО; Ahw - интенсивность отказов одного процессора, находящегося в составе основной или резервной многопроцессорной системы и в горячем резерве; Aswo, Aswi, ASW2 - интенсивности отказов первой, второй и третьей версии ПО соответственно; ASwzo, Aswzi, ASWZ2 - интенсивности сбоев первой, второй и третьей версии ПО соответственно; Toni, Ton2 - средние значения продолжительности разработки второй и третьей версии ПО соответственно; ТГее - продолжительность замены версии ПО на ПАС; Tdown - продолжительность выгрузки ПО; Tresm -продолжительность перезагрузки ПО на процессоре, который находится в неработоспособном состоянии после сбоя ПО.
2.3. Формирование аналитической модели отказоустойчивой многопроцессорной системы
Структурно-автоматная модель дает возможность согласно алгоритму предложенному в монографии [14, с. 89] построить граф состояний и переходов. Для различных конфигураций отказоустойчивой многопроцессорной системы граф состояний и переходов будет иметь параметры, представленные в таблице 1. В связи с громоздкостью графа состояний и переходов в статье он не приводится.
Таблица 1. Параметры графа состояний и переходов при различных конфигурациях отказоустойчивой системы
Конфигурация отказо- Количество Количество
устойчивая система состояний переходов
3
n=2; k = 2; mh=1; mc=0; 36 114
n=2; k = 2; mh=1; mc=1; 90 322
n=2; k = 2; mh=1; mc=2; 162 606
n=2; k = 2; mh=1; mc=3; 252 9 6 6
Для первой конфигурации ОС (см. табл. 1) на основании графа состояний и переходов, который имеет 36 состояний и 114 переходов ниже показана система линейных дифференциальных уравнений (СЛДУ) (1). Решение данной СЛДУ позволит провести оценку показателей надежности отказоустойчивой многопроцессорной системы.
( \
dP1(t)
dt
2 • X н—
sw0 т
or1
- + 5 • X + 5 • X
hw swz0
• P1(t) + Xhw • P21(t)
rec
501=2 X
dt hW
f
^ Pl(t) -
2 • Xsw0
V
н-----н 4 • X + 4 • X
T hw swz0
rec
• P2(t) + Xhw • P12(t) + 3 •Xhw • P25(t)
dP„ (t)
-3— = 2 •X „
dt swz0
(
• P1(t) -
2 • Xsw0
V
4
Tor1
4
+---+ 4 •X +4 •X Ирт + 2 •X
T hw swz0} 3W hw
rec
• P14(t) + 3 Xswz0
• P25(t)
dP4(t)
dt
44 2• X ~+-^ + —
sw0 T T
orl rec J
f
•P1(t) -
2 X
44
+ T-+ T~ + 5 Xhw +5' Xswz0 )• P4(t) + Xhw'P16(t)
sw1 + т T
or2 rec
(1)
dP36(t)
dt
= 2 • Xhw' P20(t) 2 • {Xhw + Xsw2 + Xswz2 ) • P36(t)
36
Z Pi (t) = 1
i = 1 i
2.4. Пример использования предложенной надежностной модели
Необходимо сравнить значения показателей надежности ПАС с обновлением ПО, полученные с помощью моделей, учитывающих и не учитывающих наличие обновления ПО. Для этого определены значе-
ния продолжительности экплуатации ПАС Тэкс, при которой вероятность безотказной Таблица 2. Параметры модели и результаты исследования
Кривая на графике 1 2 3
Параметры модели n=2; m=2; mh=1; n=2; m=2; mh=1; n=2; m=2; mh=1; Xhw=110-
Xhw=110-6 час-1; X3Wo = Xhw=1^10-6 час-1; 6 час-1;
5^10-3 час -1; Xsw0 5 A° час ; XSW0 5A0 час ;
Xswz0 = 0,01 час-1; Xsw1 = 3-10-3 час-1; Xsw1 = 110-3 час-1;
Tdown 6 мин; Xsw2= 110-3 час-1; Xsw2= 7^10-4 час-1;
Tresm =6 мин. Xswz0 =Xswz1 =Xswz2 = Xswz0 =Xswz1 =Xswz2 = =
= 0,01 час-1; 0,01 час-1;
Ton1 =2000 час; Ton1 =2000 час;
Ton2 =4 000 час; Ton2 =4000 час;
Trec =12 мин; Trec =12 мин;
Tdown 6 мин; Tdown 6 мин;
Tresm =6 мин. Tresm = 6 мин.
Т экс , час. >0,99 при Рб.р. 6550 7850 8000
р
’ Той) 20о5 3d00 40'00 5о5о боЬо 6550 1 7850 8000 9000 Тср., час
Рис. 3. Зависимость вероятности безотказной работы отказоустойчивой многопроцессорной системы от продолжительности ее эксплуатации
работы отказоустойчивой многопроцессорной системы с учетом двукратного обновления и перезагрузки ПО на ее процессорах Рб.р. ^ 0,99. Параметры модели и результаты исследования представлены в таблице 2. При проведении исследований рассмотрено два варианта значений параметров обновленного ПО (см. табл. 2) . На рис. 3 представлены зависимости вероятности безотказной работы отказоустойчивой многопроцессорной системы от продолжительности ее эксплуатации, полученные с помощью надежностных моделей без обновления и с обновлением ПО, а именно: кривая 1 - модель
отказоустойчивой многопроцессорной системы с автоматической перезагрузкой ПО и без учета об-
4
новления ПО [14]; кривая 2, 3 - модель отказоустойчивой многопроцессорной системы с учетом
двух вариантов значений параметров обновленного ПО (см. табл. 2) и автоматической перезагрузки
ПО.
Из результатов представленных на рис. 3 видно, что значение продолжительности эксплуатации ПАС с обновлением ПО, при которой вероятность безотказной работы Рб.р. ^ 0,99, полученное с
помощью модели не учитывающей обновление ПО (кривая 1) меньше значений продолжительности эксплуатации такой ПАС, полученных с помощью модели учитывающей двукратное обновление ПО (кривые 2, 3).
ВЫВОДЫ
В статье предложена надежностная модель отказоустойчивой многопроцессорной системы с двукратным обновлением ПО, восстановлением работоспособности аппаратных средств, путем перезагрузки программного обеспечения, сбой в работе которого был вызван сбоем в работе аппаратного средства. Предложенная модель отказоустойчивой многопроцессорной системы позволяет проектировщику решать задачи надежностного анализа и синтеза, а именно: определить конфигурацию ПАС для обеспечения необходимого уровня надежности, определить требования к надежности программного обеспечения, требования к средствам контроля работоспособности ПАС и ее диагностики, а также ограничения на длительности перезагрузки ПО и приемлемые сроки доработки ПО.
ЛИТЕРАТУРА
1. Mudry Р.А. CONFETTI: A reconfigurable hardware platform for prototyping cellular architectures / P.A. Mudry, F. Vannel, G. Tempesti, D. Mange // International Parallel and Distributed Processing Symposium, 2007. - Р. 96 - 103.
2. Oleg Viktorov. Reconfigurable Multiprocessor System Reliability Esimation / Viktorov Oleg / Asian Jounal of Information Technology: Medwell Journals, 2007. - 958-960 p.
3. Rajesh Shanmugam. Fault Tolerance in Multicore Processors With Reconfigurable Hardware Unit / Rajesh S, Vinoth Kumar C, Srivatsan R, Harini S, A.P. Shanthi / 15th international conference on high performance computing: Bangalore, INDIA, 2008. - Р. 166 - 171.
4. Amerijckx C. A Low-Power Multiprocessor ArchitectureFor Embedded Reconfigurable Systems / C. Amerijckx, J.-D. Legat / Power and Timing Modeling, Optimization and Simulation, International Workshop, 2008. - Р.83 - 93.
5. Каляев И.А. Реконфигурируемые мультиконвейерные вычислительные структуры / И.А. Каляев,
И.И. Левин, Е.А. Семерников, В.И. Шмойлов. - Ростов-на-Дону.: Издательство ЮНЦ РАН, 2008. -
393 c.
6. Changyun Zhu. Reliable multiprocessor system-on-chip synthesis / Changyun Zhu, Z. Gu, R. Dick, L. Shang // Proc. International Conference Hardware/Software Codesign and System Synthesis, Sep. 2007. - Р. 239 - 244.
7. Kim P. Gostelow. "The design of a fault-tolerant, realtime, multi-core computer system." In Aerospace Conference, IEEE, 2011. - Р. 1 - 8.
8. Melson N. Duane. Use of CYBER 203 and CYBER 205 computers for three-dimensional transonic flow calculations / N. Duane Melson, James D. Keller / National Aeronautics and Space Administration, Scientific and Technical Information Branch, 1983. - 13 p.
9. Белый Ю.А. Модели отказов и оценка надежности мультидиверсных систем / Белый Ю.А. // Радiоелектроннi i комп'ютернi системи. - 2008. - №5 (32). - 62 - 66.
10. Коротун Т.М. Модели и методы тестирования программных систем / Т.М. Коротун / / Проблемы программирования. - 2007. - № 2. - С. 76 - 84.Поночовный Ю.Л. Оценка надежности информационных систем с учетом изменения параметров програмнных средств / Ю.Л. Поночовный // Системи обробки ^формац^. - Хар^в.: ХВУ, 2008. - Вип. 5 (72). - С.100-103.
11. Волочий Б.Ю. Технология моделирования алгоритмов поведения информационных систем / Б.Ю. Волочий. - Львов: Изд-во Национального ун-та «Львовская политехника», 2004. - 220 с.
12. Романкевич В.А. О расчете надежности отказоустойчивых многопроцессорных систем, подсистемы которых имеют общие процессоры / В.А. Романкевич, А.П. Фесенюк // Радиоэлектронные и компьютерные системы. - 2010. - №3 (44). - С.62 - 67.
13. Волочий Б.Ю. Оценка показателей надежности программно-аппаратной системы на основании мажоритарной структуры с перезагрузкой программного обеспечения / Б.Ю. Волочий, М.М. Змысный, А.В. Муляк. - Сборник тезисов докладов IX научно-практической конференции «Проблемы и перспективы развития экономики, предпринимательства и компьютерных технологий в Украине». - Львов, 2013. - С. 503 - 507.
5