Научная статья на тему 'Прогнозирование времени выполнения алгоритма'

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

CC BY
605
106
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ЦИФРОВАЯ СИСТЕМА / АЛГОРИТМ / ПОЛУМАРКОВСКИЙ ПРОЦЕСС / СЕТЬ ПЕТРИ МАРКОВА / ВРЕМЯ ВЫПОЛНЕНИЯ / DIGITAL SYSTEM / ALGORITHM / SEMI MARKOV PROCESS / PETRI MARKOV NET / EXECUTION TIME

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Ивутин А. Н., Ларкин Е. В.

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

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

PREDICTING OF ALGORITHM’S EXECUTION TIME

A static evaluation of the algorithm’s run time on any architecture, based on the representation of an imperative algorithm in the equivalent Petri Markov net with preliminary abstraction awareness dependent operators and use of statistical information about the incoming data are proposed.

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

Golchevskiy Yury Valentinovich, candidate of physical and mathematical sciences, docent, yurygol@ mail.ru, Russia, Syktyvkar, Syktyvkar State University,

Severin Pavel Alexeevich, master, _pav9687@yandex.ru, Russia, Syktyvkar, Syktyvkar State University

УДК 519.217.2

ПРОГНОЗИРОВАНИЕ ВРЕМЕНИ ВЫПОЛНЕНИЯ АЛГОРИТМА

А.Н. Ивутин, Е.В. Ларкин

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

Ключевые слова: цифровая система, алгоритм, полумарковский процесс, сеть Петри-Маркова, время выполнения.

Получение оценок времени выполнения алгоритма является одной из важнейших задач эффективного распараллеливания и оптимального распределения потоков управления в многопроцессорных конфигурациях. Традиционно именно время выполнения является основным, хотя и не единственным, индексом производительности. При этом, как показано в [1], измерения производительности на реальных системах для случая немонопольного использования ресурсов не могут считаться надежными в силу того, что подобные измерения очень чувствительны к рабочей нагрузке на систему в момент измерения. Для однопрограммного режима вариативность времени исполнения также присутствует, однако ее величиной можно пренебречь [2]. Более того, время выполнения программы в монопольном режиме в некоторой системе может служить нижней границей времени выполнения этой программы в этой же системе в конкурентном режиме [3], что, по сути, означает случай с полным отсутствием параллелизма в реализации алгоритма. Однако и такая оценка не может служить достоверной, поскольку не гарантирует неизменность или предсказуемость получаемого результата для систем, отличных от той, на которой и производилось сравнение. Таким образом, можно сделать вывод, что для ЭВМ фон Неймановского типа при обработке случайных данных время обработки является случайной величиной, а исход обработки является случайным, что определяется плотностями распределения обрабатываемых

данных. Поэтому при оценке временной сложности требуется привлечение теории случайных, в частности Марковских, процессов.

Любая компьютерная программа описывает некоторое семейство алгоритмов, выбор которых определяется срабатыванием условных операторов [4]. Случай отсутствия условных операторов означает реализацию одного алгоритма или одной последовательности операций. Таким образом, можно разделить все множество операторов D на операторы-функции

F с

D , реализующие действия на линейных участках и операторы-условия D , управляющие порядком выполнения программы, причем

D=DFuDC, DFnDC=0, Diс= ф В¥, (1)

]=Ш ]

где ф — некоторая математическая операция.

Срабатывание условных операторов определяется только входными данными и результатами их обработки, что, в конечном счете, делает такую зависимость от входной информации исключительной. При этом результат на выходе программы будет инвариантен к выбору компьютера, на котором будет выполняться программа, при условии неизменности входных данных. Для представления потока управления программы в таких случаях часто используют управляющий граф [5, 6], который позволяет найти управляющие условия, от которых зависит данная операция. Недостаток управляющего графа заключается в том, что он фиксирует некоторую последовательность операций, соблюдать которую не обязательно. Это связано с тем, что в вычислительных системах параллельной архитектуры в любой момент времени может выполняться несколько операций. В зависимости от архитектуры параллельной системы и применяемых оптимизационных схем порядок и количество одновременно выполняемых операций может различаться, однако неизменным должно оставаться одно условие - ни один из операторов D не может выполняться раньше, чем будут получены все необходимые ему входные аргументы. Данное условие называется информационной зависимостью операторов программы, которое удобно представить в виде графа.

