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

кандидата технических наук
Ларченко, Алексей Викторович
город
Санкт-Петербург
год
2008
специальность ВАК РФ
05.13.11
цена
450 рублей
Диссертация по информатике, вычислительной технике и управлению на тему «Инструментальная оболочка проектирования и разработки высокопроизводительных приложений в среде Грид»

Автореферат диссертации по теме "Инструментальная оболочка проектирования и разработки высокопроизводительных приложений в среде Грид"

На правах рукописи

Ши

ииа457340

Ларченко Алексей Викторович

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

Специальность: 05.13.11 — Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей

АВТОРЕФЕРАТ диссертации на соискание ученой степени кандидата технических наук

1 2 ЛЕЯ 2™3

Санкт-Петербург — 2008

003457340

Работа выполнена в Санкт-Петербургском государственном университете информационных технологий, механики и оптики

Научный руководитель: доктор технических наук

Бухановский А.В.

Официальные оппоненты:

Заслуженный деятель науки РФ, доктор технических наук, профессор Нечаев Ю.И.

кандидат технических наук, доцент Гугель Ю.В.

Ведущая организация:

Санкт-Петербургский государственный политехнический университет

Защита состоится 24 декабря 2008 г. в 14 часов на заседании диссертационного совета Д212.227.06 в Санкт-Петербургском государственном университете информационных технологий, механики и оптики по адресу: 197101, г. Санкт-Петербург, Кронверкский пр., д. 49.

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

Автореферат разослан 2.4 ноября 2008 г.

Ученый секретарь диссертационного совета, доктор технических наук, профессор

Oj/ч. Тарлыков В.А.

ОБЩАЯ ХАРАКТЕРИСТИКА РАБОТЫ

Актуальность темы. На современном этапе развития технологий распределенных вычислений и систем под термином Грид подразумевается географически распределенная, согласованная, открытая и стандартизованная среда разделения вычислительных и информационных ресурсов. В нашей стране существенный вклад в развитие и применение технологий Грид внесли работы В.П. Ильина, В.М. Котова, А.П. Афанасьева, В.Г. Хорошевского, Л.Б. Соколинского и др. В настоящее время наиболее привычной является инфраструктурная интерпретация Грид как среды, предоставляющей совокупность высокопроизводительных вычислительных ресурсов для выполнения независимых задач различных пользователей1. Вместе с тем, интенсивное проникновение технологий Грид в различные прикладные области делает целесообразной и своевременной ресурсную интерпретацию Грид как среды, предоставляющей пользователю доступ к предметно-ориентированным ресурсам — прикладным Грид-сервисам (ПГС). Как следствие, отличительной особенностью процесса проектирования и разработки приложений в Грид является изначальная ориентация на использование ПГС как готовых компонентов с описанием схемы их взаимодействия в нотации потоков задач, или workflow (WF). В отличие от блок-схем алгоритмов, в WF очередность операций задана неявно и подчиняется принципу передачи управления по наличию исходных данных для блоков. Потому принципы проектирования эффективных параллельных вычислительных приложений в Грид существенно отличаются от традиционных подходов, характерных, например, для кластерных систем. Как следствие, «ручной» процесс разработки таких приложений является весьма трудоемким и требует высокой квалификации разработчиков в области Грид и параллельных вычислений. Потому для проектирования композитных2 приложений в Грид и их эффективного выполнения требуется применение соответствующего программного инструментария. Он должен в условиях роста сложности инфраструктуры Грид и количества ПГС позволить пользователю — не специалисту в области Грид — с минимальными затратами проектировать и выполнять сложные композитные приложения с заданными критериями эффективности, абстрагируясь от технологических трудностей использования Грид.

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

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

1 Так называемый Грид 1-го поколения.

2 Приложение, состоящее из вызовов нескольких прикладных Грид-сервисов.

Задачи исследования. Достижение поставленной цели подразумевает решение следующих задач:

• обоснование способа формализации процесса проектирования композитных приложений на основе ПГС в форме неполного описания процесса вычислений посредством специальной нотации WF;

• разработка и обоснование принципа действия инструментальной оболочки проектирования как интеллектуальной системы поддержки принятия решений (ИСППР)

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

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

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

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

Научная новизна результатов работы состоит в том, что:

• процесс проектирования высокопроизводительных композитных приложений в среде Грид описан последовательностью WF с операциями перехода между ее элементами. Первый элемент последовательности соответствует неполному описанию пользовательского приложения в терминах предметной области.

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

Практическую ценность работы составляют:

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

• семейство инструментальных оболочек PEG (Parallel Execution on the Grid) для проектирования, разработки и выполнения высокопроизводительных композитных приложений в корпоративных Грид-системах на основе Intel GPE и UNICORE.

На защиту выносятся следующие положения:

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

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

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

