УДК 004.7

ДИНАМИЧЕСКОЕ РАСПРЕДЕЛЕНИЕ ФАЙЛОВ ПО УЗЛАМ КОМПЬЮТЕРНОЙ СЕТИ

Первоисточник: Лазебная Л. А., Едемская Е. Н., Бельков Д. В. Динамическое распределение файлов по узлам компьютерной сети // Программная инженерия: методы и технологии разработки информационно-вычислительных систем (ПИИВС-2018): сб. науч. трудов II Междунар. науч.-практ. конф. Т. 1. 14–18 нояб. 2018 г. – Донецк: ДонНТУ, 2018. – 308 с. – URL: https://pi.conf.donntu.ru/collection/seics2018.pdf .

Л. А. Лазебная, Е. Н. Едемская, Д. В. Бельков
Донецкий национальный технический университет
E-mail: l_lazebnay@mail.ru, 6otba@list.ru, belkov65@list.ru

Аннотация. Лазебная Л. А., Едемская Е. Н., Бельков Д. В. Динамическое распределение файлов по узлам компьютерной сети. В статье предложен метод динамического размещения файлов по узлам компьютерной сети, позволяющий уменьшить трудоёмкость размещения за счёт оптимальной периодичности мониторингов уровней запросов к файлам. С использованием метода фазового укрупнения сложных систем определён оптимальный период времени между мониторингами уровней локальных запросов к файлам. Критерием оптимальности является минимизация задержки обработки запросов к файлам, вызванной мониторингом.

Ключевые слова: узлы компьютерной сети, запросы к файлам, периодичность мониторингов, состояния системы.

Annotation. Lazebnaya L. A., Edemskaya E. N., Belkov D. V. Dynamic allocation of files on nodes of computer network. The article suggests the dynamic file allocation method for computer network nodes to reduce labour input due to the optimal frequency of monitoring levels of queries to files. Using the phase consolidation method of complex systems, the optimum period of time between monitoring the levels of local requests to files is determined. The optimality criterion is minimization of delay in processing requests to files caused by monitoring.

Keywords: computer network nodes, file requests, monitoring frequency, system status.

Введение

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

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

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

Метод динамического распределения файлов

Введём обозначения:

Во время мониторинга узел j выполняет следующие шаги:

  1. измерить текущий уровень локальных запросов Lj;
  2. если Lj > Nj, то положить Yj := 0, иначе Yj := 1;
  3. перейти к шагу 1.

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

  1. В текущий момент времени t распределить файлы по узлам сети и ожидать Ωopt единиц времени.
  2. В момент времени t + Ωopt выдать узлам сети сигнал начать мониторинг за уровнем локальных запросов; мониторинг длится tmon единиц времени.
  3. В момент времени (t + Ωopt) + tmon выдать узлам сети сигнал завершить мониторинг и присвоить переменной t значение (t + Ωopt) + tmon.
  4. Если число узлов с низкой локальной нагрузкой превысило допустимый порог Δ, то есть выполнено условие j=1n Yj ≥ Δ, установить сигнал RD. Требование перераспределить файлы системы: RD = 1 и перейти к шагу 1; иначе установить сигнал RD = 0 и перейти к шагу 2.

Величина Δ характеризует чувствительность метода к уменьшению уровней локальных запросов в узлах. Она может принимать значения в диапазоне от 1 до n с шагом 1. При Δ = Δmin = 1 метод имеет наибольшую чувствительность к уменьшению локальной нагрузки узлов. При Δ = Δmax = n метод имеет наименьшую чувствительность к уменьшению локальной нагрузки узлов.

Обозначим: k – номер мониторинга, k = 1, 2, …; Ωkopt – период, в течение которого сеть функционирует от k-го мониторинга до (k + 1)-го мониторинга.

Процесс динамического размещения файлов состоит в следующем. Пусть в момент времени tk завершён k-й мониторинг и установлен счётчик шагов s := k. Осуществляется шаг по времени длиной Ωkopt из точки с координатами (0, tk) в точку с координатами (0, tk+1). Если в момент tk+1 выполняется условие j=1n Yj ≥ Δ, то устанавливается сигнал требования перераспределить файлы системы (RD = 1), иначе выполняются действия: RD := 0, s := s + 1, и процесс повторяется с момента tk+1. Таким образом, интервал между перераспределениями файлов равен сумме k=1s Ωkopt.

Процесс функционирования сервера
Рисунок 1 – Процесс функционирования сервера

