ГЛАВА 1. ЭВОЛЮЦИЯ ТЕХНОЛОГИЙ ПОСТРОЕНИЯ РАСПРЕДЕЛЕННЫХ ВЫЧИСЛИТЕЛЬНЫХ СРЕД
1.1 Концепция распределенных вычислительных сред
1.2 Современные технологии построения распределенных вычислительных сред
1.2.1 Промежуточное программное обеспечение
1.2.2 Организация параллельных вычислений в масштабах глобальной сети
1.2.3 Ог1с1-вычисления
1.2.4 Современные средства решения декомпозируемых вычислительных задач в РВС
1.3 ОПИСАНИЕ И КЛАССИФИКАЦИЯ ОСНОВНЫХ ВИДОВ РЕСУРСОВ РВС
1.3.1 Аппаратные ресурсы
1.3.2 Программные ресурсы
1.3.3 Информационные ресурсы
1.3.4 Сетевые ресурсы
1.3.5 Инструментальные ресурсы
1.3.6 Человеческие ресурсы
1.4 ОСНОВНЫЕ ЗАДАЧИ РАБОТЫ
1.4.1 Проблемы современной программной инфраструктуры РВС
1.4.2 Основные задачи работы
ГЛАВА 2. ПРИНЦИПЫ ПОСТРОЕНИЯ РАСПРЕДЕЛЕННОЙ ВЫЧИСЛИТЕЛЬНОЙ СРЕДЫ НА ОСНОВЕ КОНЦЕПЦИИ ИНФОРМАЦИОННО-АЛГОРИТМИЧЕСКИХ РЕСУРСОВ
2.1 ПОНЯТИЕ ИНФОРМАЦИОННО-АЛГОРИТМИЧЕСКОГО РЕСУРСА
2.1.1 Интеграция первичных ресурсов на основе агентов доступа
2.1.2 Модель доступа к информационно-алгоритмическим ресурсам
2.1.3 Типизация информационно-алгоритмических ресурсов
2.1.4 Композиция информационно-алгоритмических ресурсов и прикладные сценарии
2.2 Архитектура распределенной вычислительной среды на основе концепции И АР
2.2.1 Уровень агентов доступа
2.2.2 Уровень служб
2.2.3 Уровень прикладного АР1
2.3 Основные требования к программной инфраструктуре РВС
2.3.1 Функциональные требования
2.3.2 Нефункциональные требования
2.3.3 Проектные ограничения
2.4 Архитектура системы 1АЯцет
2.4.1 Агент доступа
2.4.2 Контейнер И АР
2.4.3 Клиентская библиотека
2.4.4 Коннекторы
2.4.5 Служба
ГЛАВА 3. ОРГАНИЗАЦИЯ ВЫЧИСЛЕНИЙ В РАСПРЕДЕЛЕННОЙ ВЫЧИСЛИТЕЛЬНОЙ СРЕДЕ НА ОСНОВЕ 1АШЕТ
3.1 Интеграция первичных ресурсов
3.1.1 Разработка агента доступа
3.1.2 Организация удаленного доступа к ресурсу
3.1.3 Задачи, связанные с организацией доступа к ресурсу
3.2 Идентификация ресурсов
3.2.1 Постановка задачи
3.2.2 Идентификатор ресурса
3.2.3 Ссылка на ресурс
3.2.4 Отображение идентификатора ресурса в ссылку на ресурс
3.2.5 Идентификатор типа ресурса
3.3 Типы ДАННЫХ И ОПИСАНИЕ ИНТЕРФЕЙСОВ РЕСУРСОВ
3.3.1 Постановка задачи
3.3.2 Система типов данных 1А11пе1
3.3.3 Нотация для описания интерфейсов ресурсов
3.4 ИНФОРМАЦИОННАЯ СЛУЖБА
3.4.1 Постановка задачи
3.4.2 Представление информации о РВС
3.4.3 Хранение информации о РВС
3.4.4 Доступ к информации о РВС
3.4.5 Сбор информации о РВС
3.4.6 Информационная служба
3.4.7 Управление информацией о ресурсе в агенте доступа
3.5 Групповое взаимодействие ресурсов
3.5.1 Постановка задачи
3.5.2 Служба рассылки сообщений
3.5.3 Интерфейс потребителя сообщений
3.5.4 Дальнейшее развитие подхода
3.6 ОПИСАНИЕ И ВЫПОЛНЕНИЕ ПРИКЛАДНЫХ ВЫЧИСЛИТЕЛЬНЫХ СЦЕНАРИЕВ
3.6.1 Постановка задачи
3.6.2 Описание прикладных вычислительных сценариев
3.6.3 Служба управления денариями
3.7 Другие службы IAR.net
3.7.1 Служба журналов
3.8 МОДЕЛЬ ПРИКЛАДНОГО программирования 1АШчет
3.8.1 Интерфейс представителя ресурса на клиентской стороне
3.8.2 Интерфейс клиента информационной службы
3.8.3 Пример использования 1АИпе1 АР1 для поиска и вызова ресурса
ГЛАВА 4. ПРИМЕНЕНИЕ 1АШЧЕТ ДЛЯ РЕШЕНИЯ ПРИКЛАДНЫХ ЗАДАЧ
4.1 РАСПРЕДЕЛЕННОЕ РЕШЕНИЕ ЗАДАЧИ ОПТИМАЛЬНОГО УПРАВЛЕНИЯ
4.1.1 Процедура продолжения оптимальных траекторий
4.1.2 Основные вычислительные подзадачи
4.1.3 Символьное представление задачи Коши для системы ОДУ и алгоритм решения
4.1.4 Требуемые типы ресурсов
4.1.5 Схема распределенного решения задачи оптимального управления
4.2 РАСПРЕДЕЛЕННОЕ РЕШЕНИЕ СИСТЕМЫ ОБЫКНОВЕННЫХ ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ
4.2.1 Схема распределенного решения системы ОДУ
4.3 Распределенная имитационная модель экологической, экономической и социальной
ДИНАМИКИ
ЗАКЛЮЧЕНИЕ
СПИСОК ЛИТЕРАТУРЫ
ПРИЛОЖЕНИЕ
Интерфейс представителя агента доступа для профиля УБ
Базовая ШОБ-схема 1АЮчет
ПРИМЕР ОПИСАНИЯ ТИПА РЕСУРСА
Пример описания ресурса
Диссертация посвящена разработке целостной программно-алгоритмической модели решения декомпозируемых вычислительных задач в распределенной среде.
Более точно класс рассматриваемых вычислительных задач можно определить как задачи, декомпозируемые на слабо связанные в вычислительном отношении и, в общем случае, функционально различные типовые подзадачи. Первое обстоятельство учитывает специфику проведения вычислений в распределенной среде, где для эффективного решения задачи необходимо минимизировать сетевые обмены данными. Формально это требование можно сформулировать в следующем виде: характерные времена процессов вычислений в рамках подзадач должны быть много больше характерных времен процессов обменов данными между подзадачами. Второе обстоятельство указывает на более широкий класс задач, чем задачи, решаемые в рамках параллельных вычислений, где подзадачи, как правило, являются функционально однотипными. Слово “типовой” означает, что данная подзадача не является специфической, а имеет общее значение и встречается в целом ряде исходных задач.
В качестве основного примера подобной декомпозируемой вычислительной задачи в диссертации рассматривается процедура решения задачи оптимального управления. Общепризнанно, что задачи оптимального управления со смешанными ограничениями остаются трудными для численного решения на обычных компьютерах, несмотря на большое количество работ, посвященных алгоритмам решения этих задач. Зачастую бывает трудно оценить требуемые для решения задачи вычислительные мощности априори, перед запуском решения. Это может привести к тому, что, будучи запущенным на ограниченных ресурсах одного компьютера (и даже нескольких), вычислительный процесс в определенный момент столкнется с нехваткой ресурсов, и процесс решения задачи остановится.
В случае задачи оптимального управления интерес представляет алгоритм, который мог бы привлечь к решению задачи одновременно разнородные вычислительные ресурсы, доступные через глобальную (или локальную) сеть. Таким алгоритмом является известный алгоритм продолжения оптимальных траекторий, допускающий эффективную декомпозицию на слабо связанные в вычислительном отношении подзадачи. Подобная декомпозиция позволяет реализовать решение задачи оптимального управления в распределенной вычислительной среде (РВС), которая состоит из набора вычислительных ресурсов, развернутых на узлах глобальной сети. Каждый из ресурсов среды реализует некоторый метод решения одной из подзадач.
В качестве еще одной задачи, характерной для указанного класса, в диссертации рассматривается задача имитационного моделирования. В настоящее время в различных организациях накоплено большое количество имитационных моделей в самых разнообразных областях и программных комплексов, позволяющих выполнять в их рамках имитационные эксперименты. Среди этих моделей и программных комплексов имеются такие, которые разработаны разными группами исследователей, однако, описывают один и тот же процесс, возможно, разные его части (стороны). Поэтому, задача интеграции этих ресурсов посредством организации удаленного доступа к ним, представляется актуальной. Решение этой задачи позволит формировать и выполнять имитационные эксперименты с гораздо более сложными имитационными моделями, чем это возможно сейчас. Это существенно расширяет область применения технологии имитационного моделирования при анализе и прогнозе реальных явлений, процессов, систем. Очевидно, что предлагаемый подход применим и для других важных классов задач.
В качестве примера рассмотрим группу ученых, занимающихся определенной проблемой и использующих для её изучения различные сложные приборы и модели. Это сообщество текуче и сильно распределено, оно может включать в себя сотни исследователей и ученых из различных институтов, операторов различных приборов и моделей. Разделяемыми ресурсами могут являться приборы, модели, архивы экспериментальных данных, сложные программы анализа данных, суперкомпьютеры и кластеры. Возможные приложения включают удаленное управление приборами, совместный анализ и распределенную обработку данных в реальном времени.
Открытая вычислительная сеть.
Данный класс вычислительных сетей является одновременно наиболее интригующим и наименее конкретным из сценариев использования. Одна из неопределенностей касается того, в какой мере обычный потребитель ресурсов может действовать также как поставщик новых ресурсов. Ответ на этот вопрос зависит от двух факторов: появятся ли приложения, которые смогут использовать слабосвязанные вычислительные ресурсы, и будут ли владельцы ресурсов мотивированы предоставлять доступ к своим ресурсам.
В настоящий момент основная деятельность в этой области была ограничена достаточно экзотическими задачами - поиск простых чисел, взлом криптографических кодов, обнаружение сигналов внеземных цивилизаций - где выгода для пользователя сводится лишь к интересу быть участником и возможной славе, если его компьютер решит задачу.
Участники рынка вычислительных сервисов представляют собой потенциально неограниченное сообщество без каких-либо связей между собой, помимо ориентированных на трейдинг разнообразных ресурсов. Сюда относятся потребители, со своими разнообразными нуждами и интересами, поставщики специализированных сервисов, таких как финансовое моделирование, рендеринг графики, интерактивные игры; поставщики вычислительных ресурсов; сетевые провайдеры, которые предоставляют определенные уровни качества обслуживания; банки и лицензирующие организации и т.д.
Однако, как бы то ни было, в первую очередь следует ожидать развития не единой Вычислительной Сети, а множества различных независимых вычислительных сетей, служащих сообществам пользователей со своими требованиями и целями.
1.2.3.5 Grid-технологии.
До недавнего времени главными пользователями метакомпьютинговых систем являлись программисты, готовые тратить большое количество времени на программирование сложных систем на низком уровне. Приложения писались на фактическом эквиваленте языка ассемблера для распределенных систем: явные вызовы протоколов UDP или TCP, отсутствие или явная обработка отказов, жестко запрограммированная конфигурация системы и т.п. Создававшиеся приложения успешно демонстрировали возможности метакомпьютинга, но в то же время были слишком дороги, ненадежны, негибки и неустойчивы для того, чтобы применяться для решения обычных задач.
Для широкого использования вычислительных сетей в технологиях программирования требовалось сделать существенный шаг от эквивалента языка ассемблера к эффективным высокоуровневым языкам, от одноразовых библиотек к прикладному инструментарию, от трудоемкого ручного кодирования к многократному использованию компонентов. Работа в глобальных сетях привносит дополнительные сложности, такие как необходимость