Структура хранения множеств заданий и алгоритм назначения их на выполнение в подсистеме анализа заданий автоматизированных системах научного исследования (АСНИ)

Применение в автоматизированных системах научного исследования (АСНИ) распределенных вычислительных ресурсов. Проектирование и использование баз данных. Структура хранения множеств заданий и алгоритм назначения их на выполнение в подсистеме анализа.

Рубрика Программирование, компьютеры и кибернетика
Вид статья
Язык русский
Дата добавления 22.08.2020
Размер файла 23,7 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http: //www. allbest. ru/

Орловский государственный технический университет, г. Орёл

Структура хранения множеств заданий и алгоритм назначения их на выполнение в подсистеме анализа заданий автоматизированных системах научного исследования (АСНИ)

Мозгов С.С.

к.т.н., доцент кафедры «Информационные системы»

Annotatіon

Structure of tasks storage and algorithm of their purpose for performance in the subsystem of tasks analysis in ASSR.

Применение в автоматизированных системах научного исследования (АСНИ) распределенных вычислительных ресурсов, позволяет сократить временные затраты на проведение исследований, а значит повысить эффективность исследований в целом. Особенностью вычислений в АСНИ является наличие множества вычислительных взаимосвязанных подзадач, расчет которых может производиться в распределенной среде на различных вычислительных устройствах. Для работы с множеством таких заданий необходимо обеспечить механизмы их хранения в памяти ЭВМ. База данных обеспечивает удобное структурированное хранение всей информации, используемой в процессе анализа и назначения множеств заданий на выполнение.

Разрабатывая структуру хранения информации необходимо очертить границы предметной области. Понятие предметной области базы данных является одним из базовых. В контексте информационных систем данное понятие предполагает существование устойчивой во времени соотнесенности между именами, понятиями и определенными реалиями внешнего мира, не зависящей от самой системы и круга ее пользователей [1]. Определение границ предметной области позволит выделить множество объектов (сущностей), информацию о которых требуется хранить в базе данных.

Выделив сущности предметной области, необходимо определить множество именуемых свойств данных сущностей или их атрибутов. Выявление и формальное описание этих множеств позволит учесть в разрабатываемой структуре средства для хранения всех данных, необходимых подсистеме анализа заданий в АСНИ.

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

Применительно к предметной области можно выделить следующие концептуальные объекты хранения:

- задание;

- взаимосвязь между заданиями.

Сущность «Задание», обладает множеством атрибутов, хранение которых необходимо для дальнейшей передачи их системам выполнения. Данные атрибуты характеризуют как само задание, так и ограничения, накладываемые на вычислительные ресурсы на которых данное задание может выполняться. Выделим основные из них:

- название;

- описание;

- название проекта к которому оно относится;

- запускаемое приложение;

- параметры для запуску;

- входные наборы данных;

- выходные наборы данных;

- требования к ресурсам.

«Название», является идентифицирующим атрибутом, оно однозначно определяет задание.

«Описание» позволяет добавить к заданию некоторую дополнительную информацию, характеризующую данное задание и его назначение. Этот атрибут не используется непосредственно подсистемой анализа заданий и является необязательным информационным свойством.

«Название проекта» также является дополнительным информационным атрибутом, позволяющим определить, к какому вычислительному проекту относится данное задание. Такое свойство позволяет выделить из множества заданий вычисляемых в среде GRID, те из них, которые относятся к конкретному вычислительному проекту.

Атрибут «запускаемое приложение», определяет то программное средство, которое необходимо запустить для выполнения данного задания. Этот атрибут указывает на конкретный запускаемый файл, при этом язык, на котором написано приложение или среда, в которой оно должно запускаться, не имеют значения.

«Параметры для запуску», представляют собой опции, которые указываются при запуске приложения. Эти опции могут быть переданы как среде GRID, если выполнение происходит в ней, так и в командную сроку запуска командного интерпретатора операционной системы Linux, если работа ведется в среде OpenMosix.

Атрибут «входные наборы данные», хранит информацию о данных поступающих на вход запускаемого приложения, при этом он так же должен содержать информацию об объеме входной информации. Такие данные потребуется для передачи среде GRID, с целью подбора менеджером заданий такого, вычислительного ресурса, который сможет принять описанный объем.

Атрибут «выходных наборы данных», подобен атрибуту «входные наборы данные», только применяется для описания тех данных, которые выступят в качестве результата работы вычислительного приложения.

