Вернуться в библиотеку

Научно-экспериментальная Grid лаборатория (SEGL) динамического исследования параметров в распределенных системах

Авторы

Photo of N. Currle-Linde
Currle-Linde N.

Photo of U. Kuster
Kuster U.

Photo of M. Resch
Resch M.

Photo of B. Risio
Risio B.

Перевод с английского: Жевжик С.Е.

Источник

Parallel Computing: Current & Future Issues of High-End Computing, Proceedings of the International Conference ParCo 2005, John von Neumann Institute for Computing, Julich, NIC Series, Vol. 33, ISBN 3-00-017352-8, pp. 49-56, 2006.
[ Электронный источник: www.fz-juelich.de/nic-series/volume33/049.pdf ]


Цифровое моделирование с помощью автоматизированных исследований параметров на данный момент является ключевым инструментом в обнаружении функционального оптимума в сложных системах, таких как биохимическая разработка медикаментов и анализ автокатастроф. В будущем такие исследования сложных систем будут чрезвычайно важны для управления моделированием. Хороший пример — оптимальный дизайн и регулирование печей большой мощности силовых установок. Производительность современных высокопроизводительных компьютеров позволяет проводить моделирование с получением результатов, которые столь же надежны как полученные из физического эксперимента. Недавно, Grid технология поддержала эту разработку, обеспечивая универсальный и безопасный доступ к вычислительным ресурсам по глобальным компьютерным сетям (WANs), позволяющие промышленности заниматься исследованием большого количества наборов параметров, используя сложные моделирования. Однако, крупный масштаб таких исследований требует организованной поддержки представления, контроля, и прерывания задач, так же как и механизмов для сбора результатов, и динамической генерации нового набора параметров для разумного достижения оптимума. В этой статье описывается решение этих проблем, которое мы называем Научно-экспериментальная Grid Лабораторией (SEGL). Система задает сложные технологические процессы, которые могут быть выполнены в среде Grid, и поддерживает динамическое генерирование набора параметров. Это также позволяет выполнение ряда независимых заданий взаимозависимых задач, которые могут работать синхронно или асинхронно на гибридных системах. Автоматический сбор результатов основан на объектно-ориентированной структуре базы данных.

1 Введение

На протяжении прошлых 20 лет числовое моделирование технических процессов стало фундаментальным инструментом для исследований и разработок. В прошлом числовое моделирование было ограничено несколькими специфическими параметризированными настройками. Дорогое вычислительное время не позволяло большего. Позже, компьютерные кластеры с сотнями процессоров позволили моделирование полных диапазонов многомерных наборов параметров, чтобы предсказать оптимум для данной системы. Тестирование той же самой программы в сотнях отдельных случаев, может оказаться непосредственной задачей. Однако, администрирование большого количества заданий, параметров и результатов является существенной проблемой. Эффективный механизм для решения таких проблем параметра может быть создан с помощью ресурсов Grid. В данной статье также предлагается объединение этих Grid ресурсов в инструмент, который может выполнять следующее: генерировать наборы параметров, постановка задачи в среде Grid, управление успешной операции и прерывание этих задач, сбор результатов, и генерирование нового набора параметров, основанного на предыдущих результатах, чтобы приблизиться к функциональному оптимуму, после которого механизм должен быть успешно прерван. Мы ожидаем увидеть использование параметризованного моделирования во многих дисциплинах, например, статистическое моделирование аварийного отказа автомобилей, дизайна крыла, моделирование электростанции с разнообразными форсунками и для разного качества топлива. Разработанный механизм предлагает объединенную структуру для таких крупномасштабных проблем оптимизации в дизайне и разработке.

1.1 Существующие инструментальные средства для исследований параметров

Инструментальные средства как Nimrod [1] и Ilab [1] допускают прогонку параметров и задания, выполняя их в распределенной компьютерной среде (Grid) и собирая данные. ILab также позволяет вычисление многопараметрических моделей в независимых отдельных задачах в сложном технологическом процессе. Однако, ни одно из этих инструментальных средств не в состоянии динамически генерировать новые наборы параметров в соответствии с автоматизированной стратегией оптимизации. В дополнение к вышеупомянутым средам инструментальные средства как Condor [1], UNICORE [3] или AppLeS [1] могут использоваться, чтобы запустить существующие ранее исследования параметров, используя распределенные ресурсы. Но они не оказывают специальной поддержки для динамического исследования параметров.

