Лабораторная работа 04: Использование приложения Expert Client

Введение........................................................................................................................... 2

Цель лабораторной работы.............................................................................................. 2

Требования........................................................................................................................ 2

Упражнение 1 – Возможности Expert Client........................................................................ 3

Упражнение 2 – Создание первого процесса..................................................................... 5

Упражнение 3 – Модификация процесса............................................................................ 7

Выводы............................................................................................................................. 8

Введение

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

Цель лабораторной работы

Целью лабораторной работы является получение навыков работы с клиентом Expert Client.

§  Упражнение 1.

Возможности Expert Client.

НЕ нашли? Не то? Что вы ищете?

§  Упражнение 2.

Создание первого процесса.

§  Упражнение 3.

Модификация процесса.

Требования

Для выполнения данной лабораторной работы потребуется следующее программное обеспечение:

·  JDK или JRE версии 5.0 или выше

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

Загрузить можно с сайта http://.

·  Apache Ant версии 1.6 или выше

Это утилита для сборки программ из исходного кода, написанных на языке Java. Программа является эквивалентом известной утилиты make.

Загрузить утилиту можно с сайта проекта http://ant. apache. org.

·  Java WS-Core из пакета Globus Toolkit 4

Globus Toolkit – набор программного обеспечения и служб для создания грид и приложений для него. Последняя версия этого пакета включает в себя средства разработки веб-сервисов в соответствии с стандартами WS-x, среду их функционирования, а также базовый набор сервисов.

Java WS-Core является частью GT 4 и предназначена для создание, внедрения веб-сервисов, написанных на Java

Инструментарий GT 4 является продуктом с открытым исходным кодом. С официального сайта проекта http://www. globus. org/toolkit можно загрузить два варианта дистрибутива:

§  собранный дистрибутив (ws-core-4.0.x-src. zip)

§  дистрибутив в виде исходных текстов (ws-core-4.0.x-bin. zip)

§  Для данной лабораторной работы рекомендуется использовать дистрибутив в виде исходных текстов.

·  Grid Programming Environment

Инструментарий GPE является продуктом с открытым исходным кодом. Загрузку инструментария можно осуществить с официального сайта проекта http://gpe4gtk. в виде:

§  собранного дистрибутива;

§  исходных кодов.

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

·  Среду разработки Eclipse версии 3.2

Загрузить можно с сайта http://www. eclipse. org

В данной лабораторной работе предполагается, что JDK и Apache Ant установлены на машине, Java WS-Core и GPE установлены и настроены в соответствии с инструкциями Лабораторной работы 01: Установка, настройка, проверка работы Grid Programming Environment (GPE). Также предполагается, что была выполнена Лабораторная работа 02: Внедрение в грид вычислительного приложения средствами GPE и Лабораторная работа 03: Внедрение в грид приложения визуализации данных средствами GPE.

Упражнение 1 – Возможности Expert Client

Expert Client предназначен прежде всего для опытных пользователей, которые планируют создавать свои собственные сложные задания – процессы (workflow) в сочетании с использованием различных грид‑сервисов.

Expert Client – автономное Java приложение, предоставляющее полный доступ ко всей информации грид. С его помощью можно загружать одновременно несколько GridBean, создавать процессы, работать одновременно с несколькими сертификатами и т. д. Данный клиент автоматически загружает из GridBean Service необходимый GridBean, который используется для создания описания задания, отправки задания на выполнение и для управления заданиями и файлами в грид.

Для создания процесса в клиенте есть редактор (workflow editor). Созданная схема процесса переводится в описание процесса на языке XML (используя подмножество языка BPEL), которое при исполнении задания отправляется в сервис обработки BPEL, который занимается исполнением элементов процесса, вызывая соответствующие грид-сервисы.

Запустите Expert Client с помощью сценария run_6_ExpertClient. bat. Для возможностей отладки с использованием среды Eclipse используйте команду Run | Debug... | Expert Client

В результате должно появиться окно следующего вида.

В Expert Client реализованы все возможности, которые доступны в Application Client, в том числе и работа с атомарными целевыми системами. Однако основным отличием от Application Client является то, что все действия с заданиями необходимо начинать с выбора целевой системы (в Application Client создание задания начиналось с загрузки GridBean). Чтобы создать задание как в Application Client выберите целевую систему типа Atomic и в контекстном меню выберите Create New Job | Load GridBean… После загрузки GridBean появляется панель задания с исходными параметрами.

Дальнейшие действия по вводу параметров и выполнения задания аналогичны действиям в Application Client. Основное отличие лишь в том, что все операции с заданием перенесены в контекстное меню задания.

Однако как было замечено выше, основным назначением Expert Client является создание и модификация процессов (workflow). Процесс – это сложное задание, состоящее из нескольких атомарных заданий и выполняемых специальными целевыми системами типа workflow.

Для создания пустого процесса выберите целевую систему типа workflow и в контекстном меню выберите операцию Create New Workflow.

Для завершения выполнения операции создания процесса введите его имя во вновь появившемся окне.

Замечание: созданное задание не регистрируется в целевой системе.

Процесс состоит из элементов, связанных в виде потока управления. Элементов процесса четыре вида:

