Cloud of Science. 2018. T. 5. № 3 http:/ / cloudofscience.ru
Развитие методов параллельных вычислений для фрагментации данных сетевой базы данных на основе рангового подхода
Е. Г. Андрианова, В. К. Раев, Д. И. Фильгус
МИРЭА — Российский технологический университет 119571, Москва, пр-т Вернадского, 78
e-mail: [email protected]; [email protected]; [email protected]
Аннотация. Анализ задачи фрагментации данных сетевой базы данных, показывает, что формальной моделью является так называемая задача целочисленного линейного программирования с булевыми переменными (ЦЛП БП), которая относится к классу NP (non-deterministic polynomial — недетерминированные с полиномиальным временем). Доминирующее место в методах решения этих задач в настоящее время занимают комбинаторные методы. К ним в первую очередь можно отнести методы полного перебора, динамического программирования, а также локальные алгоритмы. Практическое применение данных методов затруднено при решении задач большой размерности. Попытки уменьшения времени решения задач ЦЛП с БП за счет распараллеливания сталкиваются с другой проблемой теории параллельных вычислений, которая заключается в том, что с точки зрения параллельных алгоритмов данный тип задач относится к классу сильносвязанных задач и поэтому плохо поддается распараллеливанию. Поэтому при разработке параллельных алгоритмов для решения задачи ЦЛП с БП, кроме противоречия между точностью решения задачи и временем ее решения, возникает еще одно противоречие — между сильной связностью, присущей данной задаче и необходимостью ее распараллеливания. Предлагаемый метод параллельных вычислений для фрагментации данных сетевой базы данных основан на ранговом подходе к ее решению, принципе оптимизации по направлению и стратегий отсечения неперспективных вариантов решений. Метод позволяет определять локальные экстремумы в вершинах графа и на их основе определять глобальный экстремум. Ключевые слова: данные, параллельные вычисления, ранговый подход, фрагментация, сетевая база данных.
1. Введение
Вычислительные комплексы (ВК), которые находятся в эксплуатации, непрерывно развиваются. Наступает время, когда в силу увеличения объемов хранимой информации рост интенсивности решения существующих задач, производительность системы падает. Одним из решений данных проблем может быть замена элементов ВК на более современные и производительные. Поскольку время выполнения за-
просов к ВК в значительной мере определяется количеством операций дискового доступа [12], то повышение производительности можно достичь использованием более быстродействующих дисков или нескольких дисковых устройств [13] для оптимального распределения между ними дисковых операций. Также можно увеличить размер оперативной памяти для хранения большого количества информации [14] и таким образом разгрузить дисковые устройства. Другой путь — применение многопроцессорных вычислительных систем, позволяющих оптимизировать выполнение операций, предусмотренных в запросе [4, 5]. Однако это, как правило, связано с большими затратами. Покупка оборудования далеко не всегда решает проблемы производительности, поскольку «узкие места» могут находиться на другом архитектурном слое. Также часто приобритение дополнительного оборудования экономически невыгодно: избыток мощностей может привести к снижению рентабельности [17].
Анализ [7-9] показывает, что каждая из технологий повышения производительности (ТПП) требует анализа структуры сетевой базы данных, потока решаемых задач (запросов к ВК), а в ряде случаев детального анализа использования отдельных фрагментов СБД (отдельных таблиц, их полей, групп таблиц). Так, например, управление индексной структурой требует определения интенсивности использования одной таблицы и полей. Реструктуризация предусматривает изменение структуры одной или нескольких таблиц. Материализованные представления имеют в виду детальный анализ последовательности запросов и введение специальных таблиц для микропроцессоров (МП).
В статье разрабатывается метод параллельных вычислений для фрагментации данных сетевой базы данных, который основан на ранговом подходе к ее решению, принципе оптимизации по направлению и стратегий отсечения неперспективных вариантов решений.
2. Постановка задачи распределения фрагментов данных сетевой базы данных
Рассмотрим модель размещения фрагментов сетевой базы данных в вычислительном комплексе. В качестве критерия оптимальности определим средний объем пересылаемых по линиям связи данных при выполнении запроса. Рассматривается п — число узлов сети с произвольной структурой; т — число независимых фрагментов сетевой базы даных; К — У"й узел сети, ] = 1, п; К — I -й фрагмент сетевой базы данных, I = 1, т; Ц — объем /-го фрагмента; Ь — объем памяти узла К , предназначенной для размещения фрагментов; 5 — число классов запросов (например, чтение, добавление, обновление, удаление записей базы данных); X к — интенсивность запросов к-го класса (к = 1, 5) до фрагмента К, инициированных в
узле К; ак — объем запроса к-го класса (к = 1,5) до фрагмента Fi, инициированного в узле К ; в к — объем запрашиваемых данных при выполнении запроса к-го класса (к = 1, 5) до фрагмента Fi, поступившего в узел К], р — число таблиц сетевой базы данных; М2 — г -тая таблица РБД, г = 1, р; т — число строк таблицы Ы2; п — число столбцов таблицы Мг; — ячейка таблицы М2 в позиции (строка г, столбец у), г = 1, тг, у = 1, пг; ^ — объем памяти, занимаемый ячейкой
йг. Схема фрагментации сетевой базы данных представлена на рис. 1.
Рисунок 1. Схема фрагментации данных
Объем пересылаемых данных при выполнении запроса к-го класса до фрагмента К, инициированного в узле К, определяется следующим образом (ак + рк )(1 - Ху ). При этом х, г = 1, т; у = 1, п — значения, которые определяются следующим образом:
Г1, если фрагмент К находится в узле К ,
аУ =\п ' • (1)
[0, в противном случае
Поскольку интенсивность Xк порождает объем данных Хк (ак + рк )(1 - х ),
нуждающихся в пересылке, то общий объем данных, которые требуется переслать по каналам связи между узлами вследствие функционирования распределенной системы в течение единицы времени, определяется формулой
т п 5
5(ак;+Рк; )(1 - )• (2)
г=1 ;=1 к=1
^^ к
Если положить, что X — у | / | /, X, то целевая функция задачи оптимального распределения фрагментов по узлам вычислительного комплекса примет вид:
1 m n s
v=rXXXW+Ppa - j (3)
л ¡=1 j=1 k=1
Чем меньше значение V, тем выше скорость обслуживания запросов. Все сообщения, поступающие во входные очереди узлов, разделим на два типа: тип 1 — сообщения, составляющие запросы, для обработки которых необходимые фрагменты не содержатся в базе данных узла вычислительного комплекса, и ответы на эти запросы; тип 2 — сообщения, составляющие запросы, для обслуживания которых нужные фрагменты содержатся в БД соответствующего узла вычислительного комплекса. При этом запрос типа 1, прибывший для своего обслуживания в отдаленный узел вычислительного комплекса, превращается в запрос типа 2.
Поскольку каждый фрагмент F, i = 1, m должен находиться, по крайней мере, в одном из узлов вычислительного комплекса, то справедливо условие
n _
X Xj > 1, i = 1, m. (4)
j=1
Кроме этого, объем локальной БД каждого узла K}, j = 1, n не должен превышать объем памяти этого узла, предназначенный для размещения фрагментов:
m _
XLXj < b, j = 1,n. (5)
i=1
Запишем ограничения, связанные с распределением ячеек по фрагментам: Г1, если ячейка diz принадлежит фрагменту F,
=L . (6)
[0, в противном случае.
Суммарный объем всех фрагментов должен быть равен суммарному объему всех таблиц сетевой базы данных, т. е.
m p mz nz
XL =x X xw;. (7)
i=1 z=1 i=1 i=1
При этом объем фрагмента равен
p
m n„
г=1 1=1 1=1
Таким образом, задача размещения фрагментов данных сетевой базы данных по узлам вычислительного комплекса состоит в том, чтобы определить значения переменных х , где х = {0,1}, 1 = 1, Щ ] = 1, п, которые удовлетворяют условиям
(4), (5) и дают минимум линейной функции (3). Полученная математическая модель предназначена решению задачи целочисленного линейного программирования с булевыми переменными.
К сожалению задача ЦЛП с БП относится к классу NP (non-deterministic polynomial — недетерминированные с полиномиальным временем), которые с трудом поддаются решению даже при использовании современных ЭВМ [10, 11].
Доминирующее место в методах решения этих задач в настоящее время занимают комбинаторные методы. К ним в первую очередь можно отнести методы полного перебора, динамического программирования, а также локальные алгоритмы. Практическое применение данных методов затруднено при решении задач большой размерности.
Попытки уменьшения времени решения задач ЦЛП с БП за счет распараллеливания сталкиваются с другой проблемой теории параллельных вычислений, которая заключается в том, что с точки зрения параллельных алгоритмов данный тип задач относится к классу сильносвязанных задач и поэтому плохо поддается распараллеливанию. Поэтому при разработке параллельных алгоритмов для решения задачи ЦЛП с БП, кроме противоречия между точностью решения задачи и временем ее решения, возникает еще одно противоречие — между сильной связностью, присущей данной задаче и необходимостью ее распараллеливания.
3. Разработка метода параллельных вычислений
для решения задачи фрагментации данных сетевой базы
данных на основе рангового подхода
Метод размещения фрагментов данных сетевой базы данных на основе рангового подхода состоит из следующих этапов:
- разработка последовательного способа решения задачи распределения фрагментов сетевой базы данных;
- разработка алгоритма параллельных вычислений решения задачи распределения фрагментов сетевой базы данных;
- разработка архитектуры параллельной вычислительной структуры систолического типа для решения задачи распределения фрагментов сетевой базы данных.
3.1. Способ решения задачи распределения фрагментов сетевой базы данных
Размещение фрагментов данных сетевой базы данных вычислительного комплекса будем рассматривать на основе рангового подхода к решению задач дискретной оптимизации, которая определяет представление «-мерного единичного куба В в виде графа О А. На рис. 2 изображен граф О А для п = 4.
Геометрически вершина к графа С А ранга г — это множество векторов х(хг, х2,..., хк,..., хп), у которых хк =1, а на позициях от 1 до к находится г единиц (рис. 3). Ребру, входящему в вершину к графа С А, соответствует единичный вектор вк{0, 0,..., 0,1, 0,..., 0) в я-мсрном единичном кубе Вп с единицей в к-й позиции.
Тогда пути '( ранга г в графе С А соответствует вектор х, равный сумме единичных векторов ребер, по которым он достиг вершину ] ранга г, начиная с вершины 5.
Рисунок 2. Граф О А
Рисунок 3. Геометрическая интерпретация графа ОА
Формальной моделью является га-мерная задача 0,1-рюкзак, где т — количество векторов ограничений, которая в общем случае может быть представлена в следующем виде:
I
]=1
е_/х_/ ^ тт
при ограничениях
I ^ Ь*.
]=1
(9)
(10)
Пусть в графе ОА каждому ребру, входящему в вершину ], ] = (1, п) соответствует т +1 вес: вес с , равный коэффициенту при х в функционале (9), и т ве-
сов а~, равных коэффициентам при Ху в ограничениях (10). Тогда, путь цЛ в графе С А из вершины 5 в вершину у характеризуется ш +1 длинами: ^ (цЛ) — длиной по весам функционала и ^ (цЛ ^ — длинами по весам ограничений. Множество путей шП(у) в графе О А к вершинам у, расположенным на ярусах п = (1, п) от вершины 5, можно представить в виде
«ал 'к и»/;:'и...и/»:л(п>
где шг — множество путей в графе ОА от вершины 5 к вершинам у, расположенным на г-х ярусах графа ОА (ранг пути ц^ е шп. определяется числом ребер, образующих этот путь). Следует иметь в виду, что множество путей /и'( в графе С А соответствует множеству векторов {х|3 х|3..., х, ¡, содержащих к единиц. Сле-
I г | /"г г=к __г=к
довательно, | ш^ |= Сп , т. е. каждому пути в множестве ш^ соответствует некоторый вектор (х, X,. ., X). Из (11) следует
шп(у) = СТ1 + СП=2 +... + СП=п = 2п -1. (12)
Таким образом, граф ОА представляет собой упорядоченный по рангам эквивалент «-мерного единичного куба В, в котором пути ц^. е шг- соответствуют вершинам В (12). Длина каждого пути по весу функционала определяет значение функционала (9) в вершинах единичного куба В Длина по весам ограничений определяет, соответствует ли данная вершина В ограничениям (10), т. е. принадлежит вершина «-мерного единичного куба В соответствующей гиперплоскости. Если йа (ц;) < Ь, то вершина принадлежит соответствующей гиперплоскости (10) и будем говорить, что путь цП удовлетворяет свойству V. Если (ц^) > Ь, то вершина п -мерного куба, соответствующая пути ц^, не принадлежит ни одной гиперплоскости (10), а путь цП считаем не удовлетворяющим свойству V.
Решению задачи (9)—(10) в ОА соответствует самый длинный путь по весам функционала, удовлетворяющий свойству V.
В основе математической модели рангового подхода для построения алгоритмов решения задач ЦЛП с БП положен принцип оптимизации по направлению в дискретном пространстве состояний, заданном графом ОА. Представление «-мерного единичного куба в виде графа ОА позволяет разбить множество всех путей графа ОА из нулевой вершины 5 на О локальных областей, где | О | не превышает величину п2/2, поскольку число вершин в графе ОА определяется суммой чисел натурального ряда
О = п + (п -1) +... +1 = п(п +1)/2 « п2/2, (13)
причем О -области в графе О А упорядочены по рангам и пути следующего ранга могут быть получены на основе путей предыдущего ранга за счет подсоединения к ним ребра (], р) в графе О А
\р)}. (14)
Пусть заданы некоторые правила отсечений путей в множествах тг:
Ь1: (х^=г+1 = тахс и {], р)}; р = 1, п; у = г, п, ] Ф р. (15)
Ь2: ц;=г+1 = тта ^ и и,Р)У, Р = У = г,п; 7 Ф р. (16)
[ц7+1=тах ЩШР)), ЬЗ: 7 ' (17)
В соответствии с правилом (15) при построении путей следующего ранга в каждом множестве путей выбирается один максимальный по значению функционала (9), в соответствии с правилом (16) при построении путей следующего ранга в каждом множестве путей выбирается один минимальный по значению ограничения (10), в соответствии с правилом (17) при построении путей следующего ранга в каждом множестве путей выбирается два максимальный по значению функционала (9) и минимальный по значению ограничения (10).
Тогда если в множествах содержатся пути, удовлетворяющие свойству V и правилам (15)—(17), то под оптимизацией по направлению в графе ОА к вершине р будем понимать формирование множеств тГ= г+1 следующего ранга, которые получаются за счет выделения в тГ путей, подсоединение к которым ребра (],р) позволит в множестве тГ=г+1 получить пути, удовлетворяющие правилам (15)—(17) на основе следующего рекуррентного соотношения: / е/«')[и''=,'+1 =Ь {и'
5] 5] У 1.Г 5р Ж 5
"ОО "ОК' =К{^ии,рЖр = г + 1,гг, / = г,п, (18)
где И^иС/,/?) —путь из вершины 5 графа О А в вершину р, проходящий через промежуточную вершину ] и удовлетворяющий правилам (15)—(17), т. е. получаемый за счет подсоединения к пути цГ ребра (], р), если такое соединение не противоречит правилам (15)—(17). В дальнейшем для упрощения изложения, если путь Н>'+1=м4 иО\Р) удовлетворяет правилам (15)—(17), то будем говорить, что он удовлетворяет и свойству V.
Введем обобщенную процедуру А, позволяющую на основе выбранного правила отсечений (15)—(17) решать задачу (9)—(10).
Шаг 1. Из вершины 5 строятся множества путей т^=1, / = (1, п), удовлетворяющие свойству V.
Шаг 2. Формируются множества путей , р = (г +1,п) следующего ранга, удовлетворяющих свойству V, на базе множеств путей шг текущего ранга в соответствии с рекуррентным соотношением (18). В образованных множествах ш^1 производится отсев путей согласно выбранным правилам отсечения (15)—(17) и выделяются пути, определяющие локальные экстремумы областей Ор, р = (г +1, п).
Шаг 3. Проверяем, все ли множества шг!+1 следующего ранга пустые. Если это так, то переходим к шагу 4, иначе увеличиваем значение текущего ранга г := г +1 и выполняем шаг 2.
Шаг 4. Выделяем среди множеств локальных экстремумов {О } глобальный, и процедура заканчивает работу.
Данная обобщенная процедура А позволяет определять локальные экстремумы в О областях графа ОА каждый раз на шаге 2, и затем на шаге 4 выделять глобальный экстремум из п2/2 локальных, полученных на основе принципа оптимизации по направлению в графе ОА с использованием вводимых правил отсечения путей (15)—(17) во множествах ш^.
3.2. Алгоритм параллельных вычислений решения задачи распределения фрагментов сетевой базы данных
Параллельным вычислением называется множественное число операций:
Ф = {0 у }, у = 1,..., п, (19)
где 9.: Ъ] ^ Ъ] , Ъ] = (а,) — локальное состояние, которое называется условием готовности операции 9 .: Si = (Ь, qi) — локальное состояние, которое называется условием завершения операции 9 . В результате применения 9 происходит изменение состояний (ai, ч) е Ъ на (Ь , Ч) е в соответствии с правилами (15)—(17).
Вычислительным процессом называется последовательность вида п = ; ; 0 ^ ; 0 2;...; Ъ ^ 0, где ^ — глобальные состояния; 0 — операции или подмножества операций, которые превращают ^ в на основе правил (15)-
(17).
Вычислительный процесс параллельного алгоритма для случая реализации на п (для п = 5) процессорных элементах имеет такой вид: : установление начальных значений.
Ъ : 01: q^ = Ъ'{(аг,+ (а2,q2)} ^(Ь,ч1); q2 = ъ' {(аг, q2) + (аз, qз)} ^ (Ь2, q2); q3 = Ъ'{(аз,qз) + (а4,q4)} ^ (Ьз,qз);
q4 = Ъ'{(а4,q4) + (05,q5)} ^(Ь4,q4);
9 2: Чх = q *;
42 = Ъ{(а1,+ (аз,Чз)} ^ (Ь2,Ч2);
43 = Ъ'{(а2,Ч2) + (а4,Ч4)} ^ (Ьз,Чз);
44 = Ъ{(аз,Чз) + (а5,Ч5)} ^(Ьл,ч4).
* *
9з: ч = ч ; ч2 = ч ;
43 = У'{(а!,+ (а4,44)} ^У^ (Ьз,Чз);
44 = Ъ'{(а2,Ч2) + (а5,45)} ^У^(Ь4,Ч4);
94: ч = Ч*; Ч2 = Ч*; Чз = Ч*;
Ч4 = У ' { (аl, Ч1) + (а5, Ч5)} ^ (Ь5, Ч5);
ъ ц, ^):= у" (ь1, ч1); у (а,,42):= у" (ь2,42);
ъ(аз,чз):= у"(ьз,чз); у' 44):= у"(ь,44). ех?(/) = шах^'Ц, 41) V У"^,42) V У (аз, Чз) V У К, Ч4)}. Ъ2: 01: Ч := У{(а1,41) + (а^42)} ^(Ь,41); Ч2:= У ^ Ч2) + (aз, Чз)} ^ ^ (Ь2, Ч2);
43 := Ъ {(аз,Чз) + (а4,Ч4)} ^ (Ьз,Чз);
44 := 0.
92: Ч = Ч*;
42 := Ъ'{(а1,41) + (аз,Чз)} ^Ь42);
43 := Ъ'{(а2,ч2) + (а4,44)} ^(Ьз,Чз);
44 := 0.
* * 9з: ч1 = ч ; ч2 = ч ;
43 := Ъ'{(а1,41) + (а4,44)} ^ (Ьз,Чз);
44 := 0.
у ц,41):= у (ь1,41); у (а2,42):= у' (ь2,42); у (аз, чз ):=у (ьз, чз). ех? (/) = шах {У (а,Ч1) V У (а2,42) V У (а^, Чз)}. Ъз: 91: Ч1 := У{(а1,41) + (а2,42)} ^ У^ (Ь1,41); Ч2:= ^К^ Ч2) + (aз, Чз)} ^ ^ (Ь2, Ч2);
Чз := 0; Ч4 := 0.
9 2: Ч1 = ч *;
q2 := S{Ц,q ) + (03,q3)} ^ (b2,q2);
qз := 0; q 4 := °.
Saq ) := S"(b,q ); S^,q2) := S(b,£2);
ext(f) = max{S Ц, q) v S' (a2, q2)}.
S4: Gj: q := S{(ах,q) + (a^q2)} ^S'h (buq);
q2 := °; q3 := °; q4 := °. S (aj, q):= S"(bj, q); ext(f) := max{S (aj,q)}.
3.3. Архитектура параллельной вычислительной структуры систолического типа для решения задачи распределения фрагментов сетевой базы данных
Современные ПВС, как правило, узкоспециализированые. Трудность создания проблемно-ориентированных ПВС обусловлена нерешенностью целого комплекса проблем, определяющих взаимосвязь между архитектурой ПВС и структурой параллельных алгоритмов, предназначенных для реализации на этих ПВС. Особенно остро эта проблема возникает при решении так называемых сильносвязанных задач, разбиение которых на подзадачи приводит к необходимости интенсивных обменов на каждом шаге решения отдельных подзадач. Именно к такому классу задач относятся оптимизационные задачи, которые приходится многократно решать в процессе принятия решений. Трудность создания ПВС, ориентированных на широкий класс оптимизационных задач, связана еще и с большой размерностью решаемых оптимизационных задач и довольно жесткими требованиями к оперативности принятия решений при управлении сложными системами.
Анализ основных тенденций развития параллельных вычислительных систем показывает, что здесь можно выделить следующие направления развития ПВС:
- создание ПВС для решения задач первичной обработки информации на нижнем уровне систем, которые сводятся к масштабированию, перемножению, дифференцированию, интегрированию, фильтрации и другим различным преобразованиям сигналов;
- разработка проблемно-ориентированных ПВС для решения задач линейной алгебры, а также дифференциальных уравнений в частных производных;
- разработка ПВС для решения задач комбинаторной оптимизации и теории графов. Это направление является наиболее сложным и наименее разработанным на сегодняшнее время, а также наиболее
важным с точки зрения построения систем динамического управления в сетях и автоматизации процесса принятия решения.
Предлагаемая архитектура параллельной вычислительной структуры систолического типа состоит из «-процессорных элементов. Каждый процессорный элемент характеризуется именем и алфавитом. Символы алфавита могут иметь интер-притацию как константы или переменные. Парой будем называть состояние процессорного элемента. Множественное число состояний всех процессорных элементов системы в определенный момент времени будем называть глобальным состоянием системы, а некоторое его подмножество — локальным состоянием. При данных процессорный элемент свое состояние, и, связанных с ним элементов, т. е., делает локальное преобразование что будем называть операцией (рис. 4).
В блоке сортировки данных 1 (рис. 4) параллельной вычислительной структуры систолического типа выполняется сортировка данных по формулам:
а1 < а2 <... < ап, (20)
1 >^2 >... >с, (21)
а11 > С21 а21 > - > Сп1ап1 (22)
в случае одномерной задачи. Выражение (20) выполняет сортировку данных в порядке убывания значений ограничения; выражение (21) выполняет сортировку данных в порядке возрастания значений ограничения; выражение (22) выполняет сортировку данных в порядке убывания значений ограничения.
В случае га-мерной задачи такая сортировка невозможна, поскольку вместо одного ограничения используется ш ограничений. Поэтому введем параметр ¥ ,
по которому следует осуществлять сортировку коэффициентов в функционале. Значения ¥. предлагается вычислять по одному из следующих соотношений:
У шах а ч, (23)
¥ = С/ (шах а - шт а ), (24)
¥у=Су/((шах а,у )£ ау ), (25)
/ш *
Е а„, (26)
где а=а/Ь,.
Блок процессорных элементов 3 (см. рис. 4) архитектуры параллельной вычислительной структуры систолического типа осуществляет вычисления локальных экстремумов при заданном значении функционала (3) и ограничении (4), (5), а так-
1=1
же определения (вычисления) номера вершины, в которой локальный экстремум (ЛЭ) определен по правилам (15)—(17).
1
Ж
Б г -1 I >п
1- "
*
5 5 5
4 6 7 4 6 - 4
3 - ... -
8 -* 9
Рисунок 4. Архитектура параллельной вычислительной структуры систолического типа [12, 13]
Каждый процессорный элемент 4 блока процессорных элементов 3 (см. рис. 4) выполняет вычисления параллельно и осуществляет обмен данными между соседними процессорными элементами после завершения вычислений. Блок регистров 5 каждого процессорного элемента 4 сохраняет и обеспечивает микрооперации передачи данных между регистрами блока регистров соседних процессорных элементов. Арифметический вычислитель 6 вычисляет локальные экстремумы на основании данных, поступающих с блока регистров, выбирает локальный экстремум по правилам (15)—(17) и пересылает его в вычислительное устройство формирования вектора пути 8 для вычисления глобального экстремума и формирования вектора пути. Блок идентификации 7 определяет номер вершины, в которой локальный экстремум определен (см. рис. 4). Модуль памяти 9 (см. рис. 4) сохраняет номера вершин локальных экстремумов на каждом ранге вычислений. Данные Д, Д,..., Д поступают одновременно в каждую систолическую ячейку вычислительного устройства, в которых осуществляется вычисления. Ввод данных осуществляется с помощью блока управления систолическим процессором 2 (см. рис. 4) с блока сортировки данных 1.
4. Результаты экспериментального исследования
В ходе решения тестовых задач генерировались по равномерному закону распределения с помощью датчика случайных чисел коэффициенты в функционале в диапазоне [1 ^ 100] и в ограничениях в диапазоне [1 50]. Выбор других диапазонов для функционала изменил только его абсолютное значение, но в среднем не повлиял на параметры алгоритмов. Изменение диапазона в ограничениях влияет только на ранг пути (ранг пути — количество вершин графа О А, образующих этот путь).
Структура исследования каждого алгоритма заключалась в следующем. Решалось 100 тестовых задач с заданными входными параметрами п выбранным алгоритмом с различной сортировкой коэффициентов при функционале и ограничении. В ходе решения определялись показатели эффективности алгоритмов. Результаты решения задачи приближенным алгоритмом сравнивались с результатом ее решения точным алгоритмом. Полученные значения представлены на графиках рис. 5.
Как показали результаты экспериментального исследования, количественные значения выбранных показателей существенно зависят от ранга получаемого решения, определяют число единиц в оптимальном решении. Так, диапазон изменения гср можно условно разбить на три условно выделенные зоны: зона — гср = [0 ^ п/ 3]; 2 зона — гср = [п/ 3 ^ 2п/ 3]; 3 зона — гср = [2п/ 3 ^ п].
Из анализа графиков можно сделать вывод, что наилучшей точностью обладает алгоритм MAX-MIN, погрешность которого при п > 50 не превышает 0,5%. Наиболее эффективной сортировкой является сортировка в порядке убывания отношений коэффициентов при функционале к соответствующим коэффициентам в ограничениях.
Величина располагаемого времени и времени расчетов на практике зависят от множества непредвиденных условий и реально являются случайными, оценим показатель оперативности каждой модели распределения фрагментов сетевых баз данных как вероятность своевременного решения задачи:
р = 1 - е-тр!т. (27)
Используя среднее значение времени цикла моделирования и размещаемого времени (3 минуты), найдем значение показателя вероятности своевременного решения задачи. В качестве алгоритмов для исследования использовались:
- точные алгоритмы: алгоритм Балаша; многоэтапный алгоритм на основе рангового подхода;
- приближенные алгоритмы: алгоритмы с временной сложностью О(п); алгоритмы с временной сложностью О(п2) при сортировке по ограничению; алгоритмы с временной сложностью О(п2) при сортировке по функционалу; алгоритмы с временной сложностью О( п2) при сортировке по отношению; алгоритмы с временной сложностью О(п3); парал-
лельные алгоритмы; алгоритм, который обеспечивает максимальную точность вычислений при допустимых временных и ресурсных затратах.
х 25 Н = <
о Е 20- ё 8 14 ■ —♦—Оф. ■—отн, функ,
Ё, I 10' о Е 5 ■
С 5 в 0 ■ Т* г_ к ♦
5 15 25 35 45 55 Количество вершин
Рисунок 5. Зависимость погрешности и ее характеристик от размерности задачи
в
г
д
з
и
Результаты моделирования показывают (рис. 6), что при уровне вероятности своевременного решения задачи в настоящее время обеспечение расчетам этапа оптимального планирования распределения фрагментов сетевых баз данных возможно только методами с временной сложностью O(n) и алгоритмом, который обеспечивает заданную точность вычислений при допустимых временных и ресурсных затратах. Применение точных алгоритмов возможно при небольшой размерности решаемой задачи распределения — до 250 вершин графа, алгоритмов с временной сложностью O( n2) до 400.
Е 1.2
Количество переменных
Рисунок 6. График зависимости показателя вероятности своевременного решения задачи
от ее размерности
5. Заключение
Разработана математическая модель распределения фрагментов данных сетевой базы данных по узлам вычислительного комплекса является задачей целочисленного линейного программирования с булевыми переменными. Полученные правила отсечения неперспективных вариантов решений и обобщенная процедура А позволили разработать одномерные и га-мерные алгоритмы приближенного решения задачи целочисленного линейного программирования с булевыми переменными. Экспериментальное сравнение разработанных алгоритмов с известными, по выбранным показателям эффективности показал, что их временная сложность существенным образом зависит от ранга оптимального решения, который может принадлежать одной из трех условно выделенных зон. Поэтому объективное сравнение алгоритмов возможно только для решений, принадлежащих одной и той же зоне. Из сравнения решений по зонам видно, что наибольший выигрыш предлагаемые алгоритмы дают во второй зоне, где число допустимых решений экспоненциально. Это является важным преимуществом по сравнению с известными методами. Из
экпериментальных исследований видно, что погрешность предложенных алгоритмов существенным образом зависит от способов сортировок коэффициентов в функционале и ограничениях и выявлены наилучшие типы сортировок и стратегии отсечения неперспективных решений. Поскольку формирование множеств путей на ярусах в графе DA можно совмещать во времени, то предлагаемые алгоритмы могут быть эффективно распараллелены, при этом если число процессорных элементов в вычислительной системе равно числу переменных, то временная сложность предложенных алгоритмов может быть понижена в n раз.
Применение метода позволяет обеспечить от 1 до 10% погрешность решения задачи (3)-(5) при использовании правил (15)—(17) для отсечения неперспективных вариантов решения.
Литература
[12] Новиков Б. А., Левин М. Ю. Сравнительный анализ производительности SQL и NoSQL СУБД // Компьютерные инструменты в образовании, 2017. № 4. С. 48-63.
[13] Болодурина И. П., Парфенов Д. И., Решетников В. Н. Моделирование размещения сервис-ориентированных приложений в программно-управляемой инфраструктуре виртуального центра обработки данных // Программные продукты и системы / Software & Systems. 2016. № 4(29). С. 15-22
[14] Майер-Шенбергер В., Кукьер К. Большие данные. Революция, которая изменит то, как мы живем, работаем, мыслим. — М. : Манн, Иванов и Фербер, 2014.
[15] Buyya R. Big Data Analytics-Enhanced Cloud Computing: Challenges, Architectural Elements, and Future Directions // Parallel and Distributed Systems (ICPADS), 2015 IEEE 21st International Conference on. IEEE, 2015. P. 75-84.
[16] Буй Д. Б., Скобелев В. Г. Модели, методы и алгоритмы оптимизации запросов в базах данных // Компьютерные системы и информационные технологии. 2014, № 2 (66). C. 43-58.
[17] Дубинин В. Н., Зинкин С. А. Сетевые модели распределенных систем обработки, хранения и передачи данных: монография. — Пенза : Приволжский Дом знаний, 2013.
[18] Соколинский Л. Б. Параллельные системы баз данных. — М. : Изд. Московского университета, 2013.
[19] Информационное обеспечение систем организационного управления (теоретические основы): в 3-х ч. / под ред. Е. А. Микрина, В. В. Кульбы. — М. : Физматлит, 2011. Ч. 2. Методы анализа и проектирования информационных систем.
[20] Фильгус Д. И. Методы и алгоритмы распределения рабочей нагрузки в сетевых базах данных // Международный журнал прикладных и фундаментальных исследований. 2018. № 4.
[21] Третьяк В. Ф., Пашнева А. А. Оптимизация структуры хранилища данных в узлах ин-фокоммуникационной сети облачной среды // Системы управления, навигации и связи
Полтавского национального университета имени Юрия Кондратюка. 2017. № 4 (44). С. 122-128.
[22] Мамедов К. Ш., Мамедов Н. Н. Алгоритмы построения гарантированного решения и гарантированного приближенного решения многомерной задачи о ранце // Проблемы управления и информатики. 2014. № 5. С. 30-37
[23] Патент на полезную модель № 69487, Украина, МПК в06 Б15/00. Устройство для решения задач на графах / В. Ф. Третяк, Д. Ю. Голубничий та др. № и201113667; заяв. 21.11.2011; опубл. 25.04.2012; бюл. № 8.
[24] Патент на полезную модель № 92968, Украина, МПК в06 Б15/00. Способ обратотки и защиты информации в распределенных хранилищах данных / В. Ф. Третяк, В. В. Баран-ник и др. № и201403994; заяв. 14.04.2014; опубл. 10.09.2014; бюл. № 17.
Авторы:
Елена Гельевна Андрианова — доцент кафедры корпоративных информационных систем Института информационных технологий, МИРЭА — Российский технологический университет
Вячеслав Константинович Раев — профессор кафедры инструментального и прикладного программного обеспечения Института информационных технологий. МИРЭА — Российский технологический университет
Дмитрий Игоревич Фильгус — аспирант кафедры инструментального и прикладного программного обеспечения Института информационных технологий, МИРЭА — Российский технологический университет
Development of parallel computing methods for fragmentation of network database data based on the rank approach
E. G. Andrianova, V. K. Raev, D. I. Filgus
MIREA — Russian technological university, 78, Prospect Vernadskogo, Moscow, Russia, 119571 e-mail: [email protected]; [email protected], [email protected]
Annotation. The analysis of the task of fragmentation of the data of the network database showed that the formal model is the so-called integer linear programming problem with Boolean variables. Unfortunately, the problem of CAP with BP belongs to the class NP (non-deterministic polynomial), which are difficult to solve even with the use of modern computers. At present, combinatorial methods occupy a dominant place in the methods of solving these problems. To them, first of all, you can include methods of full busting, dynamic programming, and also local algorithms. The practical application of these methods is difficult in solving problems of large dimension. Attempts to reduce the time for solving the problems of CML with BP due to parallelization face another problem in the theory of parallel computations, which consists in the fact that, from the point of view of parallel algorithms, this type of problem belongs to the class of strongly coupled tasks and therefore can not be paralleled. Therefore, when developing parallel algorithms for solving the problem of CML with BP, in
addition to the contradiction between the accuracy of the solution of the problem and the time of its solution, another contradiction arises — between the strong connectivity inherent in this task and the need for its parallelization.The proposed method of parallel computing for fragmentation of network database data is based on a rank approach to its solution, the principle of optimization in the direction and strategies for cutting off unpromising solutions. The method allows to determine local extrema at the vertices of the graph and on their basis to determine the global extremum.
Keywords: data, parallel computing, rank approach, fragmentation, network database
References
[1] Novikov B. A., Levin M. Yu. (2017) Komp'yuternyye instrumenty v obrazovanii, 4:48-63. [In Rus]
[2] Bolodurina I. P., Parfenov D. I., Reshetnikov V. N. (2016) Programmnyye produkty i sistemy / Software & Systems. 4(29):15-22. [In Rus]
[3] Mayyer-Shenberger V., Kuk'yer K. (2014) Bol'shiye dannyye. Revolyutsiya, kotoraya izmenit to, kak my zhivem, rabotayem, myslim. Moscow, Mann, Ivanov i Ferber. [In Rus]
[4] Buyya R. (2015) Big Data Analytics-Enhanced Cloud Computing: Challenges, Architectural Elements, and Future Directions. Proceedings of 21st International Conference on Parallel and Distributed Systems (ICPADS, 2015 IEEE). P. 75-84.
[5] Buy D. B., Skobelev V. G. (2014) Komp'yuternyye sistemy i informat. tekhnologii. 2(66):43-58. [In Rus]
[6] Dubinin V. N., Zinkin S. A. (2013) Setevyye modeli raspredelennykh sistem obrabotki, khraneniya i peredachi dannykh. Penza, Privolzhskiy Dom znaniy. [In Rus]
[7] Sokolinskiy L. B. (2013) Parallel'nyye sistemy baz dannykh. Moscow, Izdatel'stvo Moskovskogo univer-siteta. [In Rus]
[8] Informatsionnoye obespecheniye sistem organizatsionnogo upravleniya (teoreticheskiye osnovy). v 3 ch. Moscow, Fizmatlit, 2011. Ch. 2. Metody analiza i proyektirovaniya informatsionnykh sistem. [In Rus]
[9] Fil'gus D. I. (2018) Mezhdunarodnyy zhurnal prikladnykh i fundamental'nykh issledovaniy, 4. [In Rus]
[10] Tret'yak V. F., Pashneva A. A. (2017) Sistemy upravleniya, navigatsii i svyazi Poltavskogo natsion-al'nogo universiteta imeni Yuriya Kondratyuka, 4(44):122-128. [In Rus]
[11] Mamedov K. Sh., Mamedov N. N. (2014) Problemy upravleniya i informatiki. 5:30-37. [In Rus]
[12] Patent 69487, Ukraina, MPK G06 F15/00. Ustroystvo dlya re-sheniya zadach na grafakh / V. F. Tretyak, D. YU. Golubnichiy ta dr. № u201113667; zayav. 21.11.2011; opubl. 25.04.2012; byul. № 8.
[13] Patent na poleznuyu model' № 92968, Ukraina, MPK G06 F15/00. Sposob obratotki i zashchity infor-matsii v raspredelennykh khranilishchakh dannykh / V. F. Tretyak, V. V. Ba-rannik i dr. № u201403994; zayav. 14.04.2014; opubl. 10.09.2014; byul. № 17.