Дополнительные возможности менеджера сценариев - Повышение производительности работы библиотеки GridMD
Одной из особенностей библиотеки GridMD является поддержка Алгоритмических шаблонов распределенных вычислений. Алгоритмические шаблоны являются высокоуровневыми моделями программирования распределенных приложений. Преимущество использования шаблона состоит в том, что требуется лишь привязать конкретные исполняемые процедуры к этапам шаблона алгоритма, а все служебные действия по взаимодействию параллельных вычислительных процессов библиотека выполнит скрыто от пользователя [10] .
Библиотека GridMD предоставляет шаблон Fork-split-merge, реализованный в виде класса GmFork. Он реализует шаблон ветвления, в котором граф начинается узлом Start, где происходит расхождение параллельных ветвей графа в узлы Split, Далее возможно произвольное количество узлов, которые приходят в конечный узел каждой из ветвей Merge. В конце каждый из узлов Merge соединяются с узлом Finish (Рис. 6).
Рис. 6 Пример графа, сконструированного с помощью шаблона ветвления GmFork
Между узлами split и merge возможны новые ответвления графа, реализуемые с помощью GmFork или явного конструирования ветвей с помощью вызова функций Node().
Принцип работы с алгоритмическим шаблоном схож с построением графа при помощи менеджера сценариев, но в нем используется более высокоуровневый интерфейс конструирования графа, где узлы связываются
Между собой автоматически, исходя из положения типа создаваемого узла в последовательности шаблона. Еще одним важным преимуществом использования шаблона является привязка конкретного типа данных к связям между его узлами. Такая привязка обеспечивает контроль соответствия типов передаваемых данных на этапе компиляции, которая возможна благодаря необходимости параметризации шаблонного класса GmFork<> типами передаваемых данных для каждой из связи между этапами шаблона. В случае же использования функций Node() Проверка возможна только на этапе выполнения.
Другой особенностью GridMD является возможность динамического изменения графа исполнения [8]. Пользовательский код, определяющий действия, связанные с узлами, может изменять граф исполнения в процессе выполнения приложения, обращаясь к объекту менеджера сценариев и вызывая его интерфейсные функций по добавлению новых узлов и связей. Узел, изменяющий граф, должен быть объявлен как Локальный.
При каждом изменении графа состояние его исполнения сохраняется в файл формата XML, что позволяет произвести перезапуск приложения с места его последней остановки. Кроме того, GridMD поддерживает средство визуализации графа GraphViz, Обновляя соответствующий графу .dot файл при его изменениях. Визуализация графа исполнения может быть полезна для отладки приложения.
Похожие статьи
-
Модель вычислительного процесса в GridMD - Повышение производительности работы библиотеки GridMD
Узлы графа исполнения, используемого в GridMD, представляют собой конкретные этапы исполнения, с которыми связываются действия, определяемые программным...
-
Тестирование эффективности многопоточной реализации исполнения локальных узлов производилось на примере расчета определенного интеграла функции. Расчет...
-
Библиотека GridMD поддерживает три механизма определения действий, связываемых с узлами графа [8]. Узел графа может соответствовать исполнению стороннего...
-
Заключение, Список используемых источников - Повышение производительности работы библиотеки GridMD
В работе произведена успешная оптимизация выполнения локальных узлов графа исполнения приложений, основанных на библиотеки GridMD. В качестве метода для...
-
В рамках данной работы будет произведена оптимизация выполнения Локальных узлов графа исполнения. В процессе исполнения графа возможна итерация, в...
-
Workflow-методология - Повышение производительности работы библиотеки GridMD
Суть workflow-методологии хорошо отражена в определении, данным Workflow Management Coalition [5] - это автоматизация бизнес процесса, при котором...
-
Обозначенные условия определяют работу по внедрению многопоточных средств в модели параллельного программирования С общей памятью с использованием...
-
Основные компоненты библиотеки - Повышение производительности работы библиотеки GridMD
Двумя главными компонентами библиотеки GridMD является менеджер сценариев и менеджер заданий (Рис. 4) [10]. Менеджер сценариев разбирает определенный...
-
Механизм исполнения GridMD приложения - Повышение производительности работы библиотеки GridMD
Управление исполнением графа осуществляется обособленно из Клиентского приложения, осуществляющего вызовы интерфейсных функций библиотеки GridMD [8]....
-
Общие сведения о библиотеке GridMD Библиотека GridMD является инструментом разработчика распределенных приложений [8][9][10]. Приложение, разделяемое на...
-
Введение - Повышение производительности работы библиотеки GridMD
На сегодняшний день уровень развития вычислительной техники и средств доступа к вычислительным ресурсам предоставляет значительные возможности по...
-
Создание очереди заданий - Повышение производительности работы библиотеки GridMD
Для организации работы потоков был выбран паттерн проектирования Пул потоков (Thread Pool) [16] . Пул потоков является объектом, которому возможна выдача...
-
В качестве доступного инструментария были рассмотрены две открытые кроссплатформенные библиотеки для разработки C++ приложений WxWidgets и Boost ,...
-
Иерархия параллельных вычислительных систем - Повышение производительности работы библиотеки GridMD
Одной из основополагающих классификаций параллельных систем является Таксономия Флинна , в которой различаются следующие типы систем по взаимодействию...
-
Программное обеспечение промежуточного уровня (middleware) Является основной концепцией по организации программного обеспечения распределенных систем...
-
Общие сведения о распределенных вычислениях Обычно под Распределенными вычислениями понимают область знаний, изучающую организацию Распределенных систем...
-
Коммуникационная библиотека MPI MPI это интерфейс прикладного программирования к библиотеке пересылки сообщений, содержащий в себе спецификации к...
-
Visual component library graphics Цель работы: изучение графических возможностей стандартной библиотеки визуальных компонентов VCL, функций и процедур...
-
SimpleXML. В PHP версии 5.0 и выше появилось расширение для работы с xml структурой. Библитека SimpleXML содержит большое количество методов для работы с...
-
- установить свойство Align в значение AlBottom ; - выбрать свойство Panels и с помощью кнопки в левом верхнем углу разбить панель на две части (рисунок...
-
Реляционной базой данных является база данных, состоящая из двумерных таблиц. На основе составленной концептуальной модели данных строится логическая...
-
В качестве предметной области рассматривается АРМ (Автоматизированное Рабочее Место) менеджера по работе с корпоративными клиентами. Задачей создаваемой...
-
Несмотря на то, что к IoT Hub можно подключиться напрямую, используя протоколы HTTP или AMQP), Microsoft также предоставляет разные SDK для разных языков...
-
Как отмечалось, входной язык системы MathCAD -- интерпретирующий. В интерпретаторах, например в добром старом Бейсике, листинг программы пользователя...
-
Возможности системы Широкую известность и заслуженную популярность еще в середине 80-х годов приобрели интегрированные системы для автоматизации...
-
Разработка интеграционных платформ началась одновременно с исследованием и развитием Интернета Вещей. Это происходило по той причине, что сама концепция...
-
Для реализации вышеописанных пользовательских историй опишем функциональные требования, на которые будет опираться процесс разработки. Во-первых, самый...
-
Классификация баз данных - Виды и возможности СУБД
Многообразие характеристик и видов баз данных порождает многообразие классификации. Рассмотрим основные виды классификации. По технологии обработки...
-
Основные возможности табличного процессора MS Excel
Задание 1. Необходимо Создать Лист Для Расчета Значения Выражения При Заданных Значениях A И B 1.1. Оформляем таблицу, принимаем за a и b некоторые...
-
Цель Работы - использовать принципы архитектуры "Документ-Представление" для выборки и сохранения данных в файлах, а также взаимодействия элементов меню,...
-
Цель Работы - изучить приемы создания и использования шаблонов классов. - Теоретические сведения Достаточно часто встречаются классы, объекты которых...
-
Методика анимации - Работа с языком Турбо Паскаль
Эффект анимации достигается быстрым чередованием кадров постепенно изменяемого изображения. При этом нежелательно формировать каждый кадр целиком,...
-
Моделирование работы сети - Сеть абонентского доступа
Цель моделирования - проектирование и оптимизация надежности абонентского доступа. В качестве инструмента моделирования был выбран пакет NetCracker...
-
Руководство программиста - Автоматизация процесса работы руководства ООО "Сервис партнер"
Для доступа к возможностям редактирования базы данных, ее таблиц, формул запросов, макросов, форм и отчетов необходимо при запуске приложения удерживать...
-
Данный алгоритм (англ. Maximal Neighborhood Search - MNS) [7] в отличие от алгоритма BFS позволяет дополнительно упорядочить вершины в найденных...
-
Пусть в сборку входит n монтажников, Тогда - множество монтажников, участвующих в одном этапе - рабочие, участвующие в выполнении одной операций -...
-
Жизненный цикл СУБД - Виды и возможности СУБД
Жизненный цикл СУБД -- это совокупность этапов, которые проходит база данных на своем пути от создания до окончания использования. Часто встречаемые...
-
Методология Все тесты будут необходимо провести на разных размерах базы данных, чтобы увидеть, как классические JOINы скалируются в сравнении с...
-
Информационное обеспечение Данные в системе будут храниться в базе данных на жестком диске. Для защиты данных от разрушения необходимо использовать...
-
Концептуальные диаграммы - наиболее распространенные средства моделирования, при помощи которых определяются важные для предметной области...
Дополнительные возможности менеджера сценариев - Повышение производительности работы библиотеки GridMD