·  Простой элемент (Simple Element)

Данный элемент предназначен для выполнения задания одного GridBean. После создания данного элемента в него необходимо загрузить GridBean.

·  Элемент с условием (If-Then-Else element)

Если исполнение задания завершилось состоянием SUCCESFULL, то будет выполняться ветвь “Then”. Если состояние FAILED, то ветвь “Else”.

Замечание: каждая подветвь состоит может состоять из последовательности набора элементов, поэтому можно строить достаточно сложные процессы.

·  Циклический элемент (While element)

Внутренняя ветвь будет исполняться до тех пор, пока задание завершается состоянием SUCCESFULL.

·  Параллельный элемент (Parallel element)

Все ветви-потоки данного элемента будут выполняться одновременно.

Для добавления новой ветви используйте команду “Add Thread”. Для удаления – “Remove Thread”.

Также как и GridBean процесс имеет входные параметры. Редактирование параметров на вкладке Workflow Input Parameters.

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

Кроме входных параметров у процесса есть также внутренние переменные. Основное отличие входных параметров процесса и переменных это то, что инициализация входных параметров происходит до запуска процесса.

Упражнение 2 – Создание первого процесса

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

Выберите целевую систему типа workflow.

Замечание: если целевая система типа workflow не была создана ранее, то создайте её, используя приложение Application Client и файл свойств системы C:\Grid\localhostidb-wf. xml по инструкциям Лабораторной работы 01: Установка, настройка, проверка работы Grid Programming Environment (GPE)

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

Затем создайте два простых элемента, идущих последовательно как показано на рисунке:

В первый элемент загрузите GridBean для расчета данных

Во второй элемент загрузите GridBean для визуализации данных.

Выберите первый элемент и задайте для него входные параметры.

Перейдите на вкладку Input and Output Parameters. Здесь необходимо создать переменную, в которой будет храниться информация о выводе GridBean:

·  На панели Output Parameters выберите параметр Output и нажмите Edit.

·  Введите имя переменной и нажмите ОК. После выполнения данного GridBean в переменной процесса будет храниться информация о файле.

Выберите второй элемент и задайте для него входные параметры, кроме файла ввода.

Перейдите на вкладку Input and Output Parameters. Здесь необходимо назначить созданную ранее переменную входному параметру, который отвечает за входной файл:

·  На панели Input Parameters выберите параметр Source и нажмите Edit.

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

Перед отправкой задания на выполнение необходимо задать целевые системы для GridBean шагов процесса, которые задаются через параметр TargetSystem на вкладке Input and Output parameters. Задайте целевые системы для двух элементов процесса.

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

После выполнения данных действий выполните операцию Submit:

После отправки задания на выполнение около его имени появится информация о его статусе.

Обновление информации осуществляется с помощью операцию Refresh

У каждого GridBean появится отметка о статусе его выполнения:

·  Белая отметка – выполнения не было

·  Зеленая галочка – выполнение прошло успешно

·  Синий полукруг – идет выполнение

·  Красный крест – произошла ошибка во время исполнения

Дождитесь окончания выполнения и загрузите результаты последнего шага:

В панели Output просмотрите полученные результаты

Упражнение 3 – Модификация процесса

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

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

Приложение поддерживает визуализацию данных из нескольких файлов, поэтому нужно модифицировать только GridBean, который принимает несколько (два) входных файлов.

Откройте проект Tutorial3VizualizeGridBean. Модификация кода проекта не требуется, однако обратите внимание на изменения в коде GridBean для приложения визуализации данных. Изменения отмечены тэгом TODO:

·  Добавление нового параметра входного файла (SOURCE1 и SOURCE2)

·  Модификация списка параметров входных файлов

·  Модификация метода генерации описаний задания:

// Задание имен входных файлов

gpeJob. addField(INPUT_FIELD,

((InputFileParameterValue) get(SOURCE1)).getTargetSystemFile()

+" "+((InputFileParameterValue) get(SOURCE2)).getTargetSystemFile());

·  Модификация метода чтения описаний задания:

// Чтение параметров файла ввода

String input = gpeJob. getField(INPUT_FIELD);

String[] inputFiles = input. split(" ");

set(SOURCE1, new InputFileParameterValue(inputFiles[0]));

set(SOURCE2, new InputFileParameterValue(inputFiles[1]));

·  Добавление еще одной панели ввода

addInputPanel(new EditorPanel(client, "Source1",

Tutorial3VisualizeGridBean. SOURCE1,

new GenericFileFilter(), getParameter()));

addInputPanel(new EditorPanel(client, "Source2",

Tutorial3VisualizeGridBean. SOURCE2,

new GenericFileFilter(), getParameter()));

Скомпилируйте код GridBean и создайте JAR файл.

После этого создайте процесс следующего вида:

Настройте связь между выходными и входными файлами по ранее указанной схеме (используйте вкладку Input and Output Parameters)

Оптимизированный процесс готов. Проверь его работоспособность.

Выводы

В данной лабораторной работе было рассмотрено назначение Expert Client, получены основные навыки работы с Expert Client по созданию и редактированию процессов.