Научная статья на тему 'Исследование алгоритмов построения статического и динамического расписаний запуска задач для системы обработки данных'

Исследование алгоритмов построения статического и динамического расписаний запуска задач для системы обработки данных Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
106
34
i Надоели баннеры? Вы всегда можете отключить рекламу.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Егоров С. С., Миллер В. Е., Мустафин Н. Г., Фомкин Ю. В.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Исследование алгоритмов построения статического и динамического расписаний запуска задач для системы обработки данных»

4) планирование и учет производственных ресурсов - поддерживает бизнес-процессы управления производственными ресурсами в соответствии с настроенной моделью предприятия и конфигурацией самой системы;

5) представление - обеспечивает пользовательский интерфейс.

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

Разработка системы классов является предметом серьезной проектной работы на этапе разработки проекта внедрения и практически не требует поддержки и вмешательства группы программирования. Более того, работу по настройке может выполнять обученная группа внедрения от заказчика. Подробнее об использовании описанного подхода в практике проектирования можно ознакомиться на сайте www.isresurs.spb.ru.

Список литературы

1. Дубенецкий В.А., Советов Б.Я., Цехановский В.В. Модели информационных технологий организационного управления. // Сб. избран. работ по грантам в обл. информатики и систем управления. - Региональный центр науч.-технич. экспертизы при СПГЭТУ. -1996.

2. Дубенецкий В.А., Ильин В.П., Лачинов Е.С., Цехановский В.В. Объектно-риентированная технология автоматизированного проектирования распределенных информационных систем. // V междунар. конф.: "Региональная информатика-96".- СПб., 1996.

3. Дубенецкий В.А., Ильин В.П., Цехановский В.В. Объектно-ориентированная технология изучения и исследования предметной области системотехнического проектирования. // V междунар. конф.: "Региональная информатика-96". - СПб., 1996.

4. Дубенецкий В.А., Советов Б.Я., Цехановский В.В. Технология формализации структуры понятий предметной области и их функциональных взаимосвязей. // Матер. VI междунар. конф.: «Региональная информатика-98». - СПб., 1998.

5. Дубенецкий В.А., Цехановский В.В. Конструирование концептуальной модели предметной области на примере дискретного производства. // Матер. VII междунар. конф.: "Региональная информатика-2000". - СПб., 2000.

6. Дубенецкий В.А., Советов Б.Я., Цехановский В.В. Представление предметных областей в компьютерной среде. // VII междунар. конф.: "Современные технологии обучения". - СПб., 2001.

ИССЛЕДОВАНИЕ АЛГОРИТМОВ ПОСТРОЕНИЯ СТАТИЧЕСКОГО И ДИНАМИЧЕСКОГО РАСПИСАНИЙ ЗАПУСКА ЗАДАЧ ДЛЯ СИСТЕМЫ ОБРАБОТКИ ДАННЫХ

С.С. Егоров, В.Е. Миллер, Н.Г. Мустафин, Ю.В. Фомкин

Рассмотрим систему с жестким циклом реального времени (РВ) Ат, обрабатывающую информацию, снимаемую со множества однородных источников данных 1=1,2,...,М. Данные от источников могут обрабатываться с помощью N типов задач причем решение задачи ^ автоматически включает в себя решение задачи /¡+1, Ц=1,2,...^-1, над подмножеством того же набора данных. Решаемая на цикле РВ задача Z¡ может обрабатывать подмножество данных Бц только от одного источника 1: Б1Д= с Бц.

На цикле РВ может быть решено Кц экземпляров задачи Z¡, каждый со своим набором данных. Будем считать, что все Кц являются делителями М. Информация на любом источнике данных может возникать случайно независимо друг от друга, причем момент времени ее возникновения не может быть сообщен системе обработки. Степень полноты ¡ данных источника 1 описывается множеством вероятностей {Рц}, ¡=1,2,.,N.

Е Р = 1

¡=1

(1)

