Научная статья на тему 'Оптимальное разбиение общей памяти для двух последовательных циклических FIFO-очередей'

Оптимальное разбиение общей памяти для двух последовательных циклических FIFO-очередей Текст научной статьи по специальности «Математика»

CC BY
100
10
i Надоели баннеры? Вы всегда можете отключить рекламу.
Журнал
Прикладная информатика
ВАК
RSCI
Область наук
Ключевые слова
FIFO-ОЧЕРЕДИ / СЛУЧАЙНЫЕ БЛУЖДАНИЯ / RANDOM WALKS / РЕГУЛЯРНЫЕ ЦЕПИ МАРКОВА / REGULAR MARKOV CHAINS / FIFO-QUEUES

Аннотация научной статьи по математике, автор научной работы — Каблукова Н.В., Соколов А.В.

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

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

Похожие темы научных работ по математике , автор научной работы — Каблукова Н.В., Соколов А.В.

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

Shared memory optimal partitioning for two consecutive cyclic FIFO-queues

This article analyzes the presentation method of the two FIFO-queues in the memory of size m units. It is assumed that on the odd step inserting items into one of the queues while on the even step deleting items from the queues are allowed. Considering the known probability of operations, we solve the problem of shared memory optimal partitioning between queues in the case of consecutive cyclic representation of queues. The optimality criterion is considered as a minimum percentage of lost items at infinite time of the queue.

Текст научной работы на тему «Оптимальное разбиение общей памяти для двух последовательных циклических FIFO-очередей»

ПРИКЛАДНАЯ ИНФОРМАТИКА /-

' № 4 (40) 2012

Н. В. Каблукова, студентка Петрозаводского государственного университета А. В. Соколов, докт. физ.-мат. наук, профессор Петрозаводского государственного университета

Оптимальное разбиение общей памяти для двух последовательных циклических FIFO-очередей1

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

Введение

Во многих приложениях требуется работа с несколькими FFO-очере-дями, расположенными в общем пространстве памяти, для чего применяют различные программные или аппаратные решения [1-3]. В статье предлагаются математические модели для последовательного циклического способа представления очередей [1], в котором элементы равных длин располагаются циклически в последовательных адресах выделенной очереди участка памяти. В качестве критерия оптимальности рассмотрена минимальная доля потерянных элементов за бесконечное время работы системы массового обслуживания. Этот критерий целесообразно применять в системах, где переполнение очереди является не аварийной, а стандартной ситуацией (заметим, что в некоторых приложениях при переполнении очереди работа программы завершается, и тогда в качестве критерия оптимальности следует рассматривать максимальное среднее время до переполнения памяти). Таким образом, если очередь занимает всю выделенную

1 Работа поддержана грантом РФФИ № 12-01 -00253 и Программой стратегического развития ПетрГУ в рамках реализации комплекса мероприятий по развитию научно-исследовательской деятельности.

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

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

Авторами построены математические модели в виде случайных блужданий по целочисленной решетке. Первоначально модели в виде случайного блуждания в треугольнике [4-6] были построены для решения поставленной в [1] задачи анализа процесса работы с двумя стеками, растущими навстречу друг другу. В этих моделях предполагается, что на каждом шаге дискретного времени с заданными вероятностями выполняются некоторые операции над структурами данных. Время выполнения операций есть не случайная величина, а константа, поэтому фиксированным является и шаг времени. В [7-8] предлагались модели работы со стеками в двухуровневой памяти. В [9-11] предлагались модели для

№ 4 (40) 2012

последовательного, связанного и страничного способов представления нескольких FIFO-очередей в памяти одного уровня. Эффективные алгоритмы работы с несколькими очередями в общем пространстве памяти необходимы при разработке различных сетевых устройств и встроенных операционных систем, управляющих потоками пакетов в Интернете, таких, например, как Cisco IOS, где на время обработки пакетов маршрутизатором наложены очень жесткие требования. Механизм страничной виртуальной памяти здесь не используется, и вся работа происходит в нескольких пулах оперативной памяти. Количество очередей в указанных устройствах может достигать нескольких сотен и тысяч, а в будущем, по экспертным оценкам, — нескольких миллионов [12].

