Научная статья на тему 'Разработка математических моделей и методов распределения заданий в системе распределенных вычислений'

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

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

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Маттео Гаета, Михаил Коновалов, Сергей Шоргин

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

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

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

РАЗРАБОТКА МАТЕМАТИЧЕСКИХ МОДЕЛЕЙ И МЕТОДОВ РАСПРЕДЕЛЕНИЯ ЗАДАНИЙ В СИСТЕМЕ РАСПРЕДЕЛЕННЫХ ВЫЧИСЛЕНИЙ7

Маттео Гаета

Отдел информатики и прикладной математики Университета Салерно, Италия Михаил Коновалов

Институт проблем информатики Российской академии наук, Москва, Россия Сергей Шоргин

Институт проблем информатики Российской академии наук, Москва, Россия

Аннотация

^ Рассматриваются некоторые аспекты Грид - распределенной программно-аппаратной среды с у принципиально новой организацией вычислений и управления потоками заданий и данных. Для

И

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

п

(D

^ 1. Концепция Грид

О

К

В настоящее время Грид-технологии рассматриваются мировым сообществом как наиболее перспективные с точки зрения глобально распределенных вычислений, использующих географически распределенные ресурсы. Грид - это программно-аппаратная инфраструктура, которая обеспечивает надежный, устойчивый, повсеместный и недорогой доступ к высокопроизводительным компьютерным ресурсам [1]. Эта распределенная программно-аппаратная среда с принципиально новой организацией вычислений и управления потоками заданий и данных. Концепция Грид породила новую модель организации различных форм обработки данных (компьютинга), предложив технологии удаленного доступа к ресурсам разных типов независимо от места их расположения в глобальной сетевой среде. Так, с помощью Грид появляется возможность выполнять программные коды на одном или сразу нескольких компьютерах, становятся повсеместно доступными хранилища данных со структурированной (базы данных) и неструктурированной (файлы) информацией, источники данных (датчики, инструменты наблюдения) и программно управляемые устройства. Название Грид объясняется некоторой аналогией с электрическими сетями (power grid), предоставляющими всеобщий доступ к электрической мощности [2].

Цель создания Грид - интеграция определенного множества пространственно распределенных ресурсов для того, чтобы обеспечить возможность выполнения широкого

7 Работа поддержана РФФИ, проект 05-07-90103

класса приложений иа любой совокупности этих ресурсов, независимо от места их расположения.

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

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

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

Концепция Грид родилась в научном сообществе, разработки и исследования начальной стадии были направлены на поддержку вычислительно интенсивных задач научно-S технического характера. В результате был предложен ряд протоколов: коммуникационный, Д безопасности и удаленного доступа к вычислительным, файловым, информационным ресурсам. Набор протоколов является достаточным для запуска заданий, управления ими и доставки входных и результирующих файлов. Протоколы были поддержаны реализацией инструментальной системы Globus Toolkit [4]. Globus Toolkit (GT) и ряд разработанных на его ^ основе программных средств образовали программную составляющую инфраструктуры для ^ нескольких крупных Грид, в том числе DataGrid [5] и GriPhyn [6]. На эти Грид поставлены О приложения по обработке результатов экспериментов в области ядерной физики. В связи с О большими объемами данных и вычислений интеграция распределенных ресурсов оказалась критически важной и доказала свою полезность.

Однако проблемы организации распределенного компьютинга не являются специфичными для научно-технической сферы, и разработка новой архитектуры ПО Грид велась с учетом интересов производственных приложений, при непосредственном участии крупнейших компаний - производителей компьютерной техники и ПО, таких как IBM, Sun, Hewlett-Packard и Microsoft. Участие ведущих компаний в исследованиях является важным, т.к. пока промышленность не возьмется за технологию, ожидать ее широкого распространения не приходится.

Основные положения предложенного в [7] стандарта архитектуры ПО Грид - OGSA (Open Grid Service Architecture) следуют объектно-ориентированной модели и рассматривают в качестве основного объекта Грид службу. Посредством удаленного обращения к методам службы приложение получает определенный вид обслуживания. Таким образом унифицируются различные функции: доступа к вычислительным ресурсам, ресурсам хранения, базам данных и к любой программной обработке данных.

Архитектура Грид-служб решает проблему распределенной среды - проблему интероперабельности - путем стандартизации способа описания интерфейсов служб. В этом отношении OGSA опирается на стандарты Web-служб [8].

Уже начиная с версии 2 инструментарий Globus Toolkit стал фактическим стандартом для Грид, признанным как научным сообществом, так и ведущими компаниями компьютерной

M

о

п

s

индустрии [9]. Благодаря тому, что GT с самого начала имел и по-прежнему сохраняет статус открытого ПО, к настоящему времени накоплен значительный опыт его применения в крупных проектах. Используя инструментальные средства GT, разными коллективами были разработаны дополнительные службы: репликации файлов, авторизации, диспетчеризации заданий и др. В 2003 году вышла первая реализация инструментария, основанная на архитектуре OGSA - Globus Toolkit 3.0.

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

• Формализация построения структуры Грид как целого;

• Планирование потоков на сетевом графе с целью обеспечить предоставление пользователю как терминальных, так и сетевых ресурсов;

• Прогнозирование ситуации (перегрузка ресурсов, время выполнения задач и и.т.);

• Формализация процесса поиска и предоставления ресурсов с целью разработки надлежащих протоколов;

• Адаптивное управление ресурсами.

О

К

^ 2. Моделирование процесса распределения заданий в сети вычислительных ресурсов

!_н В настоящей статье мы обратимся к последнему из перечисленных направлений

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

^ Из проблемы реализации сложных вычислений на распределенных ресурсах выделим

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

2.1. Разработка концептуальной модели

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

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

- моделируемая система состоит из следующих компонентов: 1) вычислительных ресурсов, 2) потребителей этих ресурсов и 3) телекоммуникационной сети, служащей для обмена информацией между ресурсами и потребителями;

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

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

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

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

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