Граф информационных связей - это граф, вершинами которого являются операторы и предикатные выражения, а дуги, инцидентные вершине, указывают значения данных, от которых зависят операции в этой вершине. Между двумя операторами (вершинами) существует дуга, если в результате их перестановки значение в любом из этих операторов может оказаться неверным, т.е. от оператора Dv к оператору Dk существует дуга в случае, если результат выполнения оператора Dv явно используется в операторе Dk.

Указанный граф G={D, E}, где D — множество вершин, а E — множество дуг является параметризованным и детерминированным. Учитывая, что в графе G дугам присвоено направление, указанный граф является ориентированным. Дополнительно для такого графа может быть вве-

302

дено условие ацикличности, если ввести предположение, что в результате выполнения рекурсивных функций или циклов на самом деле выполняются разные операции (хотя и однотипные).

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

Рк = 4(Рк-Ъ —, Рк-тО. (2)

В свою очередь, каждый из операторов Рк_; зависит от j операторов. В результате формула (2) принимает вид

Рк = fk(fk-l(fk-J() • • •), fk-2(fk-h()...), • • •, fk-m( •••)). (3)

Полученная зависимость (3) является по своей сути рекурсивной, позволяющей выстроить полную цепочку зависимостей некоторого оператора Рк от входного вектора Х={х1, х2, ..., хп}, т.е. в общем случае существует некоторая функция Б, для которой верно равенство

Рк = Б(Х). (4)

Методика построения графа информационных связей для задач распараллеливания приведена в [7, 8].

Процесс интерпретации детерминированного алгоритма рядом авторов [9, 10, 11, 12] рассматривается как полумарковский процесс с непрерывным временем. Операторы алгоритма рассматривается как состояния полумарковского процесса, выполнение оператора как пребывание полу-марковского процесса в соответствующем состоянии, а процесс интерпретации алгоритма в целом рассматривается как блуждание алгоритма по состояниям полумарковского процесса.

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

м={а вд}, (5)

где а - граф, описывающий структуру процесса; И(;) - полумарковская матрица.

Структура графа а, описывающего полумарковский процесс, определяется в виде

а = {А, Ъ, R}, (6)

где А = {а1(а), ..., а^, ..., ада,} - множество вершин графа, представляющих

различаемые состояния системы; Ъ = ^ц2), ..., Zj(z), ..., zJ(Z)} - множество ре-

бер графа, представляющих процесс переключения системы из одного состояния в другое при поступлении/обслуживании заявок; R = (г^^) - матрица смежности графа [13, 14].

При этом вершины aj(a) е А, 1 £ j(a) £ = 1(а) моделируют состояния

полумарковского процесса. Для каждого состояния aj(a) определяются выходная О(а|(а)) и входная 1^(а)) функции. Выходная функция

°(а](а)) = {а1[0,У(а^... ап[0^Ка)],..., ан[0>]{ая} с А - это мн°жеств° состояний, в которые полумарковский процесс может переключиться из состояния аКа). Входная функция 1(аКа)) = {а1[/, ] (а)],..., ап[ I, ](а)] , ..., аМ [I, ] (а)]} С А - это множество состояний, из которых полумарковский процесс может переключиться в а;(а).

Полумарковская матрица Ь(;) определяет стохастические и временные параметры полумарковского процесса и представляет собой прямое произведение вложенной цепи Маркова р = (рк^ед) на матрицу плотностей распределения ОД = [^едОО] времени пребывания в состояниях полумарковского процесса:

К*) = /(*) ® Р = [Ь}(а)1 (а)(*)] =

Р1( а)1(а )^(а )1(а) (* ) ... Р1( а )1 (а).Л(а ),1а) ( ) ... Р1( а) 3 (а )-/1( а) 3 (а) (* )

Р

а)1( а) «)