«Требование к ресурсам» - атрибут, который должен обеспечить хранение всей необходимой информации, связанной с ограничениями, накладываемыми на ресурсы вычислительного узла, который может обработать данное вычислительное задание. Ограничения могут касаться таких параметров как:

Таблица 1 Рисунок 1 Матрица зависимости заданий

1

2

3

4

5

6

7

N

1

-

+

2

+

-

3

-

+

+

4

-

+

5

-

+

6

-

+

7

-

-

N

-

- производительность процессора;

- архитектура процессора;

- операционная система;

- объем оперативной доступной памяти;

- объем доступной виртуальной памяти;

- файловая система, применяемая на узле;

- другие.

Сущность «взаимосвязь между заданиями» используется для хранения информации, связанной с зависимостью одного вычислительного задания от другого. Наличие зависимости говорит о том, что одно задание не может быть выполнено до момента успешного завершения другого, а также о том, что выходные данные одного задания могут являться входными для другого. Несмотря на возможную сложность взаимосвязей заданий в АСНИ, с точки зрения подсистемы анализа, достаточно хранить информацию, описывающую единичные связи, подобно описанию направленного графа, когда записываются только список дуг. В списке дуг указывается пара вершин, где первая вершина - источник, а вторая цель дуги. Таким образом, в данной сущности можно выделить два атрибута:

- источник;

- цель.

Атрибут «источник» однозначно определяет одно задание из множества. В качестве значения может использоваться название задания или идентификатор.

Атрибут «цель» обладает такими же свойствами, что и атрибут «источник».

Описанная структура хранения, позволит учесть все данные необходимые для решения задач анализа заданий в АСНИ. Однако при работе системы, в процессе выбора готовых к выполнению заданий, неэффективно осуществлять запросы к базе данных. Представление зависимостей заданий удобнее обрабатывать, работая с оперативной памятью. Кроме того, в процессе выполнения заданий информация о их зависимостях не изменяется, поэтому не требуется механизмов быстрого ее обновления. Множество зависимостей в таком случае целесообразно представить в виде матрицы смежности, реализуемой с помощью двумерного массива размерности NxN, где N - количество заданий [2]. Поскольку в рассматриваемой нами случае не может быть циклических зависимостей между заданиями, в данном массиве ячейки главной диагонали будут пусты. Пример такого массива приведен на рисунке 1. В данном случае зависимость имеет следующий характер:

- задания 2 и 6 не зависят от других заданий и могут быть отправлены на выполнение первыми;

- задание 1 может быть запущенно сразу после окончания работы задания 3;

- задание 3 может выполняться после завершения обработки заданий 2;

- задания 4 и 5 зависят от результата выполнения задания 3;

- заданию 7 зависит от группы заданий, а именно от заданий 4, 5 и 6 и может выполняться только после завершения работы всех трех этих заданий.

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

Данный алгоритм начинает свою работу каждый раз, когда система получает информацию об успешном завершении одного из заданий. В блоке 1 происходит просмотр матрицы зависимостей, составляется список заданий, которые зависят от процесса, завершившего свою работу. Этот список может быть пуст, если у задания не было ни одного зависимого. Если зависимые задания есть, происходит выбор одного их них в блоке 4, и в блоке 5 проверяется возможность назначения данного задания на выполнение. Задание может быть направленно на выполнение только в том случае, если закончили выполнение все задания, от которых данное зависит, а также, если готовы все входные данные. Если условие 5 выполняется, формируется задания для среды GRID или OpenMosix и отправляется в вычислительную среду. Если же задание еще не может быть запущенно, запуск не происходит. Алгоритм работает циклично, обрабатывая все задания, находящиеся в списке, сформированном в блоке 2, и завершает свою работу, только тогда, когда в данном списке необработанных заданий не остается.

Размещено на http: //www. allbest. ru/

Рисунок 1 Алгоритм запуска заданий

автоматизированный база данные алгоритм

Литература

1. Диго, С.М. Проектирование и использование баз данных [Текст]: Учебник / С.М. Диго. - М.: Финансы и статистика, 1995. - 208 с.

2. Воеводин В. В., Воеводин Вл. В. Параллельные вычисления. - Спб.: БХВ-Петербург, 2002. - 608 с.: ил. ISBN 5-94157-160-7

Размещено на Allbest.ru

...

Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.