- основные участники системы могут образовывать подсистемы. Это агрегирование является, вообще говоря, динамическим, и может отражать как физические особенности рассматриваемых объектов, так и носить «виртуальный» характер;

щ - вся система в целом, ее основные участники - «ресурсы» и «потребители»,

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

выполнения запросов потребителей; ^ - перечисленные факторы должны быть представлены в модели, по возможности, в

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

К

о о

2.2. Постановка некоторых математических и алгоритмических задач

2.2.1. Задача об оптимальном разбиении задания. Эта постановка стимулирована прикладными работами, проводящимися в ВЦ МГУ [12], и должна отразить следующие качественные особенности реального объекта.

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

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

Эта постановка соответствует представлению о функционировании верхнего уровня управления системой Грид (уровень брокера ресурсов). Математической базой является дискретно-комбинаторная обобщенная задача о назначении.

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

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

2.2.3. Динамическая задача об управлении выбором ресурсов. Эта постановка соответствует представлению о функционировании нижнего уровня управления системой Грид (уровень локального менеджера). Математической базой является теория управления марковскими последовательностями.

Задача заключается в определении стратегии выбора ресурсов в процессе К непосредственного выполнения заданий. Эта стратегия должна использовать в качестве основы И план распределения заданий, выработанный на верхнем уровне системы управления, и ^ корректировать его в реальном времени, исходя из наблюдений за текущими состояниями 0 процесса.

^^ Для перечисленных постановок задач должны быть разработаны методы и алгоритмы

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

О - алгоритм решения задачи о назначениях, применительно к проблеме построения

оптимального (статического) плана распределения ресурсов на верхнем уровне системы управления;

- процесс, имитирующий выполнение заданий различных пользователей на распределенных вычислительных ресурсах;

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

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

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

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

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

Заключение

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

О

К Список литературы

1. Фостер Я. Что такое Грид? Три критерия. http://www.gridclub.ru/library/publication.2004-11 -29.5830756248/publ file .

2. Экспериментальный GRID-сегмент МГУ им. М.В. Ломоносова: Руководство для пользователей. http://www.parallel.ru/info/education/msu_grid-intro.doc .

3. Foster I., Kesselman C., Tuecke S. The Anatomy of the Grid: Enabling Scalable Virtual Organizations. International Journal of High Performance Computing Applications, 15 (3). 200222. 2001. http://www.globus.org/research/papers/anatomy.pdf .

4. http://www.globus.org .

5. http://www.eu-datagrid.org .

6. http://www. griphyn.org .

7. Foster I., Kesselman C., J. Nick, Tuecke S. The Physiology of the Grid: An Open Grid Services Architecture for Distributed Systems Integration. http://www.globus.org/research/papers/ogsa.pdf .

8. S. Graham, S. Simeonov, T. Boubez, G. Daniels, D. Davis, Y. Nakamura, R. Neyama. Building Web Services with Java: Making Sense of XML, SOAP, WSDL, and UDDI, 2001.

9. http://www.globus.org/developer/news/20011112a.html .

10. http://x-com.parallel.ru

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