В работе [2] приведены результаты ими->§ тационных экспериментов и поставлена <| задача построения математической моде-I ли процесса работы с несколькими FIFO-g очередями в общей памяти, когда опера-^ ции с очередями выполняются по несколь-| ко другому принципу. В данной схеме рабо-I ты на нечетном шаге допускаются операции SI включения элементов в одну из n очередей, определяемой на основе равновероятного го выбора, а на четном шаге — операции g исключения элементов из очереди, также определяемой на основе равновероятно-¡5 го выбора. Исключение из пустой очере-| ди не приводит к завершению работы. В [2] ставилась задача определения функции

4 от номера шага j и числа очередей n веро-I ятности того, что очередь, выбранная для

5 операции на j-м шаге, будет пустой, а так! же вычисления математического ожидания

количества элементов в очередях после j Л операций.

В статье предлагается математическая ¡ модель этого процесса для n = 2 и решает-чэ ся задача оптимального разбиения общей ^ памяти для двух FIFO-очередей. Предпола-I гается, что определение очереди для выпол-| нения следующей операции производится ! также случайным выбором, но с разными <§ вероятностями.

Математическая модель

Пусть в памяти размера т единиц работаем с двумя последовательными циклическими FIFO-очередями.

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

Операции, производимые с очередями, выполняются по следующей схеме: на нечетном шаге происходит операция включения элемента в одну из очередей, на четном шаге — операция исключения элемента из какой-либо очереди, причем известны некоторые вероятностные характеристики операций, производимых с очередями. Пусть р1 и р2 — вероятности включения элемента в первую и вторую очереди, соответственно, q1 и q2 — вероятности исключения элемента из первой и второй очередей, соответственно.

Поскольку построенная на основе такой постановки задачи марковская цепь не будет регулярной и однородной, два последовательных шага объединяем в один, а также вводим в рассмотрение вероятности выполнения операций, не изменяющих длины очередей, например, операции чтения: г1 — вероятность выполнения операции на нечетном шаге и г2 — на четном, при этом г1 ф 0, г2 ф 0. Соответственно, р1 + р2 + г1 = 1, ^ + q2 + Г = 1.

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

1) включение в первую, исключение из второй очереди с вероятностью р1 q2;

2) включение во вторую, исключение из первой очереди с вероятностью р2 q1;

3) включение в первую очередь с вероятностью р1 г2;

4) включение во вторую очередь с вероятностью р2 г2;

5) исключение из первой очереди с вероятностью q1 г1;

№ 4 (40) 2012

6) исключение из второй очереди с вероятностью q2 г1;

7) выполнение над очередями сохраняющих их состояние противоположных операций с вероятностью г1г2 + р^1 + р2 q2, где Р1 q2 + Р2 q1 + Р1Г2 + Р2 Г2 + q1 Г1 + q2 Г1 + Г1Г2 +

Р1 q1 + Р2 q2 = 1.

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

Обозначим через у и х текущие длины первой и второй очередей соответственно. В качестве математической модели рассматриваем случайное блуждание в двумерном пространстве по целочисленной решетке в области 0 < у < в + 2,0 < х < т - s + 2 (рис. 1), где прямые у = в +1, х = т - в +1 образуют первый отражающий экран — попадая на эти прямые, будем находиться на них до тех пор, пока не произойдет исключение элемента из очереди; прямые

э + 2

0 т-э т-э + 2 х

Рис. 1. Область случайного блуждания

у = в + 2, х = т - в + 2 образуют второй отражающий экран, который определен для случаев включения элемента в заполненную очередь и немедленного исключения элемента из этой же очереди. Введением данного экрана учитывается произошедшая потеря элемента, очередь формально переходит на экран, а фактически в область 0 < у < в, 0 < х < т - в, конкретно на прямые у = в -1 или х = т - в -1.

Определим схему переходов между состояниями. Пусть (х, у) — текущее состояние процесса, тогда блуждание в области 0 < у < в +1,0 < х < т - в +1 (включает в себя и первый отражающий экран) можно описать следующим образом:

