Скачиваний:
20
Добавлен:
01.05.2014
Размер:
211.46 Кб
Скачать

II. Расчет потребления ресурсов фрагментами программы.

В качестве потребляемых ресурсов будем рассматривать:

1. Временные ресурсы:

    1. время выполнения программы

    2. время задержки, вызванной обработкой запроса

  1. Емкостные ресурсы (потребление байтов памяти в процессе выполнения программы)

Проблема назначения затрат потребления ресурсов зависит от уровня рассмотрения программы:

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

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

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

  1. представление программы на языке высокого уровня: выбирается реализация типовых процессов обработки на выбранном языке и оценивается потребление ресурсов для каждого из этих процессов.

Для 2 и 3 повышается разброс(и, следовательно, уменьшается точность задания) потребляемых ресурсов из-за различиях в компиляторах и разброса входных данных.

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

2.2. Цепи Маркова

Последовательность случайных величин t, где tT - время, называется цепью Маркова с состояниями S = { 1,2, ... , N }, если

N  P( t=k ) = 1, tT (2.1) k=1

и при любых 0  t1 < t2 < ... tn < g < t, любых i,j S и любых подмножествах B1, B2, ..., Bn множества S выполняется равенство

P( t = j | t1  B1, ... , tn  Bn, g = i ) = P( t = j | g = i ) (2.2)

Приведенное свойство означает, что при фиксированном положении системы в данный момент времени будущее поведение системы (t > g) не зависит от поведения системы в прошлом, или более кратко: при фиксированном настоящем будущее не зависит от прошлого. Данное свойство называется свойством марковости.

В приложениях значения случайных величин t интерпретируются как номера состояний изучаемой системы, которая в моменты времени t меняет свое состояние. Цепь Маркова, в которой моменты времени t изменения состояний дискретны (то есть t=0,1,2,…), называется цепью с дискретным временем (ДВ), в отличие от цепей с непрерывным временем (НВ), в которых изменение состояний происходит в произвольные моменты времени. В дальнейшем будем рассматривать только цепи с ДВ.

Будем называть цепь Маркова t однородной, если при любых i,j  S, вероятности

P( t+1 = j | t = i ) = pij, t = 0,1,2,..., (2.3)

не зависят от t. Матрицу P = ║ p­ij ║, элементами которой являются вероятности, называют матрицей вероятностей переходов, а вектор q = ( q1, q2, ... , qN ), где qi = P( 0 = i ), i = 1,2, ... , N, - вектором начальных вероятностей. Очевидно, что значения p­ij и qi должны удовлетворять условиям

ij ≥ 0, qi ≥ 0 (2.4) N  qj = 1 (2.5) j=1 N  pij = 1 (2.6) j=1

Для цепи, заданной матрицей вероятностей переходов P и вектором начальных вероятностей q, можем получить вектор распределений вероятностей в некоторый момент времени t

t

q( t ) = q *  P k

k = 1

для случая неоднородной цепи (2.7)

q( t ) = q * P t для случая однородной цепи (2.8)