Оптимальная балансировка нагрузки в Grid-системах

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

В настоящее время на кафедре в компьютерном классе создана модель кластера на следующем оборудовании: 20 компьютеров Intel Pentium, объединенных в сеть Fast Ethernet. Произведено тестирование кластера на распределенной имитационной модели, для чего предварительно проведено распараллеливание имитационной программы по данным. Программа работает следующим образом: каждый узел считает свою часть разбиения, результаты вычислений с каждого узла отправляются головному узлу для их обработки и вывода окончательного результата. При запуске MPI-программы создается коммуникатор по умолчанию MPI COMM WORLD, который передается каждой подпрограмме в качестве первого аргумента. Остальные аргументы определяют источник сообщения и буферы для хранения сообщений. MPI-подпрограммы возвращают целочисленное значение, как параметр ошибки, что позволяет узнать о любых проблемах, имеющих место при выполнении подпрограммы. Основные использованные процедуры MPI: MPI Comm size - определяет количество запущенных процессов; MPI Comm rank - определяет ранг процесса; MPI Bcast -широковещательная рассылка; MPI Reduce - операция сбора данных.

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

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

Литература

1. Суперкомпьютерные технологии в науке, образовании и промышленности / под ред. В.А. Садовничего, Г.И. Савина, Вл.В. Воеводина. - М.: Изд-во МГУ, 2010. 208 с.

2. Воеводин В.В., Воеводин Вл.В. Параллельные вычисления. - СПб:. БХВ-Петербург, 2002, - 608 с. (2-е изд. 2004).

3. Олзоева С.И. Распределенное моделирование в задачах разработки АСУ. - Улан-Удэ: Изд-во ВСГТУ, 2005. 219 с.

Олзоева Сэсэг Ивановна, доктор технических наук, профессор, Восточно-Сибирский государственный университет технологий и управления. Тел.: 89246505805.

Olzoeva Seseg Ivanovna, doctor of technical sciences, professor, East Siberian State University of Technologies and Management. Tel.: 89246505805.

УДК 004.27

С.И. Олзоева, В.Ц Мархоев, А.Г. Олзоева Оптимальная балансировка нагрузки в GRID-системах

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

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

S.I. Olzoeva, V Ts. Markhoev, A. G. Olzoeva The optimal load balancing in GRID systems

The article discusses the effective method of planning and distribution of tasks on computing resources of GRID system, that can also be used for other distributed computing architectures.

Keywords: GRID technology, distributed computing, computing nodes, the optimal distribution of tasks.

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

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

Принципы функционирования системы GRID. Рассмотрим в общем виде структуру и схему функционирования GRID-систем [1], с тем, чтобы уяснить механизм выполнения задачи от формирования заявки до получения результата вычислений и определить совокупность требований, предъявляемых к задачам, поступающим на обработку.

Основными компонентами в системе GRID являются:

1. Потребитель GRID: пользователь GRID и приложения (последовательные, параллельные).

2. Промежуточное программное обеспечение (ПО) сервисов GRID: интерфейсное ПО уровня пользователя; интерфейсное ПО ядра GRID.

3. Брокер ресурсов GRID: система управления задачами; система составления расписаний (поиск и выбор ресурсов с использованием системы исследования GRID, генерация расписания); система исследования GRID (обнаружение ресурсов во взаимодействии с информационным сервером GRID); система установки задачи (активация выполнения задачи).

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

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

Таким образом, выполнение функций Брокера ресурсов основывается на информации двух видов:

