УДК 681.3
ИМИТАЦИОННАЯ МОДЕЛЬ ОБМЕНА В СИСТЕМЕ КОМПЬЮТЕРНОГО УПРАВЛЕНИЯ С РЕАЛИЗАЦИЕЙ СКОЛЬЗЯЩЕГО ОКНА ПРИ РЕЗЕРВИРОВАНИИ МАГИСТРАЛЕЙ
А.В. Осипов1, В.А. Богатырев2
1 Санкт-Петербургский национальный исследователъскийуниверситет информационных технологий, механики и оптики. 197101, Санкт-Петербург, пр. Кронверкский, 49 2Санкт-Петербургский государственныйуниверситет сервиса и экономики (СПбГУСЭ).
191015, Санкт-Петербург, ул. Кавалергардская, 7,литА
Предложена имитационная модель сети с резервированием каналов, позволяющая оценить эффективность вариантов распределения кадров по параллельным физическим каналам и вариантов размера скользящего окна. Модель учитывает физические характеристики каждого канала и может быть использована при моделировании сети с произвольным числом параллельных каналов, что позволяет использовать ее при проектировании отказоустойчивых вычислительных сетей компьютерного управления машинами и агрегатами.
Ключевые слова: резервированные каналы, имитационная модель, надежность, машины и агрегаты, компьютерное управление, скользящее окно.
SIMULATION MODEL OF COMPUTER EXCHANGE WITH THE IMPLEMENTATION OF A SLIDING WINDOW AND REDUNDAND CHANNELS
A.V. Osipov, V.A. Bogatyrev
St. -Petersburg National Research University of Information Technologies, Mechanics and Optics.
197101, St.-Petersburg, avenue Kronverksky 49 St.-Petersburg state university of service and economy (SPbSUSE), 191015, St.-Petersburg, streetKavalergardskaya,7,litA
In this article authors present a simulation model of a network with redundant channels in order to assess the effectiveness of frames distribution over parallel physical channels and different size of sliding window. The model takes into account the physical characteristics of each channel and can be used for modeling the network with an arbitrary number of parallel channels, which allows its use in the design of fault-tolerant computer networks of computer controlled machines and units.
Keywords: redundant channels, simulation model, reliability, machines and units, computer control, sliding window.
Введение
Высокая надежность, отказоустойчивость, производительность и достоверности функционирования систем компьютерного управления машинами и агрегатами [1], достигается при резервировании вычислительных и коммуникационных средств, в том числе магистралей [2-5]. Эффективность компьютерной системы управления с резервированием магистралей во многом определяется протоколами обмена, существенно влияющих на надежность и производительность системы управления в целом, что и обусловливает актуальность исследований алгоритмов взаимосвязи через резервированные каналы. В настоящее время при информационном обмене эффективно используются протоколы, реализующие автоматический запрос повторной передачи при организа-
ции скользящего окна, однако их адаптация к резервированному каналу требует дополнительных исследований, в том числе, построения моделей, позволяющих выбрать наиболее рациональные варианты их построения.
Протоколы передачи данных по резервированным каналам со скользящим окном
В современных сетях, в том числе, в сетях компьютерного управления машинами и агрегатами, широко используются протоколы передачи данных на основе Алгоритм ARQ (Automatic Repeat reQuest - автоматический запрос повторной передачи) со скользящим окном (алгоритм ARQ на n шагов назад), который является одной из наиболее распространенных реализаций алгоритма ARQ. В отличие от алго-
ритма АЯ^ с остановкой и ожиданием при использовании данного алгоритма очередной кадр может быть отправлен, не дожидаясь подтверждения получения предыдущего кадра. Число кадров, которые могут быть отправлены без подтверждения, является параметром, определяющим размер скользящего окна.
Размер скользящего окна влияет на максимально достижимую эффективность использования пропускной способности сети. При размере окна, равном единице, эта разновидность алгоритма становится тождественной алгоритму АЯ^ с остановкой и ожиданием, при котором простои в сети весьма значительны. При слишком большом размере скользящего окна растет доля повторных пересылок в общем объеме информации, так как при обнаружении ошибки осуществляется повторная пересылка всех кадров, начиная с последнего подтвержденного кадра.
Адаптация алгоритма скользящего окна для использования в сети с резервированием каналов является нетривиальной задачей, так как в обычном случае нумерация кадров происходит на канальном уровне одного физического канала. В сети с резервированием каналов нумерация кадров, посылаемых по всем агрегированным каналам должна быть единой, поэтому нумерацию необходимо производить на подуровне агрегирования. При агрегировании разнородных физических каналов (например, проводных и беспроводных) следует учитывать различия в форматах кадров физических каналов и другие особенности каналов. Например, максимальный размер кадра Б1Ьете1 составляет
1516 байт, а максимальный размер кадра в сети стандарта 1БББ 802.11§ равен 2346 байт. Соответственно, поле кадра, выделяемое для порядкового номера, будет занимать разную долю по отношению к полезным данным кадра, что влияет на оптимальное распределение кадров данных по физическим каналам, зависящее также от уровня помех, от надежности и пропускной способности каналов.
Имитационная модель передачи данных по резервированным каналам со скользящим окном
Имитационное моделирование передачи данных по резервированным каналам проведем с использованием средств 8тиПпк среды МайаЬ.
Для исследования алгоритма АЯ^ на п шагов назад построена имитационная модель, представленная на рис. 1. В рамках данной модели кадры создаются, передаются по каналу и подвергаются воздействию ошибок с вероятностью, определяемой характеристиками канала передачи. Для каждого полученного кадра приемник отправляет подтверждение об успешной передаче (АСК) или об ошибке (ЧАК) по обратному каналу на передатчик. Решение о наличии ошибки в полученном кадре принимается на основании проверки циклического избыточного кода. При получении сообщения ЧАК передатчик осуществляет повторную передачу всех кадров их текущего скользящего окна, по которым не было получено подтверждение об успешной передаче (АСК).
Рисунок 1. Имитационная модель сети из двух узлов
Подсистема создания кадров генерирует поток кадров с экспоненциальным распределением времени между кадрами. Каждому кадру присваивается уникальный порядковый номер
(рис. 2). Функциональная схема подсистемы передатчика представлена на рис. 3.
.OUT
-3
*
IN [Т] оит
•CD
Frame Signal
Frame Generator
SetAttribute Sequence Humber
Рисунок 2. Подсистема создания кадров
ack
IN seq Num
*
мі OUT
00
зЗоит
і
“Є,
Entity D ер art иге Event to Function-С а II Eventl
fnevu_frame]
l|llnl»_»p«n]
з
ack seqNum frame Ready
input events 0
O'*
to
t*0 -ret«0 ■
1p1
I
Рисунок 3. Подсистема передатчика
Передатчик осуществляет передачу кадров, включая повторную передачу на основании сообщений ACK и NAK от приемника.
Процесс передачи включает несколько состояний передатчика:
• Transmitting - отправка данных кадра по прямому каналу;
• Retransmitting - повторная отправка данных кадра по прямому каналу;
• WaitingToRetransmit - ожидание доступа к каналу для повторной отправки данных кадра по прямому каналу;
• Idle - отсутствие отправок из-за пустой очереди кадров для передачи или из-за достижения максимального числа отправленных и неподтвержденных кадров.
Прямой и обратный каналы
В прямом и обратном каналах реализована задержка передачи данных. В рамках данной модели величина задержки передачи в канале превосходит время отправки кадра передатчиком (то есть передатчик оканчивает пере-
дачу кадра до того, как приемник начинает получать его). В процессе передачи кадры могут быть повреждены, но не могут быть полностью потеряны.
В случае возникновения ошибок в обратном канале сообщение приемника (АСК или ЧАК) может быть повреждено. В таком случае в результате обнаружения ошибки с помощью циклического избыточного кода передатчик не зарегистрирует сообщение от приемника (сообщение с ошибкой не повлияет на состояние передатчика), что равносильно отсутствию самого подтверждения (АСК или ЧАК). Поэтому в рамках данной модели предполагается, что в обратном канале ошибки не возникают.
Воздействие ошибок
Подсистема воздействия ошибок в прямом канале осуществляет повреждение кадров с заданной вероятностью (рис. 4). Модель предполагает, что приемник может определить наличие ошибки с помощью циклического избыточного кода, но не может их исправить .
Ьге ПІ- 3 35 0(і Рагкіот МнтЬег
—► сгс сґі^ск
|оит * <1>
—^ Щ Г і оит
5еі АНгіЬиІе
<!>+-
!М
Рисунок 4. Подсистемавоздействия ошибок
Алгоритм выборочной передачи. Приемник принимает или отвергает кадры от передатчика на основании проверки циклического избыточного кода и посылает по обратному каналу сообщения АСК и ЧАК. В случае обнаружения ошибки в кадре приемник не принимает все последующие кадры до тех пор пока, не получит повторно кадр, содержавший ошибку.
На практике часто алгоритм АШ) скользящего окна используется не в чистом виде, а в модификации выборочной передачи. В сети, функционирующей по такому алгоритму, при возникновении ошибки (получения ЧАК) происходит выборочная повторная передача кад-
ров, а не сплошная повторная передача всех кадров из текущего скользящего окна. Это позволяет сократить объем повторно пересылаемых данных и повысить эффективность использования пропускной способности. В сетях с алгоритмом выборочных повторных передач также актуальна проблема определения оптимального размера скользящего окна, так как слишком большая величина окна ведет к увеличению задержек повторной передачи кадров, что приводит к росту дисперсии среднего времени успешной доставки кадров. Для оценки характеристик сети, функционирующей по алгоритму АШ^ с выборочными повторными передачами, построены подсистемы передатчика и приемника. Подсистема передатчика представлена на рис. 5. Подсистема приемника идентична соответствующей подсистеме предыдущей модели с тем лишь отличием, что в случае обнаружения ошибки в кадре приемник продолжает принимать все последующие кадры (соответственно, на эти кадры приемник отправляет подтверждение АСК, а передатчик убирает эти кадры из «скользящего окна»).
Рисунок 5. Подсистема передатчика с алгоритмом выборочной передачи
Результаты моделирования
Модель позволяет визуализировать и оценить:
• Порядковый номер и момент времени отправления каждого кадра.
• Порядковый номер и момент времени получения кадра приемником.
• Порядковый номер и момент времени регистрации ошибки в кадре приемником.
• Количество переданных и неподтвержденных кадров, находящихся в «скользящем окне».
Для оценки влияния размера «скользящего окна» на величину полезной пропускной
способности сети исследуем модель заведомо перегруженной сети.
На рис. 6 приведен результат моделирования поведения системы, в которой передатчик не ограничивается кадрами из скользящего окна, а передает все имеющиеся кадры без задержек. Например, кадр №31 передан не дожидаясь подтверждения успешной доставки АСК кадра №14. За время
50 40 30 20 10 0
0 2 4 6 8 10
+ отправлено X принято • отвергнуто
Рисунок 6. Результат моделирования без ограничений скользящего окна
На рис. 7 показан результат моделирования поведения системы с размером «скользящего окна», равным 7 кадрам. В этой системе передатчик ожидает поступления подтверждения успешной доставки АСК кадра №14 перед отправкой кадра №21, что вызывает простой передатчика. За время работы сети, равное 10 мс, передатчик отправляет 32 кадра.
30
20
10
0
0 2 4 6 8 10
+ отправлено X принято • отвергнуто
Рисунок 7. Результат моделирования сети при размере скользящего окна, равном 7 кадрам
Результаты моделирования показывают, что уменьшение размера скользящего окна ведет к ухудшению показателей средней про-
пускной способности сети. С другой стороны, увеличение размера скользящего окна приводит к увеличению периода времени перед повторной отправкой кадра, что ведет к пропорциональному увеличению среднего времени доставки кадров, доставленных не с первой попытки.
Для рассматриваемой сети (функционирующей без перегрузки) оптимальным является размер скользящего окна, равный 7 кадрам. При таком размере зависимость заполнения «скользящего окна» от времени имеет вид, представленный на рис. 8.
II 1
\[
р 1
1 п п г
О 10 20 30 40 50
Рисунок 8. Заполнение скользящего окна в процессе работы сети
Для имитационного моделирования процесса передачи данных по нескольким каналам сети построена отдельная подсистема передатчика, представленная на рис. 9. Скользящее окно является общим для всех физических каналов, что позволяет оптимизировать распределение кадров по каналам, в том числе производить повторную передачу кадра по каналу, отличному от канала первоначальной передачи. В случае импульсных помех в физическом канале такой алгоритм может привести к значительному сокращению повторных передач по сравнению с алгоритмом, в котором повторные передачи выполняются всегда по тому же каналу.
На рис 10 промоделирован случай, когда кадры оптимально распределяются по каналам.
Модель подсистемы физического канала представлена на рис. 11. В работе подсистемы при расчете времени обслуживания требования учитываются:
ACKand retransmission control
Рисунок 9. Подсистема передатчика сети с параллельными каналами
<!>
IN
* clianN
IN -* JOUT1 ЇМ 7*
our
Initial VaJuc
nltlaizatlon
Get AttfltOle
q:
OUTt
г ^ ■+
г *UUI 1
IN out з
f:hiN 1 Ini OUT
IN
Channel 1
chNum
IN OUT
OLllpUt Switch
Channel 2
4$ И ■■
г-Я
ttiA
tJiNUni
IN OUT
IN1
INZ +:— ^ - OUT
IN3
» *<z>
OUT
РЯ1И COilflbiiW
Charinel-3
РисунокШ. Распределение кадров по каналам
Битовая скорость;
Время доступа к среде передачи;
Размер заголовка кадра и контрольной суммы, размер преамбулы и стоповых битов.
СПУ
-М-МІ
<Z>i
т
%
+FП UiNu і
.и Жоит N: Ааит til L"l Чь
РяГ" л пгпЬпйг
^яГ Arrhrta
Artrfcuta Pjnctior
hHuSm гКаппгІ
Zero londh Iranc
Rin t
N fc)
Qu$ut Switch
іпі*аІ2=*іоп sink
Channel initialization
GetYiamelefTJ&>
IW 'f'
Get heater levjtti
h it
К
Gel MAC tuns
mf
je1 aequenie number
Service time calculation
To Wcrtcaoace
iTf
-<Г>
our
Single Setver
Рисунок 11. Подсистема физического канала
Указанные характеристики загружаются в Simulink из среды Matlab с помощью функции, представленной в листинге 1.
Листинг 1. Программный код блока Attribute Function
function [out br, out mactime,
out header] = fcn(chNum) coder.extrinsic('evalin' ); coder.extrinsic('strcat'); coder.extrinsic('int2str' ); x=0;
name=strcat('channels(',int2str(chNum ),',1)');
x=evalin('base',name); out_br = x;
name=strcat('channels(',int2str(chNum ),',2)');
x=evalin('base',name); out mactime = x; name=strcat('channels(',int2str(chNum ),',3)');
Таблица 1. Характеристики физических каналов, принятые при моделировании
x=evalin('base',name); out_header = x;
При моделировании приняты характеристики физических каналов в соответствии с таблицей 1.
Результат работы сети с резервированием каналов в течение 10 мс, представленные на рис. 12, показывают, что:
• в случае ошибки кадр может быть передан по другому каналу (кадры №0, №40 и
др);
• согласно алгоритму скользящего окна система, осуществляет передачу кадров 20-24, не дожидаясь подтверждения о получении кадра 19, причем кадры отправлены по разным физическим каналам (Кадры №19-24);
• повторная отправка осуществляется максимум через 2,5 мс (Кадр №23).
№ канала Скорость Время доступа Размер заголовка кадра и контрольной суммы, размер преамбулы и стоповых битов Поле данных (в т.ч. порядковый номер)
їй канал - Ethernet 100 мбит 108 бит/с 5*10-6 с 188 бит 1,2*104 бит
2й канал - Ethernet 1000 мбит 109 бит/с 5*10-6 с 188 бит 1,2*104 бит
3й канал - WiFi 433 Mbit/s 4,33*108 бит/с 10-5 с 288 бит 1,8432*104 бит
50
45
40
35
30
25
20
15
10
5
О
О
1
Х1й канал +2й канал Зй канал «отвергнуто ♦принято Рисунок 12. Результат моделирования сети с резервированием каналов
10
Таким образом, проведено исследование вариантов организации протоколов обмена через резервированный канал системы компьютерного управления
Построена имитационная Simulink-модель, которая позволяет оценить эффективность вариантов исследуемых протоколов с учетом варьирования распределения кадров по параллельным неоднородным каналам и размера скользящего окна.
Модель учитывает физические характеристики каждого канала и может быть использована при моделировании сети с произвольным числом параллельных каналов, что позволяет использовать ее при проектировании отказоустойчивых вычислительных сетей компьютерного управления машинами и агрегатами.
Литература
1. Богатырев В.А., Богатырев С.В., Лепеш Г.В. Критерии оптимальности объединения машин и агрегатов в системы // Технико-технологические проблемы сервиса. - 2009. - № 2. - С. 30-35.
2. Bogatyrev V.A Exchange of Duplicated Computing Complexes in Fault tolerant Systems // Automatic Con-
trol and Computer Sciences. - 2011. - Vol. 46. mN 5. м P. 268-276
3. Богатырев В.А. Комбинаторный метод оценки отказоустойчивости многомагистрального канала. // Методы менеджмента качества. 2000. № 4. С. 30-35.
4. Богатырев В.А., Евлахова А.В., Котельникова Е.Ю., Богатырев С. В., Осипов А.В. Организация межмашинного обмена при резервировании магистралей // Научно-технический вестник Санкт-Петербургского государственного университета информационных технологий, механики и оптики.С 2011. - № 2(72). - С. 171.
5. Осипов А.В., Богатырев В.А. Организация обмена через резервированные магистрали локальных сетей управления машинами и агрегатами // Техникотехнологические проблемы сервиса. - 2012. - Вып. №4 (22). - С. 48-52. - ISSN 2074-1146
6. Таненбаум Э. Компьютерные сети. 5-е изд. - СПб.: Питер, 2011. - 992 с.
7. Осипов А.В., Богатырев В.А. Варианты объединения разнотипных каналов вычислительной сети // Научно-технический вестник информационных технологий, механики и оптики. - 2012. - № 2 (78). - С. 145.
8. Series G: transmission systems and media, digital systems and networks. ITU-T Recommendation G.991.2, Geneva, 2004.
9. Arthur Harvey, Business Manager, Ethernet Products. Ethernet-over-PDH Technology Overview. Application Note 3849. Maxim Integrated Products. - 2006.
1 Осипов Андрей Владимирович, аспирант кафедры Вычислительной техники СПб НИУ ИТМО, тел.:
+7 911 911 02 14, e-mail: [email protected];
2 Богатырев Владимир Анатольевич, доктор технических наук, профессор кафедры Прикладных информационных технологий СПбГУСЭ, тел.: +7 911 726 02 26, e-mail: [email protected].