№ , , (х,у) ^ (х,у) =

(х, у), х = 0, у = в +1

(х,у +1), х = 0,0 < у < в

(х - 1,у), 0 < х < т - в, у = в +1

(х - 1,у +1), 0 < х < т - в, 0 < у < в

(х - 2, у +1), х = т - в +1,0 < у < в

Р2Я1 , ,

(х,у) ^ (х,у) = (х,у), х = т - в +1, у = 0

(х + 1,у), 0 < х < т - в, у = 0

(х, у -1), х = т - в +1,0 < у < в (х + 1,у -1), 0 < х < т - в, 0 < у < в (х + 1,у - 2), 0 < х < т - в, у = в +1

№ , , (х, у) ^ (х, у) =

(х, у +1), 0 < х < т - в, 0 < у < в

(х,у), 0 < х < т - в, у = в + 1

(х - 1,у +1), х = т - в +1,0 < у < в

Р2Г2 , ,

(х,у) ^ (х,у) = (х + 1,у), 0 < х < т - в, 0 < у < в (х, у), х = т - в +1,0 < у < в

(х + 1,у -1), 0 < х < т - в, у = в +1

со о

¡1

I £

115

№ 4 (40) 2012

18

I $

0 §

¡С §

$

1

£

В §

0

с &

ч

1

£ §

л

0

1 I

<и §

I

I

ад , ,

(х, у) ^ (X, у) =

(х, у), 0 < х < т - э, у = 0

(х, у -1), 0 < х < т - э, 0 < у < э (х - 1,у -1), х = т - э +1,0 < у < э

(х, у - 2), 0 < х < т - э, у = э +1

(х - 1,у), х = т - э +1, у = 0

421 , ,

(х, у) ^ (х, у) = (х, у), х = 0, 0 < у < э

(х - 1,у), 0 < х < т - э, 0 < у < э (х -1, у -1), 0 < х < т - э, у = э +1 (х - 2, у), х = т - э +1,0 < у < э (х, у -1), х = 0, у = э +1

Г/2 , ,

(х, у) ^ (х, у) = (х, у), 0 < х < т - э, 0 < у < э (х, у -1), 0 < х < т - э, у = э +1 (х - 1,у), х = т - э +1,0 < у < э

Р1Я1 , ,

(х,у) ^ (х,у) = (х, у), 0 < х < т - э, 0 < у < э (х, у + 2), 0 < х < т - э, у = э (х, у +1), 0 < х < т - э, у = э +1 (х - 1,у), х = т - э +1,0 < у < э (х - 1,у - 2), х = т - э +1, у = э

Р2Я2

(х, у) ^ (х , у ) = (х, у), 0 < х < т - э, 0 < у < э (х + 2, у), х = т - э, 0 < у < э (х + 1,у), х = т - э +1,0 < у < э (х, у -1), 0 < х < т - э, у = э +1 (х + 2, у -1), х = т - э, у = э +1

Переходы со второго отражающего экрана (рис. 2):

1) при у = э + 2 переходы из состояния (х, у) соответствуют переходам из состояния (х',у'), где х' = х, у' = у - 3;

2) при х = т - э + 2 переходы из состояния (х, у) соответствуют переходам из состояния (х',у'), где х' = х- 3, у' = у.

116

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

У +

э + 2

ч I I -ь-

I

0

т -

т-э + 2 х

Рис. 2. Состояния в области блуждания, соответствующие второму экрану

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

Матрица переходных вероятностей

Случайное блуждание рассмотрим в виде регулярной конечной цепи Маркова с переходной матрицей Р. Количество состояний в цепи будет (т - э + 3)(э + 3) - 4.

У'

15

-4-ё-1-Т-

-+0-14-

12 1 13 1

-26-►

х

Рис. 3. Нумерация состояний при т = 4, Э = 2

Зададим нумерацию так, как показано на рис. 3. Сначала пронумеруем состояния

№ 4 (40) 2012

