4.1.
Подсистема для работы с моделями согласования реплик
Первая вкладка (рисунок 4.2) позволяет пользователю работать с моделями
согласованности в конечном счете и строгой согласованности. Объединение
расчетов по двум моделям в одной вкладке обусловлено тем, что исходные
данные этих моделей настраиваются одинаково.
115
Инструментальное средство (C# .Net)
Инструмент работы с моделью
согласования реплик в конечном счете (1),
строгого согласования реплик (2)
Проверка входных данных
Расчет вероятности
доступа
Расчет задержки чтения
Расчет времени чтения
Отображение результатов, построение
графиков
(2)
(1)
Инструмент работы с моделью согласования
Версий записи
Инструмент работы с аналитической (А) и
имитационной (Б) моделями отказов и
восстановления доступа к записи БД
Программа на
языке PLUS
GPSS модель
Выполнить
прогон
Библиотека
отображения
результатов
(C++ MFC)
1
Файл результатов
Проверка входных данных
Среда GPSS
Генерация модели
Исходные
данные
Текст модели
2
3а
Результат
Проверка входных данных
Расчет вероятности отказа
Генерация модели
Программа на
языке PLUS
GPSS модель
Выполнить
прогон
1
Файл результатов
Среда GPSS
2
3б
Результат
Отображение результатов, построение графиков
(А)
(Б)
Рисунок 4.1 – Структура инструментального средства АПСОР.
116
Рисунок 4.2 – Область основного окна ИС АПСОР.
Программное обеспечение позволяет рассчитывать вероятность того, что
клиент прочитает устаревшую запись за время распространения обновлений
записи по ее N-W репликам - для согласованности в конечном счете (формулы
(2.8), (2.11)), время ожидания требованием на чтение окончания обновления W
реплик и время чтения R реплик с учетом ожидания - для строгой
согласованности (формулы (2.21) и (2.22) соответственно). Для каждого типа
(сегмента) записей базы данных NoSQL, разработанной для предметной области,
существует допустимая вероятность доступа к рассогласованным данным, а также
максимально допустимое время ожидания (задержки чтения). В приложении
доступен расчет указанных показателей для изменяющихся входных данных:
число реплик N (несколько значений через ;) и диапазон изменения
117
интенсивности требований на чтение из одной реплики (λ). Такая организация
входных данных позволяет проектировщику проследить динамику изменения
показателей при изменении λ для каждого N.
В реальных системах сеть передачи данных (как внутри сегмента сети, так и
между ними) может быть нагружена. Чтобы учесть снижение производительности
сети, необходимо указать значения загрузок соответствующих сетей (в интервале
[0, 1)). В случае ненулевой загрузки, интенсивность μ
*
передачи данных по сети
будет рассчитана по следующей формуле:
)
1
(
*
,
(4.1)
где μ, ρ – заданная интенсивность и загрузка сети.
Для расчета по формулам (2.21) и (2.22) необходимо вычислять φ
(2)
(0) –
второй начальный момент времени обновления W реплик. Для расчета второй
производной
в
ИС
АПСОР
используются
методы
численного
дифференцирования. Однако точности встроенных типов данных языка C# не
хватает для таких расчетов. Например, тип
double
позволяет выполнять расчеты с
точностью до 10
-15
. Для решения этой проблемы была использована библиотека
mpreal
[67] – доработка библиотек
mpfr
[68] и
mpir
[69] для C++
.
Библиотека
mpreal
позволяет настраивать точность вычислений (до 500 знаков), но эта
библиотека доступа только в среде C++. Для ее использования в среде C# была
разработана библиотека
StrongDouble.dll
(входит в состав инструментального
средства) – это CLR-библиотека [70], реализующая доступ к необходимым
функциям
mpreal
: настройка точности вычислений, простые арифметические
операции, возведение в степень. CLR-библиотеки удобны тем, что являются
управляемыми и могут быть использованы в любом языке программирования,
поддерживающим
.Net.
Точность
вычислений
методами
численного
дифференцирования напрямую зависит от шага таблицы разностей h (см. [57, стр.
62]). В программных расчетах заложено значение h=10
-10
при точности
вычислений в 200 знаков.
На рисунке 4.2 представлен пример вычисления вероятности, что клиент
прочитает устаревшую запись за время распространения обновлений записи по ее
118
N-W репликам. При больших значениях N и λ вероятность может достигать
больших значений.
Do'stlaringiz bilan baham: |