Научная статья на тему 'ПОВЫШЕНИЕ НАДЕЖНОСТИ АППАРАТНО-ПРОГРАММНОГО КОМПЛЕКСА С ПОМОЩЬЮ МУЛЬТИВЕРСИОННОСТИ И ИЗБЫТОЧНОСТИ'

ПОВЫШЕНИЕ НАДЕЖНОСТИ АППАРАТНО-ПРОГРАММНОГО КОМПЛЕКСА С ПОМОЩЬЮ МУЛЬТИВЕРСИОННОСТИ И ИЗБЫТОЧНОСТИ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
3
0
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
мультиверсионное программирование / надежность программного обеспечения / модель надежности / multiversion programming / N-version programming / software reliability / reliability model

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Д.Л. Никифоров, В.А. Терсков

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

INCREASING HARDWARE-SOFTWARE COMPLEX RELIABILITY THROUGH MULTIVERSION PROGRAMMING AND REDUNDANCY

Paper describes how software and hardware reliability depend on the number of software and hardware components individually, and in combination.

Текст научной работы на тему «ПОВЫШЕНИЕ НАДЕЖНОСТИ АППАРАТНО-ПРОГРАММНОГО КОМПЛЕКСА С ПОМОЩЬЮ МУЛЬТИВЕРСИОННОСТИ И ИЗБЫТОЧНОСТИ»

УДК 519.248

ПОВЫШЕНИЕ НАДЕЖНОСТИ АППАРАТНО-ПРОГРАММНОГО КОМПЛЕКСА С ПОМОЩЬЮ МУЛЬТИВЕРСИОННОСТИ И ИЗБЫТОЧНОСТИ

Д. Л. Никифоров* Научный руководитель - В. А. Терсков

Сибирский государственный университет науки и технологий имени академика М. Ф. Решетнева Российская Федерация, 660037, г. Красноярск, просп. им. газ. «Красноярский рабочий», 31

Е-mail: nikiforov-danil1997@yandex.ru

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

Ключевые слова: мультиверсионное программирование, мультиверсионность, надежность программного обеспечения, модель надежности.

INCREASING HARDWARE-SOFTWARE COMPLEX RELIABILITY THROUGH MULTIVERSION PROGRAMMING AND REDUNDANCY

D. L. Nikiforov* Scientific supervisor - V. A. Terskov

Reshetnev Siberian State University of Science and Technology 31, Krasnoyarskii rabochii prospekt, Krasnoyarsk, 660037, Russian Federation Е-mail: nikiforov-danil1997@yandex.ru

Paper describes how software and hardware reliability depend on the number of software and hardware components individually, and in combination.

Keywords: multiversion programming, N-version programming, software reliability, reliability model.

Одной из главных характеристик аппаратно-программных систем обработки информации реального времени является надёжность.

Разработка систем реального времени требует большого количества ресурсов на проектирование и тестирование. Одно из решений данной проблемы является математическое моделирование аппаратно-программных комплексов. Это позволяет более гибко проектировать системы реального времени с заданной надёжностью с учётом ограничений по цене и времени разработки, а также открывается возможность более гибкой оптимизации [1, 2].

Надёжность программного обеспечения. Модель [2], приведенная ниже, может использоваться, чтобы оценить надёжность программного обеспечения (ПО) для возможных архитектурных изменений, выбрать надёжную архитектуру из различных вариантов и имеет следующие обозначения:

1) М- число архитектурных уровней в архитектуре ПО;

2) Nj - число компонентов на уровне j;

3) Dj - множество индексов компонентов, зависящих от компонента i на уровне j;

4) Fj - событие сбоя, произошедшего в компоненте i на уровне j;

Актуальные проблемы авиации и космонавтики - 2021. Том 2

5) PUij - вероятность использования компонента i на уровне j;

6) PFij - вероятность появления сбоя в компоненте i на уровне j, ie {1,..,Nj}, je {1,..,M};

7) PL'Jnm - условная вероятность появления сбоя в компоненте m на уровне n при появлении сбоя в компоненте i на уровне j;

8) TAj - относительное время доступа к компоненту i на уровне j;

9) TCj - относительное время анализа сбоя в компоненте i на уровне j;

10) TEj - относительное время устранения сбоя в компоненте i на уровне j;

11) TUj - относительное время использования компонента i на уровне j;

12) TR - среднее время простоя системы;

13) MTTF (Mean Time To Failure) - среднее время появления сбоя.

В архитектуре реального ПО среднее время появление сбоя, то есть время, в течение которого программное обеспечение функционирует корректно, равно [2]:

M NJ

