Научная статья на тему 'Математическое моделирование систем кэширования'

Математическое моделирование систем кэширования Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
219
23
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
КЭШИРОВАНИЕ / МАТЕМАТИЧЕСКАЯ МОДЕЛЬ / ОПТИМИЗАЦИЯ / ДЕРЕВО РЕШЕНИЙ / ВЕБ-ПРИЛОЖЕНИЯ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Цыганенко Никита Павлович

Работа посвящена математическому моделированию систем кэширования данных в веб-приложениях. Рассмотрена текущая ситуация на рынке веб-приложений относительно использования систем кэширования данных. Приведены основные варианты хранилищ, которые могут применяться при построении систем кэширования. Указаны их преимущества и недостатки. Также в статье вводится математический аппарат для описания таких систем. Выявлены основные характеристики систем кэширования. Рассмотрена проблема вычисления вероятности попадания в кэш, а также один из способов ее определения с использованием деревьев решений. Подробно освещены особенности процесса построения дерева решений для данного типа задач. Вместе с этим рассмотрены частные случаи, в которых вычисление данной вероятности тривиально. Приведена полученная в процессе научного исследования рекуррентная формула для нахождения вероятности попадания записей из базы данных в кэш. С использованием полученной рекуррентной формулы выведена формула для вычисления среднего времени чтения записи из системы кэширования. На основании полученной математической модели системы кэширования выведена целевая функция и описаны условия задачи оптимизации. Сделаны выводы о возможностях практического внедрения полученной математической модели и применения к ней методов оптимизации.

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

MATHEMATICAL MODELING OF CACHING SYSTEMS

This paper is devoted to mathematical modeling of data caching systems in web applications. We consider the current situation in the market of web-based applications for the use of data caching systems. The article also introduces the mathematical formalism to describe such systems. The main characteristics of caching systems are introduced. The problem of calculating the probability of falling into the cache, as well as one of the ways to calculate it using decision trees are described. The features of the process of building a decision tree for this type of tasks are studied in detail. At the same time we consider the special case in which the calculation of the probability is trivial. The recurrence formula produced in the process of scientific research is to calculate the probability that the records from the database cache. Using derived recurrence formula derived formula to calculate an average reading entries from the cache system time. Based on the caching system we produced a mathematical model of a target function and are described in terms of the optimization problem. Conclusion about the possibilities of practical application of a mathematical model and apply it to the optimization methods is made.

Текст научной работы на тему «Математическое моделирование систем кэширования»

82

Труды БГТУ, 2017, Серия 3, № 1, с. 82-85

УДК 51-74

Н. П. Цыганенко

Белорусский государственный технологический университет

МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ СИСТЕМ КЭШИРОВАНИЯ

Работа посвящена математическому моделированию систем кэширования данных в веб-приложениях. Рассмотрена текущая ситуация на рынке веб-приложений относительно использования систем кэширования данных. Приведены основные варианты хранилищ, которые могут применяться при построении систем кэширования. Указаны их преимущества и недостатки. Также в статье вводится математический аппарат для описания таких систем. Выявлены основные характеристики систем кэширования. Рассмотрена проблема вычисления вероятности попадания в кэш, а также один из способов ее определения с использованием деревьев решений. Подробно освещены особенности процесса построения дерева решений для данного типа задач. Вместе с этим рассмотрены частные случаи, в которых вычисление данной вероятности тривиально. Приведена полученная в процессе научного исследования рекуррентная формула для нахождения вероятности попадания записей из базы данных в кэш. С использованием полученной рекуррентной формулы выведена формула для вычисления среднего времени чтения записи из системы кэширования. На основании полученной математической модели системы кэширования выведена целевая функция и описаны условия задачи оптимизации. Сделаны выводы о возможностях практического внедрения полученной математической модели и применения к ней методов оптимизации.

Ключевые слова: кэширование, математическая модель, оптимизация, дерево решений, веб-приложения.

N. P. Tsyganenko

Belarusian State Technological University