области 0 < х < т - в, 0 < у < в, затем состояния, в которых очереди заполнены, т. е. при х = т - в +1, у = в +1 (состояния «сброса хвоста»), последними — состояния на прямых х = т - в + 28 у = в + 2.

Теорема. При введенной нумерации матрица Р размерности ((т - в + 3) • (в + 3) - 4) имеет определенную структуру, которую можно представить в виде:

Р =

^ Q2 0зЛ

Q4 Q6 Q6

О

со

0

¡1 <3

со <

Й* со

1 £ ва эй

7 У

Лемма 1. Подматрица размерности (т - в +1) • (в +1) описывает блуждание в области х < т - в, у < в и имеет следующую структуру:

^ А О - Ол

В С А О -

О В С ■•. -

: : '•. '•. А

О О ... В F У

где О — матрица размерности (в +1), заполненная нулевыми элементами, А, В, С, D и Е — подматрицы размерности (в +1):

0 =

А=

+ Р2 Г 0

Р2^ 0

0

Р2 Г2 P2q1 Р2 Г2

0 ...

... 0 ^ .0

■•. 0

P2q1 Р2Г2 ,

В=

q2r1 Р$2

0 0

q2 Г Р$2 0 q2 г

0 0

... 0 ^ .0

■ Р$2 0 q2 г у

С=

+ P2q2 + q^r^ +

0 0

рг

p1q1 + p2q2 +

+ГГ

12

qs^ 0

Р/2 p1q1 + p2q2 +

+ГГ2

q^r^ 0

0 0

Р/2 p1q1 + р^2 +

0 0

0

Р1Г2

Р^2 + Г/2 J

117

0

№ 4 (40) 2012

D =

Р&1 + Р2Я2 + Я/1 + +Я2 Г + гг

ЯГ

0 0

Р/г + РЯг

Р$1 + Р2Я2 + +Я2 Г + ГГ

0 0

Р1Г2 + РЯ2 Р1Я1 + Р2Я2 +

+Я2 Г + Г1Г2

0 0

Р1Г2 + Р1Я2 Р1Я1 + Р2Я2 +

+Я2 Г + ГГ

0 0

0

Р1Я2 + Р/2

Р2Я2 + Я2 Г + Чг;

F =

*г§

I £

0 §

¡С §

£

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

1

£

К §

0

с &

ч

1

£ §

л

0

1 I

<и §

I

I

Р1Я1 + я1Г1 + Г1Г2

0 0

0

Р1Г2 РЯ1 + ГГ

0

РГ

ЯГ РЯ1 + ГГ

0 0

ЯГ 0

0 0

РГ РЯ1 + ГГ ЯГ

0 0

0

РГ

ГГ J

Доказательство.

Проводится с помощью метода математической индукции. 1. База индукции.

Пусть общий размер памяти т = 2, первой очереди выделена память э = 1. Тогда размер матрицы Q1 будет 4 х 4, подматрицы А, В, С, D, F имеют размер 2 х 2, матрица Q1 имеет вид:

3 =

РЯ1 + Р2 Я2 + ^2 +

+ад + ГГ

РЯ2 + Р1Г Р2 Я2 + ^2 +

0

Р$2 Г2 Я2

Р2Я1 + Р2 Г 0

Р2Я1 Р2Г РЯ1 + ЗД +

ад

РГ

ГГ у

2. Индуктивное предположение.

Предположим, что для размера памяти т лемма 1 верна. Размерность Q1 будет (т - э +1) • (э +1), размерность подматриц будет (э +1), матрица Q1 имеет вид:

118

г ^ А О О )

В С А О

3 = О В С А