Время актуальности данных типа ¡ источников А1ц ограничено и имеет функцию распределения вероятностей Оц(1;)=Р{А1ц<1;}. Если за время актуальности данных типа Ц на источнике 1 системой

не будет решена одна из задач Zn, п<Ц для источника 1, то данные будут потеряны.

Для решения задачи ^ система потребляет Кц количество ресурса 1, общая составляющая которого ограничена величиной К1тах, 1=1,2,...,Ь. Причем У1,Ц:К1тах > Кц > К1,ц +1.

Для описанной системы требуется построить расписание решения задач ^ над данными Di для обеспечения минимальной вероятности потери данных при существовании ограничений на потребляемые ресурсы системы.

Рассмотрим множество алгоритмов А(Г), где Г = {Г0, Гь ..., Г^ - вектор частот запуска на решение задач Z¡ каждого типа; Г0 - число циклов РВ, на которых не решаются никакие задачи; Гц -количество запусков задач ¡-го типа, необходимое для обработки всего множества данных. Любой из алгоритмов А(Г) является периодическим; период в циклах РВ равен

N М

Та(Г) = Го + Е Гц— . (2)

¡=1 КЦ

На периоде работы алгоритма задача типа Ц

М

решается Гц— раз, а средний интервал времени Кц

между последовательными попытками обработки

конкретного набора данных типа . одной из задач типа п (п < ¡) будет равен

- Ta(f)AT Tj = ~-

Z Fm

m=1

(3)

Рассмотрим только те алгоритмы из множества A(F), которые имеют наименьшую сумму дисперсий случайных величин Tj, оставив за рамками данной статьи способы их построения. В этом случае можно считать, что попытки обработки конкретного набора данных типа j в пределах периода работы алгоритма также являются периодическими процессами с периодом, заданным выражением (3).

Так как данные на источниках информации могут появляться равновероятно на периоде их обработок, то вероятность потери данных для источника типа j будет равна

1 Tj -

Qj = = J Gj(Tj - t)dt, (4)

Tj 0

а общая вероятность потери данных

N

Q = Z PjQj • (5)

j=i

Оценим ресурсы, потребляемые A(F): N M

Ra(F)i = ZRijFj—, 1 = 1, 2, ... , L. (6)

j=i Kj

На основе полученных выражений (4) и (5) теперь можно дать формальную постановку решаемой задачи, а именно: найти целочисленные значения координат вектора F = {F0, Fb ..., FN}, минимизирующие (5), при ограничениях

Vi : Ra(F)1 < Ta(F)Ri max . (7)

В общем случае сформулированная задача представляет собой задачу нелинейной целочисленной оптимизации. Причем ее решение не ограничено сверху в том смысле, что если вектор F есть решение, то вектор aF также является решением для всех целых значений a > 2. Поэтому целесообразно ввести дополнительный критерий

N

Z Fj ^ min . (8)

j=0

В ряде случаев для рассматриваемой задачи диспетчирования достаточно задать наибольшее допустимое значение вероятности потерь Qmax. В этом случае критерий (8) становится основным, а к ограничениям (7) добавляется ограничение

Q < Qmax . (9)

Покажем, что в этой постановке задача может быть сведена к линейной целочисленной задаче.

Из выражений (1) и (5) следует, что достаточным условием выполнения ограничения (9) является выполнение системы неравенств Qj < Qmax для всех j. Рассмотрим следующие функции 1 t

9j(T) = - J Gj(T- t)dt. T 0

Для них справедливо при любых распределениях Gj(t):

1. ФХ0) = 0,

2. lim ф^т) = 1,

3. Vj, если 0 <ф,|(т1) < 1 и т2 > т1, то фХТ2) > ф|(Т1) .

Таким образом, для заданного ограничения Qmax>0 для всех j мы можем найти Tj nop=91i(Qmax)-Причем при Tj < Tj пор (10)

ограничение (9) автоматически удовлетворяется, а, как видно из (2) и (3), ограничение (10) преобразуется к линейному относительно F.

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