Внедрение результатов работы. Результаты, полученные в ходе диссертационной работы, были использованы при выполнении НИР в рамках ФЦП «Исследования и разработки по приоритетным направлениям развития научно-технологичесмого комплекса России на 2007-2012 годы»: «Разработка инструментальной оболочки проектирования высокопроизводительных приложений для Грид-архитеетур в целях создания прикладных сервисов компьютерного моделирования и обработки данных» (2007-4-1.4-20-01-025) и «Высокопроизводительный программный комплекс моделирования и прогноза экстремальных гидрометеорологических явлений и расчета воздействий на морские объекты и сооружения» (2007-4-1.4-00-06-108). Проводимые исследования поддержаны персональными грантами Администрации Санкт-Петербурга для молодых ученых в 2007 и 2008 гг.

Апробация работы. Изложенные в диссертации результаты обсуждались на 10 международных и российских научных конференциях, семинарах и совещаниях, включая ежегодные Международные научно-практические семинары «Высокопроизводительные параллельные вычисления на кластерных системах» (2006 г., Санкт-Петербург; 2007 г., Нижний Новгород; 2008 г., Казань), ежегодные Всероссийские научные конференции «Научный сервис в сети Интернет» (2007 и 2008 гг., Новороссийск), ежегодную Международную научную конференцию «Параллельные вычислительные технологии (ПаВТ 2008)», XV Всероссийскую научно-методическую конференцию «Телематика 2008», IV и V Межвузовские научные конференции молодых ученых (2006 и 2007 гг., Санкт-Петербург).

Публикации. По теме диссертации опубликовано 11 печатных работ (из них 4 — в изданиях из перечня ведущих рецензируемых научных журналов и изданий ВАК РФ).

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

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

Структура и объем работы. Диссертация состоит из введения, четырех глав, заключения, списка литературы (72 наименования) и 1 приложения. Содержит 114 с. текста (из них ИЗ основного текста и 1 — приложений), включая 23 рис. и 6 табл.

СОДЕРЖАНИЕ РАБОТЫ

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

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

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

• промежуточное программное обеспечение Грид (middleware), обеспечивающее объединение ресурсов (Globus, UNICORE и пр.);

• инструментальные библиотеки разработки приложений в Грид, предоставляющие разработчику набор типовых компонентов, использующих функциональности middleware (Intel GPE, SAGA и пр.);

• системы визуального проектирования приложений в Грид (Taverna, Triana и пр.) Такие системы упрощают процесс создания сценария выполнения за счет интерпретации визуального описания, которое формируется и обосновывается разработчиком на основе собственного опыта и навыков.

Отдельную группу программного обеспечения в Грид представляют интеллектуальные средства поддержки процессов проектирования, к которым относятся: K-WF Grid — программный комплекс поддержки планирования, вы-

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

• выбор вычислительных сервисов, исходя из требований предметной области;

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

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

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

Вторая глава содержит формулировку и обоснование принципа действия ИСППР разработчика приложений в Грид. Отличительной особенностью процесса проектирования приложений в Грид является изначальная ориентация на использование предметно-ориентированных вычислительных компонентов — прикладных Грид-сервисов (ПГС). Потому организация процесса проектирования в значительной степени зависит от способа формального описания композитного приложения. Для описания приложений в Грид в рамках данной работы использована нотация WF. WF представляет собой набор блоков, соответствующих основным операциям, реализуемым ПГС, и взаимосвязей между ними, определяющих обмен данными. При этом процесс проектирования представляется в форме последовательного уточнения заданного пользователем неполного описания в форме WF (рис. 1).

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

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