1.2 Технологический процесс

Реальные прикладные сценарии становятся все более и более сложными из-за необходимой поддержки мультифизических приложений, шагов предварительной обработки, фильтров постобработки, визуализацию, и итерационный поиск оптимальных решений в наборе параметров. Эти сценарии требуют использования различных компьютерных систем в Grid, что требует использования сложных процедур, которые лучше всего описаны спецификацией технологического процесса. Определение и выполнение этих процедур требуют дружественных пользователю инструментальных средств описания технологического процесса с графическими интерфейсами. Существуют несколько систем технологического процесса Grid. Системы (Triana [4] и UNICORE), которые основаны на направленных графах без петель (DAG), ограничены относительно мощности модели. С другой стороны системы (GSFL [6], и BPEL4WS [6]), основанные на технологических процессах, решили эти проблемы, но слишком сложны для обыкновенного пользователя. С этими инструментальными средствами, даже для опытных пользователей, трудно описать нетривиальный технологический процесс, который включает данные и вычислительные ресурсы. Система SEGL, описанная в данной статье, стремится преодолеть эти недостатки, и усилить преимущества среды Grid за счет инструментального средства ориентированного на технологический процесс. Она включает в себя графический редактор и рабочий механизм обработки для динамических исследований параметров

1.3 Динамическая параметризация

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

2 Системная архитектура и реализация

На рисунке 1 показана системная архитектура SEGL, который состоит из трех основных компонентов: User Workstation (Клиент), ExpApplicationServer (Сервер) и ExpDBServer (OODB). Система работает согласно клиент-серверной модели, в которой Сервер ExpApplication взаимодействует с удаленными целевыми компьютерами, используя межплатформенный Grid сервис. Реализация основана на Java 2 Platform Enterprise Edition (J2EE). Система работает под ОС Windows так же, как и на платформах UNIX.

Системная архитектура

Рисунок 1  — Системная архитектура

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

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

  1. Стандартный модуль вычисления и модуль вычисления заданный пользователем.
  2. Направление ввода и вывода данных между репозиторием метаданных и модулем вычисления.
  3. Параметризированные правила для входного набора данных.
  4. Синхронизацию процессов между блоками.

Задача — контейнер приложения. ResourceMonitor содержит информацию о доступных ресурсах в среде Grid.

MonitorSupervisor управляет работой системы выполнения и сообщает Клиенту о текущем состоянии заданий и отдельных процессов.

ExpEngine - управляющая подсистема SEGL. Она состоит из трех подсистем: TaskManager, JobManager и DataManager.

TaskManager - центральный диспетчер ExpEngine, координирующий работу DataManager и JobManager:

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

DataManager организует обмен данными между ExpApplicationServer и FileServer и между FileServer и ExpDBServer. Кроме того, он управляет всеми процессами параметризации входных данных. JobManager генерирует задания и размещает их в соответствующий SubServer целевых машин. Он управляет размещением задач в очереди и контролирует их выполнение.

[ Статья переведена не полностью. Полный текст статьи на английском языке — www.fz-juelich.de/nic-series/volume33/049.pdf ]

Выводы

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

Литература

  1. de Vivo A., Yarrow M. McCann K. A comparison of parameter study creation and job submission tools; Technical report NAS-01002, NASA Ames Research Center, Moffet Filed, CA, 2000
  2. Foster I., Kesselman C. The Globus Project: A Status Report; In: Proc. IPPS/SPDP’98 Heterogeneous Computing Workshop, pp4-18, 1998.
  3. Erwin D. Joint Project Report for the BMBF Project UNICORE Plus, Grant Number: 01 IR 001 A-D, Duration: January 2000 - December 2002;
  4. Taylor I., Shields M., Wang I., Philp R.: Distributed P2P Computing within Triana: A Galaxy Visualization Test Case; IPDPS 2003 Conference, Nice / France, 2003.
  5. FastObject webpage: www.fastobjects.com
  6. Tony A., Curbera F., Dholakia H., Goland Y., Klein J., Leymann F., Liu K., Roller D., Smith D., Thatte S., Trickovic I., Weerawarana S. Specification: Business Process Execution Language forWeb Services Version 1.1, May 05, 2003