Научная статья на тему 'Алгоритм ускорения выполнения распределенных вычислений в компьютернойсети'

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

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

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Литвиненко В. А., Ховансков С. А., Норкин О. Р.

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

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

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Литвиненко В. А., Ховансков С. А., Норкин О. Р.

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

The optimization of a computer system on the base of a cooperative decision making

The method of organization of distributed computing is being proposed on the base of a computer networks for the solution of any complex task having a hard time limitation. The soft robot monitors performance of every computer implementing an offered algorithm. During run-time check all the soft robots fulfill the optimization of computing unit settings between the computers in compliance with their computational resource to cut solution task time.

Текст научной работы на тему «Алгоритм ускорения выполнения распределенных вычислений в компьютернойсети»

Рис. 3. Принципиальная схема устройства линейной интерполяции в файле верхнего уровня, созданная в пакете Quartus II

В результате моделирования работы устройства линейной интерполяции в системе автоматического проектирования Quartus II тактовая частота составляет 240 МГц. Один модуль сумматора занимает в микросхеме семейства Strarix EP1S10F484C5 фирмы Altera менее 2%.

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

1. Байков В.Д. Самолов В.Б. Аппаратурная реализация элементарных функций в ЦВМ. - Л.: Изд-во Ленингр. ун-та, 1975. - 96 с.

2. Бандман (ХА. Специализированные процессоры для высокопроизводительной обработки данных. - Новосибирск: Наука, 1988. - 204 с.

3. Шевкотяс Б.В. Микропроцессорные структуры. Инженерные решения. Справочник / 2-е изд. перераб. и доп. - М.: Радио и связь, 1990. - 512 с.

4. . . / 2- , - : ,

2001. - 224 с.

УДК 681.518

В.А. Литвиненко, С.А. Ховансков, О.Р. Норкин АЛГОРИТМ УСКОРЕНИЯ ВЫПОЛНЕНИЯ РАСПРЕДЕЛЕННЫХ ВЫЧИСЛЕНИЙ В КОМПЬЮТЕРНОЙ СЕТИ*

Существует класс задач требующих большого объема вычислений и имеющих жесткое ограничение по времени выполнения. Традиционно такие задачи решаются путем организации распределенных вычислений на нескольких центрах обработки данных вычислительной системы [1, 2].

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

* Работа выполнена при поддержке РФФИ (грант № 07-01-00174). 198

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

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

на вычислительные блоки, образуя граф Вс М количеством блоков.

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

.

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

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

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

♦ получение информации от компьютеров-источников;

♦ выполнение на компьютере требуем ых операций над полученной информа-

;

♦ передача резул ьтата компьютеру-получателю.

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

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

вы числительного блока.

Другой путь заключается в предварительном поиске оптимального варианта на-

[3].

,

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

В [4] был предложен алгоритм выбора оптимального варианта отрабатываемый

.

В на граф Т . Для этой реализации должно быть выполнено условие N > М . В

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

, М -

ки информации.

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

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

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

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

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

Для примера, на рис.1, а изображен исходный граф В с количеством блоков М=11. Для организации распределенных вычислений выбрана локальная сеть Т, имеющая N=14, при этом выполняется условие N > М . Граф В был наложен случайным образом на граф Т и после нескольких шагов р аботы вычислительной системы был найден оптимальный вариант наложения (рис. 1, б) графа В на граф Т.

Рис. 1. Исходный граф В (а) и оптимальный вариант наложения графов В и Т

С целью дальнейшего сокращения общего времени обработки данных разработан алгоритм работы агентов, позволяющий продолжить уменьшать общее время . -ройств в процесс решения некоторых вычислительных блоков графа В задачи. Поскольку вычислительная система представляет собой совокупность компьютеров объединенных в сеть или являющихся частью компьютерной сети. Это дает возможность вовлекать (вербовать) в процесс решения задачи «свободных» компьютеров, . . , сокращение времени решения задачи.

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

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

Каждый агент определяет свое местонахождение относительно критического маршрута. Агент, принадлежащий критическому маршруту и выполняющий Ъ за определенное время, вербует вычислительный узел П е (N — М). Для этого он передает служебную информацию соседним с ним компьютерам и вычислительный модуль агенту завербованного компьютера.

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

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

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

В приведенном на рисунке (см. рис. 1) варианте время прохождения данных через вычислительную систему при оптимальном варианте определяется критическим

маршрутом ГкТит = (^t5, t6,^^ .

После выполнения агентом узла ^ шгоритма вербовки свободного узла был завербован узел t14. После обмена между узлами t9 и t14 информацией граф Т изменился (рис. 2). Благодаря этому, время прохождения данных через вычислительную ,

гфит = (Ь, t5, *8, ^п).

Рис. 2. Вариант наложения измененного графа В и графа Т

Алгоритм агента:

1. Получение входных данных.

2. Формирование адреса узла сети.

3. Если этот адрес использовался, то переход к п.1.

4. Передача по сформированному адресу вербуемого узла служебной ин-

.

5. Если пришел ответ от вербуемого узла, то переход к п.1.

6. Передача служебной информации соседним узлам графа B о завербован-

.

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

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

1. Лорин Г. Распределенные вычислительные системы. - М.: Радио и связь, 1984. - 296 с.

2. Таненбаум Э. Распределенные системы: принципы и парадигмы. - СПб: Питер, 2003. - 877 с. '

3. Хованское С.А., Мельник ЭМ, Блуишвили ИМ. Метод организации распределенных вычислений в управляющих системах // Мехатроника, автоматизация, управление. «Новые технологии», №4. 2003.

4. . ., . .

// . «

САПР». - Таганрог: Изд-во ТРТУ, 2007, №1(73). - С. 246-250.

УДК 681.3

О.И. Овчаренко ПАРАЛЛЕЛЬНАЯ РЕАЛИЗАЦИЯ БЫСТРЫХ ПРЯМЫХ МЕТОДОВ РЕШЕНИЯ СЕТОЧНЫХ ЭЛЛИПТИЧЕСКИХ УРАВНЕНИЙ

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

решения сеточных уравнений [1]. К числу этих методов следует, в первую очередь, отнести циклическую редукцию (cyclic reduction (CR)), Фурье-адгоритм (Fourier-algorithm (FA)) и типа FACR(L), предназначенных для решения сеточных эллиптических уравнений, с оценками количества арифметических операций 0(Nlog2N) или даже 0(Nloq2(log2N)).

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

( ), ( -

).

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

( ).

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