Пусть известна матрица вероятностей возникновения j-го типа данных на i-м источнике

p11 p12 ... p1M р p21 p22 ... p2M

pN1 pN2 ... pNM

Зададим матрицы W - текущих весов, AW -статических весов и T - счетчиков неопрошенных циклов размерности NxM и матрицу-строку из L элементов AR - среднее (на цикл РВ) потребление ресурсов. Элементы матрицы AW заполним из следующих посылок:

1) чем больше вероятность p^, тем больше элемент Awji;

2) чем больше математическое ожидание времени актуальности данных, тем меньше элемент Awji.

Awji :

pji

(11)

О.(де)

Первоначально заполним матрицу W=AW, АК=0 и Т=0. Вес запускаемой задачи типа ¡, обрабатывающей данные от ¡-го источника, определим

N

как Wi(Zj) = Z ^и . (12)

к=.

Представим алгоритм запуска задач в следующем виде.

1. Найдем минимальный тип задачи ¡т^, удовлетворяющий ограничениям на ресурсы, исходя из текущего состояния АК и ресурсов, потребляемых К. экземплярами задачи Z¡. Если никакой тип задачи не может быть запущен, то цикл РВ пропускаем. Переходим к п. 3, иначе - к п. 2.

2. Для всех уровней задач . > ¡т„ множество 1. формируется из К. элементов - источников данных, для которых Z Wi(Zj) (12) максимальна.

Среди максимальных элементов для каждого уровня найдем максимальный. Если таких элементов несколько, то выбирается тот, у которого по матрице Т наибольшая сумма неопрошенных циклов. Пусть уровень этого элемента равен . . Тогда на данном цикле РВ запускается К. * экземпляров задачи Zj* над источниками данных из множества I *. Переходим к пункту 3.

3. В соответствии с выбранным типом задач пересчитываем матрицу АК. Для матриц W и Т все элементы . строки и столбцов с индексами из множества I.* обнуляются. К остальным элементам матрицы W прибавляются соответствующие элементы матрицы AW, а к остальным элементам матрицы Т прибавляется 1. Переходим к новому циклу РВ (п. 1).

Адаптивный алгоритм динамического построения расписания запуска задач был исследо-

ван на имитационной модели системы. Результаты проведенных исследований показали, что матрица статических весов, задаваемая (11), не является оптимальной в том смысле, что не обеспечивает при работе алгоритма наименьшую вероятность потери данных. На основе выражения (10) был построен алгоритм получения весовой матрицы AW, а на имитационной модели получены более высокие показатели эффективности алгоритма.

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

ПРОЕКТНЫЕ «КРИТИКИ.» КАК СРЕДСТВО КОГНИТИВНОЙ ПОДДЕРЖКИ ПРОЕКТИРОВАНИЯ ИНФОРМАЦИОННЫХ СИСТЕМ УРОВНЯ ПРЕДПРИЯТИЯ

М.В. Князев, В.В. Сидельников

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

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

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

• выявление множества решений, которые могут быть приняты на данной стадии проектирования, то есть в текущем состоянии проекта;

• приоритизация возможных решений в порядке их значимости и осуществимости с учетом взаимозависимостей;

• предложение вариантов реализации выбранного решения, оценка их качества и предоставление всей «известной» системе информации, относящейся к выбранному решению (мастера/ви-зарды).

Подсистемами первого уровня упомянутой выше критической подсистемы могут являться проектные критики.

Согласно определениям, предложенным в [1,2], проектный критик представляет собой интеллектуальный механизм пользовательского интерфейса, интегрированный в инструмент проектирования и анализирующий проект в контексте принятия решений, предоставляя обратную связь относительно возможностей улучшения проекта. Критическая система, помимо собственно критиков, должна содержать механизмы управления применением критиков к проекту и представления/управления порождаемой критиками информации.

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

Так, возможные способности критиков можно определить следующим образом:

i Надоели баннеры? Вы всегда можете отключить рекламу.