Информационная безопасность и информационные технологии
301
Golchevskiy Yury Valentinovich, candidate of physical and mathematical sciences, docent, [email protected], Russia, Syktyvkar, Syktyvkar State University,
Severin Pavel Alexeevich, master, [email protected], Russia, Syktyvkar, Syktyvkar State University
УДК 519.217.2
ПРОГНОЗИРОВАНИЕ ВРЕМЕНИ ВЫПОЛНЕНИЯ АЛГОРИТМА
А.Н. Ивутин, Е.В. Ларкин
Предложен метод статической оценки времени выполнения алгоритма на произвольной архитектуре, основанный на представлении императивного алгоритма в виде эквивалентной сети Петри-Маркова с предварительным выделением информаци-онно-зависимых операторов и использовании статистической информации о посту-пающих данных.
Ключевые слова: цифровая система, алгоритм, полумарковский процесс, сеть Петри-Маркова, время выполнения.
Получение оценок времени выполнения алгоритма является одной из важнейших задач эффективного распараллеливания и оптимального распределения потоков управления в многопроцессорных конфигурациях. Традиционно именно время выполнения является основным, хотя и не единственным, индексом производительности. При этом, как показано в [1], измерения производительности на реальных системах для случая не-монопольного использования ресурсов не могут считаться надежными в силу того, что подобные измерения очень чувствительны к рабочей на-грузке на систему в момент измерения. Для однопрограммного режима ва-риативность времени исполнения также присутствует, однако ее величи-ной можно пренебречь [2]. Более того, время выполнения программы в монопольном режиме в некоторой системе может служить нижней грани-цей времени выполнения этой программы в этой же системе в конкурент-ном режиме [3], что, по сути, означает случай с полным отсутствием па-раллелизма в реализации алгоритма. Однако и такая оценка не может слу-жить достоверной, поскольку не гарантирует неизменность или предска-зуемость получаемого результата для систем, отличных от той, на которой и производилось сравнение. Таким образом, можно сделать вывод, что для ЭВМ фон Неймановского типа при обработке случайных данных время обработки является случайной величиной, а исход обработки является слу-чайным, что определяется плотностями распределения обрабатываемых
Известия ТулГУ. Технические науки. 2013. Вып. 3
302
данных. Поэтому при оценке временной сложности требуется привлечение теории случайных, в частности Марковских, процессов.
Любая компьютерная программа описывает некоторое семейство алгоритмов, выбор которых определяется срабатыванием условных опера-торов [4]. Случай отсутствия условных операторов означает реализацию одного алгоритма или одной последовательности операций. Таким обра-зом, можно разделить все множество операторов D на операторы-функции DF, реализующие действия на линейных участках и операторы-условия DC, управляющие порядком выполнения программы, причем
D=DF∪DC, DF∩DC=∅, DiC= Fj
k
mjD
=Ψ , (1)
где Ψ — некоторая математическая операция. Срабатывание условных операторов определяется только входными
данными и результатами их обработки, что, в конечном счете, делает та-кую зависимость от входной информации исключительной. При этом ре-зультат на выходе программы будет инвариантен к выбору компьютера, на котором будет выполняться программа, при условии неизменности вход-ных данных. Для представления потока управления программы в таких случаях часто используют управляющий граф [5, 6], который позволяет найти управляющие условия, от которых зависит данная операция. Недос-таток управляющего графа заключается в том, что он фиксирует некоторую последовательность операций, соблюдать которую не обязательно. Это связано с тем, что в вычислительных системах параллельной архитектуры в любой момент времени может выполняться несколько операций. В зави-симости от архитектуры параллельной системы и применяемых оптимиза-ционных схем порядок и количество одновременно выполняемых опера-ций может различаться, однако неизменным должно оставаться одно усло-вие – ни один из операторов D не может выполняться раньше, чем будут получены все необходимые ему входные аргументы. Данное условие на-зывается информационной зависимостью операторов программы, которое удобно представить в виде графа.
Граф информационных связей - это граф, вершинами которого яв-ляются операторы и предикатные выражения, а дуги, инцидентные верши-не, указывают значения данных, от которых зависят операции в этой вер-шине. Между двумя операторами (вершинами) существует дуга, если в результате их перестановки значение в любом из этих операторов может оказаться неверным, т.е. от оператора Dv к оператору Dk существует дуга в случае, если результат выполнения оператора Dv явно используется в опе-раторе Dk.
Указанный граф G={D, E}, где D — множество вершин, а E — множество дуг является параметризованным и детерминированным. Учи-тывая, что в графе G дугам присвоено направление, указанный граф явля-ется ориентированным. Дополнительно для такого графа может быть вве-
Информационная безопасность и информационные технологии
303
дено условие ацикличности, если ввести предположение, что в результате выполнения рекурсивных функций или циклов на самом деле выполняют-ся разные операции (хотя и однотипные).
В общем случае, задача построения графа информационных зави-симостей сводится к выявлению в программе всех возможных состояний, а также выяснению зависимостей между ними. При этом важной особенно-стью таких связей является то, что взаимодействие функциональных бло-ков системы происходит не только на основании передаваемых между ни-ми данных, но и в строго определенном порядке. Пусть оператор Dk непо-средственно зависит от m операторов. Тогда
Dk = fk(Dk-1, Dk-2, Dk-3, …, Dk-m,). (2) В свою очередь, каждый из операторов Dk-i зависит от j операторов.
В результате формула (2) принимает вид Dk = fk(fk-1(fk-j()…), fk-2(fk-h()…), …, fk-m(…)). (3)
Полученная зависимость (3) является по своей сути рекурсивной, позволяющей выстроить полную цепочку зависимостей некоторого опера-тора Dk от входного вектора X={x1, x2, …, xn}, т.е. в общем случае сущест-вует некоторая функция F, для которой верно равенство
Dk = F(X). (4) Методика построения графа информационных связей для задач
распараллеливания приведена в [7, 8]. Процесс интерпретации детерминированного алгоритма рядом ав-
торов [9, 10, 11, 12] рассматривается как полумарковский процесс с непре-рывным временем. Операторы алгоритма рассматривается как состояния полумарковского процесса, выполнение оператора как пребывание полу-марковского процесса в соответствующем состоянии, а процесс интерпре-тации алгоритма в целом рассматривается как блуждание алгоритма по со-стояниям полумарковского процесса.
Естественной и наиболее общей моделью для описания временных характеристик выполнения операторов алгоритма является полумарков-ский процесс, который формально определяется множеством
М = {G, h(t)}, (5) где G - граф, описывающий структуру процесса; h(t) - полумарковская матрица.
Структура графа G, описывающего полумарковский процесс, опре-деляется в виде
G = {A, Z, R}, (6) где А = {a1(a), ..., aj(a), ..., aJ(a)} - множество вершин графа, представляющих различаемые состояния системы; Z = {z1(z), ..., zj(z), ..., zJ(z)} - множество ре-бер графа, представляющих процесс переключения системы из одного со-стояния в другое при поступлении/обслуживании заявок; R = (rj(a)l(a)) - мат-рица смежности графа [13, 14].
При этом вершины aj(a) ∈ А, 1 ≤ j(a) ≤ = J(a) моделируют состояния
Известия ТулГУ. Технические науки. 2013. Вып. 3
304
полумарковского процесса. Для каждого состояния aj(a) определяются вы-ходная О(aj(a)) и входная I(aj(a)) функции. Выходная функция
...,,{)( )](,[1)( ajOaj aaO = Aaa ajONajOn ⊂}...,, )](,[)](,[ - это множество состояний, в которые полумарковский процесс может переключиться из состояния aj(a). Входная функция I(aj(a)) Aaaa ajINajInajI ⊂= }...,,...,,{ )](,[)](,[)](,[1 - это множество состояний, из которых полумарковский процесс может пере-ключиться в ai(a).
Полумарковская матрица h(t) определяет стохастические и времен-ные параметры полумарковского процесса и представляет собой прямое произведение вложенной цепи Маркова р = (pj(a)l(a)) на матрицу плотностей распределения f(t) = [fj(a)l(a)(t)] времени пребывания в состояниях полумар-ковского процесса:
==⊗= )]([)()( )()( thtt alajpfh
=
)(...)(...)(
)(......
)(...
...)(
)(...)(...)(
)()()()()()()()()(1)()(1)(
)()()()()()()()()(1)()(1)(
)()(1)()(1)),(1)()(1)(1)(1)(1)(1
tfptfptfp
tfptfptfp
tfptfptfp
aJaJaJaJalaJalaJaaJaaJ
aJajaJajalajalajaajaaj
aJaaJalaaalaaaaa
. (7)
Полумарковский процесс позволяет найти вероятность и с точно-стью до плотности распределения время достижения одного состояния из другого. Однако, классическая теория полумарковских процессов предпо-лагает исследование одного процесса, без учета его взаимодействия с дру-гими аналогичными процессами. Поэтому с помощью теории полумарков-ских процессов можно исследовать временные интервалы в рамках функ-ционирования алгоритма одного из субъектов, без учета взаимодействия с другими субъектами.
Другим существенным недостатком полумарковского процесса яв-ляется последействие временных характеристик, возникающее вследствие отличия законов распределения моментов наступления событий (напри-мер, перехода от интерпретации одного оператора к другому) от экспонен-циального. Степень последействия может быть оценена как некоторая ве-роятностная мера, а наличие последействия усложняет процесс анализа вычислительной системы (ВС), поскольку после каждого события в систе-ме приходится переоценивать все плотности распределения времени, ос-тавшегося до конца интерпретации текущих выполняемых операторов в каждом из субъектов [13, 15].
Кроме того не существует теории сведения множества полумарков-ских процессов в единый случайный процесс, учитывающий не только ин-терпретацию алгоритма каждым из субъектов, но и весь комплекс взаимо-действий между субъектами.
Наиболее просто взаимодействие в ВС может быть описано с по-
Информационная безопасность и информационные технологии
305
мощью сети Петри, которая представляет собой двудольный ориентиро-ванный граф, описываемый множеством
П = {A, Z, R~ , R̂}, (8)
где A = {a1(a), ..., aj(a), ..., aJ(a)} - множество вершин первого рода, называемое множеством позиций; Z = {z1(z), ..., zj(z), ..., zJ(z)} - множество вершин второ-го рода, называемое множеством переходов; ( ) ( )( )zjajr~~ =R , матрица смежно-сти, отображающая множество позиций в множество переходов;
( ) ( )( )ajzjr̂ˆ =R , отображающая множество переходов в множество пози-ций [16].
Ключевым понятием сети Петри является понятие фишки, которая моделирует оператор, в данный конкретный момент интерпретируемый ВС, а также выходной и входной функции перехода. Под выходной функ-цией перехода zj(z) понимается подмножество позиций, для которых суще-ствует дуга, ведущая из указанного перехода, т.е.
...,,{)( )](,[1)( zjOzjA azO = Aaa zjONzjOn ⊂}...,, )](,[)](,[ . Под входной функцией перехода понимается подмножество позиций, из которых существует дуга, ведущая в этот переход, т.е. IА(zj(z)) Aaaa яjINяjInяjI ⊂= }...,,...,,{ )](,[)](,[)](,[1 .
Переключения сети Петри называются срабатываниями переходов и сводятся к изыманию по одной фишке из всех позиций подмножества IА(zj(z)) перехода zj(z) и перемещению их в каждую позицию подмножества ОА(zj(z)). Переключение разрешается, если ∀cj[I,j(z)] ≠ 0, cj[I,j(z)] ∈ С, 1[I, j(z)] ≤ j[I, j(z)] ≤ J[I, j(z)].
Интерпретация алгоритмов субъектов информационного взаимо-действия, как и само взаимодействие элементарных алгоритмов, модели-руется с помощью сети Петри в виде последовательности переключений в дискретном времени. При этом одновременно происходит срабатывание всех переходов, для которых срабатывание разрешено [15].
Дискретность времени, детерминированность и ограниченность ус-ловий срабатывания переходов являются существенным недостатком сети Петри. Вследствие указанных функциональных ограничений, модели ука-занного типа позволяют лишь ответить на вопрос о принципиальной дос-тижимости тех или иных состояний системы, а не о реальном времени, за которое это событие может произойти. Это порождает известные трудно-сти в стыковке моделей, сформированных с помощью аппарата сетей Пет-ри с моделями теории систем массового обслуживания. В то же время сеть Петри позволяет определить степень готовности субъектов взаимодейст-вия к обмену данными, что является ее немаловажным преимуществом.
Сеть Петри-Маркова (СПМ), формируемая объединением струк-турной модели (8) и структурно-параметрической модели (5), позволяет аналитически описывать как срабатывание сети Петри, так и временные
Известия ТулГУ. Технические науки. 2013. Вып. 3
306
интервалы между срабатываниями. Однако, наличие последействия при очередном срабатывании существенно усложняет практическое использо-вание этого математического аппарата и делает его практически неприме-нимым при моделировании сложных систем массового обслуживания (СМО), где любой субъект информационного взаимодействия является как источником заявок на обслуживание, так и обслуживающим каналом, в ре-зультате чего в системе источники/обслуживающие каналы возникают до-полнительные перекрестные и обратные связи, механизма исследования которых в настоящее время не существует [13, 17, 18].
Поэтому с применением математического аппарата СПМ и теории СМО ниже излагается разработанная концепция моделирования взаимо-действующих информационных процессов в ВС, предусматривающая:
единство математического описания любого субъекта взаимодейст-вия на любом иерархическом уровне;
наличие в структуре взаимодействия элементарных последователь-ных алгоритмов, разделенных на множество операторов, для которых мо-гут быть просто определены временные и вероятностные факторы их вы-полнения;
учет сложной логики взаимодействия элементарных последова-тельных алгоритмов;
учет специфики функционирования субъекта заключается в том, что любой субъект функционирует по алгоритму, является источником за-просов на обслуживание и одновременно обслуживающим каналом;
разработку математического аппарата для оперирования со струк-турными и параметрическими составляющими модели информационного взаимодействия;
отсутствие последействия при срабатывании СПМ, и связанное с этим упрощение выкладок при получении конечных результатов.
На основании графа информационных связей операторов алгоритма с выделенными контекстными зависимостями и информационного графа элементарной сети Петри, отражающей структуру зависимостей между операторами, может быть сформирована сеть Петри-Маркова, представ-ляющая собой обобщенную математическую модель исполнения алгорит-ма.
Ψ = {П, М}, П = {A, Z, R~ , R̂}, M = {h(t), Λ}, (9)
где П - структура элементарной сети Петри-Маркова (ЭСПМ); М - множе-ство параметров.
В множестве Z ЭСПМ (9) имеются только два непримитивных пе-рехода: переход z1(z) ∈ Z, моделирующий оператор «начало», для которого IА(z1(z)) = ∅ и переход zJ(z) ∈ Z, моделирующий оператор «конец», для ко-торого ОА(z1(z)) = ∅. Все остальные переходы являются примитивными. ЭСПМ (9) является слабосвязной сетью, в которой имеются пути z1(z) →
Информационная безопасность и информационные технологии
307
а1(а) и а1(а) → z1(z) для ∀а1(а) ∈ А. ЭСПМ может быть преобразована в полумарковский процесс, для
которого может быть определена плотность распределения времени дос-тижения поглощающего состояния аJ(z) из начального состояния а1(z) по за-висимости
( ) ( ) ( ) ( )[ ] ( )[ ]∑∞
=
− ⋅=1
11
1w
zJw
zJ ssLtf θIehI , (10)
где I1(z) = (1, 0, ..., 0, ...., 0); IJ(z) = (0, ..., 0, ...., 0, 1); h(s) = L[h(t)];
( )
( ) ( )( ) ( ) ( )( ) ( ) ( )( )
( ) ( )( ) ( ) ( )( ) ( ) ( )( )
( ) ( )( ) ( ) ( )( ) ( ) ( )( )
=
tetete
tetete
tetete
Ls
aJzJajzJazJ
ajzjajzjazj
aJzajzaz
.........
.........
......
1
1
1111
е ; (11)
( ) ( )( ) ( ) ( ) ( )( ) ∈=
случаях.остальных всех во 0; если, zjAaj
ajzj
zOatte
δ
Из h1J(t) могут быть получены математическое ожидание и диспер-сия времени достижения поглощающего состояния аJ(z) из начального со-стояния а1(z):
( ) ( ) ( )∫∫∞∞
−⋅==0
2111
011 ; dtTtthDtdtthT JJJJJ . (12)
Если вместо полумарковской матрицы заданы матрицы вероятно-стей р, плотностей распределения Т, и дисперсий D, то математическое ожидание Т1J и дисперсия D1J могут быть получены непосредственным вы-числением по зависимостям:
( )[ ] ( )∑∞
=
+⊗=1
~
11w
zJww
zJT θITpI ; (13)
( ) ( )[ ] ( )2
11
~~~
11 Jw
zJwwww
zJ TD −⊗+⊗= ∑∞
=
+++ θITTDpI . (14)
Зависимость (12) или (13) является моделью эффективности эле-ментарного вычислительного процесса, реализуемого в ВС.
Основной задачей параллельных вычислительных сред и процесса написания программного обеспечения, для них, является выполнение сво-их функций при жестких ограничениях на массу, стоимость, потребляемую энергию и надежность аппаратных компонентов, и ограничениях на быст-родействие, точность и объем потребляемых ресурсов программных ком-понентов. Потому любая методология проектирования систем должна раз-рабатываться как оптимизационная задача [19]. Как было показано выше, одним из основных критериев для большинства случаев является именно время выполнения.
Известия ТулГУ. Технические науки. 2013. Вып. 3
308
Задача проектирования оптимальных по быстродействию про-граммных систем является классической: требуется найти значение векто-ра Х* ( )***
1 ...,,...,, Nn xxx= варьируемых параметров Х = )...,,...,,( 1 Nn xxx , ко-торое доставляет минимум целевой функции
min)( * =Xς , (15) где ς(X) - скалярная функция векторного аргумента, которая представляет собой модель цели проектирования.
Варьируемые параметры характеризуют аппаратные компоненты и программные средства системы реальной вычислительной системы. Они входят в следующие выражения:
а) для плотностей распределения ( ) ( ) ( ) ( )( )fzjajzjaj tf X, времени пребы-вания полумарковского процесса в позициях аj(а) сети Петри-Маркова вида (9), сформированной как модель соответствующей компоненты реальной физической системы, 1(а) ≤ j(а) ≤ J(а), 1(z) ≤ j(z) ≤ J(z), ( ) ( ) XX ⊂fzjaj ;
б) для математических ожиданий времени пребывания полумарков-
ского процесса в позициях аj(а) ( ) ( ) ( ) ( )( ) ( ) ( ) ( ) ( )( )∫∞
=0
,, dtttftT fzjajzjajfzjajzjaj XX ,
1(а) ≤ j(а) ≤ J(а), 1(z) ≤ j(z) ≤ J(z), ( ) ( ) XX ⊂fzjaj ; в) для дисперсий времени пребывания полумарковского процесса в
позициях аj(а)
( ) ( ) ( ) ( )( ) ( ) ( ) ( ) ( )( )[ ] ( ) ( ) ( ) ( )( )∫∞
−=0
2 ,,, dttftTttD fzjajzjajfzjajzjajfzjajzjaj XXX , 1(а) ≤ j(а)
≤ J(а), 1(z) ≤ j(z) ≤ J(z), ( ) ( ) XX ⊂fzjaj ; г) для вероятностей ( ) ( ) ( ) ( )( )pzjajzjajp X переключения полумарковско-
го процесса из позиции аj(а) в переход zj(z) 1(z) ≤ j(z) ≤ J(z), 1(а) ≤ j(а) ≤ J(а), ( ) ( ) XX ⊂pzjaj ;
д) для выходных функций переходов ОA[zj(z), Хj(z)О], ( ) XX ⊂Оzj , 1(z) ≤ j(z) ≤ J(z);
е) для логических условий ( ) ( ) ( ) ( )( )pajzjajzj XΛ выполнения полушагов из переходов zj(z) в позиции аj(а) ∈ ОA(zj(z)) сети Петри-Маркова вида (9) 1(z) ≤ j(z) ≤ J(z), 1(а) ≤ j(а) ≤ J(а), ( ) ( ) XX ⊂zjaj .
Перечисленные выражения входят в систему равенств, неравенств, булевых выражений, теоретико-множественных функций и т.п. вида
gk(X) >< bk; 1 ≤ k ≤ K, (16) где gk(X) - некоторая непрерывная, дискретная, логическая или иная функ-ция; bk - скалярный параметр.
Выражения «а - в», входящие в систему (16), отражают параметри-
Информационная безопасность и информационные технологии
309
ческие изменения модели программно-аппаратного комплекса. Выражение «г» отражает структурно-параметрические аспекты, а выражения д), е), входящие в систему (16), отражают структурные аспекты модели. Вероят-ности ( ) ( ) ( ) ( )( )pzjajzjajp X , входящие в выражения г), отнесены к разряду структурно-параметрических вследствие того, что при ( ) ( ) ( ) ( )( )pzjajzjajp X = 0 фактически дуга ( ) ( )( )zjAaj zIa ∉ выпадает из структуры двудольного графа и 0~
)()( =zjajr . Таким образом, для целевой платформы с заранее известными ха-
рактеристиками можно с высокой долей достоверности определить время выполнения операторов DF и, соответственно, определить время выполне-ния линейных (без ветвлений) участков алгоритма. Введенное условие де-терминированности позволит также вычислить и общее время выполнения программы с учетом операторов группы DC, как общее время выполнения алгоритма по всем ветвям условий, но эта оценка не будет являться досто-верной, поскольку в любой момент времени может быть выполнено только одно из множества n условий.
Однако существует возможность уточнения результатов, заклю-чающаяся в предсказании ветвлений алгоритма (рис. 1).
><
Рис. 1. Оператор-условие и варианты продолжения выполнения
Выше было показано, что любой из операторов алгоритма, в конеч-
ном счете, зависит только от вектора входных данных X. Зная закон рас-пределения входных данных f(X), можно оценить вероятности исхода со-бытия Di
C. Для этого представим вектор входных данных и вероятностный закон их распределения в виде n+1 мерного пространства, где осям абс-цисс соответствуют компоненты вектора X, а оси ординат закон распреде-ления f(X). Тогда, чтобы при выполнении оператора Di
C с n ветвлениями было выполнен переход по j-й ветке, необходимо выполнение неравенства
0)( ≤XijG . (17) Обозначим область, соответствующую выражению (17) как
( )0)( ≤= Xijij Gµ (рис. 2), причем для областей исхода событий должно выполняться условие непересечения:
≠≠
=∩kj
kj
ijikij если ,
, если ,0µµµ (18)
Известия ТулГУ. Технические науки. 2013. Вып. 3
310
Тогда вероятность выполнения перехода по j-й ветке для DiC опера-
тора может быть определена выражением
∫ ∫= Nj dxdxdxfpij
...)(... 21Xµ
, (19)
где N — размерность вектора входных данных X. Из выражения (19) также можно получить вероятность неперехода
по j-й ветке как 1 - pj, что для случая перехода с двумя условиями равно-сильно переходу по другой ветке.
Рис. 2. Области условий в n-мерном пространстве
В инженерных приложениях вместо плотностей распределения времени выполнения операторов используется минимальное, максималь-ное и среднее время выполнения операций [20] и среднеквадратичное от-клонение времени выполнения операций. Исследуем возможность получе-ния математических выражений, которые позволяют напрямую рассчиты-вать основные числовые характеристики полумарковской матрицы (мате-матические ожидания и дисперсии) по числовым характеристикам и сто-хастической матрице полумарковского процесса [13], что позволит, учи-тывая зависимости (17), оценить время выполнения программы.
Рассмотрим матрицы ξ = (ξmn), ζ = (ζnm), φ(s) = [φmn(s)], η(s) = [ηnm(s)]. (20)
Матрицы ξ и ζ являются матрицами коэффициентов, имеющих свойства вероятностей. Матрицы φ(s) и η(s) имеют свойства характеристи-ческих матриц, матрицы ξ и φ(s) имеют размер М × N. Матрицы ζ и η(s) имеют размер N × М.
Математические ожидания и дисперсии плотностей распределения, получающихся из элементов характеристических матриц путем нахожде-ния обратного преобразования Лапласа, имеют следующие обозначения:
( )[ ] mnmn tdtsL µφ =∫∞
−
0
1 ; ( )[ ] nmnm tdtsL νη =∫∞
−
0
1 ;
( )[ ]( ) mnmnmn dttsL ρµφ =−∫∞
−
0
21 ; ( )[ ]( ) nmnmnm dttsL σνη =−∫∞
−
0
21 .
Определим структуру следующего произведения:
Информационная безопасность и информационные технологии
311
[ξ ⊗ φ(s)]⋅[ζ ⊗ η(s)] = ( ) ( )
( ) ( )
( ) ( )
( ) ( )=
ηζηζ
ηζηζ⋅
φξφξ
φξφξ=
ss
ss
ss
ss
NMNMNN
MM
MNMNMM
NN
.........
...
.........
...
11
111111
11
111111
[ ] ( ) ( )[ ]
η⋅φ⋅ζ⋅ξ= ∑
=
N
jjnmjjnmj ss
1, (21)
где матрица, получившаяся в результате, является квадратной матрицей размером М × М.
Найдем для (21) математическое ожидание и дисперсию:
( ) [ ] ( ) ( )[ ] =
η⋅φ⋅ζ⋅ξ=τ ∫ ∑
∞
=
−
0 1
1 tdtssLN
jjnmjjnmjmn
[ ] ( ) ( )[ ] [ ] [ ] ;~*10 1
ν+µ⋅ζ⋅ξ=
ηφ⋅ζ⋅ξ= ∑∫ ∑
=
∞
=
N
jjnmjjnmj
N
jjnmjjnmj tdttt (22)
( ) [ ] ( ) ( )[ ] ( )=τ−
η⋅φ⋅ζ⋅ξ=ς ∫ ∑
∞
=
− 2
0
2
1
1mn
N
jjnmjjnmjmn dttssL
[ ] ( ) ( )[ ] ( ) [ ] [ ] ,~*1
22
0
2
1
τ−υ+ρ⋅ζ⋅ξ=τ−
ηφ⋅ζ⋅ξ= ∑∫ ∑
=
∞
=
N
jmnjnmjjnmjmn
N
jjnmjjnmj dtttt (23)
где µmj, νjn - математические ожидания исходных плотностей распределе-ния; τmn - mn-й элемент итоговой матрицы математических ожиданий плотностей распределения; ρmj, υjn - дисперсии исходных плотностей рас-пределения; ςmn - mn-й элемент итоговой матрицы дисперсий плотностей распределения; +~ - знак суммирования, введенный для того, чтобы отли-чить его от общего суммирования, проводимого под знаком Σ.
Приведем (22) и (23) к аналитическим матричным выражениям:
[ ] [ ] ( ) ( )[ ] ( ) ( )[ ] =ν+µ⊗ζ⋅ξ=
ν+µ⋅ζ⋅ξ= ∑
=nmmnnmmn
N
jjnmjjnmj
~~1
τ
( ) ( );~ νµζξ +⊗⋅= (24)
[ ] [ ]
( ) ( )[ ] ( ) ( )[ ] ( ) ( )=τ⊗τ−υ+ρ⊗ζ⋅ξ=
=
τ−υ+ρ⋅ζ⋅ξ= ∑
=
mnmnmnmnmnmn
N
jmnjnmjjnmj
~
~1
2ς
( ) ( ) ,~ ττυρζξ ⊗−+⊗⋅= (25)
Известия ТулГУ. Технические науки. 2013. Вып. 3
312
где ⊗ - знак прямого произведения матриц; +~ - знак матричной операции, выполняемой по правилам умножения матриц, в которой операция умно-жения заменена на операцию суммирования; τ, µ, ν - числовые матрицы математических ожиданий; ς, ρ, υ - числовые матрицы дисперсий;
=
MMM
M
ττ
ττ
1
111......
τ ;
=
MNM
N
µµ
µµ
1
111......
µ ;
=
NMN
M
νν
νν
1
111......
ν ;
=
MMM
M
ςς
ςς
1
111......
ς ;
=
MNM
N
ρρ
ρρ
1
111......
ρ ;
=
NMN
M
υυ
υυ
1
111......
υ .
Добавим к (24), (25) матрицу вероятностей π:
ζξπ ⋅=
=
MMM
M
ππ
ππ
...
...
...
1
111. (26)
Если матрицы ξ, µ, ρ характеризуют вероятностные и временные характе-ристики ЭППМ после u переключений, матрицы ζ, ν, υ характеризуют ве-роятностные и временные характеристики одного переключения, то мат-рицы π, τ и ς характеризуют вероятностные и временные характеристики (u+1)-го переключения. Таким образом, получены общие матричные ана-литические выражения (24), (25), (26), которые позволяют получить вре-менные характеристики (16), (19) по временным и вероятностным харак-теристикам полумарковской матрицы h(t).
Математические ожидания и дисперсии плотностей распределения ( ) ( )( )tf kznkzm
ˆ могут быть определены по зависимостям
( ) ( )( )[ ] ( )
∑
∑∞
=
∞
=
+
′
′⊗′=
1
1
~
ˆ
w
wk
wkzn
wk
wkkzm
kznkzm
IIT
p
Tp θ
; (27)
( ) ( )( )[ ] ( )
( ) ( )2
1
1
~
ˆˆkznkzm
w
wk
wkzn
wk
wkkzm
kznkzm TII
D −′
′⊗′=
∑
∑∞
=
∞
=
+
p
Dp θ
, (28)
где kp′ , kT ′ , kD′ - матрицы числовых характеристик взвешенных плотностей распределения, получаемых из полумарковской матрицы h(t);
( )[ ]dtsL kk hp ′=′ ∫
∞−
0
1 ; (29)
( ) ( ) ( )[ ]( ) ( )
′
′=′∫∞
−
θ
θ
kznkkzm
kznk
kzm
k II
tdtIsIL
p
hT 0
1
; (30)
Информационная безопасность и информационные технологии
313
( ) ( ) ( )[ ]( ) ( )
kkkznkkzm
kznk
kzm
k II
dttIsILTT
p
hD ′⊗′−
′
′=′∫∞
−
θ
θ
0
21
. (31)
Используя зависимости (29)-(31) и применяя выражение (19) для оценки вероятности развития алгоритма по данной траектории, можно оценить предельные и среднее значение времени работы данного алгорит-ма, воспользовавшись правилом трех сигм [21]:
σ3min −= TT ,
σ3max += TT , (32)
2maxmin TT
Tcp+= ,
где D=σ . Таким образом, представлена методика оценки времени выполне-
ния алгоритма на конкретной аппаратной платформе, а также вариант про-гнозирования ветвлений, базирующийся на вероятностной оценке исходов логических операций как функции, зависящей исключительно от входных данных.
Дальнейшие исследования в этой области будут направлены на раз-работку методик решения оптимизационных задач распараллеливания по-следовательных алгоритмов с использованием предложенной оценки вре-мени исполнения алгоритма, что позволит выбрать оптимальную структу-ру сети Петри-Маркова, описывающую модель исполнения алгоритмов на ЭВМ заданного типа.
Список литературы
1. Morgan D.E. and Campbell J.A. An answer to a user's plea? // Pro-
ceedings of the 1973 ACM SIGME symposium (SIGME '73). New York, 1973. P. 112-120.
2. Thomas E. Bell. 1974. Computer performance variability. In Proceed-ings of the National computer conference and exposition. New York, 1974. P. 761-766.
3. Феррари Д. Оценка производительности вычислительных систем. М.: Мир, 1981.
4. Воеводин В.В., Воеводин Вл.В. Параллельные вычисления. СПб.: БХВ-Петербург, 2002. 608 с.
5. Aho А.V., Sethi R., Ullman J.D. Compilers: Principles, Techniques, and Tools. NY: Addison-Wesley, 1986.
Известия ТулГУ. Технические науки. 2013. Вып. 3
314
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 dependen-cies in the software // Proc. of Тhe International Congress on Information Tech-nologies -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 Sto-chastic 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.
18. Ларкин Е.В., Сабо Ю.И. Сети Петри-Маркова и отказо-устойчивость авионики. Тула: Изд-во ТулГУ, 2004. 204 с.
19. Привалов А.Н., Ларкин Е.В. Проектирование программного обеспечения вычислительных средств тренажерных систем. Тула: Изд-во ТулГУ, 2010. 259 с.
20. Leo J. Scanlon IBM PC & XT assembly language a guide for pro-grammers 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.
Информационная безопасность и информационные технологии
315
Ивутин Алексей Николаевич, канд. техн. наук, доц., [email protected], Россия, Тула, Тульский государственный университет,
Ларкин Евгений Васильевич, д-р техн. наук, проф., зав. кафедрой,
[email protected], Россия, Тула, Тульский государственный университет
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, exe-cution time.
Ivutin Alexey Nicolaevich, candidate of technical science, docent,
[email protected], Russia, Tula, Tula State University, Larkin Evgeniy Vasilevich, doctor of technical science, professor, the head of a
chair, [email protected], Russia, Tula, Tula State University
УДК 62.50
ИСПОЛЬЗОВАНИЕ ФАЗОВОЙ СОСТАВЛЯЮЩЕЙ СПЕКТРА СИГНАЛА ДЛЯ ИДЕНТИФИКАЦИИ ДВИЖЕНИЯ
А.А. Аршакян, С.А. Будков, Е.В. Ларкин
Разработана методика идентификации движения объекта по сцене. Показа-
но, что признаком движения объекта является ненулевая разность фазовых состав-ляющих спектра сигнала в соседних кадрах. Получены зависимости, определяющие па-раметры движения по параметрам фазовой характеристики спектра.
Ключевые слова: сцена, видеодетектор, преобразование Фурье, амплитудная составляющая спектра, фазовая составляющая спектра, разность фазовых состав-ляющих, параметры движения.
Одной из важных областей применения систем безопасности, по-строенных на базе средств видеонаблюдения, является обнаружение объ-ектов, перемещающихся по сцене [1]. Прямое наблюдение сцены с целью обнаружения подвижных объектов (ПО) имеет существенный недостаток, который заключается в человеческом факторе [2]. Подобного рода работа может быть отнесена к разряду монотонных, а ее выполнение приводит к