"Построение кластера высокой доступности на основе осрв qnx neutrino"



страница8/9
Дата04.11.2016
Размер2.34 Mb.
Просмотров2716
Скачиваний0
ТипПояснительная записка
1   2   3   4   5   6   7   8   9

Кластер типа активный/активный.

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

Для данного типа кластера операционная система QNX дает нам дополнительные преимущества. Благодаря прозрачному общению между процессами с помощью сети Qnet, помимо высокой доступности мы также получаем увеличенную производительность. Распараллеливать приложение для использования в сети Qnet очень просто, т.к. по сути, процессы в таком приложении общаются друг с другом так, как будто они на локальной машине.

В данном типе кластера менеджер ресурсов запускается на всех машинах. Работает он по следующему алгоритму:




Кластер типа N+1.

В этом случае в кластере есть один узел, который готов взять на себя обязанности любого другого. Это бывает полезно, если в кластере на разных узлах выполняются разные сервисы. В случае если это не так, кластер такого типа превращается в кластер активный/пассивный.

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

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










Расчет надежности.

Надежность программного обеспечения.

При расчете надежности программного обеспечения учитывают следующие показатели:

- Завершенность

- Восстанавливаемость

- Устойчивость

- Доступность


Завершенность

Завершенность – свойство ПО не попадать в состояния отказов вследствие ошибок и дефектов в программах и данных. Определяется временем наработки на ошибку и покрытием тестами.

Рассчитаем среднее время наработки на ошибку.
Средняя наработка на ошибку рассчитывается следующим образом:

1

где λПО – интенсивность ошибок программного обеспечения.

Интенсивность ошибок разрабатываемого программного обеспечения рассчитывается по формулам:

где τ –время отладки;

α – коэффициент крутизны линии, характеризующий скорость роста надежности;

N0 – число обнаруженных ошибок во время отладки;

N –число строк кода;

Kтп – коэффициент, учитывающий влияние методологии программирования на надежность ПО;

КТПi - коэффициент, учитывающий использование i-той технологии программирования;

КЯЗi – коэффициент, учитывающий использование i-го языка программирования;

КПЛi – коэффициент, учитывающий использование i-ой платформы программирования.
В данном программном обеспечении использована процедурная технология программирования (КТПi = 0,1), язык программирования Си (КЯЗi = 2), операционная система QNX (КПЛi = 1.5)
КТП = 0,1*2*1,5 = 0,3

Количество строк кода N = 2037.

Отладка программного обеспечения производилась с помощью тестирования в течение 10 часов. Результаты тестирования представлены в таблице.


Число ошибок

Время отладки

Интенсивность ошибок

13

1

0,001914584

10

2

0,000736377

7

3

0,000343642

5

4

0,000184094

3

5

0,000088365

2

6

0,000049091

1

7

0,000021039

1

8

0,000018409

1

9

0,000016363

0

10

0

На основе полученных данных построим кривую зависимости интенсивности ошибок от времени отладки
Функциональная зависимость интенсивности ошибок ПО от времени отладки описывается экспоненциальным законом и зависит от коэффициента крутизны линии, характеризующей скорость роста надежности α, и от фактического времени отладки ПО. Исходя из анализа результатов тестирования ПО определяем α = 0,05.

Таким образом, интенсивность ошибок разрабатываемого ПО составляет:






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

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

- Покрытие утверждения

- Покрытие ветвей

- Покрытие условий

Покрытие утверждений. Здесь нужно следить за тем, выполнялась ли каждая строка кода, по крайней мере, один раз. Чтобы достичь 100%-го покрытия утверждений, понадобится выполнить утверждение IF, причем оно должно принять значение TRUE для выполнения соответствующего требования THEN.

Покрытие ветвей. В данном случае нужно следить затем, была ли взята каждая ветвь или точка принятия решения при всех возможных исходах. Чтобы покрытие было 100%-м, требуется два прохода через условие IF, когда при одном проходе оно принимает значение TRUE, а при другом – FALSE. Каждый цикл DO-WHILE так же должен быть выполнен при условиях TRUE и FALSE. Для утверждений CASE или SWITCH требуются тестовые примеры, которые будут брать все возможные ветки, включая заданные по умолчанию пути.

Покрытие условий. Оно известно так же как покрытие предикатов и следит затем, принимает ли каждый операнд в комплексных логических выражениях значения FALSE/TRUE. Комплексные логические выражения содержат операторы AND, OR и XOR.

Каждый из этих типов покрытия содержит в себе более низкие уровни. Достижение 100%- го покрытия ветвей означает 100%- ное покрытие утверждений. Аналогично достижение 100%- го покрытия условий автоматически приводит к удовлетворению 100%- го покрытия ветвей.

На основе тестирования были получены следующие коэффициенты:

Коэффициент полноты:


,
Где Р – степень покрытия тестами в процентах.

Коэффициент достоверности:



Где Nпр – число прогонов;

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

Kдост = 600-43/600 = 0,928

Устойчивость

Устойчивость к дефектам и ошибкам – свойство ПО автоматически поддерживать заданный уровень качества функционирования при проявлениях дефектов и ошибок или нарушениях установленного интерфейса.

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

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

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

Восстанавливаемость

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

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


Доступность

Доступность или готовность – свойство ПО быть в состоянии выполнять требуемую функцию в данный момент времени при заданных условиях использования.

Коэффициент готовности рассчитывается по формуле:

,

где То – средняя наработка на ошибку (2682 часов),

Тв – время восстановления программы (0,1 минуты=0,0016 часа).
Таким образом, коэффициент готовности разрабатываемой системы:

.


Каталог: data -> 2013
2013 -> Федеральное государственное автономное образовательное
2013 -> «Визуальный образ персонажей массового кинематогрфа в историческом контексте»
2013 -> 2 раздел анализ предметной области 5
2013 -> Магистерская диссертация
2013 -> Влияние вовлеченности на готовность платить за коллекционные товары
2013 -> Выражение гендерных характеристик в англоязычном "глянцевом" дискурсе
2013 -> Продакт Плейсмент и перспективы его развития в сети Интернет
2013 -> 1Лекции первого полугодия
2013 -> «Правовое рассмотрение компьютерного мошенничества», Ницца, 22 октября 1992 года, грамота «весьма достойно»


Поделитесь с Вашими друзьями:
1   2   3   4   5   6   7   8   9


База данных защищена авторским правом ©nethash.ru 2019
обратиться к администрации

войти | регистрация
    Главная страница


загрузить материал