ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ
УДК 004.722.25
РАСПРЕДЕЛЕНИЕ НАГРУЗКИ В ДЕЦЕНТРАЛИЗОВАННЫХ ГРИДАХ, ОБЛАДАЮЩИХ СВОЙСТВАМИ ТЕСНОГО МИРА
© 2011 г. С.А. Анисимов
Нижегородский государственный технический университет им. Р.Е. Алексеева
Поступила в редакцию 20.01.2011
Рассмотрен децентрализованный грид, построенный с помощью фракталов с ограниченной степенью вершин. Показано распределение нагрузки относительно количества узлов сети одного уровня в зависимости от количества запросов, степени вершины грида, радиуса сети для ЬББ топологии. Проведено сравнение максимальных нагрузок в классическом, децентрализованном гридах при увеличении количества узлов, количества захватываемых ресурсов.
Ключевые слова: сеть тесного мира, децентрализованный грид, нагрузка, ресурсы.
Введение
В настоящее время перед учеными возникают сложные задачи, для решения которых недостаточно одного компьютера, кластера или даже специализированного суперкомпьютера. Таким образом, достижение определенных научных целей с помощью современных компьютерных технологий становится чрезвычайно сложной, очень дорогой, а иногда совершенно невыполнимой задачей. Для решения данных задач в настоящий момент используется технология грид - аппаратно-программная инфраструктура, которая обеспечивает надежный, устойчивый, повсеместный и недорогой доступ к высокопроизводительным компьютерным ресурсам, их скоординированное разделение и решение задач в динамически меняющихся виртуальных организациях со многими участниками [1-3]. Данное определение подразумевает, что грид - средство для совместного использования вычислительных мощностей и хранилищ данных. Изначально гриды предназначались для решения сложных научных, производственных и инженерных задач, которые невозможно решить в разумные сроки на отдельных вычислительных установках. Однако в настоящее время область применения технологий грид не ограничивается только научно-инженерными задачами [1-2, 4].
В область интересов автора входят только промышленные гриды, которые предъявляют
высокие требования к надежности каналов связи между узлами сети, скорости обмена информацией, к мощности и количеству узлов грида. Классическим примером промышленного грида является 0г1(12003 - крупнейший грид в мире, объединяющий ряд мощных вычислительных центров и функционирующий в непрерывном режиме.
Гриды несколько упрощенно можно представить следующим образом: существует множество узлов сети, каждый из которых характеризуется количеством и типом процессоров, объемом оперативной и физической памяти, состоянием и рядом других параметров. Кроме этого существует корневой сервер, в котором содержится список узлов сети и их состояние. Соответственно, при постановке в очередь задачи и запросе необходимого количества процессоров, оперативной памяти одним из узлов грида происходит обращение к корневому серверу и поиск по каталогу ресурсов, удовлетворяющих искомому запросу. В настоящее время во всех гридах существует централизованный каталог ресурсов. Недостатки построения грида способом, описанным выше:
• в случае выхода из строя корневого сервера весь грид оказывается неработоспособным;
• наличие устаревшей информации о состоянии узлов либо парализация корневого сервера грида частыми запросами.
В работах [5—lG] показано, что оптимальной топологией децентрализованного грида (графа), которая удовлетворяет следующим условиям:
• кратчайшая средняя длина минимальна;
• число связей минимально;
• степень вершины графа не превышает максимальное значение;
является фрактал с ограниченной степенью вершин Limited Degree Fractal (LDF), пример которого представлен [6, lG] на рис. l.
Основные соотношения для LDF сети можно записать следующим образом [lG—ll]:
• число связей равно L -1;
распределение степеней вершин:
-4/1 вершин имеют степень 1,
Л -1/1 вершин имеют степень 1;
средняя длина пути l ^ 2
ln(L); ln d
• коэффициент кластеризации С = 2/\^ (( -1)]. Необходимо заметить, что в ЬББ сети наблюдается эффект тесного мира, что показано [10-12] на рис. 2.
Рис. 1. Уровни LDF сети. Ступенчатое (слева) и круговое (справа) представление
НитЬег
Рис. 2. Зависимость средней длины пути от числа узлов грида, при ^ = 10
В работе [11] была показана методика построения децентрализованного грида и протокол поиска ресурсов в ней.
Цель данной работы - показать распределение нагрузки на узлы в гриде относительно количества узлов сети одного уровня в зависимости от радиуса сети и запрашиваемого количества ресурсов, при построении и функционировании грида так, как показано в [10-11] и сравнить максимальную нагрузку в ЬББ сети с нагрузкой на централизованный каталог ресурсов при классической схеме организации грида.
Распределение нагрузки на узлы в децентрализованном гриде
Пусть каждый узел грида имеет равное количество ресурсов д и захватывает Q = Кд ресурсов, где К < d - натуральное число. Перед каждым запросом все вершины грида свободны. В случае если необходим захват одного из нескольких элементов сети, то вероятность захвата каждого узла одинакова. Таким образом, суммируя количество занятых узлов каждого уровня отдельно и относя полученные величины к количеству узлов каждого уровня, имеем распределение нагрузки при заданном радиусе сети, запрашиваемом числе ресурсов и заданной степени вершины грида !. Ниже приведен пример распределения нагрузки при N = 3, Q = 2д , d = 6 N - количество уровней ЬББ сети. Данная сеть представлена на рис. 3.
Рис. 3. Трехуровневый полностью заполненный грид со степенью вершины d = 6
Количество узлов ЬББ сети с полностью заполненными уровнями в нашем случае равно:
L = £(d-l)n-2 • d)+1 = 1 + d + d(d-1) = 37. (1)
n=2
Нетрудно заметить, что центральный узел захватывает полностью два элемента грида второго уровня из шести возможных. Следовательно, нагрузка на второй уровень, оказываемая центральным узлом, равна: R12 = 2q/6 = q/3.
Это значит, что в среднем треть вычислительной мощности второго уровня будет занята задачами центрального узла. Очевидно, что центральный узел при исходных данных, указанных выше, не захватывает узлы третьего уровня. Отсюда следует, что нагрузка на третий уровень, оказываемая центральным узлом, равна: R13 = 0. Узел второго уровня будет захватывать
либо два дочерних, либо центральный и дочерний узлы. Поскольку вероятность захвата каждого узла одинакова, а количество узлов второго и третьего уровня равно, соответственно 12 = 6
и /3 = 30, то получим:
R23 = (1 + 4/5) • l2/l3 = 9q/5 • 6/30 = 0.36q, а R2j = q/5 • l2 /lj = q/5 • 6/1 = 1.2 q. Рассуждая аналогично, несложно показать, что R33 = 4q/5 • Z3/Z3 = 4/5 q,
2 = q ■ 4/= 30q/6 = 5 q,
1 = q/5 • 4/1\ = 30q/5 = 6q.
Итоговое распределение нагрузки имеет вид
Ri = R i + R21 + Ri 1 = 6q +1.2q + 0 = 7.2q,
R2 = R3 2 + R2 2 + Rl 2 = 5q + 0 + q/3 = 5.333q, (2) R3 = R3 3 + R2 3 + Ri 3 = 0.8q + 0.36q + 0 = 1.16q.
Нагрузка R3 = 1.16q означает, что если каждый узел трехуровневого полностью заполненного грида со степенью вершины d = 6 захватывает количество ресурсов, равное двум вычислительным мощностям узла, то у каждого узла третьего уровня будет захвачено в среднем 1.16q ресурсов. Пояснения для Rx и R2 полностью аналогичны.
Для дальнейшего сравнения параметров децентрализованного грида с гридом типа «звезда», необходимо получить аналитическое выражение для нагрузки на произвольный уровень децентрализованного грида в общем виде при Q < d в зависимости от Q, d, N. Исходя из
простых логических соображений, нагрузка уровня n полностью заполненного грида имеет следующий вид:
п,( N-2)
Г а - 2 Л
а - 2 +1
+ 2 -1
а -1
+ (б - фп,N-Ап,1 + 22 8п,N-1 + ( - 1)^п,2^п,(N-1) +
л
+ 2 - 2
8Й,1 §п,1
+ а§п, N ^п,2 +
а
а -1 а - о+1
Ч(N-1)^4,N ^п,2 +
(а -
а - 2+1 (а - 1)а
8п,N §п,2 +
т „ , ^е,1 ^п,3^4,N + , „ , ^е,1 §3,N^п,3>
а - 2+1 а - 2+1
- 2 +1
л
+
л
л
где к , = ]1 к - символ Кронекера;
1’к [0, г * к
л Го, г = к 5 =) - инвертированный символ
1 г, г Ф к
Кронекера;
Г1, г < к
X = ^ - степ-функция;
а 10, г > к
л Г1, г > к ,
X = ■! - инвертированная степ-функция.
гД [0, г < к
Сравнение максимальных нагрузок в LDF сети и классическом гриде
Необходимо заметить, что сравнение проводится в гридах с одинаковым количеством узлов £ и захватываемых ресурсов Q. Для получения значений нагрузки в классическом гриде и последующего сопоставления с нагрузками, полученными в выражении (2), параметры централизованного грида должны быть полностью аналогичными ЬББ сети. Таким образом: количество узлов Ь = 37, каждый из которых имеет равное количество ресурсов д и захватывает Q = 2д ресурсов. Нетрудно заметить, что в данном случае: а = 36, N = 2. Итоговое распределение нагрузки имеет вид
1 + ^21 = 0 + 36д = 36д,
Я2 = Я2,2 + Яи = 36q|36 + 2q|36 = 1.556д. (4)
Сравнивая выражения (2) и (4), получаем, что нагрузка даже при малом размере сети в централизованном гриде оказывается крайне несбалансированной. Кроме этого максимальные величины нагрузок отличаются в пять раз в данном случае.
Однако особый интерес представляет динамика увеличения максимальных нагрузок классического и децентрализованного гридов, при увеличении количества захватываемых ресурсов в К раз или увеличении количества узлов в
(3)
М раз. Совершенно очевидно, что количества захватываемых ресурсов и узлов соответственно должны совпадать для ЬББ сети и грида с централизованным каталогом ресурсов. Нетрудно заметить, что для централизованного грида при увеличении количества ресурсов в М раз максимальная нагрузка имеет вид:
= (М -1)7. (5)
При увеличении количества захватываемых ресурсов в К раз, несложно показать, что будет возрастать нагрузка на периферийные узлы, а максимальная нагрузка, оказываемая дочерними узлами, будет постоянна:
^шах,2 = ^шах,1 = ( —. (6)
Для анализа динамики изменения максимальной нагрузки ЬББ сети, построенной так, как указано в [11], был создан программный продукт, который определяет распределение нагрузок каждого уровня грида в зависимости от количества уровней и количества захватываемых ресурсов Q = К. Проанализировав полученные результаты, можно сделать следующие выводы.
1. Максимальная нагрузка ЬББ сети наличествует на (Ж - 2)-уровне в случае, если количество уровней больше двух. В противном случае получаем классический грид с максимальной нагрузкой на центральный узел.
2. Нагрузка уровня п зависит от количества соседних узлов (степени вершины грида а), количества захватываемых ресурсов Q и не зависит от количества узлов сети при N > 4. Отсюда следует, что при неизменных значениях Q и а, нагрузки на уровни 1, N - 2, N - 1, N будут неизменны при любом N > 4. Данное следствие является основным преимуществом ЬББ сети над классическим гридом.
3. Значения максимальной нагрузки в зависимости от количества уровней децентрализованного грида при захвате Q = д или Q = ад ресурсов представлены в табл. 1.
Таблица 1
Количество уровней ЬБЕ сети ^ах
N = 2 ^
N = 3 ^ 2д
N > 4 =ъ *0^ = [ ( -1)+1]
4. Исходя из двух предыдущих выводов, нетрудно заметить, что для уменьшения максимальной нагрузки необходимо уменьшать степень вершины грида и увеличивать количество уровней сети. Следует осознавать, что при малых значениях а и большом N ЬББ сеть перестанет проявлять свойства сетей тесного мира.
5. Несложно понять, что при построении децентрализованного промышленного грида, последний будет состоять максимально из десяти тысяч узлов. Из выражения (1) следует, что максимальное количество уровней N = 6 и максимальная степень вершины грида а = 7 удовлетворяют данному условию.
Следует указать, что автором ранее не была рассмотрена ситуация захвата Q = Кд ресурсов, где К > ё. Однако при значениях а, указанных в п. 5, захват указанного количества элементов сети весьма вероятен. Принимая во внимание, что нагрузка центрального узла классического грида не зависит от количества захваченных ресурсов, сравнение максимальных нагрузок централизованного грида и ЬББ сети представляет большой интерес. Было получено, что при сравнительно небольших значениях захватываемых ресурсов резко возрастает нагрузка на центральный узел. Рассмотрим следующий пример: пусть N = 4, а = 6, Q = 13д. Отсюда следует, что Ь = 187. В данном случае, рассуждая точно также, как при вычислении выражения (2), нагрузка на центральный узел равна Л[ = 186д. Таким образом, получаем, что при небольшом значении захватываемых ресурсов нагрузка на центральный узел децентрализованного грида совпадает с нагрузкой классического грида. Важно отметить, что нагрузка четвертого уровня практически не увеличилась. При увеличении количества уровней сети для достижения максимальной нагрузки, совпадающей с нагрузкой централизованного грида, необходим захват большего числа ресурсов. Однако невозможно бесконтрольно увеличивать количество уровней грида из-за ограниче-
ний, указанных в п. 5. Возникает задача компенсации нагрузки центрального узла за счет узлов, нагрузка на которые мала, таким образом, чтобы изменения алгоритма, указанного в [11], были минимальны. Процесс заполнения ЬББ сети представлен на рис. 4.
Нетрудно заметить, что коренной узел в децентрализованном гриде всегда имеет идентификатор, равный единице. Кроме этого, другое важное наблюдение: построение сети осу-
ществляется таким образом, что идентификаторы дочерних узлов не могут являться соседними с родительскими. Исключением является центральный узел, однако, как было замечено ранее, его идентификатор известен. Следовательно, минимальный идентификатор узла в таблице соседних узлов является родительским. Исходя из всего сказанного выше, алгоритм изменится следующим образом.
1. Узел генерирует запрос и осуществляет его рассылку всем соседним узлам.
2. В случае, если последние не смогли зарезервировать необходимое количество ресурсов, то инициатор генерирует повторный запрос о захвате недостающего числа ресурсов и осуществляет его рассылку всем соседним узлам, за исключением родительского, которые в свою очередь осуществляют широковещательную рассылку соседним узлам.
3. Если необходимого количества ресурсов набрать не удалось, то генерация запроса о недостающем числе ресурсов отсылается родительскому узлу, который осуществляют рассылку соседним узлам.
В результате изменения алгоритма нагрузка на центральный узел будет равна = бд. Максимальная нагрузка в данном случае будет перераспределена на второй уровень и составит порядка я 42д. Нетрудно заметить, что максимальная нагрузка в децентрализованном гриде с измененным алгоритмом в четыре раза меньше, чем в классическом гриде даже при значительном увеличении количества захватываемых ресурсов.
Рис. 4. Процесс заполнения LDF сети
Заключение
Рассмотрен децентрализованный грид, построенный с помощью фракталов с ограниченной степенью вершин. Найдено аналитическое выражение для распределения нагрузки относительно количества узлов сети одного уровня в зависимости от количества запросов, степени вершины грида и радиуса сети для LDF топологии. Ценность данного выражения заключается в определении местоположения наиболее ресурсоемких серверов грида при малой загрузки LDF сети. Проанализирована динамика изменения максимальной нагрузки децентрализованного грида с увеличением числа узлов и количества захватываемых ресурсов. Предложены изменения алгоритма для компенсации нагрузки на центральные узлы при большой загрузке LDF сети. Проведено сравнение максимальных нагрузок LDF сети с результатами классического грида.
Список литературы
1. Foster I. What is the grid? A three point checklist // Argonne National Laboratory & University of Chicago. 2002.
2. Foster I., Kesselman C. The Grid: blueprint for a new computing infrastructure (2nd Edition) // San Mateo, CA: Morgan Kaufmann, 2004.
3. Foster I., Kesselman C., Tuecke S. The anatomy of the grid: enabling scalable virtual organizations // Inter. J. of High Performance Computing Applications. 2001. No. 15. P. 200-222.
4. Родин А.В., Бурцев В.Л. Классификации распределенных систем // Научная сессия МИФИ. 2006.
5. Aiello W., Chung F. R. K., Lu L. A random graph model for massive graphs // ACM Symposium on Theory of Computing (STOC). 2000. P. 171-180.
6. Albert R., Barabasi A.-L. Statistical mechanics of complex networks // Rev. Modern Phys. 2002. No. 74. P. 47-97.
7. Barabasi A.-L., Albert R. Emergence of scaling in random networks // Science. 1999. No. 286. P. 509512.
8. Erdos P., Renyi A. The evolution of random graphs // Publications of the Mathematical Institute of the Hungarian Academy of Sciences. 1960. No. 5. P. 17-61.
9. Fronczak A., Fronczak P., Holyst J.-A. Average path length in random networks // Physical Review. 2004. V. 70.
10. Жаринов И.В., Крылов В.В. Конструирование графов с минимальной средней длиной пути // Вестник ИжГТУ 2008. № 4.
11. Анисимов С.А., Зыбин В.А., Крылов В.В. Протокол поиска ресурсов в децентрализованных гридах, обладающих свойствами тесного мира // Труды НГТУ 2009. Т. 75. № 12. С. 57-63.
12. Watts D., Strogatz S. Collective dynamics of small-world networks // Nature. 1998. No. 363. P. 202204.
TRAFFIC DISTRIBUTION IN DECENTRALIZED SMALL-WORLD TYPE GRIDS
S.A. Anisimov
A decentralized grid made of fractals with bounded degree vertices is considered. Traffic load distribution is shown over the network node number of one level as dependent on the number of queries, the grid vertex degree and a network radius for LDF topology. A comparison of maximum loads in classical and decentralized grids is carried out for the growing number of nodes and captured resource.
Keywords: small-world network, decentralized grid, load, resources.