MTTF = YZ{PUJ x (1"PFj) x [ TUj + X! + Х2]}

J=1 i=1

M Nm f / \ f tt \

x = zz (1 - PLJm ) TUnm " PL: ) TUj

m=1 n=1 m* J

V

V

leDn,

JJ

= z

keDj

M Nm f f M

(1 -PLkj)x TUkj + ZZ (1 -PLkjm)x\TUnm + Z((-P^)xTU,m)

m=1 n=1

leDj,

V m* J

JJ

JJ

Среднее время простоя (восстановления) программного обеспечения равно [2]:

М . .

тя = {{ + ^х к+тс}+тЕ)+у + У ]}

j=1 i=1

M Nm f f

у1 = zz

m=1 n=1

m* j

PL1 x

nm

V v

(TAnm + TCnm + TEnm ) + £ ( X ( + ТСЫ + ТЕЫ ))

leDn,

f /

У 2 = Z

keD::

PLJ x

kj

M Nm

f Г

(( + с+tej )zz

V V

m=1 n=1 m* j

PL x

nm

(TAnm + TCnm + TEnm ) +

z ( x(TAim + ТСЫ + TEim ^

V V

Надёжность программного обеспечения можно оценить с помощью коэффициента готовности Б, вычисляемого по следующей формуле:

S = ■

MTTF MTTF + TR

При построении мультиверсионного компонента из K версий методом мультиверсионного программирования (NVP, N-version programming) для любого k надёжность равна:

r=р; *

i-п (• -rt )

ч ^ ,

где р/J - вероятность безотказной работы алгоритма голосования для компонента i на уровне j, Zj - множество версий компонента, а р- вероятность безотказной работы версии k&Zj.

Полученная выше формула может быть использована для вычисления вероятностей

отказов компонентов программного обеспечения:

PFj =1 - Rj

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

Каждый процессор и шина выходят из строя в некоторые случайные моменты времени, после чего начинается их восстановление. Интенсивность отказов шин обозначим как v0, интенсивность потока восстановления шин - ц0. Интенсивность потоков отказов процессоров обозначим v, а интенсивность восстановления процессоров i-го типа -

Вероятность Pj j нахождения системы в состоянии, в котором jo шин интерфейса

исправны и участвуют в вычислительном процессе, а (m00 - j0) неисправны и восстанавливаются, ji процессоров 1-го типа исправны и участвуют в вычислительном процессе, а (m1 -j1) неисправны и восстанавливаются, ... , jN процессоров N-го типа исправны и участвуют в вычислительном процессе, а (mi - ji) неисправны и восстанавливаются, определяется по следующей формуле [3, 4]:

п_mA_хрп

P = 1=0 (mi - jr jr ! '

Jo, ji,..., Jn

п( +1)

i=0

Кроме того, используется следующее обозначение:

mi

Р/ =

Надёжность аппаратного обеспечения может быть вычислена по следующей формуле:

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

О = У Р

сР ¿—1 3о, 3\,--, Зм

м о <3о <то

Мм < Зм <тн

где Мо - минимальное требуемое для обеспечения заданной производительности число исправных шин памяти, м - минимальное требуемое для обеспечения заданной производительности число исправных процессоров 1-го типа.

Модель надёжности аппаратно-программного комплекса. Теперь мы можем объединить модели надёжности программного обеспечения и аппаратного обеспечения в

Акта ильные проблемы авиации и космонавтики - 2021. Том 2

общую модель надёжности многопроцессорного аппаратно-программного комплекса системы управления реального времени с мультиверсионным программным обеспечением.

Вероятность одновременной безотказной работы аппаратно-программного комплекса равна произведению вероятностей безотказной работы программной и аппаратной частей:

PF = Gcp * S

На основе данной модели была разработана программа на языке Python, позволяющая рассматривать множество вариантов архитектуры за короткое время и без существенных затрат, характерных для построения опытных образцов и оценки надёжности путём организации опытной эксплуатации.

Библиографические ссылки

1. Тынченко В.В., Царев Р.Ю. К вопросу оценки надежности программного обеспечения с многоуровневой архитектурой // Современные проблемы науки и образования. - 2015. - № 2 (часть 1)

2. Кукарцев В. В., Шеенок Д. А. Оптимизация программной архитектуры логистических информационных систем // Логистические системы в глобальной экономике. 2013. № 3. С. 138-145.

3. Ефимов С. Н., Терсков В. А. Реконфигурируемые вычислительные системы обработки информации и управления. Красноярск: КрИЖТ ИрГУПС, 2013. 249 с.

4. Methods of assessing the characteristics of the multiprocessor computer system adaptation unit / Efimov S. N., Tyapkin V. N., Dmitriev D. D. и др. // Журнал Сибирского федерального университета. Серия: Математика и физика, 2016, Т. 9, № 3, С. 288-295.

© Никифоров Д. Л., 2021

i Надоели баннеры? Вы всегда можете отключить рекламу.