Workflow-методология - Повышение производительности работы библиотеки GridMD
Суть workflow-методологии хорошо отражена в определении, данным Workflow Management Coalition [5] - это автоматизация бизнес процесса, при котором задания и документы передаются от одного исполнителя к другому исходя из набора процедурных правил. Workflow-методология позволяет представить некий производственный процесс в виде Сценария, состоящий из описания элементарных операций, из которых состоит процесс, описания исполнителей операций, описания последовательности выполнения операций - потоков управления; потоков данных, определяющих передачу информации между операциями, и описания внешних событий, которые могут влиять на ход выполнения процесса. Такая модель описания бизнес-процесса хорошо подходит для описания научного вычислительного процесса, когда ученый формулирует вычислительный эксперимент и выдает задания исполнителям - вычислительным ресурсам, в общем случае распределенным. Исходя из общих особенностей научных вычислительных процессов, таких как трудность оценки необходимого количества ресурсов для решения конкретной задачи, высокая вероятность отказа отдельных ресурсов, необходимость работы с большим объемом данных и существования иерархии подсценариев внутри главного вычислительного сценария строятся научные Системы управления сценариями. Система управления сценариями состоит из набора программных компонентов, предназначенных для описания пользователем сценария и его интерпретации, создания и управления экземплярами процессов, исполняющих сценарий и организации взаимодействия процессов с внешними приложениями.
Описание сценариев в научных системах управления сценариями строится на формальном представлении сценариев workflow-методологии. Ниже будут рассмотрены некоторые из них в контексте конкретных реализаций научных систем управления сценариями.
Представление в виде ориентированных ациклических графов. Сценарий представляется в виде графа без циклов, где в качестве вершин выступают исполняемые программы или выполняемые операции, а ребра устанавливают зависимости между ними и определяют последовательность их исполнения.
Примерами таких систем являются UNICORE, Condor. Condor является примером системы диспетчеризации заданий, в которую в качестве компонента входит планировщик выполнения действий, связанных с узлами графа DAGMan. DAGMan разбирает граф, представленный пользователем в виде текстового файла, с которым также связываются файлы-скрипты, описывающие задания, связанные с вершинами графа. Далее, исходя из зависимостей узлов, DAGMan выдает задания системе диспетчеризации заданий, обеспечивающей их распределенное выполнение. Задание отправляется на выполнение только в случае, если выполнены все его родительские задания. Помимо файла описания задания, с узлом графа связываются PRE - и POST - скрипты, выполняющиеся до и после выполнения задания соответственно. Основное их назначение состоит в подготовке входных файлов для задания, очистки и удаления временных файлов после выполнения задания и подготовке входных данных для последующих заданий.
Представление в виде сетей Петри. Сценарии исполнения также представляются в виде Цветных сетей Петри, Подробное описание формализма которых можно найти в [5]. Такое представление, в отличие ориентированных графов, позволяют описывать не только Поведение процесса, но и фиксировать его Состояние в ходе выполнения. Сети Петри имеют широкую аналитическую базу, методы которой могут быть использованы для доказательства различных свойств (выполнимость, поиск мертвых точек) и вычисления характеристик (время отклика, время ожидания) выполнения сценариев. Примером системы, использующей представления сценариев в виде сетей Петри является Fraunhofer Resource Grid [8].
Скриптовые языки. Главным преимуществом скриптовых языков описания сценария в отличие от графовых моделей является поддержка логико-арифметических конструкций, таких как циклы и условия. Примерами таких систем являются GridAnt и Karajan.
В данной работе будет рассмотрена и оптимизирована работа более низкоуровневого представителя класса систем управления сценариями - библиотеки GridMD языка C++. Библиотека GridMD использует графовую модель описания сценария, где граф конструируется пользователем библиотеки с помощью вызовов функций языка C++. Отличительными особенностями библиотеки является ее широкая переносимость, возможность глубокого управления вычислительным процессом, широкая типизация зависимостей между узлами графа и возможность встраивания кода исполняемых задач в один исполняемый файл с его последующим распределенным выполнением. GridMD реализована с использованием компонентов библиотеки wxWidgets [6] и заголовочных файлов шаблонных классов библиотеки Boost [7] .
Похожие статьи
-
Основные компоненты библиотеки - Повышение производительности работы библиотеки GridMD
Двумя главными компонентами библиотеки GridMD является менеджер сценариев и менеджер заданий (Рис. 4) [10]. Менеджер сценариев разбирает определенный...
-
Обозначенные условия определяют работу по внедрению многопоточных средств в модели параллельного программирования С общей памятью с использованием...
-
В рамках данной работы будет произведена оптимизация выполнения Локальных узлов графа исполнения. В процессе исполнения графа возможна итерация, в...
-
Общие сведения о библиотеке GridMD Библиотека GridMD является инструментом разработчика распределенных приложений [8][9][10]. Приложение, разделяемое на...
-
Введение - Повышение производительности работы библиотеки GridMD
На сегодняшний день уровень развития вычислительной техники и средств доступа к вычислительным ресурсам предоставляет значительные возможности по...
-
Механизм исполнения GridMD приложения - Повышение производительности работы библиотеки GridMD
Управление исполнением графа осуществляется обособленно из Клиентского приложения, осуществляющего вызовы интерфейсных функций библиотеки GridMD [8]....
-
Библиотека GridMD поддерживает три механизма определения действий, связываемых с узлами графа [8]. Узел графа может соответствовать исполнению стороннего...
-
Модель вычислительного процесса в GridMD - Повышение производительности работы библиотеки GridMD
Узлы графа исполнения, используемого в GridMD, представляют собой конкретные этапы исполнения, с которыми связываются действия, определяемые программным...
-
Иерархия параллельных вычислительных систем - Повышение производительности работы библиотеки GridMD
Одной из основополагающих классификаций параллельных систем является Таксономия Флинна , в которой различаются следующие типы систем по взаимодействию...
-
Заключение, Список используемых источников - Повышение производительности работы библиотеки GridMD
В работе произведена успешная оптимизация выполнения локальных узлов графа исполнения приложений, основанных на библиотеки GridMD. В качестве метода для...
-
Одной из особенностей библиотеки GridMD является поддержка Алгоритмических шаблонов распределенных вычислений. Алгоритмические шаблоны являются...
-
Программное обеспечение промежуточного уровня (middleware) Является основной концепцией по организации программного обеспечения распределенных систем...
-
Общие сведения о распределенных вычислениях Обычно под Распределенными вычислениями понимают область знаний, изучающую организацию Распределенных систем...
-
Создание очереди заданий - Повышение производительности работы библиотеки GridMD
Для организации работы потоков был выбран паттерн проектирования Пул потоков (Thread Pool) [16] . Пул потоков является объектом, которому возможна выдача...
-
В качестве доступного инструментария были рассмотрены две открытые кроссплатформенные библиотеки для разработки C++ приложений WxWidgets и Boost ,...
-
Тестирование эффективности многопоточной реализации исполнения локальных узлов производилось на примере расчета определенного интеграла функции. Расчет...
-
В современной технологии баз данных предполагается, что создание базы данных, ее поддержка и обеспечение доступа пользователей к ней осуществляются...
-
Коммуникационная библиотека MPI MPI это интерфейс прикладного программирования к библиотеке пересылки сообщений, содержащий в себе спецификации к...
-
Несмотря на то, что к IoT Hub можно подключиться напрямую, используя протоколы HTTP или AMQP), Microsoft также предоставляет разные SDK для разных языков...
-
Как отмечалось, входной язык системы MathCAD -- интерпретирующий. В интерпретаторах, например в добром старом Бейсике, листинг программы пользователя...
-
SimpleXML. В PHP версии 5.0 и выше появилось расширение для работы с xml структурой. Библитека SimpleXML содержит большое количество методов для работы с...
-
На чем основана работа программы - Rational Rose для разработчиков
Итак, от общих тем перейдем непосредственно к тому, что умеет делать CASE Rational Rose. Являясь объектно-ориентированным инструментом моделирования,...
-
Этапы проектирования базы данных - Автоматизация процесса работы руководства ООО "Сервис партнер"
Основная цель проектирования БД заключается в том, чтобы обеспечить пользователя более точными данными, полностью удовлетворяющими их информационные...
-
Заключение - Библиотека OpenGL
Система OpenGL является гибким процедурным интерфейсом, позволяющим программисту разрабатывать различные приложения с применением трехмерной графики. В...
-
Структура программных средств - Автоматизация процесса работы руководства ООО "Сервис партнер"
На рисунке 10 показана принципиальная схема взаимодействия элементов разработанной системы. Рисунок 10 Схема взаимодействия элементов системы На рисунке...
-
Основная цель системы ДИСКОР - совершенствование оперативного управления работой железных дорог на основе более эффективного использования пропускной...
-
Цель Работы - использовать принципы архитектуры "Документ-Представление" для выборки и сохранения данных в файлах, а также взаимодействия элементов меню,...
-
Цель работы - Разработка компилятора подмножества языка Паскаль на язык Ассемблера
Изучение составных частей, основных принципов построения и функционирования компиляторов. Создание компилятора с заданного подмножества языка Паскаль с...
-
Выбор средств реализации информационной системы Названные в параграфе 1.4. настоящей работы задачи могут быть решены тремя типами средств автоматизации:...
-
Структурная схема терминов Пути повышения эффективности АС и совершенствование обеспечивающей части АС Совершенствование вычислительной техники и АС...
-
Архитектура фон Неймана - Характеристика, классификация и принцип работы центральных процессоров
Большинство современных процессоров для персональных компьютеров в общем основаны на той или иной версии циклического процесса последовательной обработки...
-
Введение - Автоматизация процесса работы руководства ООО "Сервис партнер"
Потоки информации в мире, который нас окружает, огромны. Во времени они имеют тенденцию к увеличению. Поэтому в любой организации, как большой, так и...
-
Структура и процесс функционирования системы управления базами данных - Разработка базы данных
СУБД является прикладным программным обеспечением, предназначенным для решения конкретных прикладных задач и выполнения системных функций, расширяющих...
-
Visual component library graphics Цель работы: изучение графических возможностей стандартной библиотеки визуальных компонентов VCL, функций и процедур...
-
Повышение производительности дисководов с помощью утилиты Speed Disk (SPEEDISK)
Лабораторная работа № 5 Тема: Повышение производительности дисководов с помощью утилиты Speed Disk (SPEEDISK). Цель: Освоить приемы обеспечения повышения...
-
Числовой массив блок используется для чтения или записи массив до 64 целых или отдельных значений с плавающей точкой точности. Входы / Выходы Блоки...
-
OpenGL - это программный интерфейс к графической аппаратуре. Этот интерфейс состоит приблизительно из 250 отдельных команд (около 200 команд в самой...
-
Коммуникационная библиотека PVM - Администрирование параллельных процессов
PVM (Parallel Virtual Machine) является продуктом исследовательского проекта по сетевым вычислениям в гетерогенной сетевой среде. Общая цель этого...
-
Анализ принципа работы БП адаптера связи ОП - Работка буферной памяти адаптера связи
Буферная память этопамять для промежуточного хранения данных. Применяется при обмене данными между двумя устройствами, обладающими различной скоростью...
-
Как уже было сказано в предыдущем параграфе, сегодня ключевыми информационно-коммуникационными технологиями в интернет-среде являются поисковые системы,...
Workflow-методология - Повышение производительности работы библиотеки GridMD