і(а)1(ау і(а)1(а)

Р

ї і (а)1 (а )(^ )

І(а)1(ау і(а)1(а)

Р

і

і(а)3(аУ і(а)3(а)

^Р3(а)1(а)-/3(а)1(а)(0 ". Рз (а)1(а)У 3 (а)1(а) (*) ... Рз(а)3 (а)3 3(а)3(а)'

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

Другим существенным недостатком полумарковского процесса является последействие временных характеристик, возникающее вследствие отличия законов распределения моментов наступления событий (например, перехода от интерпретации одного оператора к другому) от экспоненциального. Степень последействия может быть оценена как некоторая вероятностная мера, а наличие последействия усложняет процесс анализа вычислительной системы (ВС), поскольку после каждого события в системе приходится переоценивать все плотности распределения времени, оставшегося до конца интерпретации текущих выполняемых операторов в каждом из субъектов [13, 15].

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

Наиболее просто взаимодействие в ВС может быть описано с по-

)їз (а )1 (а)

)/з

>(' ) Я )

(7)

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

П = {А, Ъ, Я, Я}, (8)

где А = {а1(а), ..., aj(a), ..., aJ(a)} - множество вершин первого рода, называемое множеством позиций; Ъ = ^ц^, ..., Zj(Z), ..., zJ(Z)} - множество вершин второго рода, называемое множеством переходов; Я = (~ (а) ] (2)), матрица смежности, отображающая множество позиций в множество переходов; Я = (г](2)](а)), отображающая множество переходов в множество позиций [16].

Ключевым понятием сети Петри является понятие фишки, которая моделирует оператор, в данный конкретный момент интерпретируемый ВС, а также выходной и входной функции перехода. Под выходной функцией перехода Zj(Z) понимается подмножество позиций, для которых существует дуга, ведущая из указанного перехода, т.е.

0а (^)) = {al{o,](z)^,..., an[o,J(Z)],..., аы [о, ] (2)]} с А. Под входной функцией

перехода понимается подмножество позиций, из которых существует дуга, ведущая в этот пеPехоД, т.е. IА(zj(z)) = {а1[1, ] (я я^.. ап[ I,] (я я— аи [I,] (я)]} с А .

Переключения сети Петри называются срабатываниями переходов и сводятся к изыманию по одной фишке из всех позиций подмножества 1А^(^) перехода Zj(Z) и перемещению их в каждую позицию подмножества ОА^(^). Переключение разрешается, если Ф 0, Cj[Ij(Z)] е С, 1[1, j(z)] £

j[I, j(z)] £ 1[1, j(z)].

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

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

Сеть Петри-Маркова (СПМ), формируемая объединением структурной модели (8) и структурно-параметрической модели (5), позволяет аналитически описывать как срабатывание сети Петри, так и временные

интервалы между срабатываниями. Однако, наличие последействия при очередном срабатывании существенно усложняет практическое использование этого математического аппарата и делает его практически неприменимым при моделировании сложных систем массового обслуживания (СМО), где любой субъект информационного взаимодействия является как источником заявок на обслуживание, так и обслуживающим каналом, в результате чего в системе источники/обслуживающие каналы возникают дополнительные перекрестные и обратные связи, механизма исследования которых в настоящее время не существует [13, 17, 18].

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

единство математического описания любого субъекта взаимодействия на любом иерархическом уровне;

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

учет сложной логики взаимодействия элементарных последовательных алгоритмов;

учет специфики функционирования субъекта заключается в том, что любой субъект функционирует по алгоритму, является источником запросов на обслуживание и одновременно обслуживающим каналом;

разработку математического аппарата для оперирования со структурными и параметрическими составляющими модели информационного взаимодействия;

отсутствие последействия при срабатывании СПМ, и связанное с этим упрощение выкладок при получении конечных результатов.

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

¥ = {П, М}, П = {А, Ъ, Я, Я }, М = {ВД, Л}, (9)

где П - структура элементарной сети Петри-Маркова (ЭСПМ); М - множество параметров.

В множестве Ъ ЭСПМ (9) имеются только два непримитивных перехода: переход z1(Z) е Ъ, моделирующий оператор «начало», для которого 1А^ц^) = 0 и переход zJ(Z) е Ъ, моделирующий оператор «конец», для которого ОА^ц^) = 0. Все остальные переходы являются примитивными. ЭСПМ (9) является слабосвязной сетью, в которой имеются пути z1(Z) ®

а1(а) и а1(а) ® zl(z) ДОЯ "а1(а) Є А.

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

¥

/и ()=X Ь_1 К г )[М*) • Ф)]"1

^=1

и (г)

(10)

где І1М = (1, 0, ..., 0, ...., 0); ІJ(z) = (0, ..., 0, ...., 0, 1);

Кв) = L[h(t)];