Процесс функционирования узла j показан на рисунке 2. Пусть Sj = Lj − Nj. В момент t1 сделано первоначальное распределение файлов. В момент t2 = t1 + Ω1opt проведён первый мониторинг. Так как в момент t2 условие Sj ≤ 0 выполняется, формируется сигнал Yj = 1. В момент t3 = t2 + Ω2opt проведён второй мониторинг. Так как в момент t3 условие Sj ≤ 0 не выполняется, сигнал не формируется: Yj = 0. В момент t4 = t3 + Ω3opt проведён третий мониторинг; поскольку условие Sj ≤ 0 выполняется, в этот момент вновь формируется сигнал Yj = 1.

Процесс функционирования узла
Рисунок 2 – Процесс функционирования узла j

Определение оптимальной периодичности мониторингов

Обозначим: τk – среднее время выполнения запроса к файлу; s – число запросов к файлам при выполнении вычислительного задания.

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

Граф состояний системы
Рисунок 3 – Граф состояний системы

Пусть в i-м состоянии функционирования система пребывает случайное время с произвольной функцией распределения и средним значением τi; qi – вероятность перехода из i-го состояния функционирования в состояние перераспределения файлов; pij – вероятность перехода из i-го состояния функционирования в j-е состояние функционирования (j = 1, …, s), причём j=1s pij < 1. Вектор начального распределения состояний обозначим p1 = {p11, p12, …, p1s}.

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

Для определения среднего времени пребывания системы в классе состояний функционирования до перехода в состояние перераспределения файлов используем методику [4]. Пусть αi – среднее время пребывания системы в классе состояний функционирования до перехода в состояние перераспределения файлов при условии, что начальным состоянием является состояние i. Время αi состоит из времени τi и суммарного времени, накопленного в состояниях j:

αi = τi + ∑j=1s pij αj. (1)

Для реальных компьютерных сетей трудно определить точные значения переходных вероятностей pij. Число состояний s может достигать 105, и решение системы уравнений (1) становится трудоёмким. Поэтому среднее время T пребывания системы в классе состояний функционирования до перехода в состояние перераспределения файлов целесообразно определять приближённо.

В реальных условиях работы распределённая система редко находится в состоянии перераспределения файлов. Поэтому вероятности переходов между состояниями функционирования близки к единице (pij ≈ 1), а вероятность перехода системы из класса состояний функционирования в состояние перераспределения файлов мала (qi ≈ 0). Следовательно, выполняются условия укрупнения полумарковских систем, и для определения значения T можно использовать метод фазового укрупнения сложных систем.

Для оценки погрешности, возникающей при укрупнении состояний системы, введём идеальную систему, которая отличается от реальной тем, что для неё никогда не требуется перераспределять файлы. Идеальная система не имеет состояния перераспределения файлов, все её состояния являются состояниями функционирования. Обозначим p*ij – вероятность перехода из i-го состояния идеальной системы в j-е состояние идеальной системы, p*1 = {p*11, …, p*1s} – вектор начального распределения идеальной системы. Переходные вероятности идеальной системы связаны с переходными вероятностями реальной системы соотношением p*ij = pij + qij, где qij – вероятность перехода из i-го состояния функционирования в состояние перераспределения файлов при условии, что следующим состоянием функционирования будет j-е состояние.

Матрица Q характеризует параметр близости идеальной системы реальной системе γ = max γij, где γij = p*ij / pij. Для реальной распределённой системы значение γ близко к единице; следовательно, в системе (1) возможно заменить значения pij значениями p*ij:

αi = τi + ∑j=1s p*ij αj. (2)

Погрешность, возникающая при укрупнении состояний системы, определяется величиной (1 − γ).

Обозначим q – вероятность перехода системы из класса состояний функционирования в состояние перераспределения файлов, p = 1 − q – вероятность пребывания системы в классе состояний функционирования. Все состояния функционирования системы «склеиваются» в одно состояние функционирования. Граф состояний укрупнённой системы показан на рисунке 4.

Граф состояний укрупнённой системы
Рисунок 4 – Граф состояний укрупнённой системы

Процесс переходов укрупнённой системы является марковским с двумя состояниями. Переключения состояний управляются дискретной цепью Маркова с матрицей переходов

P = \[ \begin{pmatrix} p & q \\ 1 & 0 \end{pmatrix} \] .

Основные характеристики укрупнённой системы с хорошей точностью (с погрешностью порядка 1 − γ) могут быть приняты в качестве характеристик реальной системы. Поэтому время пребывания реальной системы в классе состояний функционирования приблизительно равно времени пребывания укрупнённой системы в состоянии функционирования. Это время распределено показательно с параметром λ, где λ – интенсивность переходов системы из состояния функционирования в состояние перераспределения файлов.

