2.4.4.
Анализ и сравнение аналитической и имитационной моделей
отказов и восстановления доступа к записи в базах данных
NoSQL
Эти результаты анализа опубликованы в [94]. Перед проведением
модельных экспериментов необходимо оценить вероятности P
1
, P
2
, P
3
(случайный
сбой, выход из строя системного блока, повреждены диски) при условии, что
сервер отказал. В [61] приводится сравнение кластера и «обычного» сервера. В
этой работе описан расчет вероятности отказа сервера за год, которая
складывается из вероятностей отказа комплектующих. На основе этих данных
можно сделать вывод, что вероятность P
2
превышает вероятность P
3
примерно на
порядок, т.к. часто выходят из строя блоки питания, элементы охлаждения и т.д.
Но аппаратное обеспечение выходит из строя гораздо реже, чем программное,
поэтому положим P
1
=5(P
2
+P
3
), P
2
=10P
3
. Т.к. P
1
+P
2
+P
3
=1, определим вероятности
следующим образом: P
1
=0.835, P
2
=0.15, P
3
=0.015.
В [61] вероятность отказа P
ph
сервера за период t=12 месяцев составляет
0.457. Т.к. вероятность P безотказной работы за период t рассчитывается по
формуле
P=exp(-δt),
где
δ
–
интенсивность
отказа,
то
имеем
δ
ph
=-ln(1-0.457)/12=0.05 – интенсивность отказа физических компонентов узла.
Вероятность отказа программного обеспечения (операционной системы),
согласно предположениям, в пять раз превышает вероятность отказа
комплектующих, поэтому примем интенсивность отказа узла δ=(5+1)δ
ph
=0.3.
Получаем среднее время наработки на отказ 1/ δ = 3.33 месяца. Для расчетов
примем 1/δ=3 мес (90 дней).
85
В расчетах по умолчанию были использованы следующие исходные
данные: U= 3000 – число узлов кластера; N= 3 – число реплик записи БД; K= 2 –
число ремонтных бригад; V= 1 Гбайт – объем основных реплик записей одного
узла; S = 8192 – число виртуальных узлов (в каждом узле располагаются S/U
виртуальных узлов); Q= 1 млрд – число записей БД; λ= 0.1 (1/с) – интенсивность
обновления какой-либо записи БД; T
F1
= 600 с – время устранения неисправности
по варианту отказа A1, т.е. время перезапуска операционной системы (см. раздел
2.4.3); T
F2
= 4 часа –
время устранения неисправности по варианту отказа A2, т.е.
время устранения неисправности на месте или восстановления узла из ЗИП, но со
старыми дисками; согласно документации Cassandra, временные реплики
хранятся 3 часа, примем это значение за T
ГР
, тогда T
F2
> T
ГР
и имеет место B2
способ автоматического восстановления данных узла; T
F3
= 5 часов – время
устранения неисправности по варианту отказа A3, т.е. станция заменяется из ЗИП
с новыми дисками и восстанавливается программное обеспечение; L
H
– размер
хеша в деревьях Меркле – 25 байт.
Значения интенсивностей обработки данных в устройствах: μ
N
= 12.5∙10
6
байт/с – интенсивность передачи данных по сети; μ
P
= 2 млрд операций в секунду
– производительность процессора; μ
DR
= 80 Мбайт/с – интенсивность чтения
байтов с диска; μ
DW
= 30 Мбайт/с – интенсивность вывода байтов на диск.
Результаты модельных экспериментов представлены на рисунках 2.19 -
2.23. При построении графиков для вероятности P
0
отказа в доступе к записи
принят логарифмический масштаб. На графиках «расчет» обозначает
зависимости, построенные по формуле (2.41), «имит» – зависимости, полученные
по результатам имитационного моделирования.
При очень малых вероятностях имитационная модель при тех же исходных
данных дает нулевые значения (P
0
=0 на рисунках 2.19 - 2.23), в этом случае лучше
использовать аналитические данные. Из рисунка 2.19 видно, что сначала
вероятность отказа растет медленно при увеличении числа узлов в кластере до
2000 (при увеличении числа узлов в 2000/100=20 раз вероятность возросла только
86
в 4,2E-10/1,2E-10=3,5 раза). При увеличении числа узлов с 3000 до 5000
вероятность возрастает на 5 порядков.
Необходимо подчеркнуть, что вероятность отказа в доступе к записи
(чтения записи) должна быть очень небольшой. Согласно [62] число ежедневных
поисковых запросов в Facebook равно более 1 млрд (данные на декабрь 2014).
Поэтому число читаемых записей также равно не менее 1 млрд. Если вероятность
P
0
отказа в чтении одной записи равна порядка 10
-10
, то среднее число отказов в
доступе к записям равно примерно 10
+9
·10
-10
=0,1 в день или 36,5 в год (среднее
суммы случайных величин равно сумме средних независимо от степени
коррелированности этих величин). При P
0
~10
-4
число отказов в доступе к записям
в день возрастет до 10
5
– это потенциальное количество жалоб в адрес компании.
Рисунок 2.19 – Зависимость вероятности P
0
от числа узлов U.
Из рисунка 2.20 видно, что одна ремонтная бригада не справляется с
интенсивностью отказов от U=3000 станций (P
0
~10
-2
). Для обеспечения
вероятности отказа порядка 10
-10
требуется 3-4 бригады (для N=3). Причем
дальнейшее увеличение числа ремонтных бригад не приводит с существенному
уменьшению вероятности P
0
.
87
График на рисунке 2.21 показывает, что при увеличении числа реплик
записи вероятность P
0
отказа в доступе к этой записи уменьшается по
показательному закону: при увеличении числа реплик только на 1 вероятность
уменьшается на 2 порядка. Для обеспечения отказоустойчивости P
0
~10
-11
при
K=2 требуется назначать число реплик не менее 4.
Рисунок 2.20 – Зависимость вероятности P
0
от числа ремонтных бригад K.
Рисунок 2.21 – Зависимость вероятности P
0
от параметра N.
88
Анализ результатов аналитического моделирования показал, что при
изменении среднего времени наработки на отказ существует время T
кр
=1/δ
кр
,
меньше которого P
0
возрастает сразу на несколько порядков. На рисунке 2.22
показаны зависимости T
кр
от U при различных значениях числа ремонтных бригад
K (N=3).
Рисунок 2.22 – Зависимость времени T
кр
от числа узлов U при различных
значениях K.
Рисунок 2.23 – Зависимость вероятности P
0
от числа узлов U при N=1 (K=2, 1/δ=3
мес).
Следует отметить, что графики имеют очень пологий участок(и) при
каждом K, т.е. T
кр
практически не меняется на этом участке. На рисунке 2.23
представлена зависимость вероятности P
0
от числа узлов U при N=1 (отсутствует
89
репликация). В этом случае отказоустойчивость системы нельзя признать
приемлемой для режима интенсивного чтения записей из базы данных (P
0
~10
-4
÷10
-2
).
Анализ моделей показывает, что разница между результатами
аналитического и имитационного моделирования невелика (при не очень
маленьких значениях вероятности P
0
~10
-4
÷10
-2
– см. рисунки 2.19, 2.20, 2.23):
сохраняется порядок значения вероятности и соответствующие значения
отличаются не более, чем в 2 раза.
Do'stlaringiz bilan baham: |