е (я ) = Ь

•-К 1е и Iа 1

-К -К -К ; (11)

N 3 N ) N

е

і(2) і(а)

к ) = [ Я({ ), если аі (а) Є 0А (2і (2))

[0 во всех остальных случаях.

Из могут быть получены математическое ожидание и дисперсия времени достижения поглощающего состояния ад2) из начального состояния а1(2):

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

¥ ¥

Ти = IК (г)гйг; = IК (г)• (г - ти )2 ж. (12)

0 0

Если вместо полумарковской матрицы заданы матрицы вероятностей р, плотностей распределения Т, и дисперсий D, то математическое ожидание Ти и дисперсия D1J могут быть получены непосредственным вычислением по зависимостям:

Ти = X І1(2 )[р® Т+' >%);

^=1

Ои = X% )[р ” ®(я+” + Т

^=1

+. 0 Т ~ -)]/%2)- т

2

и .

(13)

(14)

Зависимость (12) или (13) является моделью эффективности элементарного вычислительного процесса, реализуемого в ВС.

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

Задача проектирования оптимальных по быстродействию программных систем является классической: требуется найти значение вектора Х* = (х*,..., х*,..., х*к) варьируемых параметров Х = (х1,..., хп,..., хм), которое доставляет минимум целевой функции

д( X *) = тт, (15)

где ^(Х) - скалярная функция векторного аргумента, которая представляет собой модель цели проектирования.

Варьируемые параметры характеризуют аппаратные компоненты и программные средства системы реальной вычислительной системы. Они входят в следующие выражения:

а) для плотностей распределения /у (а)у (г )(г, X} (а)у (г) /) времени пребывания полумарковского процесса в позициях аj(а) сети Петри-Маркова вида (9), сформированной как модель соответствующей компоненты реальной физической системы, 1(а) £ Ха) £ 1(а), 1(2) £ ^) £ 1(2), Х}(а)у^)г с X;

б) для математических ожиданий времени пребывания полумарков-

СК°г° ПроцеССа в ПозИцИЯх )) Т1 (а ь (г )(г , ХуЫуШ )= I Ч,(а )у(г) (<, Х.,(а № )/ № ,

0

1(а) £ )(а) £ J(а), 1(2) £ £ J(Z), Х](а)у(г)г с Х ;

в) для дисперсий времени пребывания полумарковского процесса в позициях аj(а)

Ву (а)у (г) (г, Ху (а)у (г)/ ) = | [ - Т} (а)у (г) (, Ху (а)у (г)/ )] /у (а)у (г) (?, Ху (а)у (г)/ ^ , 1 (а) £ j(а)

0

£ J(а), 1(г) £ j(z) £ J(z), Ху(а)у(2)г с Х;

г) для вероятностей ру (а) у (г) (Ху (а) у (г) р) переключения полумарковского процесса из позиции аj(а) в переход Zj(Z) 1(2) £ j(z) £ и(2), 1(а) £ j(а) £ и(а),

Ху (а)у (г)р С Х ;

д) для выходных функций переходов Оа^(2), )р], Ху (г )0 с Х , 1(2)

£ )(2) £ ОД; ( ^

е) для логических условий Лу (г)у (а)(Ху (2)у (а)р) выполнения полушагов из переходов 2)(2) в позиции а)(а) е 0а(2)(2)) сети Петри-Маркова вида (9) 1(2)

£ )(2) £ J(Z), 1(а) £ )(а) £ J(а), Х у (а) у (г) с Х .

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

§к(Х) < Ьк; 1 £ к £ К, (16)

где gk(X) - некоторая непрерывная, дискретная, логическая или иная функция; Ьк - скалярный параметр.

Выражения «а - в», входящие в систему (16), отражают параметри-

ческие изменения модели программно-аппаратного комплекса. Выражение «г» отражает структурно-параметрические аспекты, а выражения д), е), входящие в систему (16), отражают структурные аспекты модели. Вероятности ру(а)у(г)(Ху(а)у(г)р), входящие в выражения г), отнесены к разряду

структурно-параметрических вследствие того, что при ру (а) у (г )(Ху (а) у (г) р) = 0

фактически дуга ау (а )£ 1А (гу (г)) выпадает из структуры двудольного графа

и ~(а )/(=) = 0 .

