Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Методы Монте-Карло для параллельных вычислений. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
2 Мб
Скачать
☆
претируется как наступление соответствующего j-го события. Затем вы­бирают новое случайное состояние системы X(t+T
) с распределени-
max
ем p(s0; s, j) соответственно наступившему событию. Пусть новым со­стоянием системы оказалось s00. Наступление события j-го типа может потребовать генерирования новых случайных значений некоторых из переменных Ti, i 6= j, c новой функцией распределения Fi(x; s, j, s00), зависящей от старого состояния s, нового состояния s00, типа наступив­шего события j и типа i события, для которого обновляется время до наступления i. Остальные компоненты Ti, которые не требуют перена­значения, уменьшают на величину T ное время Tj(t + T
+ 0) до наступления следующего j-го события.
max
. Наконец, генерируют случай-
min
Затем повторяется процедура выбора следующей обнуляющейся непре­рывной компоненты и т. д. Итак, дискретная временная шкала в этом методе состоит из моментов времени, в которые обнуляется одна из ве­личин T1(t), T2(t), . . . , T
|s00|
(t).
В качестве примера рассмотрим задачу о моделировании сети массового обслуживания с произвольным законом обслуживания в уз­лах и рекуррентным входным потоком. Сети массового обслуживания являются адекватными моделями многих реальных систем, таких как вычислительные сети, сети передачи данных, телефонные сети, стра­ховые компании и т. д. Сеть состоит из m обслуживающих узлов Γ
(2)
Γ
, . . . , Γ
(m)
(рис. 6.1). Извне поступают заявки (требования, пакеты
(1)
данных и т. д.), так что интервалы между поступлениями независимы и имеют функцию распределения A(t). Поступившая извне заявка с веро­ятностью P
(r)
Γ
, так что
направляется на ожидание обслуживания в очередь узла
0,r
m
X
P
= 1.
0,r
r=1
Все узлы обслуживают заявки независимо друг от друга и могут рабо­тать одновременно. Обслуживание в каждом узле осуществляется без простоя, и выбор заявок из очереди осуществляется в порядке из по­ступления. Длительности обслуживания в узле Γ даны функцией распределения Br(t). Далее обслуженная в узле Γ заявка мгновенно перемещается в случайный узел Γ
P
или покидает сеть с вероятностью P
r,s
m
X
P
r,s
s=1
+ P
r,0
r,0
= 1.
, где
(r)
независимы и за-
(s)
с вероятностью
(r)
,
121
Γ
(1)
Γ
(2)
Γ
(3)
Γ
(4)
Γ
(5)
A(t)
P
0,1
P
0,2
P
0,5
P
0,3P0,4
P
3,2
P
3,1
P
3,4
P
3,0
P
3,5
P
3,3
Рис. 6.1. Открытая сеть с m = 5 узлами
Требуется определить характеристики длин очередей в узлах сети.
Под состоянием сети будем понимать вектор x = (x1, x2, . . . , xn) длин очередей перед всеми узлами. Состоянию x припишем ранг, рав­ный числу ненулевых элементов в векторе x, увеличенному на единицу. Компонента T1(t) отмечает оставшееся время после момента t до по­ступления нового требования в систему. Компоненты T2(t), T3(t), . . . ,
T
(t) по порядку соответствуют ненулевым компонентам вектора x.
|x|
В момент t поступления нового требования, когда T1(t) достигает ну­ля, выбирается случайный узел Γ
(r)
с вероятностью P
, компонента
0,r
xrвектора состояния увеличивается на 1 и новое состояние сети стано-
вится x0. Генерируется новое значение величины T1(t + 0) с функцией распределения A(x). Если xrстало равно 1, то есть до поступления этого требования узел Γ вставить в ряд T1(t), T2(t),. . . , T ответственно положению ¯r переменной x
(r)
находился в состоянии простоя, то нужно
(t) новую переменную T¯r(t + 0) со-
|x|
0
= xr+1 среди всех ненулевых
r
компонент вектора x, а случайное значение величины T¯rгенерируется по функции распределения Br(t). Содержательно переменная T¯rравна количеству времени, необходимому для окончания обслуживания по­ступившего требования в узле Γ
(r)
. Далее, если в момент t обратилась в ноль компонента Tr(t), r > 1, то это интерпретируется как окончание обслуживания на соответствующем узле Γ r среди ненулевых компонент вектора x. Тогда компонента x
(r0)
, определяемом по номеру
0
r
умень­шается на единицу. Если при этом она обратилась в ноль, это означает, что в очереди узла Γ
(r0)
требований нет, и компоненту Tr(t) необходи-
мо удалить. Если, напротив, имеются еще требования в очереди узла
122
(r0)
Γ
, то генерируется новое случайное значение величины Tr(t + 0) по
функции распределения B
0
(t).
r
Итак, для реализации метода дискретных событий необходимо знать условные распределения интервалов между наступлениями собы­тий каждого типа и условные распределения вероятностей для выбора нового состояния системы. Для реальных сложных систем получить все необходимые условные распределения может быть затруднитель­но, а число возможных событий, за которыми придется следить, может также быть очень большим. Поэтому представляет интерес метод по­строения имитационных моделей сложных управляющих систем, опи­рающийся на фундаментальные свойства и методологическое понятие кибернетической управляющей системы, впервые данное в математиче­ской кибернетике.
В основе кибернетического подхода при построении, анализе и оптимизации модели управляющей системы лежат следующие основные положения:
— любая управляющая система обладает фундаментальными свойствами: схемой, информацией, координатами и функцией;
— принцип дискретности актов функционирования управляющей системы во времени τi, i > 0, где так называемый стробирующий про­цесс вида {τi; i > 0} задает на [0, ∞) шкалу тактов времени;
— принцип нелокальности в математическом описании (кодиро­вании) всех блоков строения управляющей системы;
— принцип совместного рассмотрения блочного строения схемы управляющей системы и ее функционирования по времени τi, i > 0 на этапе построения математической и имитационной модели.
При таком нетрадиционном подходе построение математической и имитационной моделей в общем случае включает следующие основные этапы:
— выделение схемы, информации, координат и функции системы;
— определение для схемы ее так называемых структурных бло­ков: внешней среды, входных полюсов, внешней памяти, устройства по переработке информации внешней памяти, внутренней памяти, устрой­ства по переработке информации внутренней памяти и, наконец, выход­ных полюсов;
— задание алгоритмов управления изменениями состояний струк­турных блоков схемы (например, внешней памяти, внутренней памяти, и т. д.);
— проведение кодирования информации или нелокальное описа-
123
ние структурных блоков схемы;
— выявление существенных функциональных и статистических
связей между блоками схемы;
— выбор основных исходных и искомых характеристик системы.
Процесс имитационного моделирования сложной управляющей системы состоит в формировании последовательности моментов наблю­дения за системой, т. е. стробирующей последовательности τi, i > 0, и в моделировании последовательности состояний блоков схемы в соответ­ствии с выявленными функциональными и статистическими связями между блоками схемы.
Существенное отличие кибернетического подхода по сравнению с рассмотренными ранее классическими подходами заключается в отказе от знания состояния сложной системы в произвольный момент време­ни t. Преимущество предлагаемого подхода заключается в том, что чис­ло рассматриваемых блоков системы невелико и имитационная модель получается обозримой. В следующем разделе будет дан пример постро­ения, анализа и оптимизации предложенным методом одной системы массового обслуживания.
Рассмотренные подходы с разной степенью подробности позво­ляют провести генерирование одной реализации случайного процес­са, имитирующего функционирование сложной управляющей системы. При наличии средств параллельных вычислений возможно различное их применение для имитационного моделирования сложных управля­ющих систем. Наименьшие сложности для реализации метода Монте­Карло вызывает моделирование независимых реализаций на разных вы­числительных устройствах. Это возможно, если выполняются следую­щие условия:
1) требования к памяти позволяют провести моделирование одной
реализации на одном вычислительном устройстве;
2) длительность переходного процесса к установившемуся режи­му для одной реализации невелика, и время работы каждого вычисли­тельного устройства не ограничено;
3) длительное время моделирования одной реализации обуслов­лено медленным убыванием дисперсий оцениваемых характеристик си­стемы.
Альтернативный подход состоит в использовании нескольких па­раллельно работающих вычислительных устройств для моделирования одной реализации изучаемого процесса. Этот подход называется рас­пределенным имитационным моделированием. В рамках распределен-
124
ного имитационного моделирования возникают сложные для практи­ки вопросы синхронизации параллельно работающих вычислительных устройств. В данной работе этот метод не рассматривается.
Как правило перед исследователем встают следующие вопросы:
1) какую длину реализаций процесса функционирования сложной управляющей системы выбрать и сколько реализаций генерировать для оценки показателей системы с заданной надежностью?
2) как определить момент входа реализации в квазистационарный режим?
3) как оценивать интересующую исследователя характеристику системы?
Один подход существенно опирается на теорию так называемых регенерирующих процессов. Напомним определение регенерирующего процесса. Пусть задан случайных процесс {X(t); t > 0}. Если суще­ствует последовательность
{βn; n = 0, 1, . . .}
(случайных) моментов времени такая, что величины
αn= βn− β
, n = 1, 2, . . .
n−1
независимы и одинаково распределены, для любых действительных чи­сел 0 6 s1< s2< . . . < smнаборы
(X(s1), X(s2), . . . , X (sm))
и
(X(s1+ βn), X(s2+ βn), . . . , X (sm+ βn)), n = 1, 2, . . . ,
одинаково распределены и, наконец, для всех n процессы
{X(t); 0 6 t < βn}, {X(βn+ t); t > 0}
независимы, то процесс {X(t); t > 0} называется регенерирующим. Из определения следует, что течение регенерирующего процесса разбивает­ся моментами βn, n = 0, 1, . . . на независимые стохастически подобные «циклы», называемые далее циклами регенерации.
Например, в задаче о моделирования открытой сети массового обслуживания моментами регенерации являются моменты поступления требования в сеть, не содержащую других требований (в пустую сеть).
125
Допустим, что интересующая характеристика U связана с произ­вольным требованием (например, время пребывания требования в си­стеме, вероятность потери требования и т. д.) и что математическое ожидание a этой характеристики можно выразить следующим образом:
M(U1+ U2+ .. . + UN)
a =
M(N)
, (6.1)
где N — число требований, поступивших в систему за один период ре­генерации, а случайные (в общем случае коррелированные) величины
U1, U2, . . . , UNсуть значения изучаемой характеристики для каждого
из этих требований. Тогда для точечной оценки величины a по n < ∞ циклам регенерации можно использовать формулу
S1+ S2+ .. . + S
ˆan=
N1+ N2+ .. . + N
n
,
n
где частная сумма
Si= U
i,1
+ U
+ .. . + U
i,2
i,N
i
дает оценку числителя в правой части соотношения (6.1) на i-м цик­ле регенерации, а Ni— число требований, поступивших на i-м цикле регенерации, i = 1, 2, . . . , n. Для оценки величины a при параллель­ных вычислениях естественно распределить между вычислительными устройствами задачу моделирования заданного числа n траекторий про­цесса на циклах регенерации, а затем собрать полученные в результате пары {(Si, Ni); i = 1, 2, . . . , n}.
Другой подход к оцениванию характеристик системы в квази­стационарном режиме основывается на замечании, что характеристики в установившемся квазистационарном режиме не должны зависеть от начального состояния моделируемой системы. Этот подход демонстри­руется в следующем разделе на примере моделирования управляющей системы массового обслуживания, реализующей алгоритм разделения времени с переналадками.
6.2. Оптимизация системы массового обслуживания в классе алгоритмов разделения времени с переналадками
Алгоритм разделения времени при обслуживании конфликтных потоков используется в различных реальных управляющих системах:
126
вычислительных комплексах, системах управления дорожным движе­нием, комплексах микросварки, системах таможенного досмотра в боль­ших аэропортах. При построении моделей систем обслуживания, ре­ализующих алгоритм разделения времени, приходится учитывать из­менчивость вероятностных характеристик входных потоков требова­ний. Перед исследователем ставятся проблемы расчета основных важ­ных для приложений характеристик: загрузки обслуживающего устрой­ства, среднего времени пребывания произвольного требования в систе­ме, средней стоимости пребывания требования в системе и других. Кро­ме того, важно указать оптимальное в некотором смысле правило пере­ключения обслуживающего устройства между очередями ожидающих требований. Аналитическое решение всего указанного комплекса про­блем на основании математической модели до настоящего времени не найдено, и пока лишь имитационное моделирование процесса обслужи­вания с разделением времени и переналадками может дать ответы на вопросы исследователя. Имитационное моделирование систем обслужи­вания также дает возможность исследовать системы с разнообразными входными потоками — как имитируемыми, так и реальными, однажды наблюдавшимися. При создании имитационной модели мы предлагаем воспользоваться изложенным в предыдущем разделе кибернетическим подходом.
Рассматривается система обслуживания m < ∞ конфликтных
потоков Π1, Π2, .. . , Πm. Входные потоки формируются в случайной
(1)
среде с d < ∞ состояниями e
, e
(2)
будем называть первичными. При состоянии среды e
, . . . , e
(d)
. Требования этих потоков
(k)
, k = 1, 2, . . . ,
d требования по потоку Πj, j = 1, 2, . . . , m поступают группами, по­ток групп — пуассоновский с интенсивностью λ
(k)
, размеры групп суть
j
независимые случайные величины. Группа содержит b требований с ве­роятностью p
(j,k)
, b = 1, 2, . . . . Требования потока Πjпомещаются в
b
накопитель Ojнеограниченного размера. Прибор имеет m + 1 состояние
(1)
(2)
Γ
, Γ
, .. . , Γ
(m+1)
. В состоянии Γ
(j)
, j = 1, 2, .. . , m, обслуживает­ся не более одного требования из очереди Oj, и длительность обслу­живания произвольного требования из накопителя Ojесть случайная величина с функцией распределения Bj(t). После каждого акта обслу­живания прибор осуществляет внутреннюю переналадку и находится в состоянии Γ
(m+1)
, длительность переналадки после обслуживания j-го потока также случайна с функцией распределения¯Bj(t). Если после пе­реналадки очереди пусты, то на обслуживание выбирается первое вновь поступившее требование. Если, напротив, длины очередей составляют
127
ненулевой вектор x = (x1, x2, . . . , xm), то на обслуживание выбира­ется требование из очереди с номером j = h(x) и состояние прибора становится Γ
(j)
, где
h(·): X = {0, 1, . . .}m→ {1, 2, . . . , m + 1}
— заданное отображение целочисленной неотрицательной решетки та­кое, что прообразом точки n = m + 1 является только нулевой вектор
¯
0 = (0, 0, . . . , 0) ∈ X.
После обслуживания на фазе j требование порождает вторичные требо­вания, которые поступают в очереди O1, O2, . . . , Om. При состоянии сре-
(k)
ды e ваний обозначим через {p
число p
совместное распределение числа порожденных вторичных требо-
(k)
(y); y ∈ X }. Здесь для y = (y1, y2, . . . , ym)
(k)
(y) — вероятность того, что в очередь O1поступит y1требо-
j
j
вание, в очередь O2— y2требований и т. д., и наконец, в очередь Om— ymтребований, если состояние среды есть e
(k)
. Таким образом, входные потоки системы складываются из входных потоков первичных и вторич­ных требований. Смена состояний случайной среды может происходить только в моменты окончания обслуживания требования или окончания переналадки, так что последовательность состояний случайной среды образует неразложимую марковскую цепь. Вероятность перехода среды из состояния e
a
. Стоимость пребывания одной заявки в единицу времени в j-ой оче-
l, k
(l)
, l = 1, 2, . . . , d, в состояние e
(k)
, k = 1, 2, . . . , d, равна
реди равна cj. Как акт обслуживания, так и период переналадки будем называть рабочим тактом функционирования системы. Обозначим ζ
j,i
суммарное время пребывания всех требований в j-ой очереди на i-ом такте; тогда средняя стоимость пребывания заявок на i-ом такте есть
m
Ji(h) =
X
j=1
M(cjζ
j,i
).
Функционал Ji(h) примем за экономический критерий качества работы систем на i-ом такте.
Поскольку в изучаемой системе существуют промежутки време­ни, когда прибор занят внутренней переналадкой и не обслуживает требования непосредственно, уточним смысл понятия загрузки. Пусть случайная величина w(t) есть суммарное время работы прибора по об­служиванию требований и осуществлению переналадок на промежутке
128
времени [0, t], тогда величина (t − w(t)) равна суммарной длительно­сти простоя прибора, когда в накопителях отсутствовали требования и прибор ожидал поступления новых требований в систему. Под за­грузкой системы будем понимать предел с вероятностью 1 величины (t − w(t))/t при t → ∞. Естественно возникает вопрос о существова- нии этого предела и о способе его вычисления. Отметим следующее. Для простейших систем этот предел удается вычислить непосредствен­но. Так, для задачи Эрланга об обслуживании одного пуассоновского потока конечным пучком линий с показательным временем обслужива­ния в [32] рассматривается марковский процесс с непрерывным време­нем и конечным числом состояний. Под состоянием процесса понимает­ся число занятых линий. Поскольку требования, заставшие все линии занятыми, теряются, стационарное распределение для данной системы всегда существует. Показывается, что случайная величина — отношение времени пребывания в заданном состоянии ко времени наблюдения — сходится по вероятности к стационарной вероятности этого состояния. В частности, доля времени пребывания системы в состоянии 0, соот­ветствующем простою системы, также имеет предел по вероятности. Значение предела приведено в [32]. Тогда загрузка системы равна раз­ности единицы и этого значения. Для широкого класса систем все время работы естественно распадается на циклы, каждый такой цикл состоит из периода занятости и периода простоя, причем длительности циклов независимы и одинаково распределены, и предполагается, что циклы имеют конечные математические ожидания. Тогда рассматривают про­цесс восстановления {N(t); t > 0}, образованный последовательностью циклов, так что N(t) — число полных циклов за время t. Тогда, соглас­но усиленному закону больших чисел, отношение w(t)/N(t) сходится с вероятностью 1 к средней длительности периода занятости, а отноше­ние N(t)/t сходится с вероятностью 1 к средней длине цикла. Поэтому существует с вероятностью 1 предел и для w(t)/t. Хотя существование первых двух пределов известно в литературе по теории вероятностей давно, предложение о существовании третьего предела в теории надеж­ности применяется чаще, чем в теории массового обслуживания [6] (там указанный предел носит название стационарного коэффициента готов­ности элемента). В то же время задача о вычислении распределения и характеристик периода занятости широко распространена в теории массового обслуживания. Например, для однолинейной системы обслу­живания пуассоновского потока с ожиданием математическое ожида­ние периода занятости равно β/(1 − λβ) [20], где λ — мгновенная ин-
129
тенсивность входного потока, β — средняя длительность обслуживания произвольного требования. Поскольку средняя длина интервала между требованиями в этой системе равно 1/λ, получаем для загрузки
β
1 −λβ
1
+
λ
β
1 −λβ
−1
= λβ.
Условие существования стационарного распределения числа требова­ний в системе в моменты окончания обслуживания для этой системы имеет вид: λβ < 1. Для системы обслуживания с относительными прио­ритетами, в которую поступают m < ∞ пуассоновских входных потоков с интенсивностями λ1, λ2, . . . , λm, своим законом распределения дли­тельности обслуживания требований каждого типа с математическими ожиданиями β1, β2, . . . , βmсоответственно, средняя длительность пе­риода занятости задается формулой [20]
m
X
λrβ
r=1
m