композитного приложения, или мета-могк[1см< (М\\Ф), без указания условий ее выполнения в Град. Второй этап проектирования состоит в переходе к описанию в терминах абстрактного (АААТ). содержит указания на мстасервисы, которые являются обобщением ПГС, объединяя в себе свойства прикладных программ нескольких ПГС без учета особенностей реализации на конкретных вычислительных узлах. Метасервисы подбираются посредством семантического поиска в Грид на основе пользовательских критериев (требований к функциональным характеристикам, ресурсоемкое™, точности и пр.) среди онтологических описаний сервисов в базе знаний. Третьим этапом проектирования является конкретизация до уровня конкретных (С\№) с целью формирования оптимальной по производительности архитектуры композитного приложения. Описание приложения в форме С\№ эквивалентно алгоритмической записи, что позволяет автоматически генерировать сценарий исполнения, который может быть использован непосредственно для запуска в Грид.

4

I Мета Workflow ^ Ч______У

Подбор сервисов Поискданных

•Уточнение выбора сервисов и данных ■Планирование и создание расписания

Абстрактный Workfloviy ^Конкретный Workflow^

Метасервисы

Конкретные сервисы

Хранилища

Рис. 1. Процесс проектирования вычислительных приложений в среде Грид

Увеличение количества ПГС в условиях неопределенности, характерной для параметров среды Грид, приводит к неполиномиальному увеличению вычислительных затрат на переходы М'ОТ-АОТ и А\УР-С\УР. Стохастичность параметров Грид требует применения специфических методов проектирования, предназначенных для работы в условиях неопределенности входных данных и слабой формализации постановки задачи. Как следствие, ее решение целесообразно осуществлять не формальными методами, а средствами искусственного интеллекта. Это обусловлено тем, что:

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

• создание моделей производительности ПГС является прерогативой их разработчиков, которые в данном случае выступают как эксперты;

• решение задачи проектирования, по сути, сводится к проблеме прогнозирования характеристик разрабатываемого приложения на этапе описания и обоснования его структуры;

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

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

Как следствие, программный инструментарий реализации процесса проектирования в заданной предметной области должен быть реализован в форме ИСППР. Отличительной чертой ИСППР является наличие базы знаний (БЗ), на интерпретации которой основан принцип действия системы. БЗ, определяющая процесс проектирования приложений в Грид, является распределенной; ее фрагменты (локальная БЗ, или ЛБЗ) ассоциированы с ПГС. БЗ содержит следующие категории знаний: предметно-ориентированные (декларативные) описания сервисов, знания о структуре среды, знания об используемых эвристических методах, зарегистрированных в Грид, и знания о параллельной производительности сервисов. Последние включают в себя метазнания (информацию о структуре закономерностей, условия применимости, решающие знания), а также собственно предметные знания, или факты в форме конкретных моделей производительности, таблиц и аппроксимаций, связывающих время выполнения задачи с характеристиками входных и выходных данных и параметрами вычислительной среды. Приобретение знаний (как процесс передачи знаний от эксперта или из других источников в БЗ) выполняется как непосредственно при разработке проблемно-ориентированных модулей, так и в процессе самообучения системы по результатам работы индуктивных программ имитационного моделирования вычислительных процессов в Грид.

На рис. 2 приведена концептуальная схема, иллюстрирующая принцип действия ИСППР разработчика высокопроизводительных приложений в Грид. Человеко-компьютерное взаимодействие в ИСППР осуществляется через оболочку визуального проектирования, в которой пользователь описывает композитное приложение в форме М\№. На первом этапе работы ИСППР выполняется интерпретация М\\Т, на основании которой осуществляется семантический поиск сервисов, зарегистрированных в Грид, в рамках заданной предметной области.

Результатом является набор ААУР, формально подходящих под пользовательские критерии. Второй этап работы ИСППР связан с осуществлением логического вывода, который представляет собой создание оптимального расписания с точки зрения критериев пользователя. Для этого используются экспертные знания о производительности ПГС, предоставляемые их разработчиками при регистрации сервиса в Грид. Используя данные мониторинга текущего состояния Грид и известные характеристики пользовательской задачи, на основе этих знаний оценивается время выполнения конкретных ПГС, т.е. формируется на-

бор активных фактов, описывающих различные альтернативы. Эти факты используются для построения системы конкурирующих расписаний; при этом конкуренция обусловлена как различными эвристиками, применяемыми для ускорения процесса построения расписания, так и разнообразием АШР, порождаемых одним МиГ. Как следствие, выбор оптимального расписания требует выполнения процедуры сопоставления альтернатив путем их ранжирования в условиях неопределенности входных данных, стохастической изменчивости параметров Грид и экспертного характера знаний о производительности ПГС. Это ранжирование выполняется на основании сопоставления распределений времени работы для каждого из расписаний с учетом ошибки мисклассификации.

База знаний I: Предметно-ориентированное описание сервисов, зарегистрированных в Грид

База знаний II' Характеристики производительности вычислительных сервисов, зарегистрированных в Грид

Компонент логического вывода I — построение конкурирующих расписаний

Набор активных расписаний (С\Л/Р)

Набор активных фактов

Монитор состояния вычислительной среды

X

База знаний III: Характеристики производительности моделей \flJF

Компонент логического вывода II - сопоставление и ранжирование расписаний

— | ~~

^ Квазиоптимальное расписание^

База знаний IV Характеристики достоверности интерпретируемых знаний

(К&

Усиление логического вывода за счет приобретения дополнительных знаний

Генератор композитного приложения

^Композитное приложение I

Грид

5

Исполнитель композитного приложения

X

Монитор исполнения приложения

и

I *

о о. о- с:

о 2 ч

Г^База данных статистики запусков (по сервисам и приложениям)

Рис. 2 Концептуальная схема ИСГТПР разработчика приложений в Грид

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

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

Третья глава посвящена описанию семейства инструментальных оболочек PEG (Parallel Execution on the Grid), разработанных на основе предложенного подхода. Семейство PEG включает в себя следующие образцы:

• PEG1: Инструментальная оболочка параллельного исполнения приложений в Грид. Позволяет создавать параллельные приложения из готовых или разрабатываемых прикладных Грид-сервисов и оперативно отслеживать процесс их исполнения.

• PEG2: Инструментальная оболочка информационной и технологической поддержки процесса проектирования и выполнения приложений. PEG2 поддерживает визуальную среду проектирования композитного приложения в терминах абстрактного описания (AWF) и предоставляет набор специфичных для Грид инструментов проектирования (монитор Грид, контроллер ресурсов, монитор исполнения и пр.)

• ¡PEG (Intelligent PEG): Интеллектуальная среда, реализующая всю последовательность операций в рамках концепции — от задания пользователем описания задачи в терминах предметной области (MWF) до выполнения композитного приложения, созданного на основе квазиоптимального CWF.

На рис. 3 представлен процесс эволюции архитектуры оболочек семейства PEG Все они реализованы с использованием языка программирования Java 5. В PEG1 реализована основная функциональность работы с инфраструктурой Грид на основе Intel Grid Programming Environment (GPE). Он использует библиотеки GPE API версии 1.5, которые, в свою очередь, являются надстройкой над средой Globus. Это решение позволяет изолировать реализацию инструментальной оболочки от особенностей архитектуры Грид. Элемент исполнения в оболочках PEG отвечает за выполнение пользовательского задания на удаленных целевых системах: он осуществляет вызовы интерпретатора WF, балансировочных алгоритмов, а также производит мониторииг. В инструментальной оболочке PEG2, по сравнению с PEG1, вводятся дополнительные функцио-

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

В интеллектуальной среде ¡PEG вводится ряд принципиально новых элементов, главным из которых является элемент управления знаниями. Он предоставляет основной функционал для работы с базами знаний, в том числе, инструменты их использования, активизации, извлечения, пополнения и обновления, а также проверки целостности и достоверности. Дополнительно в ¡PEG входит элемент планирования, который необходим для осуществления семантического поиска сервисов по нечеткому пользовательскому описанию задачи в форме MWF. Элемент планирования взаимодействует с элементом управления знаниями, получая от него информацию о доступных сервисах и их онтологических описаниях. Это обеспечивает соответствие общей архитектуры оболочек семейства PEG основным функциональным характеристикам ИСППР.

На рис. 4 приводятся обобщенные функциональные схемы инструментальных оболочек PEG1 и PEG2. На них отражены основные этапы работы системы (средний ряд), компоненты, ответственные за выполнение этих этапов (нижний ряд) и результаты, получающиеся по окончании этапов (верхний ряд).

PEG

PEG2

iPEG

Рис. 3. Эволюция архитектуры оболочек семейства PEG

Этап проектирования композитного приложения в PEG1 состоит в создании пользователем специального файла описания параллельного задания в формате TSDL. Этот файл интерпретируется во внутреннее представление задачи и происходит разбиение данных, указанных пользователем в файле описания, на части, предназначенные для отправки на доступные целевые системы в Грид. На следующем этапе компонент Executor производит запуск получившихся задач в параллельном режиме, после чего система ожидает завершения работы задач, регулярно производя мониторинг их состояния на целевых системах. По завершении задач результаты передаются с целевых систем на комиыогер пользователя (с которого производится управление) и объединяют компонентом Composer. Результат слияния помещается в указанную пользователем директорию.

Процесс работы PEG2 при внешнем сходстве с PEG1 является более сложным за счет использования визуальной оболочки для описания структуры приложения в форме WF и использования набора конкурирующих методов построения расписаний (балансировки).

(а)

(б)

Файл TSDL

f Предста-" вление задачи ,

Набор задач (Job)

Результат

Формирование задачи

Интерпретация задания

Разбиение данных

Ожидание

Запуск * и

мониторинг

Слияние

Клиент PEG1

Decomposer + Balancier

Executor

Execution Monitor

Composer

Абстрактный Workflow

Тип балансировки

Расписание выполнения

Результат --?-'

Формирование задачи

0 оч

к о

(О Ш

1 а.

Прогноз времени и

еыбор балансировки

о. <

Разбиение данных и балансировка

Запуск параллельного исполнения

Ожидание

мониторинг

Слияние результатов

Е

I

о с (С га

g-о ей ё 2 t m

е

о О

Рис. 4. Функциональные схемы инструментальных оболочек (a) PEG1 и (б) PEG2 (нотация элементов приведена по тексту)

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

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

Пользователь

Мета

Workflow

J

f Набор \ I Абстрактных

V Workflow J,

Конкретный I

Workflow I

Рис. 5. Функциональная схема инструментальной оболочки iPEG (нотация элементов приведена по тексту)

При работе с iPEG (рис. 5) пользователь посредством визуальной оболоч-■ ки создает описание композитного приложения в форме MWF, используя знания о соответствующем наборе доступных ПГС, предоставляемые системой управления знаниями (Grid Knowledge Manager). Это описание передается планировщику (Workflow Planner), который на основе знаний о сервисах и данных создает набор альтернативных AWF. Каждый AWF представляет собой непроти-

воречивый процесс вычислений с фиксированными ПГС и данными. На основе набора AWF блоком построения расписаний (Workflow Scheduler) строится набор конкретных расписаний выполнения (CWF). Расписание, наиболее точно соответствующее пользовательским критериям, принимается окончательным и передастся на выполнение.

По завершении выполнения задач на целевых системах Workflow Executor осуществляет сбор результатов работы; пользователь получает окончательный результат (например, в виде файла данных). Таким образом, интеллектуальная оболочка iPEG позволяет осуществлять полномасштабную поддержку процесса проектирования и разработки высокопроизводительных приложений в Грид.

Четвертая глава носвящсна применению разработанной ИСППР для решения практической задачи. Основные принципы работы системы iPEG иллюстрируются на примере создания композитного приложения, осуществляющего расчет климатических спектров морского волнения4. В процессе вычислений производится статистическое обобщение массива таблично заданных функций (24x25 значений) распределения энергии волн по частотам и направлениям в фиксированной точке пространства за длительный временной интервал. Каждой из таблиц сопоставляется нелинейная функция двух аргументов, параметры которой определяются методом адаптивного случайного поиска. Обработка таблиц ведется независимо, что позволяет выполнять распараллеливание вычислительного процесса по данным. На рис. 6 приведены характеристики времени обработки массива из 8 тысяч спектров, полученные на экспериментальном стенде — корпоративной Грид-системе, состоящей из 24 целевых систем.

В ИСППР рассматривались три конкурирующих расписания: равномерное распределение данных, прямая каскадная схема и обратная каскадная схема, реализующие синхронные способы взаимодействия с вычислителями. Видно, что в среднем для небольшого количества вычислителей (р-2-Н) каскадные схемы являются более предпочтительными; с увеличением р накладные расходы на осуществление синхронного взаимодействия возрастают, и, как следствие, предпочтительным становится использование равномерной схемы распределения данных по вычислителям.

На рис. 6 также приведены ядерные оценки плотности распределения времени работы для каждой из трех схем распределения данных, полученные путем обобщения измерений. Видно, что с увеличением количества вычислителей разброс времени выполнения возрастает, что связано с ростом влияния стохастических эффектов коммуникаций в Грид. При этом взаимное расположение плотностей распределения определяет правила ранжирования конкурирующих расписаний. Например, в случае «А» (см. рис. 6) для р=2 прямая и обратная каскадные схемы приводят в среднем к практически одинаковым оценкам времени работы. Различие между ними существенно меньше соответствующего диапазона изменчивости, что не позволяет автоматически выбрать наилучший

4 Spectral wave climatc of the North Sea Boukhanovsky A.V., Lopatoukhm L.J., Soares C G 2007, Applied Ocean Research, Volume 29, Issue 3, July 2007, P 146-154.

способ. Однако разброс времени работы для прямой каскадной схемы в 1,5 раза больше, нем для обратной каскадной схемы. Как следствие, окончательный выбор схемы распараллеливания остается за пользователем, исходя из предпочитаемой им стратегии (меньший риск — меньшая производительность, или больший риск — большая производительность). С другой стороны, существуют ситуации (например, «Б» при р=24), когда плотности распределения времени работы для разных схем перекрываются, однако различие между средними значениями сопоставимо с их диапазоном изменчивости. Тогда ранжирование конкурирующих расписаний должно вестись с учетом заданного уровня значимости ошибки; в частности, в ситуации «Б» в 5% случаев обратная каскадная схема будет давать лучший по производительности результат, чем равномерная, несмотря на то, что в среднем равномерная схема работает в 1,5 раза быстрее.

Рис. 6. Время выполнения иллюстративного композитного приложения по обработке 8 тысяч спектров морского волнения в Грид: 1 — равномерная схема; 2 — прямая и 3 — обратная каскадные схемы.

А, Б — см. по .тексту.

Таким образом, в ходе работы интеллектуальной системы ¡PEG рассмотренный выше анализ проводится автоматически, что позволяет обосновать выбор оптимальной схемы распараллеливания композитного приложения применительно к доступным в Грид вычислительным ресурсам и ПГС.

Основные результаты диссертационной работы:

1. Обоснован способ формализации процесса проектирования композитных приложений в Грид в виде неполною описания н терминах предметной области и порядок его последовательного уточнения (MWF— AWF—CWF).

2. Предложен и обоснован принцип действия инструментальной оболочки разработчика приложений в Грид как ИСПГ1Р реального времени; разработаны основные интеллектуальные механизмы, осуществляющие работу ИСППР.

3. Разработано семейство оболочек PEG (Parallel Execution on the Grid) для проектирования, разработки и выполнения высокопроизводительных композитных приложений в корпоративных средах Грид.

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

Публикации по теме диссертационной работы

1. Инструментальная оболочка поддержки принятия решений разработчика высокопроизводительных приложений в Грид / A.B. Дунаев, A.B. Ларченко, A.B. Бухановский // Научно-технические ведомости СПбГПУ — 2008,— №5. — С. 98-104 (из перечня ВАК).

2. Инструментальная оболочка проектирования высокопроизводительных приложений в Грид. Часть I: Базовые положения / A.B. Ларченко, A.B. Дунаев, A.B. Бухановский // Научно-технический вестник СПбГУ ИТМО: Технологии высокопроизводительных вычислений и компьютерного моделирования. — 2008. — Вып. 54. — С. 29-36. (из перечня ВАК)

' 3. Инструментальная оболочка проектирования

высокопроизводительных приложений в Грид. Часть II: Архитектура, реализация и применение / A.B. Ларченко, A.B. Дунаев, A.B. Бухановский // Научно-технический вестник СПбГУ ИТМО: Технологии высокопроизводительных вычислений и компьютерного моделирования. — 2008. — Вып. 54. — С. 37-45. (из перечня ВАК)

4. Инструментальная оболочка проектирования высокопроизводительных приложений в Грид. Часть III: Приобретение и формализация знаний / A.B. Дунаев, A.B. Ларченко, A.B. Бухановский // Научно-технический вестник СПбГУ ИТМО: Технологии высокопроизводительных вычислений и компьютерного моделирования. — 2008. — Вып. 54. — С. 46-55. (из перечня ВАК)

5. Инструментальная оболочка проектирования высокопроизводительных приложений для Грид-архитектур / A.B. Ларченко, A.B. Дунаев, A.B. Бухановский // 8-я Международная конференция Высокопроизводительные параллельные вычисления на кластерных системах: Труды конференции, Казань, 17-19 ноября 2008 г.— Казань: Изд-во. КГТУ, 2008,—С. 79-81.

6. Инструментальная оболочка проектирования высокопроизводительных Грид-сервисов компьютерного моделирования и обработки данных/ A.B. Ларченко, A.B. Дунаев, A.B. Бухановский // Научный сервис в сети Интернет: решение больших задач: Труды Всероссийской научной конференции, Новороссийск, 22-27 сентября 2008 г.—

М.: Изд-во МГУ, 2008.— С. 163-169.

7. Инструментальная оболочка проектирования высокопроизводительных приложений для Грид-архитектур / A.B. Дунаев, A.B. Ларченко, A.B. Бухановский // Труды XV Всероссийской научно-методической конференции «Телематика 2008», Санкт-Петербург, 23-26 июня 2008 — СПб.: Изд-во СПбГУ ИТМО, 2008, —Том 1 —С. 105-106.

8. Моделирование параллельных вычислительных процессов в среде Грид на примере Intel Grid Programming Environment акселераторов / A.B. Дунаев, A.B. Ларченко, A.B. Бухановский // Параллельные вычислительные технологии (ПаВТ 2008): Труды международной научной конференции, Санкт-Петербург, 28 января - 1 февраля 2008 г. — Челябинск: Изд-во. ЮУрГУ, 2008.— С. 383-389.

9. Оптимальная декомпозиция вычислительных задач в корпоративных Грид-системах на основе Intel Grid Programming Environment /

A.B. Дунаев, A.B. Ларченко, A.B. Бухановский //Высокопроизводительные параллельные вычисления на кластерных системах: материалы седьмой международной конференции-семинара, Нижний Новгород, 26-30 ноября 2007 г.— Нижний Новгород: Изд-во Нижегородского госуниверситета, 2007,— С. 138-141.

10. Анализ и моделирование производительности параллельных стохастических алгоритмов, адаптированных к особенностям многоядерных вычислительных архитектур / A.B. Ларченко, A.B. Дунаев,

A.B. Бухановский // Научный сервис в сети Интернет: многоядерный компьютерный мир. 15 лет РФФИ: Труды Всероссийской научной конференции, Новороссийск, 24-29 сентября 2007 г.— М.: Изд-во МГУ, 2007,—с. 156.

11. Проблемы переноса вычислительных приложений кластерного уровня в среду Грид на примере Grid Programming Environment /

A.B. Ларченко, C.B. Ковальчук, C.B. Иванов, И.О. Одинцов, A.B. Бухановский // Научный сервис в сети Интернет: многоядерный компьютерный мир. 15 лет РФФИ: Труды Всероссийской научной конференции, Новороссийск, 24-29 сентября 2007 г.— М.: Изд-во МГУ, 2007.— с. 134.

Гг

I

Тиражирование и брошюровка выполнены в учреждении «Университетские телекоммуникации» 197101, Санкт-Петербург, Саблинская ул., 14 Тел. (812) 233 4669 объем 1 п.л. Тираж 100 экз.

Оглавление автор диссертации — кандидата технических наук Ларченко, Алексей Викторович

Введение.

Глава 1 Особенности задачи проектирования эффективных композитных приложений в современных Грид

1.1 Исторический обзор.

1.2 Обзор современного состояния.

1.3 Особенности и проблемы Грид.

1.4 Методы проектирования и достижения эффективности композитных вычислительных приложений.

Выводы по главе 1.

Глава 2 Концепция и принципы построения интеллектуальной системы поддержки принятия решений разработчика высокопроизводительных приложений в Грид

2.1 Постановка задачи проектирования.

2.2 Основы проектирования высокопроизводительных вычислительных приложений в Грид.

2.3 Интерфейс человеко-компьютерного взаимодействия.

2.4 Распределенная база знаний предметной области.

Выводы по главе 2.

Глава 3 Особенности реализации инструментальной оболочки проектирования вычислительных приложений в Грид

3.1 Архитектура Грид-систем на основе Intel GPE.

3.2 Высокоуровневая архитектура инструментальных оболочек семейства PEG.

3.3 Базовые программные компоненты семейства PEG.

Выводы по главе 3.

Глава 4 Подтверждение работоспособности и сравнение с мировым уровнем

4.1 Архитектура типового прикладного Грид-сервиса.

4.2 Сервис динамико-стохастического моделирования экстремальных гидрометеорологических явлений.

4.3 Результаты испытаний.

4.4 Оценка эффективности полученных результатов в сравнении с современным научно-техническим уровнем и перспектив коммерциализации.

Выводы по главе 4.

Введение 2008 год, диссертация по информатике, вычислительной технике и управлению, Ларченко, Алексей Викторович

Современный этап развития технологий Грид характеризуется многообразием концепций их интерпретации и использования. Классические (и независимые) определения, сформулированные I. Foster и С. Kesselman [1] и М. Livny [2], по мере внедрения Грид расширяются и модифицируются. В обзорной работе [3] отмечается, что основной чертой Грид, отделяющей его от других систем распределенных вычислений (например, Р2Р, utility computing и пр.), является открытая система стандартизации, на основании которой осуществляется объединение вычислительных и информационных ресурсов. Как следствие, в настоящее время наиболее часто Грид интерпретируют как единую вычислительную среду, в рамках которой выполняются задачи различных пользователей. Другими словами, во главу угла ставится виртуализация вычислительных ресурсов, а не пользовательских приложений. Это связано как с технологическими проблемами разработки приложений под Грид, так и с вопросами их коммерческого использования [4].

В рамках определения [3] допустима интерпретация Грид как среды параллельных вычислений, наряду с более традиционными (например, кластерными, гибридными, Р2Р) архитектурами. В отличие от традиционного использования Грид для удаленного выполнения заданий на мощных вычислительных системах, проблема параллельных вычислений связана с объединением и синхронизацией большого количества вычислительных узлов (в общем случае — географически распределенных и принадлежащих разным пользователям) для решения одной задачи. Очевидно, что параллельные вычисления в Грид по производительности не могут сравниться с традиционными кластерными системами в силу высокой коммуникационной составляющей. Однако использование концепции Грид способно предоставить пользователю сравнительно дешевую и практически неограниченно расширяемую параллельную архитектуру. Как следствие, потенциальными потребителями таких технологий могут быть задачи, связанные с моделированием сложных систем [5, 6], состоящих из большого количества взаимодействующих объектов с дальними связями.

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

1 Корпоративные Грид-системы объединяют географически локализованные вычислительные ресурсы, принадлежащие одной организации (но различным ее подразделениям), что отчасти решает проблемы администрирования, тарификации и определения загрузки каналов в Грид. сетей и вычислительных узлов, их нестационарность и неоднородность [7]. Как следствие, проектирование и разработка параллельных вычислительных приложений под Грид существенно отличается от подходов, применяемых для традиционных (кластерных) систем. Иными словами, параллельное приложение в Грид, «эффективно» спроектированное по кластерным канонам, может функционировать нестабильно с точки зрения производительности. Ввиду приведенных особенностей, «ручной» процесс разработки эффективных приложений для Грид является весьма трудоемким и требует высокой квалификации и опыта от разработчиков в области параллельных вычислений и Грид.

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

В нашей стране существенный вклад в развитие и применение технологий Грид внесли работы В.П. Ильина, В.М. Котова, А.П. Афанасьева, В.Г. Хорошевского, Л.Б. Соколинского и др.

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

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

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

Задачи исследования. Достижение поставленной цели подразумевает решение следующих задач:

• обоснование способа формализации процесса проектирования композитных приложений на основе ПГС в форме неполного описания процесса вычислений посредством специальной нотации МП7;

• разработка и обоснование принципа действия инструментальной оболочки проектирования как интеллектуальной системы поддержки принятия решений (ИСППР); выбор и реализация методов интерпретации, последовательного уточнения и выполнения неполного пользовательского описания композитного приложения в Грид;

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

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

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

Научная новизна результатов работы состоит в том, что:

• процесс проектирования высокопроизводительных композитных приложений в среде Грид описан последовательностью МП7 с операциями перехода между ее элементами. Первый элемент последовательности соответствует неполному описанию пользовательского приложения в терминах предметной области.

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

На защиту выносятся следующие положения;

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

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

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

Публикации. По теме диссертации опубликовано 11 печатных работ (из них 4 — в изданиях из перечня ведущих рецензируемых научных журналов и изданий ВАК РФ).

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

Структура и объем работы. Диссертация состоит из введения, четырех глав, заключения, списка литературы (72 наименования) и 1 приложения. Содержит 114 с. текста (из них 113 основного текста и 1 — приложений), включая 23 рис. и 6 табл.

Заключение диссертация на тему "Инструментальная оболочка проектирования и разработки высокопроизводительных приложений в среде Грид"

Выводы по главе 4

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

Заключение

В ходе выполнения диссертационной работы были получены следующие результаты:

• Обоснован способ формализации процесса проектирования композитных приложений в Грид в виде неполного описания в терминах предметной области и порядок его последовательного уточнения (MWF—AWF—CWF).

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

• Разработано семейство оболочек PEG (Parallel Execution on the Grid) для проектирования, разработки и выполнения высокопроизводительных композитных приложений в корпоративных средах Грид.

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

Практическую ценность работы составляют:

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

• Семейство инструментальных оболочек PEG (Parallel Execution on the Grid) для проектирования, разработки и выполнения высокопроизводительных композитных приложений в корпоративных Грид-системах на основе Intel GPE и UNICORE.

Результаты, полученные в ходе диссертационной работы, были использованы при выполнении НИР в рамках ФЦП «Исследования и разработки по приоритетным направлениям развития научно-технологического комплекса России на 2007-2012 годы»: «Разработка инструментальной оболочки проектирования высокопроизводительных приложений для Грид-архитектур в целях создания прикладных сервисов компьютерного моделирования и обработки данных» (2007-4-1.4-20-01-025) и «Высокопроизводительный программный комплекс моделирования и прогноза экстремальных гидрометеорологических явлений и расчета воздействий на морские объекты и сооружения» (2007-4-1.4-00-06-108). Проводимые исследования поддержаны персональными грантами Администрации Санкт-Петербурга для молодых ученых в 2007 и 2008 гг.

Изложенные в диссертации результаты обсуждались на 10 международных и российских научных конференциях, семинарах и совещаниях, включая ежегодные Международные научно-практические семинары «Высокопроизводительные параллельные вычисления на кластерных системах» (2006 г., Санкт-Петербург; 2007 г., Нижний Новгород; 2008 г., Казань), ежегодные Всероссийские научные конференции «Научный сервис в сети Интернет» (2007 и 2008 гг., Новороссийск), ежегодную Международную научную конференцию «Параллельные вычислительные технологии (ПаВТ 2008)», XV Всероссийскую научно-методическую конференцию «Телематика 2008», IV и V Межвузовские научные конференции молодых ученых (2007 и 2008 гг., Санкт-Петербург).

Библиография Ларченко, Алексей Викторович, диссертация по теме Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей

1. Foster I., Kesselman С. The Grid: Blueprint for a New Computing Infrastructure.— Morgan-Kaufman, 1999.

2. Thain D., Tannenbaum Т., and Livny M. Condor and the Grid // Berman F., (Editor), Fox G. (Editor), Hey J.G. A. (Editor) Grid Computing: Making The Global Infrastructure a Reality. — John Wiley, 2003.

3. Stockinger H. Defining the Grid — a snapshot of the current view // Journal of Supercomputing. —Springer Science+Business Media, 2007.

4. Уэйлгам Т. Grid взята в заложники // Директор ИС, №1, 2006.

5. Sloot P.M.A., Ivanov S.V., Boukhanovsky A.V. et al. Stochastic simulation of HIV population dynamics through complex network modeling // International Journal of Computer Mathematics. — In press, 2007.

6. Foster I., Kesselman. С. The Grid2: Blueprint for a New Computing Infrastructure (Second edition).— Morgan-Kaufman, 2004.

7. Crocker, Steve. RFC 1. IETF Tools. 1969 April 7 http .-//tools. ietf.org/html/rfc 1 .

8. Bolt, Beranek, Newman. A History ofthe ARPANET: The First Decade. 1981.

9. SETI@home http://setiathome. berkeley. edu/.

10. BOINC Homepage. BOINC. http.V/boinc.berkeley.edu/.

11. NSFNET: The Partnership that Changed the World. NSFNET. http://www. nsfnet-legacy. org/\.

12. Henning, Michi. The Rise and Fall of CORBA: The story behind this once-promising distributed computing technology-why it fell short, and what we can15,16,17,18.