Таким образом, для целевой платформы с заранее известными характеристиками можно с высокой долей достоверности определить время выполнения операторов D и, соответственно, определить время выполнения линейных (без ветвлений) участков алгоритма. Введенное условие детерминированности позволит также вычислить и общее время выполнения программы с учетом операторов группы DC, как общее время выполнения алгоритма по всем ветвям условий, но эта оценка не будет являться достоверной, поскольку в любой момент времени может быть выполнено только одно из множества п условий.

Однако существует возможность уточнения результатов, заключающаяся в предсказании ветвлений алгоритма (рис. 1).

Рис. 1. Оператор-условие и варианты продолжения выполнения

Выше было показано, что любой из операторов алгоритма, в конечном счете, зависит только от вектора входных данных X. Зная закон распределения входных данных ДХ), можно оценить вероятности исхода события Ц . Для этого представим вектор входных данных и вероятностный закон их распределения в виде п+1 мерного пространства, где осям абсцисс соответствуют компоненты вектора X, а оси ординат закон распределения ДХ). Тогда, чтобы при выполнении оператора Diс с п ветвлениями было выполнен переход по j-й ветке, необходимо выполнение неравенства

Оу (X) £ 0. (17)

Обозначим область, соответствующую выражению (17) как

ті] = (Оу (X) £ 0) (рис. 2), причем для областей исхода событий должно

выполняться условие непересечения:

0, если ] Ф к,

т птк = тесли ] Фк (18)

Тогда вероятность выполнения перехода по j-й ветке для DiC оператора может быть определена выражением

Рі = I• • I f (X')Лх\йх2-.Лх^ , (19)

т

где N — размерность вектора входных данных X.

Из выражения (19) также можно получить вероятность неперехода по j-й ветке как 1 - pj, что для случая перехода с двумя условиями равносильно переходу по другой ветке.

Рис. 2. Области условий в п-мерном пространстве

В инженерных приложениях вместо плотностей распределения времени выполнения операторов используется минимальное, максимальное и среднее время выполнения операций [20] и среднеквадратичное отклонение времени выполнения операций. Исследуем возможность получения математических выражений, которые позволяют напрямую рассчитывать основные числовые характеристики полумарковской матрицы (математические ожидания и дисперсии) по числовым характеристикам и стохастической матрице полумарковского процесса [13], что позволит, учитывая зависимости (17), оценить время выполнения программы.

Рассмотрим матрицы

X = (ио, с = (и), Ф(8) = №„„(*)], л(8) = [Пш„(з)]. (20)

Матрицы X и С являются матрицами коэффициентов, имеющих свойства вероятностей. Матрицы Ф(б) и ^(§) имеют свойства характеристических матриц, матрицы X и Ф(б) имеют размер М х N. Матрицы С и ^э) имеют размер N х М.

Математические ожидания и дисперсии плотностей распределения, получающихся из элементов характеристических матриц путем нахождения обратного преобразования Лапласа, имеют следующие обозначения:

¥ ¥

I Г [фтп (•* )№ = ттп; I Г1 Ьі„т (я )}Л = упт;

0 0

¥¥

1171 [ф (я)](? — т )2 йї = р ; I Ь~1\п (я)](? — п )2 йї = а .

^ 1-Г тп \ /-1\ г^тп / г тп ’ } • пт\/і\ пт / пт

00

Определим структуру следующего произведения:

Х11ф11(я) ... Хт фш(я)

Хм 1фМ 1(я ) ... XMN фык(я)

С11Л11(я) ... с1м Щм(я)

смЛт(я) ... сымЛ^м(я)

N

X [Хті ' С /п ]’ [фщ/ (я )'Л /п (я )]

(21)

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

Найдем для (21) математическое ожидание и дисперсию:

(хтп) IГ 0

—1

N

