Механизм исполнения GridMD приложения - Повышение производительности работы библиотеки GridMD

Управление исполнением графа осуществляется обособленно из Клиентского приложения, осуществляющего вызовы интерфейсных функций библиотеки GridMD [8]. Клиентское приложение отправляет запросы удаленным вычислительным ресурсам в случае, если пользователь сконфигурировал исполнение узлов графа как распределенное. Пользователь может определить узел графа как Локальный, тогда гарантируется, что узел будет выполнен процессом самого клиентского приложения после разрешения всех зависимостей этого узла от остальных. Хорошими кандидатами для локального исполнения являются небольшие управляющие конструкции, например аккумулирование результатов исполнения трудоемких узлов. Стоит отметить, что возможно физически локальное исполнение узлов (на той же машине, где исполняется клиентское приложение), но в контексте библиотеки Логически такие узлы будут исполняться отличным от клиентского приложения процессом на вычислительном ресурсе, Являющимся командной оболочкой операционной системы. Менеджер заданий будет управлять исполнением такого узла так же, как и другими распределено исполняемыми узлами.

Исполнение GridMD приложения состоит из двух режимов - режима конструирования графа и режима исполнения графа [9]. В режиме конструирования графа приложение создает граф по пользовательским вызовам конфигурационных функций объекта менеджера сценариев в главной функции приложения Main(), обходя исполняемые действия узлов графа. Далее, по мере активации алгоритмом анализа графа, узлы передаются на исполнение копии того же исполняемого кода, что используется при конструировании графа, но запущенного в режиме исполнения графа. Это может быть рекурсивный вызов главной функции приложения, организация нового потока в рамках клиентского приложения или нового процесса на локальной машине, или путем передачи задания удаленному вычислительному ресурсу. Исполнение заданий контролирует менеджер заданий.

Похожие статьи




Механизм исполнения GridMD приложения - Повышение производительности работы библиотеки GridMD

Предыдущая | Следующая