Новый алгоритм кластеризации GRID-ресурсов для оптимизации информационного обмена распределённых вычислений
Проблема объединения результатов распределённых вычислений для совместной обработки головным процессором. Реализация параллельно-последовательной древовидной структуры обмена с помощью нового параллельного алгоритма кластеризации GRID-ресурсов.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | статья |
Язык | русский |
Дата добавления | 02.02.2019 |
Размер файла | 229,9 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http: //www. allbest. ru/
Московский государственный университет путей сообщения (МИИТ)
Новый алгоритм кластеризации GRID-ресурсов для оптимизации информационного обмена распределённых вычислений
Амиршахи Бита, аспирантка.
E-mail: bita.amirshahi@gmail.com
Аннотация
Рассматривается проблема объединения результатов распределённых вычислений для совместной обработки головным процессором. Для реализации параллельно-последовательной древовидной структуры обмена предлагается новый параллельный алгоритм кластеризации GRID-ресурсов, назначенных для решения задачи. Алгоритм обеспечивает значительно более высокое быстродействие по сравнению с ранее известными.
Ключевые слова: GRID-вычисления, кластер, параллельные алгоритмы кластеризации, иерархическая кластеризация, минимальное покрывающее дерево, сложность.
Введение
Обязательным элементом схемы распределённых вычислений, характерной для GRID-технологий, является выполнение следующих действий:
1. Назначение вариантов счёта на процессоры вычислительного ресурса, выделенного для совместного решения задачи;
2. Параллельные вычисления;
3. Объединение результатов вычислений на головном (центральном) процессоре для их совместного анализа и обработки.
В основе вычислительного ресурса для GRID-вычислений лежат сети - как локальные, так и глобальные. Поэтому сетевые технологии информационного обмена являются определяющими. Здесь и возникла проблема: Если первый пункт схемы допускает одновременную рассылку данных многим процессорам, то третий пункт, в случае не предпринимаемых мер, грозит последовательным обменом каждого периферийного процессора с головным. Учитывая время организации и выполнения единичного обмена, можно прийти к выводу о нецелесообразности распределённой обработки.
Перед такой проблемой оказался автор, пытаясь ускорить решение системы 1000000 линейных уравнений методом Крамера на 105 процессорах в сети Интернет.
Проблема не нова. Выходом из создавшегося положения является иерархическая кластеризация вычислительного ресурса с целью организации «древесной» параллельно-последовательной структуры сбора данных. Информация объединяется внутри кластеров нижнего уровня, затем между этими кластерами на более высоком уровне и т.д. - до достижения головного процессора.
Известно, что суперкомпьютеры Blue Jene [12] предусматривают такую кластеризацию на аппаратно-программном уровне. Однако предусмотреть какие-либо возможности в общем случае применения вычислительных сетей не представляется возможным.
Известны алгоритмы кластеризации, которые можно применять при предварительной обработке вычислительного ресурса, выделяемого для решаемой задачи. Однако они не предусматривают параллельное выполнение и их сложность довольно высока. Это побудило автора разработать и испытать новый, практически приемлемый параллельный алгоритм кластеризации (ПАК). Результатом применения этого алгоритма явилось то, что кластеризация 105 процессоров выполняется почти в 100 раз быстрее, чем с помощью одного процессора.
Задача кластеризации выделенного пользователю ресурса решается Центром GRID-технологий.
параллельный алгоритм кластеризация процессор
1. Применение методов кластеризации для распределённых вычислений
1.1 Вычислительные кластеры
Кластеры используются в вычислительных целях, в частности в научных исследованиях. Для вычислительных кластеров существенными показателями являются высокая производительность процессора в операциях над числами с плавающей точкой (flops) и низкая латентность объединяющей сети, и менее существенными -- скорость операций ввода-вывода, которая в большей степени важна для баз данных и web-сервисов. Вычислительные кластеры позволяют уменьшить время расчетов, по сравнению с одиночным компьютером, разбивая задание на параллельно выполняющиеся ветки, которые обмениваются данными по связывающей сети. Одна из типичных конфигураций -- набор компьютеров, собранных из общедоступных компонентов, с установленной на них операционной системой Linux, и связанных сетью Ethernet, Myrinet, InfiniBand или другими относительно недорогими сетями. Такую систему принято называть кластером Beowulf. Специально выделяют высокопроизводительные кластеры (Обозначаются англ. аббревиатурой HPC Cluster -- High-performance computing cluster). Список самых мощных высокопроизводительных компьютеров (также может обозначаться англ. аббревиатурой HPC) можно найти в мировом рейтинге TOP500. В России ведется рейтинг самых мощных компьютеров СНГ TOP500 Суперкомпьютеры.
GRID-системы распределенных вычислений не принято считать кластерами, но их принципы в значительной степени сходны с кластерной технологией. Главное отличие -- низкая доступность каждого узла, то есть невозможность гарантировать его работу в заданный момент времени (узлы подключаются и отключаются в процессе работы), поэтому задача должна быть разбита на ряд независимых друг от друга процессов. Такая система, в отличие от кластеров, не похожа на единый компьютер, а служит упрощённым средством распределения вычислений. Нестабильность конфигурации, в таком случае, компенсируется большим числом узлов.
1.2 Основные методы кластеризации
Под точкой данных ниже будем подразумевать процессор, нуждающийся в передаче рассчитанных результатов по иерархическим связям, одновременно с другими процессорами.
Известны следующие методы кластеризации точек данных:
1. Иерархическая кластеризация отображается деревом, где концевые вершины - процессоры разбиваются на кластеры. Затем рекурсивно эти кластеры объединяются по парам, образуя кластеры более высокого уровня. Так - до достижения общего кластера корневого уровня.
2. Разделенная кластеризация: Процессоры объединяются в кластеры на основе их «близкого» (по некоторой метрике) расположения относительно образовавшегося центра
3. «Ящик» кластеризации: Этот метод подразумевает разделение всего пространства компьютеров на подпространства, возможно, перекрывающихся, «ящиков». Кластеризация при распределении вычислений определяется принадлежностью компьютеров «ящикам».
Разделённая кластеризация характеризуется неопределённостью, непредсказуемостью расположения компьютеров.
Принцип «ящика» также предполагает неопределённость и затрудняет кластеризацию большого числа процессоров (например, по всему Земному шару).
Иерархическая кластеризация является идеальным методом, обладающим достаточно высокой сложностью O(n2).
Однако предлагаемый ниже параллельный алгоритм кластеризации значительно снижает этот недостаток и делает иерархические алгоритмы кластеризации более полезными для многих приложений.
Рис. 1 Древовидная структура иерархической кластеризации
Структуру иерархического кластера можно представить древовидной диаграммой (рис. 1).
Для кластеризации процессоров (точек данных), участвующих в счёте, необходимо ввести понятие метрик расстояния. Их можно разделить на два класса:
1. Графические методы. Эти методы определяют межкластерные расстояния, используя граф точек в двух кластерах. Например:
Одинарная связь (Single link): Расстояние между любыми двумя кластерами определяется, как минимальное расстояние между двумя точками, находящимися в разных кластерах.
Средняя связь (Average link): Расстояние между любыми двумя кластерами среднее расстояние между каждой парой точек, не принадлежащих одному кластеру.
Полная связь(Complete link): Определяет расстояние между любыми двумя кластерами, как максимальное расстояние между двумя точками, не принадлежащими одному кластеру.
2. Геометрические методы. Эти методы определяют центры для каждого кластера и используют эти центры для определения расстояния между кластерами. Например:
Центр тяжести (Centroid) находится на основе евклидова расстояния между центрами кластеров.
Медиана (median) определяется как не взвешенное среднее расстояние центров двух под-кластеров, агломерированных в один кластер. Используется евклидово расстояние между центрами кластеров.
Минимальное Различие (Minimum Variance): определяется как центр тяжести точек кластера. Расстояние между двумя кластерами находится как сумма квадратов расстояний каждой точки от центра своего кластера с учётом агломерации кластеров.
2. Анализ известных алгоритмов кластеризации
2.1 Алгоритмы кластеризации, допускающие распараллеливание
Ряд известных алгоритмов последовательной иерархической кластеризации приведён в [14], однако некоторые недавние результаты приведены в [6]. Представляют практический интерес параллельные методы, ориентированные на сетевые технологии. Поэтому ниже будут рассмотрены три алгоритма параллельной кластеризации, которые были разработаны учёными Clark F. Olsen [1] и Discoll et.al. [2,9] в 1993 году. В этих алгоритмах используются различные метрики для нахождения расстояния между компьютерами. Эти метрики, как и другие детали построения, будут приведены далее.
Алгоритм 1
1. Построение упорядоченной структуры данных для возможности определения пар кластеров, наиболее близких друг другу (в смысле принятой метрики).
2. Нахождение пары кластеров с минимальным расстоянием между ними и формирование их агломерата.
3. Обновление структуры данных с учётом выполненных построений.
4. Если структура не сведена к единственному кластеру, перейти к выполнению шага 2.
Важным элементом этого алгоритма является, используемая структура данных и метод определения ближайших пары кластеров. Шаг 1 выполняется только один раз, а остальные шаги выполняются N - 1 раз, где N - число итераций.
Замечание о возможности реализации алгоритма на вычислительной системе с общей (разделяемой) памятью (PRAM)
Создаётся двумерный массив всех межкластерных расстояний (каждый процессор отвечает за одну колонку), и одномерный массив хранения ближайшего соседа каждого кластера с указанием расстояния до него. Тогда можно определить пару самых близких кластеров по минимуму указанных расстояний между соседями.
Чтобы уточнить структуру данных, каждый процессор обновляет массив межкластерных расстояний, чтобы отразить новое расстояние между кластерами и новые агломерированные кластеры. Так как каждый процессор отвечает только за одно место в массиве, то можно сказать, что каждый процессор должен обновлять единственное место в этом массиве. Никакой операции не следует выполнять для агломерированных кластеров (нового кластера), поскольку новые расстояния зависят только от оставшихся кластеров.
Если ближайший сосед J кластера К агломерируется в новый кластер I + J, то новый ближайший Сосед К, должен быть новый кластер I + J. Ближайший сосед нового кластера определяется с помощью минимизации расстояния других кластеров к нему.
Этот алгоритм при выполнении на n процессоров архитектуры PRAM имеет сложность O (n).
Отметим, что этот алгоритм не эффективен на компьютере с распределённой памятью из-за необходимости интенсивного обмена.
Алгоритм 2
1. Построение упорядоченной структуры данных для быстрого нахождения ближайших соседей.
2. Выбор произвольного кластера i1.
3. Формирование списка
i2 = NN (i1), i3 = NN (i2)... до ik = NN (ik - 1) и ik-1 = NN (ik),
где NN (x) является самым близким соседом кластера x.
4. Агломерация кластеров ik - 1и ik .
5. Обновление структуры данных.
6. Если структура не сведена к единственному кластеру, перейти к выполнению шага 3, используя предыдущий ik-2 как новый i1 при k > 2, при k = 1 следует выбрать i1 произвольно.
Легко видеть, что ключ к быстрому выполнению этого алгоритма заключается в быстром определении ближайших соседей.
Отметим, что этот алгоритм, как и алгоритм 1, можно использовать для решения на архитектуре PRAM. Однако этот алгоритм обладает большей сложностью, так как требует 3n раз выполнить поиск минимального расстояния, в то время, как алгоритм 1 требует такого поиска 2n раз.
Алгоритм 3
Данный алгоритм используется для особого случая одинарной связи (Single link) на локальной памяти компьютера. Здесь широко используется понятие параллельного минимального покрывающего дерева, определённого Driscoll et al. [2, 9].
Минимальное покрывающее дерево -- это остовное дерево графа, имеющее минимальный возможный вес, где под весом дерева понимается сумма весов входящих в него рёбер.
В предлагаемом автором (в следующем разделе) алгоритме параллельной кластеризации алгоритм построения такого дерева заимствован. Его применение позволило легко преобразовать минимальное покрывающее дерево в кластерную иерархию.
Алгоритм 3 предполагает следующие шаги.
1. Построение структуры данных, удовлетворяющей требованию быстрой оценки расстояния каждого пункта от текущего минимального покрывающего дерева. (В начале выполнения алгоритма произвольный пункт является минимальным покрывающим деревом).
2. Нхождение пункт p, не входящего в состав текущего минимального покрывающего дерева, который является самым близким к минимальному покрывающему дереву.
3. Включение пункта p в минимальное покрывающее дерево.
4. Обновление структуры данных.
5. Если существует пункт, не вошедший в минимальное покрывающее дерево, перейти к шагу 2.
Используемая структура данных может просто представлять собой массив расстояний каждого кластера от минимального покрывающего дерева. Этот массив распространен через процессоры таким образом, что процессор, ответственный за кластер, сохраняет все расстояния для этого кластера. На шаге 1, этот массив входит в массив расстояний каждого пункта от произвольного пункта старта.
Шаг 2 основан на поиске минимума значений в этом массиве. Для обновления структуры данных используется местоположение пункта p.
Так как шаги 2 и 4 инициируют сложность O(log n) и выполняются п раз, то общая сложность алгоритма 3 составляет O(n log n).
2.2 Метрики кластеризации
В [8] можно ближе познакомиться с понятием метрики для проведения кластеризации: для агломерации или для определения расстояния до минимального покрывающего дерева. Поскольку в предложенном ниже алгоритме кластеризации целесообразно использовать только метрики Евклидово и Манхэттен, приведём таблицу этих, практически применяемых метрик.
Таблица 1 Методы определения расстояний между точками данных
Название расстояния |
Формула |
|
Евклидово |
||
Манхэттен |
3. Предлагаемый алгоритм ПАК
3.1 Предпосылки
Многие методы с различными прикладными целями были разработаны, чтобы решить проблему кластеризации, включая k-means (иногда называемый k-средних) [5], карта самоорганизации (Self organizing map) [5], Алгоритм Кластера Маркова [4], и неконтролируемый алгоритм кластеризации для графов, основанных на потоках в сетях [10].
Самый главный недостаток всех методов заключается в том, что большинство алгоритмов имеют дело с относительно маленькими количествами данных. Когда речь идёт о задачах большой размерности, эти алгоритмы оказываются вообще слишком медленными, чтобы быть фактически полезными. Другой проблемой является устойчивость по отношению к большим объёмам структурируемых данных.
Анализ показал, что в основу предлагаемого алгоритма ПАК (параллельного алгоритма кластеризации) следует положить построение и анализ минимального покрывающего дерева. Именно такой подход и обеспечивает устойчивость в том случае, если объёмы данных чрезвычайно высоки и компьютеры находятся далеко друг от друга.
3.2 Алгоритм Прима - ближайший прообраз ПАК
Единственным алгоритмом, который наиболее близок к предложенному алгоритму ПАК, является алгоритм Прима [3], который допускает распараллеливание при графической реализации метода одинарной связи (Single Link). Этот алгоритм заключается в построения минимального покрывающего дерева взвешенного связного неориентированного графа, объединяющего точки данных, т.е. компьютеры, выработавшие данные для обмена. Алгоритм впервые был открыт в 1930 году чешским математиком Войцехом Ярником, позже переоткрыт Робертом Примом в 1957 году, и, независимо от них, Э. Дейкстрой в 1959 году.
Построение начинается с дерева, включающего в себя одну (произвольную) вершину. В течение работы алгоритма дерево разрастается, пока не охватит все вершины исходного графа. На каждом шаге алгоритма к текущему дереву присоединяется самое «лёгкое» из рёбер, соединяющих вершину из построенного дерева, и вершину не из дерева.
О сложности [3] алгоритма Прима можно судить по таблице 2.
Таблица 2 Сложность алгоритма Прима
Способ представления графа и приоритетной очереди |
Асимптотика |
|
Массив d, списки смежности (матрица смежности) |
O(V2) |
|
Бинарная пирамида, списки смежности |
O((V + E)log(V)) = O(Elog(V)) |
|
Куча «Фибоначчи» , списки смежности |
O(E + Vlog(V)) |
Алгоритм Прима является последовательным. Однако известны его параллельные модификации.
3.3 Построение Параллельного Алгоритма Кластеризации ПАК
Пусть граф
G = (E,V )
- граф связывающий точки данных, где E число дуг и V число вершин.
Построим MST(G) минимальное покрывающее дерево графа G.
Алгоритм ПАК предполагает следующие основные шаги.
· Разделение G на s подграфов,
Gj = {(Ej,Vj)}, j=1,…,s,
где позже в этом разделе будет определяться стоимость s; Vj - множество вершин в Gj, и Еj Е множество дуг, соединяющих вершины Vj;
· Выделение двудольных графов
Bij = {Vi U Vj,Eij},
где Vi и Vj являются множествами вершин Gi и Gj, и Еij Е множества дуг между вершинами Vi и вершинами Vj, i ? j, для каждой такой пары подграфов из { Gi }.
· Параллельное построение минимального покрывающего дерева (Тii) на каждом Gi и минимального покрывающего дерева (Tij) на каждом Bij.
· Построение нового графа
G0 = , 1?i?j?s,
по объединению всех минимальных покрывающих деревьев на предыдущем шаге. Граф G0 является подграфом графа G с множеством вершин V и дуг деревьев Tij, 1?i?j?s.
· Построение минимального покрывающего дерева (MST(G0)) на графе G0.
Здесь не приведено полученное автором математическое доказательство того, что
MST(G0) = MST(G).
Таким образом, ключевая идея алгоритма заключается в том, что вычисляется MST (минимальное покрывающее дерево) для каждого подграфа и каждых вспомогательных двудольных графов, которые формируется на каждой паре подграфов, параллельно. Тогда граф G0 создаётся путем слияния построенных минимальных покрывающих деревьев, а также попутно получается MST(G0) древовидной структуры.
4. Моделирование и реализация параллельного алгоритма кластеризации ПАК
Для оценки сложности алгоритма ПАК целесообразно воспользоваться результатами анализа времени выполнения алгоритма Прима в части построения минимального покрывающего дерева на подграфах. При этом следует воспользоваться кучей Фибоначчи [15] для каждого подграфа Gj, и каждого двудольного графа Bij, чтобы облегчить операцию «поиска следующей маленькой дуги» в алгоритме Прима, который имеет оценку сложности O (|E| + |V| log(|V|)) для построения каждого подграфа Gi, и O (|Vi||Vj|+(|Vi|+|Vj|log(|Vi|+|Vj|)) для формирования каждого двудольного графа.
Было использовано программное обеспечение MATLAB 7 и следующие исходные условия:
Наборы данных составляют от 10000 до 500000 (с шагом 10000) 10-, 20-, 30-, . . ., 100-мерных векторов (размерность D). Каждый компонент набора данных, является независимым, и равномерно-распределенным в интервале [0, 1] реальным значением. Использовались два метода оценки расстояния Евклидов и Манхэттен (табл 1).
Для каждого метода нахождения расстояния необходимо формировать зависимость времени построения MST T(D,V) от V и D, где V - числа объектов, D - размерности объектов. Для этого использовалась линейная регрессионная модель, отображённая таблицей 2, где v = V*0,0001, а R - коэффициент корреляции множественной регрессии для полного графа TC(D,V) и для двудольного графа TB(D,V). Результаты, показанные в таблице 3, используются для анализа вычислительного времени построения MST первоначального графа.
Таблица 3 Линейная Модель Регресса конструкции МОД, в течение Времени
расстояние |
TC(D,V) |
R |
TB(D,V) |
R |
|
Евклидово |
(0,192D+1,61)v2 |
0,999 |
(0,385D+3,80)v2 |
0,999 |
|
Манхэттен |
(0,206D+1,58)v2 |
0,999 |
(0,413D+3,62)v2 |
0,999 |
Следующим шагом является объединение всех минимальных покрывающих деревьев, полученных на предыдущем шаге, и создание окончательного дерева.
Однако время построения полного графа зависит не только от D и V, но и от числа s подграфов. Очевидно, что чем больше число произведённых разбиений (ускоряющее одновременное построение минимального покрывающего дерева), тем больше число дуг образуется в графе G0 (что следует из увеличения времени построения оригинального окончательного минимального покрывающего дерева на последнем шаге). Поэтому до нахождения времени объединения всех минимальных покрывающих деревьев ТМ(s,V), необходимо узнать оптимальное значение s.
На шаге предварительной обработки время выполнения предложенного параллельного алгоритма равно max { RT (Gi), RT (Bij)}, где RT (Gi) и RT (Bij) - время построения графа Gi и Bij .наша цель- вычислить число разделов (s) множества V, который минимизирует max {RT (Gi), RT (Bij)}.
Можно доказать, что, если
s=2, min{ RT (Gi), RT (Bij)}
достигнуто, при условием
V2 = 2V1.
И для s>2 оптимальное число разделов достигнуто, при
Vi = 1/s, i = 1,2,…,s .
(Здесь не приведено математическое доказательство.)
Теперь можно сказать, что время построения полного окончательного графа вычисляется по уравнению (1):
T(D,V,s) = TB(D,V/s) + TM(s,V) (1)
Теперь, как обещано во Введении, проверим эффективность алгоритма ПАК с множеством данных 1000 000 точек. На первом шаге построим график зависимости времени построения минимального покрывающего дерева от числа подграфов, чтобы узнать оптимальное число sопт (рис. 2) .
Для этого положим размерность D = 40.
Рисунок 2 График зависимости времени построения минимального покрывающего дерева от числа подграфов.
На основе анализа полученного графика можно считать, что sопт равно 14.
Рассчитаем ускорение SUT (D,V), получаемое при построении минимального покрывающего дерева с использованием параллельных вычислений по сравнению с применением одного процессора:
SUT (D,V)= (2)
Результаты, отражённые в таблице 4, показывают, что алгоритм ПАК может решить проблему кластерной идентификации, на множестве данных с 1 000 000 точек на графе, почти в 90-100 раз быстрее, чем на единственном процессоре. Это доказывает преимущества алгоритма ПАК.
Найдя оптимальное количество подграфов, можно вычислить число процессоров, необходимых для того, чтобы решить поставленную задачу. На основе арифметической прогрессии число процессоров получается равным s (s+1) / 2, где s- число подграфов.
В данном случае s = 14, т.е. для того, что бы получить оптимальную скорость обмена, необходимо 105 процессоров.
Таблица 4 Теоретический SU Коэффициент Ускорения Параллельного Конструкция MST, по сравнению с Реализация Одиночного процессора
V |
D |
s |
Расстояние |
||
Евклидово |
Манхэттен |
||||
SU |
SU |
||||
250,000 |
20 |
9 |
20 |
21 |
|
500,000 |
40 |
10 |
42 |
43 |
|
750,000 |
60 |
13 |
65 |
67 |
|
1,000,000 |
80 |
14 |
90 |
93 |
Заключение
Предложенный параллельный алгоритм кластеризации почти в 100 раз быстрее сформировать трафик для сбора данных при реализации распределённых GRID-вычислений.
Осталось лишь экспериментально установить условия комплексной эффективности распределённых вычислений на основе сетевых технологий, что является темой дальнейших исследований.
Литература
1. Olson C.F. “Parallel Algorithms for Hierarchical Clustering” // Parallel Computing, 1995 , Vol. V21, P. 1313-1325.
2. Минимальное остовое дерево, URL: http://ru.wikipedia.org/wiki/ Минимальное_ остовое_ дерево 3. Алгоритм Прим, URL: http://ru.wikipedia.org/wiki/Алгоритм_Прима
4. Bezdek J.C. “Pattern Recognition with Fuzzy Objective Function
Algorithms”: New York, Plenum Press, 1981.
5. Bishop C.M. “Neural Networks for Pattern Recognition”: Oxford ,Oxford Univ. Press, 1995.
6. Day W. H. E. , Edelsbrunner H. “Efficient algorithms for agglomerative hierarchical clustering methods” // Journal of Classification, 1984, 1(1).7(24).
7. Olman V. , Xu D. , and Xu Y. “CUBIC: Identification of Regulatory Binding Sites through Data Clustering”// J. Bioinformatics and Computational Biology, 2003, Vol. 1, no. 1, P. 21-40.
8. Hierarchical clustering, URL:http://en.wikipedia.org/wiki/ Hierarchical_clustering
9. Driscoll J. R. , Gabow H. N., Shrairman R., and Tarjan R. E. “Relaxed
An alternative to Fibonacci heaps with applications to parallel
Communications” // ACM, November 1988, 31(11).1343(1354).
10. Enright A.J. , Van Dongen1 S., Ouzounis S.A. “An Efficient
Algorithm for Large-Scale Detection of Protein Families”// Nucleic
Acids Research, 2002, Vol. 30, no. 7, P. 1575-1584.
11. Parallel Clustering Algorithm for Large Data Sets with Applications in Bioinformatics, Olman V., Mao F., Wu H., and Xu Y.,// IEEE/ACM Transactions on Computational Biography and Bioinformatics, APRIL-JUNE 2009, VOL. 6, NO. 2.
12. Blue Gene, URL: http://ru.wikipedia.org/wiki/Blue_Gene
13. Murtagh F. “Clustering in Massive Data Sets”: Dordrecht, Handbook of Massive Data Sets, 2002, P. 501-543.
14. Murtagh F. “A survey of recent advances in hierarchical clustering algorithms”//Computer Journal, 1983, 26.354(359).
15. Rosen K.H. “Handbook of Discrete and Combinatorial Mathematics”: Texas, CRC Press, 1999.
Размещено на Allbest.ru
...Подобные документы
Показатели эффективности параллельного алгоритма: ускорение, эффективность использования процессоров, стоимость вычислений. Оценка максимально достижимого параллелизма. Закон Амдала, Закон Густафсона. Анализ масштабируемости параллельного алгоритма.
презентация [493,0 K], добавлен 11.10.2014Характеристика методов нечеткого моделирования и изучение системы кластеризации в пакетах прикладных программ. Разработка и реализация алгоритма для оптимизации базы правил нечеткого классификатора с помощью генетического алгоритма аппроксимации функции.
дипломная работа [1,9 M], добавлен 21.06.2014Предпосылки создания Inter-Grid системы. Подходы GRID технологии в системах мониторинга окружающей среды. Способы организации ресурсов. Высокоуровневый доступ к геопространственной информации. Важность обеспечения охраны труда при работе на компьютере.
дипломная работа [3,3 M], добавлен 15.02.2014Подходы Grid-технологии в системах мониторинга окружающей среды. Задачи обеспечения взаимодействия Grid-систем и способы их решения. Высокоуровневый доступ к геопространственной информации. Важность обеспечения охраны труда при работе на компьютере.
курсовая работа [1,8 M], добавлен 04.02.2014Сущность и понятие кластеризации, ее цель, задачи, алгоритмы; использование искусственных нейронных сетей для кластеризации данных. Сеть Кохонена, самоорганизующиеся нейронные сети: структура, архитектура; моделирование кластеризации данных в MATLAB NNT.
дипломная работа [3,1 M], добавлен 21.03.2011Определение оптимального плана производства продукции при наличии определенных ресурсов, проблемы оптимизации распределения неоднородных ресурсов на производстве с помощью системы символьной математики Mathcad. Составление алгоритма симплекс-метода.
курсовая работа [676,5 K], добавлен 20.09.2009Анализ проблем, возникающих при применении методов и алгоритмов кластеризации. Основные алгоритмы разбиения на кластеры. Программа RapidMiner как среда для машинного обучения и анализа данных. Оценка качества кластеризации с помощью методов Data Mining.
курсовая работа [3,9 M], добавлен 22.10.2012Проект автоматизации системы энергосбережения на базе концепции Smart Grid. Анализ объекта управления, выбор оборудования. Реализация человеко-машинного интерфейса: центральный сервер, автоматизированные рабочие места, контроллеры активно-адаптивной сети.
курсовая работа [1,0 M], добавлен 02.10.2013Классификация алгоритмов маршрутизации. Методы передачи данных. Характеристики коммуникационной составляющей длительности выполнения параллельного алгоритма. Преимущества и недостатки CTR. Оценки трудоемкости для различных топологий и кластеров.
презентация [875,8 K], добавлен 10.02.2014Анализ структуры и содержания плана маркетинга компании. Рынок облачных вычислений и возможность их применения. Отбор источников информации и представление полученных результатов. Разработка программной инструментальной оболочки облачных вычислений.
дипломная работа [149,8 K], добавлен 12.11.2013Основы для проведения кластеризации. Использование Data Mining как способа "обнаружения знаний в базах данных". Выбор алгоритмов кластеризации. Получение данных из хранилища базы данных дистанционного практикума. Кластеризация студентов и задач.
курсовая работа [728,4 K], добавлен 10.07.2017Циклы обмена информацией в режиме прямого доступа к памяти. Управляющие сигналы, формируемые процессором и определяющие моменты времени. Запросы на обмен информацией по прерываниям. Мультиплексирование шин адреса и данных. Протоколы обмена информацией.
лекция [29,0 K], добавлен 02.04.2015Особенности кластеризации социальных сетей, методы распознавания сообществ. Особенности локального прореживания графа. Разработка рекомендаций по выбору метода кластеризации для выделенных классов задач. Оптимизация процесса дальнейшей обработки данных.
курсовая работа [1,8 M], добавлен 30.06.2017Создание и уровни реализации облачных вычислений. Достоинства и недостатки использования облачных технологий в организации единого информационного пространства. Оценка важности критериев методом "Попарного сравнения", "Тепловых карт", "Экспертных оценок".
дипломная работа [1,3 M], добавлен 08.04.2014Оценка временной сложности алгоритма. Механизм сортировки пузырьком и вставками. Основные положения технологии параллельного программирования Ореn MР. Оценка временной сложности некоторых классов алгоритма с помощью параллельного программирования.
дипломная работа [1,7 M], добавлен 27.10.2017Структура, сущность и классификация облачных вычислений. Модель организации информационного пространства научных исследований на примере КубГУ. Использование облачных сервисов Google, Яндекс. Диск в процессе работы над студенческими дипломными проектами.
дипломная работа [2,2 M], добавлен 11.10.2013Основные модели вычислений. Оценки эффективности параллельных алгоритмов, их коммуникационная трудоемкость. Последовательный алгоритм, каскадная схема и способы ее улучшения. Модифицированная каскадная схема. Передача данных, классификация операций.
презентация [1,3 M], добавлен 10.02.2014Микропроцессорные системы обработки данных. Специальные алгоритмы-планировщики для распределения операторов параллельных алгоритмов по процессорам вычислительной сети. Алгоритм построения и уплотнения нитей. Интерфейс программы, результаты работы.
курсовая работа [1,8 M], добавлен 22.02.2011Демографическая динамика и оптимизация использования ресурсов для обмена файлами в P2P-сетях (при условии, что доступность требуемого файла не гарантируется). Оценка времени жизни системы. Система детерминированной жидкостной модели, анализ цепи Маркова.
статья [235,6 K], добавлен 27.09.2014Internet – глобальная компьютерная сеть. Обмен данными между рассредоточенными системами. Построение распределённых ресурсов, их администрирование и наполнение. Сущность IP адреса, TCP/IP - протокол контроля передачи и протокол межсетевого взаимодействия.
контрольная работа [32,5 K], добавлен 10.11.2009