MATHEMATICAL MODELING OF CACHING SYSTEMS

This paper is devoted to mathematical modeling of data caching systems in web applications. We consider the current situation in the market of web-based applications for the use of data caching systems. The article also introduces the mathematical formalism to describe such systems. The main characteristics of caching systems are introduced. The problem of calculating the probability of falling into the cache, as well as one of the ways to calculate it using decision trees are described. The features of the process of building a decision tree for this type of tasks are studied in detail. At the same time we consider the special case in which the calculation of the probability is trivial. The recurrence formula produced in the process of scientific research is to calculate the probability that the records from the database cache. Using derived recurrence formula derived formula to calculate an average reading entries from the cache system time. Based on the caching system we produced a mathematical model of a target function and are described in terms of the optimization problem. Conclusion about the possibilities of practical application of a mathematical model and apply it to the optimization methods is made.

Key words: caching, mathematical model, optimization, decision tree, web applications.

Введение. Основная цель веб-приложений и других интернет-ресурсов заключается в предоставлении посетителям информации в различных формах (текст, графика, видео и т. д.). Интернет-пространство сегодня - это насыщенная данными среда. Поэтому, в условиях жесткой конкуренции за внимание пользователей, проблема скорости получения пользователем информации более чем актуальна. Ее решением является минимизация времени между запросом, посылаемым на сервер, и моментом полной загрузки ответного сообщения с запрашиваемым контентом.

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

используют механизм кэширования. Суть кэширования заключается в том, что часть информации из реляционной базы данных дублируется в хранилище с более высокой скоростью доступа - кэше. В момент, когда пользователь запрашивает информацию у веб-приложения, сначала проверяется кэш [1].

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

Двумя наиболее важными характеристиками эффективности системы кэширования являются скорости доступа к хранимой информации и вероятность попадания в кэш. Скорость доступа к

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

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

Основная часть. Исходными данными при моделировании систем кэширования выступают множество записей в базе данных Я, множество записей в кэше С и число обращений к базе данных и.

Множество записей в базе данных Я мощностью п состоит из записей гг:

Я,

(1)

где 1 - порядковый номер записи в базе данных. Множество записей в кэше С мощностью т

состоит из записей с/

о, € С

(2)

где] - порядковый номер записи в кэше.

Множество записей в кэше С является подмножеством множества записей в базе данных Я:

С с Я. (3)

Количество записей в кэше не может превышать количества записей в базе данных, и в большинстве веб-приложений объем базы данных в разы превышает объем кэша. Из этого следует, что мощность множества записей в кэше т не превышает мощности множества записей в базе данных п. Отсутствие системы кэширования может быть выражено пустым множеством с нулевой мощностью. Резюмируя вышеперечисленное, запишем ограничения для мощности множества записей в кэше:

0 < т < п. (4)

Число обращений к множеству записей в базе данных состоит из количества обращений к отдельным записям:

и = £ Щ,

(5)

1=1

где Щ - количество обращений к записи г.

Воспользовавшись формулой (5), выведем формулу для вычисления вероятности обращения к записи г через отношение количества

обращений к данной записи к общему числу обращений к базе данных:

Рг =

и

(6)

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

Р =(Р1 Р2 - Рп ).

(7)

Обозначим через Pi вероятность того, что запись г находится в кэше, т. е.

Г € с. (8)

Если размер кэша равен размеру базы данных, то в кэш могут быть записаны сразу все записи из базы данных. Таким образом, вероятность попадания г в кэш равна 1.

Если размер кэша равен 0, т. е. система кэширования отсутствует, то в кэш не может быть помещена ни одна запись из базы данных. Итак, вероятность попадания г в кэш равна 0.

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

р = т

(9)

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

Для построения математической модели систем кэширования необходимо вывести общую формулу для вычисления вероятности попадания г в кэш.

Рассмотрим частный случай. В базе данных имеется четыре записи: А, В, С, Б. Вероятность того, что запросят конкретную запись, равна 0,1; 0,2; 0,3 и 0,4 соответственно. Размер кэша равен трем. Необходимо вычислить вероятность нахождения записи А в кэше.

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

и

п

84

Математическое моделирование систем кэширования

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

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

Для построения следующего уровня дерева решений для узла уровня 7 из исходного множества записей в базе данных извлекаются записи из узлов, которые ведут от узла 7 к корню, включая рассматриваемый узел. Полученное подмножество отражается в виде узлов, соединенных ребрами с рассматриваемым узлом. На ребрах записываются вероятности того, что 7 + 1 записью в кэше см будет запись, соответствующая узлу, с учетом того, что предыдущие записи в кэше уже известны.

Выведем формулу для расчета условных вероятностей, описанных выше. Пользуясь формулой (6), найдем выражение для вычисления количества обращений к записи г7:

щ = рги.

(10)

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

Р Ш) =

и - и,

(11)

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

Р(7 \1, к) =

и - и, - ик

(12)

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

Р (7 \ ,') =

р,и

и - р,и

(13)

Если упростить, то получаем следующее соотношение:

Р(7 \ ,') =

(14)

Дерево строится, пока число уровней не достигнет размера кэша. Корень является нулевым уровнем и используется для визуализации начального состояния, когда не просмотрена ни одна запись в кэше.

Дерево решений для описанной задачи представлено на рисунке.

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

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

Базируясь на рассчитанных вероятностях закрашенных листьев, можно определить полную вероятность того, что в кэше находится искомая запись. Эта вероятность вычисляется как сумма вероятностей всех закрашенных листьев. Проанализировав частный случай, можно вывести рекуррентную формулу для определения вероятности попадания записи г7 в кэш:

Р =

0, т = 0,

р, + £ рр (Я \ 7, СРр,п, т -1, п-1),

(15)

]=1,1 &

где СР - функция для вычисления условных вероятностей на основании вектор-строки р и выбранного элемента р,.

1/6 2:8 Ж

1/4 Ж 1/3 2/3

6 Ь6

Дерево решений

1

и

и

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

Функция СР состоит из удаления из вектор-строки указанного элемента с помощью булевой матрицы А и нахождения условной вероятности для оставшихся элементов с помощью матрицы В:

CP(p, x, n) = p X A X B.

(16)

где 1С - время чтения из кэша; - время чтения записи гг из базы данных.

Выражение (19) является математической моделью, которая описывает процесс чтения данных из базы данных с использованием системы кэширования. Основываясь на данной модели, можно записать целевую функцию:

Значения для ячеек матрицы A вычисляются по следующей формуле:

I

Tiui ^ min.

(20)

aj =

1, (i > x A i = j - 1) V (i < x A i = j), 0.

(17)

Для ячеек матрицы B применяется следующее выражение:

bj =

1

1 - Pi

i = j,

(18)

0.

Используя вероятность попадания в кэш (15), можно вывести формулу для нахождения среднего времени чтения записи гг:

T = tc +1,■ (1 - р),

(19) Литература

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

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

1. Siewiorek D. Computer Structures: Principles and Examples. NY: Mc Graw Hill, 1981. 960 р.

2. Janert P. Data Analysis with Open Source Tools. Sebastopol: O'Reilly Media, Inc., 2010. 540 р.

References

1. Siewiorek D. Computer Structures: Principles and Examples. NY, Mc Graw Hill, 1981. 960 р.

2. Janert P. Data Analysis with Open Source Tools. Sebastopol, O'Reilly Media, Inc., 2010. 540 р.

Информация об авторе

Цыганенко Никита Павлович - аспирант. Белорусский государственный технологический университет (220006, г. Минск, ул. Свердлова, 13а, Республика Беларусь). E-mail: nikitatsyganenko@ belstu.by

Information about the author

Tsyganenko Nikita Pavlovich - PhD student. Belarusian State Technological University (13a, Sverdlova str., 220006, Minsk, Republic of Belarus). E-mail: [email protected]

Поступила 30.11.2016

i=1

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