На укрупнённую систему, находящуюся в состоянии функционирования, действует пуассоновский поток событий с интенсивностью λ, переводящий её в состояние перераспределения файлов. Из состояния перераспределения файлов система переходит в состояние функционирования. Пусть ta – среднее время перераспределения файлов, тогда интенсивность переходов из состояния перераспределения файлов в состояние функционирования μ = 1 / ta. Граф переходов укрупнённой системы показан на рисунке 5.

Граф переходов укрупнённой системы
Рисунок 5 – Граф переходов укрупнённой системы

Поведение вероятностей p1(t) и p2(t) состояний укрупнённой системы описывается уравнениями Колмогорова [4]:

dp1(t)/dt = μ p2(t) − λ p1(t),
dp2(t)/dt = λ p1(t) − μ p2(t).
(3)

Пусть в начальный момент времени укрупнённая система находилась в состоянии функционирования: p1(0) = 1, p2(0) = 0. Тогда решения уравнений (3) имеют вид:

p1(t) = μ/(λ + μ) + (λ/(λ + μ)) e−(λ+μ)t,
p2(t) = λ/(λ + μ) − (λ/(λ + μ)) e−(λ+μ)t.
(4)

При больших значениях времени в укрупнённой системе устанавливается стационарный режим: p1 = μ/(λ + μ), p2 = λ/(λ + μ).

Обозначим τi – среднее время пребывания системы в i-м состоянии функционирования, ρi – вероятность пребывания системы в этом состоянии, qi – вероятность перехода системы из i-го состояния функционирования в состояние перераспределения файлов. Для определения значений T и DT (математического ожидания и дисперсии времени пребывания системы в классе состояний функционирования) используются известные соотношения [4].

Пусть состояния функционирования системы равновероятны: ρi = 1/s, а переходы системы из каждого состояния функционирования в состояние перераспределения файлов также равновероятны: qi = 1/s. В этом случае среднее время T пребывания системы в классе состояний функционирования до перехода в состояние перераспределения файлов определяется по формуле

T = ∑i=1s τi. (7)

Обозначим θ – среднее значение интервала между событиями при использовании мониторингов. Поскольку длительность мониторинга значительно меньше времени T, для определения θ можно использовать известную формулу [4]: θ = T + DT/T, из которой, с учётом свойств экспоненциального распределения, получаем θ = 2T.

Таким образом, если мониторинги применяются, поток событий представляет собой поток Эрланга второго порядка с интенсивностью Λ = 1/θ = λ/2.

Определим оптимальную периодичность мониторингов. Обозначим Ω – пауза между мониторингами, tmon – время проведения мониторинга. Целевая функция при периодическом мониторинге состоит из двух частей. Во-первых, число мониторингов и время tmon должны быть минимальными, чтобы задержка обработки запросов к файлам, вызванная мониторингом, была минимальной. Для выполнения этого условия необходимо минимизировать величину tmon. Во-вторых, на интервале θ событие (момент необходимости перераспределения файлов) должно быть распознано с минимальной задержкой. Максимальная задержка опознания события возникает, если событие произошло сразу после окончания мониторинга и равна Ω + tmon, минимальная – если событие возникло во время мониторинга и не превышает tmon. Для минимизации задержки необходимо, чтобы время между мониторингами на интервале θ было минимальным, то есть чтобы отношение Ω/θ было минимально.

Таким образом, целевая функция задачи определения оптимального времени между мониторингами имеет вид E(Ω) = tmon/Ω + Ω/θ → min. Решив уравнение dE/dΩ = 0, найдём значение Ω, при котором функция E достигает минимума:

Ωopt = tmon · θ. (9)

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

Выводы

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

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

Литература

  1. Бельков Д. В. Методы и вычислительные структуры для оптимизации размещения файлов в компьютерных сетях: автореф. дис. … канд. техн. наук. – Донецк, 2004. – 20 с.
  2. Жуков И. А., Зайченко Ю. П., Печурин Н. К. Модель распределения информационных ресурсов в компьютерных сетях // Проблеми інформатизації та управління. – К.: НАУ, 2005. – Вып. 3(14). – С. 9–14.
  3. Демиденко О. М. Средства и технология организации мониторинга параметров вычислительного процесса и рабочей нагрузки на локальную вычислительную сеть // Проблемы управления и информатики. – 2002. – № 4. – С. 119–127.
  4. Королюк В. С., Турбин А. Ф. Фазовое укрупнение сложных систем. – К.: Вища школа, 1978. – 108 с.