[О О В F У

№ 4 (40) 2012

3. Индуктивный переход.

Проверим, что при размере памяти (т +1) лемма 1 верна. Так как добавилась еще одна единица памяти, то увеличилась одна из очередей. Рассмотрим два случая:

1. Единица памяти попала в первую очередь, т. е. размеры памяти т и в увеличились на единицу: в = в +1, т = т +1. Тогда область случайных блужданий сдвинется на единицу вверх по оси OY, а значит, добавится (т - в +1) новых состояний. Размерность матрицы Q1 увеличится на (т - в +1), размерность всех подматриц увеличится на единицу, а их количество останется прежним.

Пусть теперь размерность подматриц будет (в + 2), проверим, изменится ли их структура. Рассмотрим на примере матрицы А. К матрице добавится по одному столбцу и одной строке, и она будет иметь следующий вид:

А

1(в+2)х(в+2)

А

(в+1)х( в+1)

0

Р2^

0 0

Р 2 Г

т. е. общий вид подматрицы не изменится.

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

2. Единица памяти попала во вторую очередь, т. е. размеры матриц т и в стали: в = в, т = т +1. Тогда область случайных блужданий сдвинется на единицу вверх по оси ОХ, а значит, добавится (в +1) новых состояний. Размерность матрицы Q1 увеличится на (в +1), размерность всех подматриц не изменится, а количество подматриц А, В, С увеличится на единицу, т. е. общий вид матрицы Q1 не изменится.

Таким образом, в обоих случаях матрица Q1 сохраняет свою структуру, т. е. лемма 1 доказана.

Лемма 2. Подматрицы Q2 и Q3, описывающие переходы из области х < т - в, у < в на первый и второй отражающие экраны соответственно, т. е. в случае, если какая-либо из очередей переполняется, имеют размеры (т - в +1) • (в +1) х (т + 2) и могут быть представлены в виде:

о

¡1

со

I £

Q2 =

0

РА2 + Р& 0

Р$2 0

} в - 1

} в - 1

Р1Г2 0

... } в-1 Р$2 Р/2

Р$2 Р/2

Р2 Г2 + Р2^ Р2 Г2 Р2^ Р2 Г Р2^

Р2Г2 Р2^

119

{

в - 3

№ 4 (40) 2012

Qз =

РЯ1 0

} э - 1

} э - 1

РЯ1 0

} э -1

РЯ1

э - 2 { Р2_Я2г

Р2Я2

Р2 Я2

0

*г§

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

I $

0 §

¡С §

$

1

£

К §

0 с

1

ч

I

¡5

I §

л

0

1 I

а

<и §

I

I

Лемма 3. Подматрицы Q4, Q5 и Q6 описывают состояние процесса в случае, если какая-либо из очередей переполнена, имеют следующие размеры:

1) Q4 — (т + 2) х (т - э +1) • (э +1);

2) Q5 и Q6 — (т + 2) х (т + 2) и имеют вид:

( Й Г1Г2 + р2я2 + Й

0 ••• ЯГ ЯГ ••• Р2Я1 Р2 Г2

Чг Г1

Q4 =

Я2 Г1

ЯГ

Р2Я2 Я2 Г

Р2Я1 Р2 Г2

ГГ +

Я/1

Р2Я2 Я2 Г1

Р2Я2

ЯгГ1 РЯ2

Я2 Г1

_______________Я2

Я2 Г1 РЯ2 Я 2 Г РЯ2

Р2Я1 Р1Г2

Р2Я1 Р2 Г2

... ^ Г1Г2

2

Я/1 Р2Я1 Р1Г2

Р2Я1 Р1Г2

Я2 Г1 Р$2

ЯГ + Р2Я1

Р1Г2

120

э-1

' 1Г2 +

Г2 +

э-1

э-2

№ 4 (40) 2012

05 =

p1q2 + p/2 pqz p/2

pqz Pir2

pqz Pir2 pq2 Pir2

p2r2 p2qi

~P2r2 p2qi

P2 Г2 P2qi

Р2Г2 P2qi P2 Г2+P2qi j

Q6 =

CT d \

pqi . } m - s - 2 pqi P2q2

pqi P2q2 P2q2 • } s - 2

V Р2Д2 )

CO

0 §

<3

ва <

S" 00

1 £ ва эй

}