r
X
r=1
λ
−1
r
1 −
m
X
r=1
λrβ
−1
.
r
Поскольку суммарный поток требований имеет мгновенную интенсив­ность
λ1+ λ2+ .. . + λm,
для загрузки после аналогичных предыдущему вычислений получаем выражение
λ1β1+ λ2β2+ .. . + λmβm.
Загрузка системы как бы складывается из «загрузки по каждому пото­ку». В более сложных системах вычислить предел lim
w(t)/t удается
t→∞
не всегда. Поэтому на практике пользуются эвристическими сообра­жениями для получения оценок загрузки. Под аналитической оценкой загрузки будем понимать неотрицательную функцию ρ: S → [0, 1], где S — множество всевозможных значений параметров среды, потоков, средних длительностей обслуживаний и переналадок, вероятностей пе­ренаправления. Будем считать выбранную оценку приемлемой [24], если
1) из существования стационарного режима функционирования систе­мы при значениях параметров, определяемых точкой s ∈ S, выполня­ются неравенства 0 < ρ(s) < 1; 2) функция ρ(·) не убывает с ростом ин­тенсивностей поступления требований и ростом средних длительностей обслуживаний и переналадок; 3) при значениях параметров, определя­емых точкой s ∈ S, при которых не существует стационарного режима функционирования системы, выполнено неравенство ρ(s) = 1.
130
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]