DELAY = EXPONENTIAL(λ)
DELAY -= (CURR_TIME - TIME_STAMP)
ЗАДЕРЖАТЬ выполнение на время DELAY
КОНЕЦ ЦИКЛА
Функция TIME_NANO возвращает системное время в наносекундах.
Данное время не является астрономическим – оно привязано к времени старта
102
операционной системы и используется только для профилирований программных
продуктов. Использование времени в наносекундах позволяет достичь высокой
точности при оценке времени чтения из базы данных NoSQL.
Алгоритм вычисления среднего времени ожидания требованием на чтение
окончания обновления W реплик.
Вход: LOG_W – файл журнала процесса записи, LOGS_R – файлы журналов
процессов чтения, N_ITER_W – количество итераций записи.
Алгоритм
:
COUNT_A = COUNT_B = 0
TIMES_A = TIMES_B = 0
СЧИТАТЬ время TIME_W из журнала LOG_W
ДЛЯ каждого журнала LOG_I_R из LOGS_R
ДЛЯ каждой записи из LOG_I_R
TIME_2 = TIME_2 · 10
-6
// перевод в мс
ЕСЛИ TIME_1 < TIME_W
COUNT_A++// до начала обновления
TIMES_A += TIME_2
ИНАЧЕ
COUNT_B++// после начала обновления
TIMES_B += TIME_2
КОНЕЦ ЕСЛИ
КОНЕЦ ДЛЯ
КОНЕЦ ДЛЯ
ВЕРНУТЬ TIMES_B / COUNT_B - TIMES_A / COUNT_A
Умножение переменной TIME_2 на 10
-6
обусловлено тем, что время
выполнения операции чтения каждым клиентом измеряется в наносекундах.
3.3.2.
Проведение экспериментов и оценка адекватности модели (2)
Число процессов чтения в эксперименте изменялось от 5 до 11, на один
процесс приходилось 3000 итераций чтения. Поэтому общий объем выборки
числа операций чтения в отсутствии обновления составил от 15000 до 33000.
Когда система не нагружена и отсутствуют обновления, время чтения записи из
БД имеет небольшую дисперсию, о чем нельзя сказать для режима чтения «на
фоне обновления». Для этого режима необходимо установить минимальный
объем выборки N_ITER_W. Воспользуемся теоремой Ляпунова, как в пункте 3.2.2
103
. В нашем случае случайная величина времени чтения записи ξ
i
измеряется в
несколько миллисекунд, примем σ = 1.0 мс. Пусть необходимо получить точность
экспериментальной оценки среднего значения с надежностью γ = 0.95 (модельная
оценка определяется выражением (2.21)). Тогда из (3.1) получим:
2
2
2
2
2
84
.
3
)
0
.
1
(
96
.
1
)
/
(
x
k
(3.6)
Рассчитаем объем выборки k по выражению (3.6): при δ=0.01 (мс) получаем
k≥38400 (общее число чтений).
Учитывая, что минимальная интенсивность чтений из всех реплик равна
(N=5)·(λ=3)=15(1/c), получим значение N_ITER_W≥ (k=38400)·1.25/15=3200. В
экспериментах было принято N_ITER_W=4000.
Было выполнено две серии экспериментов. В таблице 3.6 и 3.7 приведены
значения настраиваемых параметров (N,W,λ
)
и результаты натурных
экспериментов.
Таблица 3.6 – Первая серия натурных экспериментов.
N
W
λ(1/с)
Среднее время
ожидания, мс
N
W
λ(1/с)
Среднее время
ожидания, мс
5
3
3
0.041
7
4
3
0.090
4
0.050
4
0.115
5
0.067
5
0.131
6
0.077
6
0.160
7
0.080
7
0.184
8
0.094
8
0.217
9
0.098
9
0.248
10
0.118
10
0.260
Таблица 3.7– Вторая серия натурных экспериментов.
N
W
λ(1/с)
Среднее время
ожидания, мс
N
W
λ(1/с)
Среднее время
ожидания, мс
9
5
3
0.242
11
6
3
0.416
4
0.332
4
0.535
5
0.401
5
0.676
6
0.520
6
0.870
7
0.645
7
1.015
8
0.700
8
1.025
9
0.784
9
1.180
10
0.812
10
1.215
104
Проведем адаптацию модели строгого согласования реплик (по аналогии с
адаптацией модели согласования реплик в конечном счете, см. (3.4)). Определим
следующие множества: X
= {N
,
W,λ} – настраиваемые параметры, т.е. параметры,
которые менялись от одного эксперимента к другому; Y = {μ
n
, μ
m
, μ
d1
} –
адаптируемые параметры.
Задача адаптации модели (2.21) решалась методом наименьших квадратов:
min
)
)
,
X
(M(C,
L
1
i
2
i
Y
i
M
Y
,
(3.7)
где M(C,X
i,
Y) – аналитическое выражение (2.21); M
i
– оценка среднего
времени ожидания требованием на чтение окончания обновления W реплик,
полученное при проведении i-ого эксперимента (см. таблицы 3.6 и 3.7); L – число
экспериментов, по которым проводилась адаптация модели (они отмечены в
таблицах 3.6 и 3.7 серым цветом, остальные эксперименты были использованы
при оценке адекватности модели). Значения адаптируемых параметров Y (таблица
3.8)
были получены методом наискорейшего спуска при решении
оптимизационной задачи (3.7).
Таблица 3.8 – Значения адаптируемых параметров модели процесса строгого
согласования реплик.
Первая серия
Вторая серия
Параметр
Значение
Параметр
Значение
μ
n
441.4 Мбит/с
μ
n
369 Мбит/с
μ
m
7460 МБайт/с
μ
m
8560 МБайт/с
μ
d1
201 МБайт/с
μ
d1
152 МБайт/с
В таблице 3.9 представлены результаты натурных экспериментов, которые
были использованы при анализе адекватности модели (см. невыделенные строки в
таблицах 3.6 и 3.7), а также результаты соответствующих модельных
экспериментов.
Таблица 3.9 – Анализ адекватности модели строгого согласования реплик.
N
W
λ(1/с)
Среднее время ожидания, мс
Относительная
погрешность (%)
Эксперимент
Модель (2.21)
5
3
3
0.041
0.036
11.5
5
0.070
0.060
14.0
7
0.080
0.083
3.2
105
Продолжение таблицы 3.9
N
W
λ(1/с)
Среднее время ожидания, мс
Относительная
погрешность (%)
Эксперимент
Модель (2.21)
9
0.097
0.105
8.2
7
4
3
0.090
0.085
5.1
5
0.132
0.139
5.3
7
0.184
0.190
2.9
9
0.249
0.239
3.9
9
5
3
0.242
0.277
14.1
5
0.402
0.441
9.8
7
0.645
0.592
8.2
9
0.784
0.730
6.9
11
6
3
0.416
0.462
11.2
5
0.676
0.725
7.2
7
1.015
0.956
5.8
9
1.180
1.160
1.6
Средняя ошибка по двум сериям экспериментов составила 7,42%. На
рисунке 3.3 показаны графики зависимости среднего времени ожидания
требованием на чтение окончания обновления W реплик от интенсивности λ при
различных значениях N для первой и второй серии экспериментов, T=М
Ω
(λ). На
рисунке «model» и «experiment» обозначают графики, построенные
соответственно по результатам модельных (2.21) и натурных экспериментов
(таблицы 3.6 и 3.7).
a)
б)
Рисунок 3.3 – Зависимости среднего времени ожидания T=М
Ω
(λ) при различных
значениях N:
106
a) первая серия экспериментов; б) вторая серия экспериментов.
Do'stlaringiz bilan baham: