Научная статья на тему 'Пример задачи размещения реплик массивов данных в ненадежных распределенных системах и алгоритм ее решения'

Пример задачи размещения реплик массивов данных в ненадежных распределенных системах и алгоритм ее решения Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
104
17
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
РАСПРЕДЕЛЕННЫЕ СИСТЕМЫ / КОМПЬЮТЕРНЫЕ СЕТИ / РЕПЛИКАЦИЯ ДАННЫХ / РАЗМЕЩЕНИЕ РЕПЛИК / ЭВРИСТИЧЕСКИЙ АЛГОРИТМ / МИНИМУМ ЗАТРАТ НА ЭКСПЛУАТАЦИЮ СИСТЕМЫ / СОХРАННОСТЬ ИНФОРМАЦИИ / НАДЕЖНОСТЬ РАБОТЫ / DISTRIBUTED SYSTEMS / COMPUTER NETWORKS / DATA REPLICATION / REPLICA PLACEMENT / HEURISTIC ALGORITHM / MINIMUM SYSTEM MAINTENANCE COSTS / INFORMATION INTEGRITY / SYSTEM RELIABILITY

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

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

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

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Сомов Сергей Константинович

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

An example of the task of allocation the replicas of data in unreliable distributed systems and an algorithm of its solution

The paper considers one of the methods for increasing the efficiency of distributed data processing systems the optimal placement of replicas of the data arrays used in the system. This method allows ensuring a high level of information integrity and high reliability of the system, as well as minimizing the cost of its operation. This method is widely used in practice when creating distributed information systems for various purposes and scale. The formulation of the problem of optimal allocation of replicas of several data arrays in nodes of a distributed system with unreliable communication channels is completed, and a heuristic algorithm for solving this problem is also given. As a criterion for optimization, the task uses the minimum cost of the system operating. At the beginning of the paper, statistical data on the amount of losses incurred by companies in the event of downtime of information systems caused by negative factors of different nature are presented. At the beginning of the work, statistics are presented on the amount of losses that companies incur in the event of a downtime of information systems caused by negative factors of various nature. A brief review of the work on the topic of data placement in distributed systems is given. Further, the paper presents a formal model of a distributed system with unreliable channels. At the nodes of this system, many application processes are performed that generate information requests to replicas of data arrays and requests to change data in replicas. The formulation of the problem of optimal placement of replicas in the nodes of a distributed system is given. A list of steps and formulas for determining the average message delay in the communication channels of the system, taking into account the unreliability of communication channels, is given, as well as formulas for calculating the costs of operating a distributed system with replicas of data arrays located in its nodes. Since the formulated problem has great computational complexity, a heuristic algorithm is presented in the work for finding the optimal placement of replicas of the set of data arrays used in the system. In conclusion, several promising areas are listed for continuing research in the use of information redundancy in the form of replicas of data arrays to increase the efficiency of distributed systems.

Текст научной работы на тему «Пример задачи размещения реплик массивов данных в ненадежных распределенных системах и алгоритм ее решения»

Вестник Евразийской науки / The Eurasian Scientific Journal https://esi.today 2019, №6, Том 11 / 2019, No 6, Vol 11 https://esj.today/issue-6-2019.html URL статьи: https://esj.today/PDF/59ITVN619.pdf Ссылка для цитирования этой статьи:

Сомов С.К. Пример задачи размещения реплик массивов данных в ненадежных распределенных системах и алгоритм ее решения // Вестник Евразийской науки, 2019 №6, https://esj.today/PDF/59ITVN619.pdf (доступ свободный). Загл. с экрана. Яз. рус., англ.

For citation:

Somov S.K. (2019). An example of the task of allocation the replicas of data in unreliable distributed systems and an algorithm of its solution. The Eurasian Scientific Journal, [online] 6(11). Available at: https://esj.today/PDF/59ITVN619.pdf (in Russian)

Работа выполнена при финансовой поддержке:

- РФФИ в рамках научного проекта № 1607-00245 «Модели и методы управления региональной безопасностью на основе сценарного подхода»

- программы Президиума РАН №30 «Теория и технологии многоуровневого децентрализованного группового управления в условиях конфликта и кооперации»

УДК 519.1; 519.2 ГРНТИ 20.23.17; 50.39.15

Сомов Сергей Константинович

ФГБУН «Институт проблем управления им. В.А. Трапезникова Российской академии наук», Москва, Россия

Старший научный сотрудник Кандидат технических наук E-mail: ssomov2009@gmail.com

Пример задачи размещения реплик массивов данных в ненадежных распределенных системах и алгоритм ее решения

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

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

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

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

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

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

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

Ключевые слова: распределенные системы; компьютерные сети; репликация данных; размещение реплик; эвристический алгоритм; минимум затрат на эксплуатацию системы; сохранность информации; надежность работы

К распределенным системам обработки данных (РСОД) различного масштаба и назначения предъявляются различные требования. Наиболее важными из этих требований являются следующие: высокий уровень сохранности информации, высокая надежность работы распределенных систем, время ответов на запросы, не превышающее заданного значения, и минимальные затраты на эксплуатацию системы. Эффективным методом реализации этих требований является репликация данных, используемых в системе, и оптимальное размещение по узлам распределенной системы реплик массивов данных [1-3].

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

Методы репликации широко используются, например, в распределенных базах данных (РБД), когда необходимо оптимальным образом разместить таблицы данных РБД, либо горизонтальные или вертикальные фрагменты таких таблиц [4]. В GRID системах репликация данных используется для повышения доступности, отказоустойчивости, балансировки нагрузки и масштабируемости системы при одновременном снижении нагрузки на каналы связи и сокращения времени выполнения заданий [5; 6].

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

Простои в работе распределенных систем вызывают прямые и косвенные убытки компаний и организаций, использующих в своей работе сервисы данных систем. В частности, в ходе исследования, которое в 2016 году было выполнено компанией DELL, было опрощено 2200 специалистов из 18-ти стран, принимающих решения в области ИТ1. Часть из заданных

1 Dell EMC Global Data Protection Index II // [Электронный ресурс] - URL: http://www.emc.com/microsites/emc-global-data-protection-index/index.htm (дата обращения 20-03-2019).

Введение

59ITVN619

специалистам вопросов касалась причин негативных инцидентов в информационных системах и размеров убытков компаний за час их простоя, вызванного инцидентами с информационными системами. В результате опроса специалистов выяснилось, что наиболее частыми причинами внеплановых простоев ИТ-систем являются следующие: сбои аппаратуры (45 % от общего числа сбоев), сбои в электроснабжении (35 %) и программные ошибки (34 %). Величина убытков за час внепланового простоя у большинства компаний (58 %) находится в диапазоне от 50 000 до 500 000 долларов США. У пятнадцати процентов компаний размер убытков превышает 500 000 долларов (11 %) или даже имеет величину более миллиона долларов (4 %).

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

1. Обзор работ по тематике

Задача оптимального размещения данных по узлам сети имеет давнюю историю. Проблема размещения реплик в некотором смысле является наследницей задачи размещении файлов на узлах распределенной компьютерной сети. Первой работой, в которой была сформулирована такая задача, была работа [7]. В этой работе автором (W.W. Chu) была представлена формальная модель, позволяющая минимизировать общие эксплуатационные расходы системы (многомашинного комплекса) при ограничении времени отклика на запрос и емкости памяти для хранения файлов при фиксированном количестве копий каждого файла.

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

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

Примерно в это же время стали появляться работы, посвященные проблемам фрагментации баз данных, как, например, работа [11].

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

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

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

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

2. Модель распределенной системы с ненадежными каналами связи

Предположим, что имеется распределенная система обработки данных, которая функционирует на базе компьютерной сети из N узлов. Ее топология представлена взвешенным графом G — (X, Г). Заданы длины дуг графа. Система использует М (т — 1, М) массивов данных разного типа. Сеть передачи данных сети состоит из Ф (<р — 1, Ф) каналов связи с заданными пропускными способностями С^. В сети передачи данных используется метод коммутации сообщений. В каналах связи сети передачи данных с некоторой вероятностью могут возникать ошибки/сбои при передаче данных. Обозначим как qу — 1 — Рф ,(<р — 1,Ф) вероятность возникновения ошибки в ф-м канале при передаче единицы данных по каналу единичной длины. Успешность доставки сообщений в узлы-адресаты подтверждается передачей в узлы-отправители квитанций ACK (ACKnowledgement). Пусть tACK - время ожидания узлом-отправителем квитанции ACK о доставке сообщения в узел-получатель. Если по истечении времени ожидания узлом-отправителем квитанция не получена узлом-отправителем, производится повторная передача не доставленного сообщения.

В узлах РСОД (пользовательские сервера) выполняется несколько прикладных процессов (задач) различного типа. В одном узле может одновременно выполняться несколько задач. Частота решения задач в узлах сети задана матрицей F* — \\fnj\\ (п — 1, N; j — 1, J), где f-ilj это частота решения в n-м узле задачи j-го типа. Каждая задача в процессе решения может генерировать некоторое количество информационных запросов к нескольким массивам данных и некоторое количество запросов на модификацию массивов данных. Матрица Е* — ||е*ут\\, определяет частоту e*jm - генерации j-й задачей информационных запросов к массиву m. Матрица U* — \\и*ут\\ задает частоту u*jm генерации запросов на модификацию m-го массива. Предположим, что время обработки любого запроса в любом узле системы постоянно и равно Трг. Запрос на модификацию массива данных адресуется во все узлы с репликами этого массива. Информационные запросы адресуются в ближайшие узлы с репликами запрашиваемого массива данных. Кратчайшие пути между всеми парами вершин графа G определяются с помощью одного из известных алгоритмов поиска кратчайших путей на взвешенных графах (например, алгоритмы Беллмана-Форда, Флойда-Уоршелла [12]). Итогом работы такого алгоритма является матрица SP — (spnk)NxN кратчайших путей в графе, где элемент spnk равен длине кратчайшего пути между узлами n и k.

Распределение реплик описывается матрицей А — ||anm||, в которой anm Е {0,1}, и апт — 1, если в n-м узле сети размещена реплика m-го массива данных. Каждый массив может иметь несколько реплик, размещенных в разных узлах сети. На основе матриц SP и А вычисляются элементы матрицы «близости» узлов В = ||bnfcm|| размерности N X N X М, в которой элемент Ьпкт Е {0,1}, и Ьпкт — 1, если в узле k размещена реплика массива данных m, и узел k является ближайшим узлом для n. Задана средняя длина информационного запроса к массиву m-го типа, и средняя длина 17т ответа на запрос. Также определена средняя длина I.^ запроса на модификацию массива данных m и средняя длина ответа на этот запрос.

3. Формулировка задачи оптимального размещения реплик

Необходимо для РСОД найти такое распределение А реплик М массивов данных по узлам системы, чтобы обеспечить минимальное значение функционала Р(Л) задачи. Функционал ¥(Л) это величина затрат на эксплуатацию системы.

Таким образом, необходимо найти минимум функционала:

ттР(А) = тт0РСОЗ{(А) = тт(Со8ЬМг + + Соз1Еи) (1)

Здесь:

0РСО5,(А) - затраты на эксплуатацию системы,

Соз1Мг - затраты на обмен данными между узлами сети,

Соз1з1 - стоимость хранения реплик в узлах системы,

Соз1Еи - стоимость обработки запросов, генерируемых в системе.

В оптимизационной задаче используются два ограничения:

• ограничение Р-№МАХп на максимальное количество реплик, размещенных в одном узле системы:

м

^ ипт = МАХп т=1

апт < RNMAX.n = 1,N (2)

• ограничение ТМАХ на среднее время обработки запросов:

Т = (Тепц + ТрГ + Тгер) < Тщдх (3)

Здесь: Тепч среднее время передачи запроса от пользовательского сервера в узел системы с репликой необходимого массива данных (сервер реплик), а Тгер среднее время передачи ответа на запрос от сервера реплик до пользовательского сервера. Трг - среднее время обработки запроса в узле сети (сервер реплик).

4. Величина средней задержки сообщений в системе

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

Рассмотрим трафик сообщений между двумя произвольными узлами гик сети (квитанции АСК не рассматриваем). В соответствии с заданной моделью системы количество генерируемых в узле г информационных запросов и запросов на модификацию данных, адресованных в узел к, равно:

] м

Уос = ^ К] * ^ (е1т * Ьцст + акт * и]т)

]=1 т=1

За то же время узел г отправляет в узел к ответы на запросы с частотой:

} М

У(к = ^ * ^ (е]т * Ьк1т + * ] = 1 т=1

Во всей сети в единицу времени генерируется трафик сообщений У, равный:

У tä + y*)

Средняя длина 1/¡л сообщений, передаваемых по каналам связи сети, равна:

N N N М м ^

п) + ^ щт * й2 }, (4)

¿=1 к=1 )=1 1-т=1 т=1

1/11 = Y Л акт * d1 + ^ щт * d

^i=l к=1 j=1 Lm=1 т=1

d1 = (jm * e*jm * sPik + 1^* W-J),d2 = 1^* e*.m * spki + lrm*U

т к т т т т к т т

Определим величину Т* среднего времени передачи сообщений, используя результаты работ [13; 14]. Согласно данным результатам, при передаче сообщения по очередному каналу связи оно имеет длину, распределенную в соответствии с показательным законом. Время передачи сообщений по каналам также независимая случайная величина. Предположим, что обработка сообщений происходит в соответствии с дисциплиной FCFS [13; 15]. В этом случае каждый (р-й канал можно рассматривать как систему массового обслуживания (СМО) вида М1М111^. Такая СМО обладает пуассоновским входным потоком со средним значением У1к сообщений в секунду и показательным законом распределения времени обслуживания со средним значением л-1/С*. Тогда средняя задержка сообщения равна:

N N

г=22.т2а (5)

=1 к=1

Здесь - средняя задержка сообщения, передаваемого из узла i в узел k по пути Бр^.

Канал связи р включен в путь Бр^, если сообщения, передаваемые по этому пути, используют данный канал. Тогда нам задано множество из Ф матриц X* = ||х*||, (р = 1,Ф ,1 ,к = 1, Ы), в которых элемент х* = 1, если канал связи р входит в путь 5р±к. Через канал р проходит поток сообщений с интенсивностью:

N N

(6)

=1 к=1

Обозначим через Т* среднее время ожидания сообщением в очереди на обслуживание и на передачу его по р-му каналу. Тогда величина будет равна сумме времен Т* обслуживания сообщения во всех каналах маршрута 5 р^к:

ф

zik = У х[к * ТР

С учетом формулы (5) средняя задержка сообщения в сети равна:

г = 1411™

<р-

Используя формулу (6), получим:

Ф т* N N

^^^ р

Y / , / , ' ik~ik р=1 i=1k=1

Ф

т* = Л-фтФ (7)

Ф=1

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

Вестник Евразийской науки 2019, №6, Том 11 ISSN 2588-0101

The Eurasian Scientific Journal 2019, No 6, Vol 11 https://esj.today

Согласно результатам, изложенным в [13] величина Т^ средней задержки сообщений в надежном канале р равна:

т; = 1 / (рс^—л^) (8)

В распределенных сетях с ненадежными каналами связи в р-м канале с вероятностью Ц*Ф = 1 — Рф может возникнуть ошибка при передаче единицы данных. В этом случае производится повторная передача сообщения.

Вероятность возникновения ошибки q^ = 1 — р^ при передаче сообщения со средней длиной I = р-1 единиц данных по р-му каналу равна:

ЧФ = 1— Рср = 1 — (1 — Ч*ср)1 = 1— Ш

Следовательно, среднее время ^ передачи сообщения длиной I = р-1 по ненадежному

р-му каналу:

£'<р = Р<рТ<** + ^аск + Р<рЦ)ч<р(1 - 4<р) 1 , где ц<р = 1- (р**,)1 (9)

Пусть С^ это фактическая пропускная способность ненадежного р-го канала. Значение среднего времени ^ передачи сообщения по ненадежному каналу равно отношению его длины к фактической пропускной способности канала, т. е. ^ = р-1/ С^ . Тогда фактическая пропускная способность ненадежного канала равна С^ = р-1/^, где t'(p определяется по формуле (9). Среднее время Т^ задержки сообщения в р-м ненадежном канале связи будет равно Ту = 1 / (рСу - Л*р) .

Тогда, для РСОД с ненадежными каналами связи величина Т среднего времени задержки сообщения в каналах сети вычисляется по следующей формуле:

NN Ф

т = ZZ^fZik 'где Zk = Z хф * (10)

i=1 k=1 ф = 1

5. Величина затрат на эксплуатацию распределенной системы

Определим величину затрат на эксплуатацию распределенной системы. Будем использовать следующие обозначения:

• йз1{х1,хк) - длина кратчайшего пути между узлами Х1 и хк, равная значению элемента Бр^;

• &е - стоимость передачи единицы данных по пути единичной длины;

• Vе, Vй - средний объем данных, передаваемых по каналам связи при обработке информационного запроса и запроса на модификацию данных соответственно;

• Б _сз1т(хк) - стоимость хранения одной реплики массива данных в узле хк;

• Е_С51т(хк) , и_сз1(хк) - стоимость обработки информационного запроса и запроса на модификацию данных реплики т-го массива, размещенной в узле хк;

• № = [ж^ ...,жк,...- вектор «весов» узлов графа. Вес wk узла к равен среднему объему данных, которыми узел к обменивается с другими узлами системы при обработке запросов, сгенерированных в этом узле за единицу времени, т. е.:

Вестник Евразийской науки 2019, №6, Том 11 ISSN 2588-0101

The Eurasian Scientific Journal 2019, No 6, Vol 11 https://esi.today

J / M M \

] = 1 \ш=1 т=1 /

Используя матрицу А и множество X, получим М множеств Х-^ (т = 1, М) с номерами тех узлов из множества X, в которых размещены реплики Ммассивов данных.

Пусть йт(хп,Х^п) это минимальное расстояние от узла хп из множества X до одного из узлов множества Х^п:

dm(xn,Xrm) = min dst(xn,xj) ,m = 1, M

XjeXm

Для каждого множества X^ определим передаточное число о, т. е. затраты на обмен данными между узлами из множества Х^п и узлами из множества X при обработке запросов в узлах множества Х^:

I

o(Xm) = ^dm(Xn,Xm)*dtc*Wn

n=l

Суммарная стоимость OP_cost затрат на эксплуатацию РСОД равна:

OP_cost = Costdtr + CostSt + CostEU

Здесь:

M NM

(jm), CostSt

Costdtr = ^ Costst = ^ ^ Scstm(xk) * anm ;

m=1 n=1 m=1

N J M / N N ч

= ^ ^ * ^ (e*m * ^ bnkm * Ecstm(Xk) + u*m ^ akm * U_CSt(Xk) )

n=1 j=1 m=1 k=1 k=1

6. Алгоритм решения оптимизационной задачи

Сформулированная выше задача (1)-(3) имеет большую вычислительную сложность, и для ее решения предлагается следующий эвристический алгоритм:

Шаг 1. Определяем частоту /гт всех запросов к т-му массиву данных (т = 1, М), возникающих во всех узлах системы:

N

Ъш = ^ ^ (у*т + и*|ш); т = 1м

п=1

Шаг 2. Выстраиваем номера массивов данных в порядке убывания соответствующих им частот /гт (т = 1, IV!).

Шаг 3. Строим вектор УМ = (ртк),к = 1, М. Элемент вектора рт1 это номер массива, к которому возникает наибольшее количество запросов. Элемент ртм содержит номер массива данных с наименьшим количеством запросов.

Шаг 4. Определяем значения параметров Рт1П Ртах количества узлов сети, в которых могут быть размещены реплики.

Шаг 5. В цикле по количеству р узлов с репликами (р = Р-тт^тах), выполняем шаги с 6 по 11:

Шаг 6. В цикле выбираем номера vmk (к = 1, IV!) массивов из элементов вектора VM. Для каждого выбранного массива данных выполняются действия:

Случайным образом из X выбираются p узлов для распределения реплик массива m. Номера этих узлов составляют множество X™ = {x^j | i = 1,р}. Элемент xj этого множества содержит номер узла сети, в котором размещается одна реплика m-го массива. Номера этих узлов запоминаются во множестве Xm «m-протестированных» узлов. Остальные номера из X, не вошедшие в Xj, запоминаются во множестве Xm «не протестированных» узлов. Т. е.

Xm = {х\хт}.

Шаг 7. Присваиваем "1" тем элементам m-го столбца матрицы AP, у которого номер

m

n строки матрицы равен номеру xp£ узла с репликой.

Тем самым, матрица Ар = ||a^m|| задает распределение p реплик каждого из M массивов. Элемент aü^m Е {0,1} этой матрицы равен "1", если в узле n размещена реплика m-го массива.

Шаг 8. Для матрицы Ар = ||a^m|| выполняем следующие действия: Определяем значение F(AP) в соответствии с (1). Запоминаем полученное значение: F^n = F(AP).

Шаг 9. В цикле выбираем номера vmk (к = 1, M) массивов из вектора VM. Для каждого очередного m-го массива выполняются следующие операции: Из множества Xm «не протестированных» узлов случайным образом выбираем номер

m*

узла и запоминаем его в xt .

Если «не протестированных» узлов нет, то возвращаемся к шагу 9.

Шаг 9.1. В цикле каждую вершину xpm из Xpf1 = {xm | i = 1,p) заменяем на вершину xm*.

В результате получаем новое множество Xpf1*, в котором одна из вершин заменена на

xm*

Копируем матрицу AP в матрицу AP*.

Так же, как и на шаге 7 присваиваем "1" элементам a^m m-го столбца матрицы AP* в соответствии со значениями элементов из Xpm*.

Подсчитываем значение функционала F(AP*) для матрицы AP*.

Если F(AP*) > FPin то возвращаемся к Шагу 9.1.

Для полученного нового распределения реплик A P* выполняем проверку ограничений задачи (3) и (4).

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

FPin = F(AP*), AP = AP* Если цикл по Xjm не завершен, то возврат на Шаг 9.1. Иначе возвращаемся на Шаг 9.

Шаг 10. Если просмотрены не все элементы вектора VM, то возврат на Шаг 6. Страница 9 из 12

Шаг 11. Если цикл поp реплик не завершен (р < Ртах), то возврат на Шаг 5. Шаг 12. Поиск распределения реплик закончен.

Найдено распределение реплик Ар, близкое к оптимальному распределению, которое обеспечивает минимальные затраты на эксплуатацию системы, равные .

Конец работы алгоритма.

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

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

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

Оптимальное распределение реплик в мобильных средах.

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

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

Заключение

ЛИТЕРАТУРА

1. Сомов С.К. Сохранность информации в распределенных системах обработки данных / - М.: ИПУ РАН. - 2019. - 254 с.

2. Сомов С.К. Репликация данных как инструмент повышения надежности функционирования распределенных систем // журнал «Информационные технологии и вычислительные системы», 2018, - №3. - с. 69-79.

3. Микрин Е.А., Сомов С.К. Обзор моделей и методов обеспечения сохранности данных в распределенных системах обработки данных // журнал «Информационные технологии и вычислительные системы», 2017, - №4. - с. 528.

4. Чернышев Г.А. Обзор подходов к организации физического уровня в СУБД // Труды СПИИРАН. 2013. - Санкт-Петербург. 2013, - Вып. 1(24). - с. 222-275.

5. Tos U. and oth. Dynamic replication strategies in data grid systems: a survey. - The Journal of Supercomputing. 2015, - Volume 71, - Issue 11. - pp. 4116-4140.

6. Souri A., Rahmani A. Survey for Replica Placement Techniques in Data Grid Environment // I.J. Modern Education and Computer Science, 2014, № 5. - pp. 46-51.

7. Chu W.W, File Allocation in a Multiple Computer System // IEEE Transactions on Computers, 1969, - Vol. C-18, - № 10. - p. 885-889.

8. Casey R.G. Allocations of copies of a file in an Information Network // AFIPS Conference Proceedings, 1972, - Vol. 40. - p. 617-625.

9. Eswaran K.P. Placement of records in a file and file allocation in a computer // IFIP Congress, 1974. - p. 304-307.

10. Ceri S., Navathe S., Wiederhold G. Distribution design of logical database schemas // IEEE Transactions on Software Engineering, 1983. - Vol. 9. - p. 487-504.

11. Apers P.M.G. Data allocation in distributed databases // ACM Transactions on Database Systems, 1988, - Vol. - 13, - №. 3. - pp. 263-304.

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

12. Кормен Т. и др. Алгоритмы: построение и анализ, 2-е издание.: Пер. с англ. - М.: Издательский дом «Вильямс», 2005. - 1296 с.

13. Kleinrock L. Queueing systems. Volume II: Computer applications // New York: Wiley, 1976. - 569 p.

14. Kleinrock L. Communication Nets: Stochastic Message Flow and Design // McGraw-Hill, 1964. - 220 p.

15. Hamdy A. Taha. Operations Research: An introduction. 8-th Edition // Pearson Prentice. Hall., 2007. - 838 p.

Somov Sergey Konstantinovich

V.A. Trapeznikov institute of control sciences of Russian academy of sciences, Moscow, Russia

ssomov2009@gmail.com

An example of the task of allocation the replicas of data in unreliable distributed systems and an algorithm of its solution

Abstract. The paper considers one of the methods for increasing the efficiency of distributed data processing systems - the optimal placement of replicas of the data arrays used in the system. This method allows ensuring a high level of information integrity and high reliability of the system, as well as minimizing the cost of its operation. This method is widely used in practice when creating distributed information systems for various purposes and scale.

The formulation of the problem of optimal allocation of replicas of several data arrays in nodes of a distributed system with unreliable communication channels is completed, and a heuristic algorithm for solving this problem is also given. As a criterion for optimization, the task uses the minimum cost of the system operating.

At the beginning of the paper, statistical data on the amount of losses incurred by companies in the event of downtime of information systems caused by negative factors of different nature are presented.

At the beginning of the work, statistics are presented on the amount of losses that companies incur in the event of a downtime of information systems caused by negative factors of various nature.

A brief review of the work on the topic of data placement in distributed systems is given.

Further, the paper presents a formal model of a distributed system with unreliable channels. At the nodes of this system, many application processes are performed that generate information requests to replicas of data arrays and requests to change data in replicas. The formulation of the problem of optimal placement of replicas in the nodes of a distributed system is given.

A list of steps and formulas for determining the average message delay in the communication channels of the system, taking into account the unreliability of communication channels, is given, as well as formulas for calculating the costs of operating a distributed system with replicas of data arrays located in its nodes.

Since the formulated problem has great computational complexity, a heuristic algorithm is presented in the work for finding the optimal placement of replicas of the set of data arrays used in the system.

In conclusion, several promising areas are listed for continuing research in the use of information redundancy in the form of replicas of data arrays to increase the efficiency of distributed systems.

Keywords: distributed systems; computer networks; data replication; replica placement; heuristic algorithm; minimum system maintenance costs; information integrity; system reliability

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