Х [Хт/ " С /п]" [фт/(я)'Л /п(я)] ^і=1

їйї =

N

= I X [хт/ ' Сіп]" [фт/(ї)* Ліп(ї).

01 і=1

їйї =

N

V і'=1

; (22)

—1

N

X [х ті ' С /п] [фщ/(я)'Л /п(я)] ^і=1

ї 2йї — їх

— (х2 )=

тп

I X [Хщ/ "С/п]' [фщ/(ї)* Л/п(ї)] ї (хтп)= X [Хщ/ "Сіп]'[р.

0Іі=1 У 1і=1

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

+ и ■ ]—х2

ті ^ и]п\ Ітп

(23)

у

где Цт,, ^п - математические ожидания исходных плотностей распределения; ттп - тп-й элемент итоговой матрицы математических ожиданий плотностей распределения; р^, Ц|п - дисперсии исходных плотностей распределения; ^тп - тп-й элемент итоговой матрицы дисперсий плотностей распределения; + - знак суммирования, введенный для того, чтобы отличить его от общего суммирования, проводимого под знаком Е.

Приведем (22) и (23) к аналитическим матричным выражениям:

т =

N

X [Хщ/ 'С]п]' [Мту ~п]п]

[(Хтп )' (С пт )] ® [(Мщп ) ~ (п пт )]

= Й • £ )®(Ц + V )

X [х ті 'С /п] ^т/' ~ и /п

V і=1

(24)

— х

тп

[(Хтп ) • (Стп )] ® [(рщп ) + (ищп )] (хтп )® (хтп )

= (£ • £ )®(р + и) — т ® т, (25)

оо

оо

где ® - знак прямого произведения матриц; + - знак матричной операции, выполняемой по правилам умножения матриц, в которой операция умножения заменена на операцию суммирования; т, т, V - числовые матрицы математических ожиданий; V, р, и - числовые матрицы дисперсий;

' Т11 . т Л ‘■їм А 11 . т1Ы ч. .

Т = ; р = V =

уТМ 1 Т ММ у уМм 1 МмЫ у уПЫ1 ПЫМ у

' VII . > "ЦТ .. рш и11 . 3"

Я = ; р = и =

у%М 1 %ММ у у Рм 1 р МЫ у уиы 1 иЫМ у

Добавим к (24), (25) матрицу вероятностей р:

п =

11

\рм 1

їм

(26)

мм у

Если матрицы X, т, р характеризуют вероятностные и временные характеристики ЭППМ после и переключений, матрицы ^, V, и характеризуют вероятностные и временные характеристики одного переключения, то матрицы р, т и V характеризуют вероятностные и временные характеристики (и+1)-го переключения. Таким образом, получены общие матричные аналитические выражения (24), (25), (26), которые позволяют получить временные характеристики (16), (19) по временным и вероятностным характеристикам полумарковской матрицы ^^.

Математические ожидания и дисперсии плотностей распределения

/т(кг )п (кі)(/) могут быть определены по зависимостям

І^)[л"' ® 7Ґ-1

Т _ "=1

m(kz )п (kz)

+" \ тв

' n(kz)

(27)

І Рк

w=1

I I,, аМ" ® К*" ]/;

Г) = "—1

т(кі )п (кі)

(кі)

"=1

"

гр2

т(кг)п(кі) -

(28)

где р'к, Тк, К - матрицы числовых характеристик взвешенных плотностей распределения, получаемых из полумарковской матрицы ^ґ);

Рк = 11~1 № )]*; (29)

Т' = £к

] ^ [Л,к К (* )Івікі)Й

О_______________________________

т р т в

т(ки )Рк п (ки)

(3О)

О

Dk =

¥

IL-' [lm(kz )h'k (s )1 tkz )j2 dt

(kz)

_ Tk® Tk ■

(31)

Используя зависимости (29)-(31) и применяя выражение (19) для оценки вероятности развития алгоритма по данной траектории, можно оценить предельные и среднее значение времени работы данного алгоритма, воспользовавшись правилом трех сигм [21]:

Tmin = T _ 3s :

Tmax = T + 3s :

(32)

О

Т • + Т

Т = тіп ~1 тах ТсР 2 ,

где а = л!Ъ.

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

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

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

1. Morgan D.E. and Campbell J.A. An answer to a user's plea? // Proceedings of the 1973 ACM SIGME symposium (SIGME '73). New York, 1973. P. 112-120.

2. Thomas E. Bell. 1974. Computer performance variability. In Proceedings of the National computer conference and exposition. New York, 1974. P. 761-766.

3. Феррари Д. Оценка производительности вычислительных систем. М.: Мир, 1981.

4. Воеводин В.В., Воеводин Вл.В. Параллельные вычисления. СПб.: БХВ-Петербург, 2002. 608 с.

5. Aho А.У., Sethi R., Ullman J.D. Compilers: Principles, Techniques, and Tools. NY: Addison-Wesley, 1986.

