Применение SPMD-технологии при построении сетевых баз данных с циркулирующей информацией
Сетевые базы данных с циркулирующими запросами-предложениями
Рассматриваемым ниже базам данных соответствует архитектура ЛВС с сервером типа "звезда" (рис. 2.5).
Пусть централизованная БД, расположенная на сервере, содержит список свободных сегментов, которые не обрабатываются в данный момент ни одной РС, а также список занятых сегментов, т.е. обрабатываемых рабочими станциями. Не рассматривая сложные запросы либо предполагая их структурирование, требующее последовательного обращения к разным сегментам, допустим, что одна РС может обрабатывать одновременно лишь один сегмент. Таким образом, количество занятых сегментов совпадает с количеством РС, занятых их обработкой.
Располагая списком свободных сегментов, сервер последовательно и циклически опрашивает свободные, т.е. не обрабатывающие ни один сегмент, РС с запросом- предложением: нужен ли ей очередной сегмент из этого списка? Подготавливая запрос, сервер максимально обеспечивает связь с РС для передачи сегмента в случае его необходимости, т.е. производит маршрутизацию.
Если пользователь сформировал запрос к БД со своей РС, то запрос (а по нему определяется необходимый сегмент БД) ожидает прихода запроса-предложения сервера относительно нужного сегмента. Тогда сервер направляет сегмент (точнее, его копию) на РС и этот сегмент переходит в список занятых.
Рабочая станция, закончившая обработку запроса к БД, возвращает в общем случае измененный сегмент серверу. Сегмент переходит в список свободных и впредь участвует в циклическом предложении свободным РС.
Таким образом, время выполнения каждого запроса к БД зависит от состояния сегмента (свободен — занят), от среднего времени обработки сегмента используемой СУБД, от времени одного цикла циркуляции запросов-предложений, от организации и подготовки обмена информацией (маршрутизации) в сети и т.д.
Отметим важность средств обеспечения надежности, защиты данных, отображения и др.
Рассчитаем среднее время обслуживания запроса при рассматриваемой организации его обработки.
Пусть, как и прежде, m — количество сегментов БД, n — количество РС в ЛВС. Для поиска вероятности того, свободен ли требуемый сегмент или взят на обработку (занят), необходимо определить в стационарном режиме среднее число занятых сегментов БД.
Считая поток запросов простейшим, построим цепь Маркова (рис. 2.6), соответствующую многоканальной системе массового обслуживания с количеством n каналов [17].
Состояние S0 соответствует отсутствию занятых сегментов,
поток запросов при этом реализуется полностью, т.е. .
На обратный переход в это состояние влияет поток обслуживания с интенсивностью
формируемый
копией СУБД единственной РС. Состояние S1 соответствует наличию одного занятого
сегмента. Так как одна РС оказывается занятой обработкой сегмента, то поток запросов к БД реализуется n - 1 свободными. Кроме того, из этого потока исключаются запросы к
занятому сегменту. Тогда
.
Поток обслуживания, приводящий в это состояние
из состояния S2, характеризующегося двумя занятыми сегментами,
определяется двумя копиями СУБД. Интенсивность этого потока обслуживания равна
и т.д.
Таким образом, для состояния Si, i = 0 , ..., n, когда занято i сегментов,
![]() |
( 2.11) |

Уравнения Колмогорова имеют вид
![]() |
( 2.12) |
Решая [17] эту систему, находим:
![]() |
( 2.13) |
Определим среднее число q занятых сегментов:
![]() |
( 2.14) |
Тогда вероятность обращения к занятому сегменту
![]() |
( 2.15) |
Пусть tпредл — цикл времени предъявления очередной заявки-предложения рабочей станции. Тогда среднее время ожидания свободного сегмента вычисляется следующим образом:
tожид своб. = 0,5 (m - q) tпредл. (2.16)
Если сегмент, к которому произведен запрос, занят, то время tожид. зан. его ожидания зависит от времени окончания его обработки, от времени tвозвр возврата серверу, от времени tосвоб включения в число свободных и от времени его ожидания как свободного сегмента:
tожид.зан. = 0,5 tобсл. + tвозвр. + tосвоб. + tожид своб. (2.17)
Тогда полное время обслуживания запроса с РС вычисляется:
Tобсл = Pзанят tожид.зан + (1 - Pзанят)tожид своб + tобсл. (2.18)
Полученная оценка, аналогично (2.5) и (2.10), является основой критерия эффективности данного способа организации сетевой БД.