{

s - 3

Доказательство того факта, что вышеуказанные матрицы имеют описанную структуру, можно провести аналогично доказательству леммы 1. Подматрица 07 описывает переходы процесса со второго отражающего экрана, имеет размеры ((т - в + 3) • (в + 3) - 4) х (т + 2), ее строки дублируют строки матриц Оь 02 и 03 соответственно вышеуказанной схеме переходов.

Поскольку полученная матрица переходных вероятностей регулярна, то марковская цепь имеет вектор предельных вероятностей [13], которые можно найти, решив уравнение а • Р = а, где а — предельный вектор для полученной марковской цепи. Элемент вектора а( — это средняя доля времени, которое процесс проводит в состоянии ( [13]. Для вычисления времени, проводимого процессом в состояниях, где происходят потери элементов очередей («сброса хвоста»), нужно просуммировать элементы вектора а, соответствующие состояниям на экранах. При введенной нумерации это будут последние (2т + 4) элементов вектора а.

Далее необходимо выбрать объем памяти для размещения первой очереди так, чтобы минимизировать сумму а(, означающих вероятности состояний «сброса хвоста» и состояний на втором отражающем экране. При введенной нумерации это будут последние (2m + 4) элементов вектора а:

(m - s+3)-(s+3)-4

^ а, ^ m(n.

(=(m-s+i)-(s+i)

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

№ 4 (40) 2012

18

t

IS

0 §

¡С

1

IS i

i «

is §

0 с

1

4

t

iS

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

i §

'S <u

л

0

1 I

to

a

<u ig

t

I

с помощью библиотеки Intel® Math Kernel Library PARDISO [13].

Некоторые примеры численного анализа

Некоторые полученные в ходе исследования данные оптимального деления памяти между очередями представлены в табл. 1 (столбец T означает долю времени, проведенного очередями на отражающих экранах). Указанные результаты были подтверждены имитационными экспериментами.

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

1. Пусть p1 = p2 = p, q1 = q2 = q, т. е. имеет место ситуация равновероятного включения элемента и исключения элемента из очередей, тогда r1 = 1 - 2 • p, r2 = 1 - 2 • q. Были рассмотрены случаи p > q, p = q, p < q.

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

m

s = m - s = —.

2

Таблица 1 Оптимальное разбиение памяти и доля времени, проведенного на отражающих экранах

Pi Рг Vi ?2 m S T

0,6 0,3 0,4 0,4 8 4 0,220032

0,2 0,7 0,7 0,2 8 4 0,500038

0,5 0,1 0,6 0,3 8 6 0,012477

0,1 0,8 0,7 0,2 8 4 0,600003

0,3 0,45 0,5 0,3 10 5 0,1558

0,3 0,3 0,3 0,3 10 5 0,073684

0,45 0,35 0,35 0,45 10 5 0,121245

0,3 0,5 0,1 0,8 10 6 0,200261

0,7 0,15 0,4 0,35 12 6 0,3002

0,2 0,3 0,3 0,05 12 9 0,250601

0,5 0,4 0,2 0,7 12 6 0,300123

0,4 0,1 0,35 0,55 12 10 0,056443

По полученным данным построены графики зависимости суммарных потерь от изменения p при постоянной величине ч (рис. 4) и от изменения ч при постоянной величине р (рис. 5).

0,05

0,15

0,25

0,35

0,45

Рис. 4. График зависимости суммарных потерь от изменения величины р при постоянной величине q

122

№ 4 (40) 2012

оо

0

¡1 а

оа <

Й*

1 £ ва эй

Рис. 5. График зависимости суммарных потерь от при постоянной величине р

0,35 0,4 0,45 изменения величины q

2. Пусть q1 = q2 = г2 = —. Целью была

3

проверка предположения о том, что память следует разбивать пропорционально отношению вероятностей включения элементов в очереди:

р2 , m - в

— = к =-.

Р— в

Некоторые полученные данные указаны в табл. 2.

На основании этих данных и построенных графиков сделан вывод о том, что выдвинутое предположение неверно.

3. Пусть р— = Р2 = ^ = q2 = г— = г = —. Целью эксперимента было построение графика зависимости доли потерянных элементов (другими словами, вероятности переполнения на бесконечном времени) от размера памяти т (рис. 6).

4. Пусть р— = р2 = q1 = q2 = (1 - 2 • г), где г = г— = г2 = 0.1...0.9. Целью эксперимента также было построение графика зависимости доли потерянных элементов от размера памяти т, но уже для разных значений г (рис. 7).

Таблица 2

Отношение

размеров памяти для различных значений к

Значение к Общая память т Отношение т - 5 5

к = 1 8 1

10 1

12 1

14 1

к = 2 8 1,319192

10 1,410534

12 1,362915

14 1,454545

к = 3 8 1,766667

10 1,72619

12 1,813691

14 1,882407

к = 4 8 2,010526

10 2,149123

12 2,164662

14 2,130409

к = 5 8 2,033333

10 2,322917

12 2,420536

14 2,518056

123

№ 4 (40) 2012

0,30

I $

0 §

¡С

1 $

I

£

В §

0

1=

1

ч

I

Е

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

I §

л

0

1 I

<ъ §

I

I

0,00

11

13

15 т

Рис. 6. График зависимости доли потерянных элементов от размера памяти т

16 т

Рис. 7. График зависимости доли потерянных элементов от размера памяти т при разных

значениях вероятности г

Заключение

В работе предложена математическая модель, описывающая процесс работы с двумя последовательными циклическими FIFO-очередями в общей памяти, когда на нечетном шаге выполняются операции включения элементов в очереди, а на чет-

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

Проведенные вычисления с предложенной моделью показали, что интуитивные

124

№ 4 (40) 2012

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

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

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

1. Aksenova E. A., Sokolov A. V. The optimal implementation of two FIFO-queues in single-level memory // Applied Mathematics. 2011. Vol. 2. №.10. P. 1297-1302.

2. Flajolet P. The evolution of two stacks in bounded space and random walks in a triangle. Lecture

Notes in Computer Science, 1986. Vol. 223. P. 325- §

340 1

и

3. Louchard G., Schott R., Tolley M., Zimmer- ttí mann P. Random walks, heat equation and distributed algorithms. Journal of Computational and Ap- § plied Mathematics, 1994. № 53. P. 243-274. j|

4. Nikologiannis A, Katevenis M. Multi-Queue Man- ¡g agement for Advanced QoS in High-Speed Commu- oö nication Systems Compuёter Architecture and VLSI Systems Lab, Institute of Computer Science (ICS) Head, http://archvlsi.ics.forth.gr/muqpro/queueMgt. html.

5. Аксенова Е. А., Драц А. В., Соколов А. В. Некоторые задачи оптимального управления динамическими структурами данных // Труды Третьей Всероссийской научной конференции «Методы и средства обработки информации», Москва, 2009. С. 187-192.

6. Аксенова Е. А., Драц А. В., Соколов А. В. Оптимальное управление n FIFO-очередями на бесконечном времени // Информационно-управляющие системы. 2009. № 6. С. 46-54.

7. Аксенова Е. А, Лазутина А. А, Соколов А. В. Исследование немарковской модели управления стеком в двухуровневой памяти // Программирование. 2004. № 1. С. 1-10.

8. Аксенова Е. А., Соколов А. В. Оптимальное управление двумя параллельными стеками // Дискретная математика. 2007. № 1. С. 67-75.

9. Боллапрагада В., Мэрфи К., Расс У. Структура операционной системы Cisco IOS. М.: Вильямс, 2002. — 208 с.

10. Кемени Дж., Снелл Дж. Конечные цепи Маркова. М.: Наука, 1960. — 272 с.

11. Кнут Д. Искусство программирования для ЭВМ. Т. 1. М.: Вильямс, 2001. — 736 с.

12. Седжвик Р. Фундаментальные алгоритмы на С++. Киев: Диасофт, 2001. — 688 с.

13. Соколов А. В. О распределении памяти для двух стеков // Сборник «Автоматизация эксперимента и обработки данных». Петрозаводск: Изд-во Карельского филиала АН СССР, 1980. С. 65-71.

14. Соловьев, С. А., Пудов С. Г. Out — of — core PARDISO — параллельный прямой решатель Intel® MKL больших разреженных систем линейных уравнений. Тезисы докладов всероссийской конференции (Новосибирск, 23-25 июня 2009 г.).

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