1. Характеристики узлов или кластеров: количество процессоров т{, объем памяти каждого процессора Sf; производительность процессоров гг.; стоимость К, каждого кластера или узла. Эту информацию предоставляют Поставщики ресурсов и услуг Grid.

2. Характеристики задач, поступающих в систему: количество требуемых процессоров pj для решения задачи; максимальное время выполнения (на д процессорах); требования к памяти Mf, предельное время, до которого задача должна быть выполнена. Эту информацию предоставляют Потребители GRID.

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

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

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

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

Пусть имеется п узлов pi,... ,р„ вычислительной системы и т задач Wi,... wm, при чем т < п. Числа Су>0 (/= 1,2,..., т, j=l,2,... ,п) определяют меру эффективности задачи и1, на узлеPj, и определяются из информации о вычислительном ресурсе, предоставляемой Поставщиком услуг GRID, и информации о характеристиках задачи, предоставляемой Потребителем GRID. Назовем матрицу С=||С/||, /=7,... ,т, j=l, ...,п матрицей эффективности.

Тот факт, что при некотором распределении на процессоры программа и’, попадает на узел рп можно описать подстановкой:

1 2 ... к ... г

Ч h - 1к -

Требуется найти ^ - такое распределение задач wh... wm по вычислительным узлам pi.... ,рп, чтобы

величина минимальной производительности Су была максимальной по всем подстановкам

СГ,

Б (а) = ттС; а ^

=1, ...,Ь. В качестве оптимизационного параметра выбирается величина ' ' ', где - некото-

рая подстановка, и ставится вопрос о нахождении оптимального параметра ~ тах^(сг) Иными словами, имея способ & назначения на процессоры, можно найти конкретную для этого способа ми-

ад=0-,- тл з'

нимальную производительность 5 к . Именно эта минимальная производительность 4 ’

определяет скорость и производительность решения всей совокупности задач. Тот процессор, на котором реализуется минимальная производительность, называется узким местом в назначении. В подстановке ^° самое узкое место будет наибольшим среди всех возможных назначений.

Решение поставленной задачи сводится к нахождению наибольшего паросочетания в двудольном графе. Представим множество вершин А графа Г=[А, В], как объединение двух его непустых непере-

А

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

конец - в 2 . Подмножество вершин А1={м/1,....\\-„,! - есть множество заданий, а подмножество вершин Л2 ¡р!....р„) - есть множество узлов. Алгоритм выбора наибольших паросочетаний в двудоль-

ном графе позволит найти распределение а° задач по процессорам. При построении алгоритма для отыскания оптимального распределения программ, с использованием заданной матрицы эффективности С, выделяется последовательность наборов распределений, т.е. подстановок ^, I =1,... .1. , с каждым шагом приближающих к максимальной эффективности.

Алгоритм решения задачи:

Шаг 1. Фиксируем матрицу производительностей С= || С/1| и любое назначение на процессоры - о. Пусть 5 - минимальная производительность при этом назначении. Построим рабочую таблицу по

матрице С: в клетку с номером (¡.¡) в этой таблице проставим символ «х», если ^ (недопустимая клетка); в противном случае эту клетку оставим пустой (допустимая).

Шаг 2. Рассматривая рабочую таблицу, построенную на предыдущем шаге, как рабочую таблицу в алгоритме для выбора наибольшего паросочетания в двудольном графе [2], найдем соответствующее наибольшее паросочетание. Если в нем окажется п ребер, то по ним восстанавливается новое назначение на процессоры с новой, более высокой, минимальной производительностью. Обозначим ее снова через 5 и вернемся к шагу 1. Если же число ребер окажется меньше п, то имеющееся назначение на процессоры уже оптимально.

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

Литература

1. Аветисян А.И. и др. Эвристики распределения задач для брокера ресурсов Grid / А.И. Аветисян, С.С. Гайсарян, Д.А. Грушин, Н.Н. Кузюрин, А.В. Шокуров // Труды Института системного программирования РАН. 2003.

2. Белов В.В. и др. Теория графов / В.В. Белов, Е.М. Воробьев, В.Е. Шаталов. - М.: Высшая школа, 1976. 392 с.

Олзоева Сэсэг Ивановна, доктор технических наук, профессор, Восточно-Сибирский государственный университет технологий и управления. Тел.: 89246505805.

Olzoeva Seseg Ivanovna, doctor of technical sciences, professor, East Siberian State University of Technologies and Management. Tel.: 89246505805.

Мархоев Виталий Цыденович, аспирант, Восточно-Сибирский государственный университет технологий и управления. Тел.: 89148447289.

Markhoev Vitaliy Tsydenovich, postgraduate student, East Siberian State University of Technologies and Management. Tel.: 89148447289.

Олзоева Акта Геннадьевна, аспирант, Восточно-Сибирский государственный университет технологий и управления. Тел.: 89247737837

Olzoeva Ауипа Gennadevna, postgraduate student, East Siberian State University of Technologies and Management.

Tel.: 89247737837.

УДК 66.621.928.13

В.Д. Анахин Графоаналитический метод моделирования динамики систем с асимметричными колебаниями

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

Ключевые слова: теория колебаний; динамические системы; нелинейные механические системы.

V.D. Anakhin The graphic-analytical method of the simulation for the dynamic system with asymmetrical oscillations

The article describes the models of processes used in mathematical analysis of the mechanism of vibration impact on nonlinear mechanical systems. New ideas about the physical nature of phenomena have been raised, the regularities of various vibration dynamic parameters impact for the general case of system oscillations have been graphically estimated.

Keywords: vibration theory; dynamical systems; nonlinear mechanical systems.

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

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