313

6. Allen F. E. Control flow analysis // Proceedings of a Symposium on Compiler Optimization. 1984. Val. 5. N 7. P. 1-19.

7. Ivutin A., Daragan E. Methods of identifying information dependencies in the software // Proc. of The International Congress on Information Technologies -2012 (ICIT-2012) June 6-9 2012, Saratov: SSTU, 2012. P.65.

8. Ивутин А.Н., Дараган Е.И. Построение схемы распараллеливания последовательного алгоритма программы // Известия ТулГУ. Технические науки. Вып. 5. Тула: Изд. ТулГУ, 2012. С. 101-109.

9. Королюк В.С., Турбин А.Ф. Полумарковские процессы и их применения. Киев: Наукова думка, 1976.

10. Привалов А.Н., Ларкин Е.В. Моделирование информационных процессов тренажерных систем: Концепция, методология, модели. Saar-brucken Deutchland: LAP LAMBERT Academic Publishing GmbH & Co., 2012.

11. Ярлыков М.С., Миронов М. А. Марковская теория оценивания случайных процессов. М.: Радио и связь, 1993.

12. Gotz N. et al. Multiprocessor and Distributed System Design: The Integration of Functional Specification and Performance Analysis Using Stochastic Process Algebras // Lecture Notes in Computer Science. 1993. Vol. 729. P. 121-146.

13. Игнатьев В.М., Ларкин Е.В. Сети Петри-Маркова. Тула: ТулГУ, 1997. 163 с.

14. Ларкин Е.В. Имитационное моделирование отказов-восстановлений с применением сетей Петри-Маркова / Вестник компьютерных и информационных технологий. 2005. № 12. С. 35 - 38.

15. Котов В.Е. Сети Петри. М.: Наука, 1984. 160 с.

16. Васильев В.В., Кузьмук В.В. Сети Петри, параллельные алгоритмы и модели мультипроцессорных систем. Киев: Наукова думка, 1990. 212 с.

17. Ларкин Е.В. Формирование сетей Петри-Маркова для моделирования параллельных систем // Математическое и программное обеспечение вычислительных систем. М.: Горячая линия-Телеком, 2006.

С. 4 - 8.

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

18. Ларкин Е.В., Сабо Ю.И. Сети Петри-Маркова и отказоустойчивость авионики. Тула: Изд-во ТулГУ, 2004. 204 с.

19. Привалов А.Н., Ларкин Е.В. Проектирование программного обеспечения вычислительных средств тренажерных систем. Тула: Изд-во ТулГУ, 2010. 259 с.

20. Leo J. Scanlon IBM PC & XT assembly language a guide for programmers Enhanced and enlarged. New York: Brady Communications Co., 1985

21. Grimmett G. R., Stirzaker D. R. Probability and Random Processes. 2nd Edition. Oxford: Clarendon Press, 1992.

Ивутин Алексей Николаевич, канд. техн. наук, доц., alexev.ivutin@smail.com. Россия, Тула, Тульский государственный университет,

Ларкин Евгений Васильевич, д-р техн. наук, проф., зав. кафедрой, elarkin@mail.ru, Россия, Тула, Тульский государственный университет

PREDICTING OF ALGORITHM’S EXECUTION TIME A.N. Ivutin, E.V. Larkin

A static evaluation of the algorithm’s run-time on any architecture, based on the representation of an imperative algorithm in the equivalent Petri-Markov-net with preliminary abstraction awareness-dependent operators and use of statistical information about the incoming data are proposed.

Key words: digital system, algorithm, semi-Markov process, Petri-Markov net, execution time.

Ivutin Alexey Nicolaevich, candidate of technical science, docent, alexev.ivutin@gmail.com, Russia, Tula, Tula State University,

Larkin Evgeniy Vasilevich, doctor of technical science, professor, the head of a chair, elarkin@mail.ru, Russia, Tula, Tula State University

УДК 62.50

ИСПОЛЬЗОВАНИЕ ФАЗОВОЙ СОСТАВЛЯЮЩЕЙ СПЕКТРА СИГНАЛА ДЛЯ ИДЕНТИФИКАЦИИ ДВИЖЕНИЯ

А. А. Аршакян, С. А. Будков, Е.В. Ларкин

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

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

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

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